tests and bean loader hot fix
diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/DocMatchRewrite.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/DocMatchRewrite.java
index 649f58d..5c8e568 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/DocMatchRewrite.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/DocMatchRewrite.java
@@ -4,12 +4,12 @@
import de.ids_mannheim.korap.config.*;
import de.ids_mannheim.korap.exceptions.KustvaktException;
import de.ids_mannheim.korap.handlers.DocumentDao;
+import de.ids_mannheim.korap.interfaces.db.ResourceOperationIface;
import de.ids_mannheim.korap.resources.Document;
import de.ids_mannheim.korap.user.User;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;
-import org.w3c.dom.Attr;
/**
* @author hanl
@@ -19,7 +19,7 @@
public class DocMatchRewrite implements RewriteTask.IterableRewritePath,
BeanInjectable {
- private DocumentDao docDao;
+ private ResourceOperationIface<Document> docDao;
private Cache cache;
@@ -30,8 +30,8 @@
@Override
public void insertBeans (ContextHolder beans) {
- this.docDao = BeansFactory.getTypeFactory().getTypedBean(
- beans.getResourceProvider(), Document.class);
+ this.docDao = BeansFactory.getTypeFactory().getTypeInterfaceBean(
+ beans.getResourceProviders(), Document.class);
}
diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java
index 9c3762b..923e7a2 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/FoundryInject.java
@@ -35,8 +35,8 @@
LayerMapper mapper;
if (user != null && !userdaos.isEmpty()) {
- UserDataDbIface dao = BeansFactory.getTypeFactory().getTypedBean(
- userdaos, UserSettings.class);
+ UserDataDbIface dao = BeansFactory.getTypeFactory()
+ .getTypeInterfaceBean(userdaos, UserSettings.class);
mapper = new LayerMapper(config, dao.get(user));
}
else
@@ -69,6 +69,6 @@
@Override
public <T extends ContextHolder> void insertBeans (T beans) {
- this.userdaos = beans.getUserDataDaos();
+ this.userdaos = beans.getUserDataProviders();
}
}
diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/PublicCollection.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/PublicCollection.java
index 6bd59a5..d7e32ee 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/PublicCollection.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/PublicCollection.java
@@ -29,7 +29,7 @@
@Override
public JsonNode rewriteQuery (KoralNode node, KustvaktConfiguration config,
- User user) {
+ User user) throws KustvaktException {
JsonNode subnode = node.rawNode();
if (!subnode.at("/collection").findValuesAsText("key")
@@ -38,32 +38,28 @@
if (subnode.has("collection"))
b.setBaseQuery(JsonUtils.toJSON(subnode));
- try {
- Set resources = ResourceFinder.search(user, Corpus.class);
- ArrayList<KustvaktResource> list = new ArrayList(resources);
+ Set resources = ResourceFinder.search(user, Corpus.class);
+ ArrayList<KustvaktResource> list = new ArrayList(resources);
- if (list.isEmpty())
- throw new KustvaktException(StatusCodes.PERMISSION_DENIED,
- "No resources found for user", user.getUsername());
+ if (list.isEmpty())
+ throw new KustvaktException(
+ StatusCodes.ACCESS_DENIED_NO_RESOURCES,
+ "Resources could not be loaded for user ",
+ user.getUsername());
- Set ids = new HashSet(resources.size());
- for (int i = 0; i < list.size(); i++) {
- if (i > 0)
- b.or();
- b.with(Attributes.CORPUS_SIGLE + "="
- + list.get(i).getPersistentID());
- ids.add(list.get(i).getPersistentID());
- }
- JsonNode rewritten = JsonUtils.readTree(b.toJSON());
- node.set("collection", rewritten.at("/collection"),
- new KoralNode.RewriteIdentifier(
- Attributes.CORPUS_SIGLE, ids));
- node.at("/collection");
+ Set ids = new HashSet(resources.size());
+ for (int i = 0; i < list.size(); i++) {
+ if (i > 0)
+ b.or();
+ b.with(Attributes.CORPUS_SIGLE + "="
+ + list.get(i).getPersistentID());
+ ids.add(list.get(i).getPersistentID());
}
- catch (KustvaktException e) {
- e.printStackTrace();
- // todo:
- }
+ JsonNode rewritten = JsonUtils.readTree(b.toJSON());
+ node.set("collection", rewritten.at("/collection"),
+ new KoralNode.RewriteIdentifier(Attributes.CORPUS_SIGLE,
+ ids));
+ node.at("/collection");
}
return node.rawNode();
diff --git a/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java b/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java
index 468fa9e..94875f4 100644
--- a/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java
+++ b/src/main/java/de/ids_mannheim/korap/resource/rewrite/RewriteHandler.java
@@ -115,24 +115,28 @@
- public String processQuery (JsonNode root, User user) {
+ public String processQuery (JsonNode root, User user)
+ throws KustvaktException {
RewriteProcess process = new RewriteProcess(root, user);
JsonNode pre = process.start(false);
return JsonUtils.toJSON(pre);
}
- public String processQuery (String json, User user) {
+ public String processQuery (String json, User user)
+ throws KustvaktException {
return processQuery(JsonUtils.readTree(json), user);
}
- public String processResult (String json, User user) {
+ public String processResult (String json, User user)
+ throws KustvaktException {
return processResult(JsonUtils.readTree(json), user);
}
- public String processResult (JsonNode node, User user) {
+ public String processResult (JsonNode node, User user)
+ throws KustvaktException {
RewriteProcess process = new RewriteProcess(node, user);
JsonNode pre = process.start(true);
return JsonUtils.toJSON(pre);
@@ -167,7 +171,7 @@
private KoralNode processNode (String key, JsonNode value,
- boolean result) {
+ boolean result) throws KustvaktException {
KoralNode kroot = KoralNode.wrapNode(value);
if (value.isObject()) {
if (value.has("operands")) {
@@ -204,7 +208,7 @@
}
- private JsonNode start (boolean result) {
+ private JsonNode start (boolean result) throws KustvaktException {
jlog.debug("Running rewrite process on query {}", root);
if (root != null) {
Iterator<Map.Entry<String, JsonNode>> it = root.fields();
@@ -227,7 +231,8 @@
* applies if parent is an array node
*/
private KoralNode rewrite (String rootNode, KoralNode node,
- Collection<? extends RewriteTask> tasks, boolean result) {
+ Collection<? extends RewriteTask> tasks, boolean result)
+ throws KustvaktException {
if (RewriteHandler.this.config == null)
throw new RuntimeException("KustvaktConfiguration must be set!");
@@ -247,21 +252,14 @@
continue;
}
}
- try {
- if (!result && task instanceof RewriteTask.RewriteQuery) {
- ((RewriteTask.RewriteQuery) task).rewriteQuery(node,
- RewriteHandler.this.config, this.user);
- }
- else if (task instanceof RewriteTask.RewriteResult) {
- ((RewriteTask.RewriteResult) task).rewriteResult(node);
- }
+ if (!result && task instanceof RewriteTask.RewriteQuery) {
+ ((RewriteTask.RewriteQuery) task).rewriteQuery(node,
+ RewriteHandler.this.config, this.user);
}
- catch (KustvaktException e) {
- jlog.error("Error in rewrite processor {} for node {}",
- task.getClass().getSimpleName(), node.rawNode()
- .toString());
- e.printStackTrace();
+ else if (task instanceof RewriteTask.RewriteResult) {
+ ((RewriteTask.RewriteResult) task).rewriteResult(node);
}
+
if (node.isRemove()) {
node.buildRewrites(this.root.at("/" + rootNode));
break;
@@ -275,7 +273,8 @@
// fixme: merge with processNode!
private void processFixedNode (JsonNode node,
- Collection<RewriteTask> tasks, boolean post) {
+ Collection<RewriteTask> tasks, boolean post)
+ throws KustvaktException {
for (RewriteTask task : tasks) {
KoralNode next = KoralNode.wrapNode(node);
if (task instanceof RewriteTask.RewriteNodeAt) {
@@ -284,19 +283,13 @@
next = next.at(rwa.at());
}
- try {
- if (!post & task instanceof RewriteTask.RewriteQuery)
- ((RewriteTask.RewriteQuery) task).rewriteQuery(next,
- RewriteHandler.this.config, user);
- else if (task instanceof RewriteTask.RewriteResult)
- ((RewriteTask.RewriteResult) task).rewriteResult(next);
- next.buildRewrites();
- }
- catch (KustvaktException e) {
- jlog.error("Error in rewrite processor {} for node {}",
- task.getClass().getSimpleName(), next.toString());
- e.printStackTrace();
- }
+ if (!post & task instanceof RewriteTask.RewriteQuery)
+ ((RewriteTask.RewriteQuery) task).rewriteQuery(next,
+ RewriteHandler.this.config, user);
+ else if (task instanceof RewriteTask.RewriteResult)
+ ((RewriteTask.RewriteResult) task).rewriteResult(next);
+ next.buildRewrites();
+
}
}