Fixed issues with multi-release jar (#706, #708)
Change-Id: I97d70dde790a3838962f0ffe270b9b1d8595a489
diff --git a/full/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java b/full/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java
index 324a98d..d13517c 100644
--- a/full/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java
+++ b/full/src/main/java/de/ids_mannheim/korap/server/KustvaktBaseServer.java
@@ -19,11 +19,11 @@
import org.glassfish.jersey.server.ServerProperties;
import org.glassfish.jersey.servlet.ServletContainer;
import org.springframework.web.context.ContextLoaderListener;
+import org.springframework.web.context.support.XmlWebApplicationContext;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.encryption.RandomCodeGenerator;
import de.ids_mannheim.korap.exceptions.KustvaktException;
-import jakarta.servlet.ServletContextListener;
import lombok.Getter;
import lombok.Setter;
@@ -40,9 +40,10 @@
protected static KustvaktArgs kargs;
public KustvaktBaseServer () {
- rootPackages = "de.ids_mannheim.korap.core.web; "
- + "de.ids_mannheim.korap.web; "
- + "com.fasterxml.jackson.jaxrs.json;";
+ rootPackages = "de.ids_mannheim.korap.core.web;"
+ + "de.ids_mannheim.korap.web;"
+// + "com.fasterxml.jackson.jaxrs.json;"
+ ;
File d = new File(KustvaktConfiguration.DATA_FOLDER);
if (!d.exists()) {
@@ -103,24 +104,21 @@
Server server = new Server();
+ String configLocation = "classpath:" + springConfig;
+ if (kargs.getSpringConfig() != null) {
+ configLocation = "file:" + kargs.getSpringConfig();
+ }
+ XmlWebApplicationContext context = new XmlWebApplicationContext();
+ context.setConfigLocation(configLocation);
+
ServletContextHandler contextHandler = new ServletContextHandler(
ServletContextHandler.NO_SESSIONS);
contextHandler.setContextPath("/");
-
- if (kargs.getSpringConfig() != null) {
- contextHandler.setInitParameter("contextConfigLocation",
- "file:" + kargs.getSpringConfig());
- }
- else {
- contextHandler.setInitParameter("contextConfigLocation",
- "classpath:" + this.springConfig);
- }
-
- ServletContextListener listener = new ContextLoaderListener();
- contextHandler.addEventListener(listener);
+ contextHandler.addEventListener(new ContextLoaderListener(context));
contextHandler.setInitParameter("adminToken", adminToken);
- ServletHolder servletHolder = new ServletHolder(new ServletContainer());
+ ServletHolder servletHolder = new ServletHolder(
+ new ServletContainer());
servletHolder.setInitParameter(ServerProperties.PROVIDER_PACKAGES,
rootPackages);
servletHolder.setInitOrder(1);
diff --git a/full/src/main/java/de/ids_mannheim/korap/web/utils/SearchResourceFiltersFeature.java b/full/src/main/java/de/ids_mannheim/korap/web/utils/SearchResourceFiltersFeature.java
index 0b44ae8..6063aa0 100644
--- a/full/src/main/java/de/ids_mannheim/korap/web/utils/SearchResourceFiltersFeature.java
+++ b/full/src/main/java/de/ids_mannheim/korap/web/utils/SearchResourceFiltersFeature.java
@@ -1,5 +1,6 @@
package de.ids_mannheim.korap.web.utils;
+import java.util.Arrays;
import java.util.List;
import org.glassfish.jersey.model.internal.CommonConfig;
@@ -7,7 +8,8 @@
import org.springframework.stereotype.Component;
import de.ids_mannheim.korap.web.filter.APIVersionFilter;
-import edu.emory.mathcs.backport.java.util.Arrays;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.Priority;
import jakarta.ws.rs.container.DynamicFeature;
import jakarta.ws.rs.container.ResourceInfo;
import jakarta.ws.rs.core.FeatureContext;