fixed running tests
diff --git a/src/main/java/de/ids_mannheim/korap/web/KustvaktBaseServer.java b/src/main/java/de/ids_mannheim/korap/web/KustvaktBaseServer.java
index 4934ac8..b3fdb51 100644
--- a/src/main/java/de/ids_mannheim/korap/web/KustvaktBaseServer.java
+++ b/src/main/java/de/ids_mannheim/korap/web/KustvaktBaseServer.java
@@ -3,12 +3,12 @@
import com.sun.jersey.api.core.PackagesResourceConfig;
import com.sun.jersey.api.core.ResourceConfig;
import com.sun.jersey.spi.container.servlet.ServletContainer;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.config.KustvaktCacheManager;
import de.ids_mannheim.korap.config.KustvaktClassLoader;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.exceptions.KustvaktException;
-import de.ids_mannheim.korap.web.service.BootupInterface;
+import de.ids_mannheim.korap.web.service.BootableBeanInterface;
import lombok.Getter;
import lombok.Setter;
import org.eclipse.jetty.server.Connector;
@@ -35,9 +35,9 @@
KustvaktArgs kargs = server.readAttributes(args);
if (kargs.config != null)
- BeanConfiguration.loadFileContext(kargs.config);
+ BeansFactory.loadFileContext(kargs.config);
else
- BeanConfiguration.loadClasspathContext();
+ BeansFactory.loadClasspathContext();
KustvaktCacheManager.init();
@@ -60,9 +60,6 @@
case "--port":
kargs.setPort(Integer.valueOf(args[i + 1]));
break;
- case "--props":
- kargs.setProperties(args[+1]);
- break;
case "--help":
StringBuffer b = new StringBuffer();
@@ -83,14 +80,14 @@
}
public void runPreStart() {
- Set<Class<? extends BootupInterface>> set = KustvaktClassLoader
- .loadSubTypes(BootupInterface.class);
+ Set<Class<? extends BootableBeanInterface>> set = KustvaktClassLoader
+ .loadSubTypes(BootableBeanInterface.class);
- List<BootupInterface> list = new ArrayList<>(set.size());
+ List<BootableBeanInterface> list = new ArrayList<>(set.size());
for (Class cl : set) {
- BootupInterface iface;
+ BootableBeanInterface iface;
try {
- iface = (BootupInterface) cl.newInstance();
+ iface = (BootableBeanInterface) cl.newInstance();
list.add(iface);
}catch (InstantiationException | IllegalAccessException e) {
continue;
@@ -99,10 +96,9 @@
System.out.println("Found boot loading interfaces: " + list);
int track = list.size();
while (!list.isEmpty()) {
- System.out.println("ITERATING LIST IS " + list);
- for (BootupInterface iface : new ArrayList<>(list)) {
+ for (BootableBeanInterface iface : new ArrayList<>(list)) {
try {
- iface.load();
+ iface.load(BeansFactory.getKustvaktContext());
}catch (KustvaktException e) {
// don't do anything!
System.out.println(
@@ -124,8 +120,7 @@
runPreStart();
if (kargs.port == -1)
- kargs.setPort(
- BeanConfiguration.getBeans().getConfiguration().getPort());
+ kargs.setPort(BeansFactory.getKustvaktContext().getConfiguration().getPort());
System.out.println(
"Starting Kustvakt Service on port '" + kargs.port + "'");
@@ -175,9 +170,6 @@
private boolean debug;
@Getter
private String config;
- @Getter
- @Deprecated
- private String properties;
private int port;
private SslContextFactory sslContext;
private String[] rootPackages;
@@ -188,7 +180,6 @@
this.sslContext = null;
this.debug = false;
this.config = null;
- this.properties = null;
this.init = false;
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/SearchKrill.java b/src/main/java/de/ids_mannheim/korap/web/SearchKrill.java
index 69a843e..18440a2 100644
--- a/src/main/java/de/ids_mannheim/korap/web/SearchKrill.java
+++ b/src/main/java/de/ids_mannheim/korap/web/SearchKrill.java
@@ -45,7 +45,7 @@
if (!f.exists()) {
KustvaktLogger.ERROR_LOGGER.error("Index not found!");
System.exit(-1);
- };
+ }
this.index = new KrillIndex(new MMapDirectory(Paths.get(path)));
};
} catch (IOException e) {
diff --git a/src/main/java/de/ids_mannheim/korap/web/filter/AuthFilter.java b/src/main/java/de/ids_mannheim/korap/web/filter/AuthFilter.java
index cb419fd..cc4e68c 100644
--- a/src/main/java/de/ids_mannheim/korap/web/filter/AuthFilter.java
+++ b/src/main/java/de/ids_mannheim/korap/web/filter/AuthFilter.java
@@ -4,7 +4,7 @@
import com.sun.jersey.spi.container.ContainerRequestFilter;
import com.sun.jersey.spi.container.ContainerResponseFilter;
import com.sun.jersey.spi.container.ResourceFilter;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.interfaces.AuthenticationManagerIface;
import de.ids_mannheim.korap.user.TokenContext;
@@ -23,7 +23,7 @@
private AuthenticationManagerIface userController;
public AuthFilter() {
- this.userController = BeanConfiguration.getBeans()
+ this.userController = BeansFactory.getKustvaktContext()
.getAuthenticationManager();
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/filter/DefaultFilter.java b/src/main/java/de/ids_mannheim/korap/web/filter/DefaultFilter.java
index 30e8961..2626349 100644
--- a/src/main/java/de/ids_mannheim/korap/web/filter/DefaultFilter.java
+++ b/src/main/java/de/ids_mannheim/korap/web/filter/DefaultFilter.java
@@ -4,7 +4,7 @@
import com.sun.jersey.spi.container.ContainerRequestFilter;
import com.sun.jersey.spi.container.ContainerResponseFilter;
import com.sun.jersey.spi.container.ResourceFilter;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.user.TokenContext;
import de.ids_mannheim.korap.user.User;
import de.ids_mannheim.korap.utils.TimeUtils;
@@ -54,7 +54,7 @@
c.setHostAddress(host);
c.setUserAgent(agent);
c.setExpirationTime(TimeUtils.plusSeconds(
- BeanConfiguration.getBeans().getConfiguration()
+ BeansFactory.getKustvaktContext().getConfiguration()
.getShortTokenTTL()).getMillis());
return c;
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java b/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java
index 9c9cd9c..3fdec88 100644
--- a/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java
+++ b/src/main/java/de/ids_mannheim/korap/web/filter/PiwikFilter.java
@@ -10,7 +10,7 @@
import com.sun.jersey.spi.container.ContainerRequestFilter;
import com.sun.jersey.spi.container.ContainerResponseFilter;
import com.sun.jersey.spi.container.ResourceFilter;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.interfaces.AuthenticationManagerIface;
import de.ids_mannheim.korap.user.*;
@@ -40,7 +40,7 @@
private AuthenticationManagerIface controller;
public PiwikFilter() {
- controller = BeanConfiguration.getBeans().getAuthenticationManager();
+ controller = BeansFactory.getKustvaktContext().getAuthenticationManager();
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
if (jlog.isDebugEnabled())
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/CollectionLoader.java b/src/main/java/de/ids_mannheim/korap/web/service/CollectionLoader.java
index b676f88..aaf5146 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/CollectionLoader.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/CollectionLoader.java
@@ -1,12 +1,14 @@
package de.ids_mannheim.korap.web.service;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.ContextHolder;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.exceptions.StatusCodes;
import de.ids_mannheim.korap.resources.Permissions;
import de.ids_mannheim.korap.resources.VirtualCollection;
import de.ids_mannheim.korap.security.ac.PolicyBuilder;
+import de.ids_mannheim.korap.security.ac.ResourceFinder;
+import de.ids_mannheim.korap.security.ac.SecurityManager;
import de.ids_mannheim.korap.user.Attributes;
import de.ids_mannheim.korap.user.User;
import de.ids_mannheim.korap.utils.CollectionQueryBuilder3;
@@ -16,54 +18,54 @@
* @author hanl
* @date 12/01/2016
*/
-public class CollectionLoader implements BootupInterface {
+public class CollectionLoader implements BootableBeanInterface {
@Override
- public void load() throws KustvaktException {
- if (BeanConfiguration.hasContext()) {
- User user = User.UserFactory
- .toUser(KustvaktConfiguration.KUSTVAKT_USER);
+ public void load(ContextHolder beans) throws KustvaktException {
+ SecurityManager.overrideProviders(beans);
+ ResourceFinder.overrideProviders(beans);
- //todo: load default collections!
- CollectionQueryBuilder3 bui = new CollectionQueryBuilder3();
- bui.addQuery("creationDate since 1775");
+ User user = User.UserFactory
+ .toUser(KustvaktConfiguration.KUSTVAKT_USER);
- VirtualCollection c1 = new VirtualCollection();
- c1.setName("Weimarer Werke");
- c1.addField(Attributes.QUERY, bui.toJSON());
+ CollectionQueryBuilder3 bui = new CollectionQueryBuilder3();
+ bui.addQuery("creationDate since 1775");
- c1.setDescription("Goethe-Werke in Weimar (seit 1775)");
+ VirtualCollection c1 = new VirtualCollection();
+ c1.setName("Weimarer Werke");
+ c1.addField(Attributes.QUERY, bui.toJSON());
- bui = new CollectionQueryBuilder3();
- bui.addQuery("textType = Aphorismus");
+ c1.setDescription("Goethe-Werke in Weimar (seit 1775)");
- VirtualCollection c2 = new VirtualCollection();
- c2.setName("Aphorismen");
- c2.addField(Attributes.QUERY, bui.toJSON());
- c2.setDescription("Aphorismentexte Goethes");
+ bui = new CollectionQueryBuilder3();
+ bui.addQuery("textType = Aphorismus");
- bui = new CollectionQueryBuilder3();
- bui.addQuery("title ~ \"Werther\"");
+ VirtualCollection c2 = new VirtualCollection();
+ c2.setName("Aphorismen");
+ c2.addField(Attributes.QUERY, bui.toJSON());
+ c2.setDescription("Aphorismentexte Goethes");
- VirtualCollection c3 = new VirtualCollection();
- c3.setName("Werther");
- c3.addField(Attributes.QUERY, bui.toJSON());
- c3.setDescription("Goethe - Die Leiden des jungen Werther");
+ bui = new CollectionQueryBuilder3();
+ bui.addQuery("title ~ \"Werther\"");
- PolicyBuilder b = new PolicyBuilder(user);
- b.setPermissions(Permissions.Permission.READ);
- b.setResources(c1, c2, c3);
- b.setConditions("public");
- String result = b.create();
+ VirtualCollection c3 = new VirtualCollection();
+ c3.setName("Werther");
+ c3.addField(Attributes.QUERY, bui.toJSON());
+ c3.setDescription("Goethe - Die Leiden des jungen Werther");
- if (JsonUtils.readTree(result).size() > 0)
- throw new KustvaktException(StatusCodes.REQUEST_INVALID,
- "creating collections caused errors", result);
- }
+ PolicyBuilder b = new PolicyBuilder(user);
+ b.setPermissions(Permissions.Permission.READ);
+ b.setResources(c1, c2, c3);
+ b.setConditions("public");
+ String result = b.create();
+
+ if (JsonUtils.readTree(result).size() > 0)
+ throw new KustvaktException(StatusCodes.REQUEST_INVALID,
+ "creating collections caused errors", result);
}
@Override
- public Class<? extends BootupInterface>[] getDependencies() {
+ public Class<? extends BootableBeanInterface>[] getDependencies() {
return new Class[] { UserLoader.class };
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/PolicyLoader.java b/src/main/java/de/ids_mannheim/korap/web/service/PolicyLoader.java
index af6df90..f568c88 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/PolicyLoader.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/PolicyLoader.java
@@ -1,34 +1,54 @@
package de.ids_mannheim.korap.web.service;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.ContextHolder;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.resources.Corpus;
+import de.ids_mannheim.korap.resources.Foundry;
+import de.ids_mannheim.korap.resources.KustvaktResource;
import de.ids_mannheim.korap.resources.Permissions;
import de.ids_mannheim.korap.security.ac.PolicyBuilder;
+import de.ids_mannheim.korap.security.ac.ResourceFinder;
+import de.ids_mannheim.korap.security.ac.SecurityManager;
import de.ids_mannheim.korap.user.User;
/**
* @author hanl
* @date 15/01/2016
*/
-public class PolicyLoader implements BootupInterface {
+public class PolicyLoader implements BootableBeanInterface {
@Override
- public void load() throws KustvaktException {
- if (BeanConfiguration.hasContext()) {
- User user = User.UserFactory
- .toUser(KustvaktConfiguration.KUSTVAKT_USER);
- PolicyBuilder builder = new PolicyBuilder(user);
- builder.addCondition("public");
- builder.setResources(new Corpus("GOE"));
- builder.setPermissions(Permissions.Permission.READ);
- builder.create();
- }
+ public void load(ContextHolder beans) throws KustvaktException {
+ SecurityManager.overrideProviders(beans);
+ ResourceFinder.overrideProviders(beans);
+
+ User user = User.UserFactory
+ .toUser(KustvaktConfiguration.KUSTVAKT_USER);
+ PolicyBuilder builder = new PolicyBuilder(user);
+ builder.addCondition("public");
+ builder.setResources(new Corpus("GOE"));
+ builder.setPermissions(Permissions.Permission.READ);
+ builder.create();
+
+ builder = new PolicyBuilder(user);
+ builder.addCondition("public");
+ builder.setResources(new Corpus("WPD"));
+ builder.setPermissions(Permissions.Permission.READ);
+ builder.create();
+
+ KustvaktResource tt = new Foundry("tt");
+ tt.setName("TreeTagger");
+ tt.setDescription("todo ...");
+ builder = new PolicyBuilder(user);
+ builder.addCondition("public");
+ builder.setResources(tt);
+ builder.setPermissions(Permissions.Permission.READ);
+ builder.create();
}
@Override
- public Class<? extends BootupInterface>[] getDependencies() {
+ public Class<? extends BootableBeanInterface>[] getDependencies() {
return new Class[] { UserLoader.class };
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/UserLoader.java b/src/main/java/de/ids_mannheim/korap/web/service/UserLoader.java
index ed233a1..4ea11db 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/UserLoader.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/UserLoader.java
@@ -1,6 +1,6 @@
package de.ids_mannheim.korap.web.service;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.ContextHolder;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.interfaces.AuthenticationManagerIface;
@@ -9,19 +9,18 @@
* @author hanl
* @date 12/01/2016
*/
-public class UserLoader implements BootupInterface {
+public class UserLoader implements BootableBeanInterface {
+
@Override
- public void load() throws KustvaktException {
- if (BeanConfiguration.hasContext()) {
- AuthenticationManagerIface manager = BeanConfiguration.getBeans()
- .getAuthenticationManager();
- manager.createUserAccount(KustvaktConfiguration.KUSTVAKT_USER,
- false);
- }
+ public void load(ContextHolder beans) throws KustvaktException {
+ AuthenticationManagerIface manager = beans
+ .getAuthenticationManager();
+ manager.createUserAccount(KustvaktConfiguration.KUSTVAKT_USER,
+ false);
}
@Override
- public Class<? extends BootupInterface>[] getDependencies() {
+ public Class<? extends BootableBeanInterface>[] getDependencies() {
return new Class[0];
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/full/AuthService.java b/src/main/java/de/ids_mannheim/korap/web/service/full/AuthService.java
index 490479d..27de612 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/full/AuthService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/full/AuthService.java
@@ -2,7 +2,7 @@
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ResourceFilters;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.exceptions.StatusCodes;
import de.ids_mannheim.korap.interfaces.AuthenticationManagerIface;
@@ -10,7 +10,7 @@
import de.ids_mannheim.korap.user.*;
import de.ids_mannheim.korap.utils.JsonUtils;
import de.ids_mannheim.korap.utils.KustvaktLogger;
-import de.ids_mannheim.korap.utils.ServiceVersion;
+import de.ids_mannheim.korap.utils.ServiceInfo;
import de.ids_mannheim.korap.web.KustvaktServer;
import de.ids_mannheim.korap.web.filter.AuthFilter;
import de.ids_mannheim.korap.web.filter.DefaultFilter;
@@ -44,7 +44,7 @@
// private SendMail mail;
public AuthService() {
- this.controller = BeanConfiguration.getBeans()
+ this.controller = BeansFactory.getKustvaktContext()
.getAuthenticationManager();
//todo: replace with real property values
// this.mail = new SendMail(ExtConfiguration.getMailProperties());
@@ -63,10 +63,10 @@
public Response bootstrap() {
Map m = new HashMap();
// m.put("settings", new UserSettings().toObjectMap());
- m.put("ql", BeanConfiguration.getBeans().getConfiguration()
+ m.put("ql", BeansFactory.getKustvaktContext().getConfiguration()
.getQueryLanguages());
m.put("SortTypes", null); // types of sorting that are supported!
- m.put("version", ServiceVersion.getAPIVersion());
+ m.put("version", ServiceInfo.getInfo().getVersion());
return Response.ok(JsonUtils.toJSON(m)).build();
}
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/full/OAuthService.java b/src/main/java/de/ids_mannheim/korap/web/service/full/OAuthService.java
index 5e5e2cf..463e068 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/full/OAuthService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/full/OAuthService.java
@@ -65,11 +65,11 @@
public OAuthService() {
this.handler = new OAuth2Handler(
- BeanConfiguration.getBeans().getPersistenceClient());
- this.controller = BeanConfiguration.getBeans()
+ BeansFactory.getKustvaktContext().getPersistenceClient());
+ this.controller = BeansFactory.getKustvaktContext()
.getAuthenticationManager();
- this.crypto = BeanConfiguration.getBeans().getEncryption();
- this.config = BeanConfiguration.getBeans().getConfiguration();
+ this.crypto = BeansFactory.getKustvaktContext().getEncryption();
+ this.config = BeansFactory.getKustvaktContext().getConfiguration();
}
@POST
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java b/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
index 3b0691e..cd10d64 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
@@ -3,7 +3,7 @@
import com.fasterxml.jackson.databind.JsonNode;
import com.sun.jersey.core.util.MultivaluedMapImpl;
import com.sun.jersey.spi.container.ResourceFilters;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.exceptions.EmptyResultException;
import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -12,8 +12,7 @@
import de.ids_mannheim.korap.interfaces.AuthenticationManagerIface;
import de.ids_mannheim.korap.query.serialize.MetaQueryBuilder;
import de.ids_mannheim.korap.query.serialize.QuerySerializer;
-import de.ids_mannheim.korap.resource.rewrite.FoundryInject;
-import de.ids_mannheim.korap.resource.rewrite.RewriteHandler;
+import de.ids_mannheim.korap.resource.rewrite.*;
import de.ids_mannheim.korap.resources.*;
import de.ids_mannheim.korap.security.ac.ResourceFinder;
import de.ids_mannheim.korap.security.ac.ResourceHandler;
@@ -60,17 +59,18 @@
private RewriteHandler processor;
public ResourceService() {
- this.controller = BeanConfiguration.getBeans()
+ this.controller = BeansFactory.getKustvaktContext()
.getAuthenticationManager();
- this.config = BeanConfiguration.getBeans().getConfiguration();
+ this.config = BeansFactory.getKustvaktContext().getConfiguration();
this.resourceHandler = new ResourceHandler();
this.searchKrill = new SearchKrill(config.getIndexDir());
UriBuilder builder = UriBuilder.fromUri("http://10.0.10.13").port(9997);
this.graphDBhandler = new ClientsHandler(builder.build());
- this.processor = new RewriteHandler(config);
- this.processor.add(FoundryInject.class);
+ this.processor = new RewriteHandler();
+ this.processor.defaultRewriteConstraints();
+ this.processor.insertBeans(BeansFactory.getKustvaktContext());
}
/**
@@ -304,10 +304,20 @@
TokenContext ctx = (TokenContext) securityContext.getUserPrincipal();
QuerySerializer ss;
CollectionQueryBuilder3 cquery = new CollectionQueryBuilder3();
+ if (cq != null)
+ cquery.setBaseQuery(cq);
+
User user;
try {
user = controller.getUser(ctx.getUsername());
- Set<Corpus> resources = ResourceFinder.search(user, Corpus.class);
+ Set<Corpus> resources = new HashSet<>();
+
+ if (User.UserFactory.isDemo(ctx.getUsername()))
+ resources = ResourceFinder.searchPublic(Corpus.class);
+ else
+ resources = ResourceFinder.search(user, Corpus.class);
+ System.out.println("RESOURCES FOUND "+ resources);
+
for (KustvaktResource corpus : resources)
cquery.addQuery("corpusID=" + corpus.getPersistentID());
}catch (KustvaktException e) {
@@ -315,8 +325,7 @@
}
ss = new QuerySerializer().setQuery(q, ql, v);
- if (cq != null)
- ss.setCollection(cq);
+ ss.setCollection(cquery.toJSON());
MetaQueryBuilder meta = new MetaQueryBuilder();
if (pageIndex != null)
@@ -347,7 +356,8 @@
* @param pageIndex
* @return
*/
- // todo: test
+
+ //todo: does cq have any sensable worth here?
@TRACE
@Path("{type}/{id}/search")
public Response buildQuery(@Context Locale locale,
@@ -372,6 +382,7 @@
try {
User user = controller.getUser(ctx.getUsername());
+ //todo: instead of throwing exception, build notification and rewrites into result query
KustvaktResource resource;
if (StringUtils.isInteger(id))
resource = this.resourceHandler
@@ -387,15 +398,11 @@
}catch (KustvaktException e) {
KustvaktLogger.ERROR_LOGGER.error("Exception encountered!", e);
- throw KustvaktResponseHandler.throwit(e);
+ //throw KustvaktResponseHandler.throwit(e);
}
ss = new QuerySerializer().setQuery(q, ql, v);
- // todo: parse resources
- if (cq != null)
- ss.setCollection(cq);
-
MetaQueryBuilder meta = new MetaQueryBuilder();
if (pageIndex != null)
meta.addEntry("startIndex", pageIndex);
@@ -483,7 +490,7 @@
// meta.addEntry("itemsPerResource", 1);
serializer.setMeta(meta.raw());
- // policy rewrite!
+ //fixme: policy rewrite!
String query = this.processor.preProcess(serializer.toJSON(), user);
jlog.info("the serialized query {}", query);
@@ -567,8 +574,6 @@
.throwit(StatusCodes.ILLEGAL_ARGUMENT,
"Type parameter not supported", type);
- // functions.createQuery(id, type, user, query, ql, v);
-
meta.addEntry("startIndex", pageIndex);
meta.addEntry("startPage", pageInteger);
meta.setSpanContext(ctx);
@@ -582,6 +587,8 @@
query = s.toJSON();
// PolicyParser parser = new PolicyParser(user);
// query = parser.parse(s.toJSON());
+ //todo: 1
+
}
String result;
try {
@@ -899,7 +906,7 @@
cachetmp.setStats(JsonUtils.readSimple(stats, Map.class));
}
- if (!cache && !user.isDemo()) {
+ if (!cache && !User.UserFactory.isDemo(ctx.getUsername())) {
collection = ResourceFactory
.getPermanentCollection(cachetmp, name, description);
vals = collection.toMap();
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/full/UserService.java b/src/main/java/de/ids_mannheim/korap/web/service/full/UserService.java
index 973544f..45999fc 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/full/UserService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/full/UserService.java
@@ -4,7 +4,7 @@
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.sun.jersey.spi.container.ContainerRequest;
import com.sun.jersey.spi.container.ResourceFilters;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.config.Scopes;
import de.ids_mannheim.korap.config.URIParam;
import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -38,8 +38,6 @@
public class UserService {
private static Logger jlog = LoggerFactory.getLogger(UserService.class);
- // private static Logger jlog = KustvaktLogger
- // .getLogger(KustvaktLogger.SECURITY_LOG);
private AuthenticationManagerIface controller;
private
@@ -47,7 +45,7 @@
UriInfo info;
public UserService() {
- this.controller = BeanConfiguration.getBeans()
+ this.controller = BeansFactory.getKustvaktContext()
.getAuthenticationManager();
}
@@ -237,7 +235,7 @@
try {
User user = controller.getUser(ctx.getUsername());
Userdata data = controller.getUserData(user, UserSettings.class);
- data.addField(Attributes.USERNAME, ctx.getUsername());
+ data.setField(Attributes.USERNAME, ctx.getUsername());
result = data.data();
}catch (KustvaktException e) {
jlog.error("Exception encountered!", e);
@@ -259,7 +257,7 @@
try {
User user = controller.getUser(ctx.getUsername());
- if (user.isDemo())
+ if (User.UserFactory.isDemo(ctx.getUsername()))
return Response.notModified().build();
Userdata data = controller.getUserData(user, UserSettings.class);
@@ -293,7 +291,7 @@
try {
User user = controller.getUser(ctx.getUsername());
Userdata data = controller.getUserData(user, UserDetails.class);
- data.addField(Attributes.USERNAME, ctx.getUsername());
+ data.setField(Attributes.USERNAME, ctx.getUsername());
result = data.data();
}catch (KustvaktException e) {
jlog.error("Exception encountered!", e);
@@ -315,7 +313,7 @@
try {
User user = controller.getUser(ctx.getUsername());
- if (user.isDemo())
+ if (User.UserFactory.isDemo(ctx.getUsername()))
return Response.notModified().build();
UserDetails new_data = new UserDetails(user.getId());
@@ -393,7 +391,7 @@
TokenContext ctx = (TokenContext) context.getUserPrincipal();
try {
User user = controller.getUser(ctx.getUsername());
- if (user.isDemo())
+ if (User.UserFactory.isDemo(ctx.getUsername()))
return Response.notModified().build();
controller.deleteAccount(user);
}catch (KustvaktException e) {
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/light/LightService.java b/src/main/java/de/ids_mannheim/korap/web/service/light/LightService.java
index fde88cd..783e7e2 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/light/LightService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/light/LightService.java
@@ -1,7 +1,7 @@
package de.ids_mannheim.korap.web.service.light;
import com.sun.jersey.core.util.MultivaluedMapImpl;
-import de.ids_mannheim.korap.config.BeanConfiguration;
+import de.ids_mannheim.korap.config.BeansFactory;
import de.ids_mannheim.korap.config.KustvaktConfiguration;
import de.ids_mannheim.korap.config.QueryBuilderUtil;
import de.ids_mannheim.korap.exceptions.KustvaktException;
@@ -44,12 +44,13 @@
private KustvaktConfiguration config;
public LightService() {
- this.config = BeanConfiguration.getBeans().getConfiguration();
+ this.config = BeansFactory.getKustvaktContext().getConfiguration();
this.searchKrill = new SearchKrill(config.getIndexDir());
UriBuilder builder = UriBuilder.fromUri("http://10.0.10.13").port(9997);
this.graphDBhandler = new ClientsHandler(builder.build());
- this.processor = new RewriteHandler(config);
+ this.processor = new RewriteHandler();
this.processor.add(FoundryInject.class);
+ this.processor.insertBeans(BeansFactory.getKustvaktContext());
}
/**
@@ -83,7 +84,8 @@
@QueryParam("count") Integer pageLength,
@QueryParam("offset") Integer pageIndex,
@QueryParam("page") Integer startPage,
- @QueryParam("ref") String reference, @QueryParam("cq") String cq) {
+ // fixme: remove cq from light service
+ @QueryParam("cq") String cq) {
QuerySerializer ss = new QuerySerializer().setQuery(q, ql, v);
MetaQueryBuilder meta = new MetaQueryBuilder();
@@ -122,6 +124,7 @@
@QueryParam("offset") Integer pageIndex,
@QueryParam("page") Integer pageInteger,
@QueryParam("fields") Set<String> fields,
+ // fixme: remove cq value from lightservice
@QueryParam("cq") String cq, @QueryParam("engine") String engine) {
KustvaktConfiguration.BACKENDS eng = this.config.chooseBackend(engine);
@@ -148,6 +151,7 @@
String.valueOf(meta.getSpanContext().getLeft_size()));
map.add("rctxs",
String.valueOf(meta.getSpanContext().getRight_size()));
+
try {
result = this.graphDBhandler.getResponse(map, "distKwic");
}catch (KustvaktException e) {