Implemented Timeout rewrite.
Change-Id: Icdbb54451e29b8978f7a5749486cb7adee23327f
diff --git a/src/test/java/de/ids_mannheim/korap/rewrite/TimeoutRewriteTest.java b/src/test/java/de/ids_mannheim/korap/rewrite/TimeoutRewriteTest.java
new file mode 100644
index 0000000..43146ed
--- /dev/null
+++ b/src/test/java/de/ids_mannheim/korap/rewrite/TimeoutRewriteTest.java
@@ -0,0 +1,63 @@
+package de.ids_mannheim.korap.rewrite;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.fasterxml.jackson.databind.JsonNode;
+
+import de.ids_mannheim.korap.config.KustvaktConfiguration;
+import de.ids_mannheim.korap.config.SpringJerseyTest;
+import de.ids_mannheim.korap.config.TestVariables;
+import de.ids_mannheim.korap.exceptions.KustvaktException;
+import de.ids_mannheim.korap.query.serialize.QuerySerializer;
+import de.ids_mannheim.korap.user.User;
+import de.ids_mannheim.korap.utils.JsonUtils;
+
+public class TimeoutRewriteTest extends SpringJerseyTest {
+
+ @Autowired
+ public KustvaktConfiguration config;
+
+ @Test
+ public void testReplaceTimeout () throws KustvaktException {
+ RewriteHandler handler = new RewriteHandler(config);
+ handler.add(TimeoutRewrite.class);
+
+ Map<String, Object> map = new HashMap<String,Object>();
+ map.put("count", 25);
+ map.put("timeout", 50000);
+ QuerySerializer s = new QuerySerializer();
+ s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
+ s.setMeta(map);
+ String result = s.toJSON();
+ JsonNode node = JsonUtils.readTree(handler.processQuery(result,
+ User.UserFactory.getUser("test_user")));
+
+ node = node.at("/meta");
+ assertEquals(10000, node.at("/timeout").asInt());
+ assertEquals(50000, node.at("/rewrites/0/original").asInt());
+ }
+
+ @Test
+ public void testAddTimeout () throws KustvaktException {
+ RewriteHandler handler = new RewriteHandler(config);
+ handler.add(TimeoutRewrite.class);
+
+ Map<String, Object> map = new HashMap<String,Object>();
+ map.put("count", 25);
+ QuerySerializer s = new QuerySerializer();
+ s.setQuery(TestVariables.SIMPLE_ADD_QUERY, "poliqarp");
+ s.setMeta(map);
+ String result = s.toJSON();
+ JsonNode node = JsonUtils.readTree(handler.processQuery(result,
+ User.UserFactory.getUser("test_user")));
+
+ node = node.at("/meta");
+ assertEquals(10000, node.at("/timeout").asInt());
+ }
+}
diff --git a/src/test/resources/test-config.xml b/src/test/resources/test-config.xml
index 7a95588..5fd5ff2 100644
--- a/src/test/resources/test-config.xml
+++ b/src/test/resources/test-config.xml
@@ -214,6 +214,8 @@
<!-- Rewrite -->
<bean id="foundryRewrite"
class="de.ids_mannheim.korap.rewrite.FoundryRewrite" />
+ <bean id="timeoutRewrite"
+ class="de.ids_mannheim.korap.rewrite.TimeoutRewrite" />
<bean id="availabilityRewrite"
class="de.ids_mannheim.korap.rewrite.AvailabilityRewrite" />
<bean id="virtualCorpusRewrite"
@@ -227,6 +229,7 @@
<util:list id="rewriteTasks"
value-type="de.ids_mannheim.korap.rewrite.RewriteTask">
<ref bean="foundryRewrite" />
+ <ref bean="timeoutRewrite" />
<ref bean="availabilityRewrite" />
<ref bean="virtualCorpusRewrite" />
<ref bean="queryReferenceRewrite" />
@@ -241,6 +244,7 @@
<util:list id="statisticsRewriteTasks"
value-type="de.ids_mannheim.korap.rewrite.RewriteTask">
<ref bean="foundryRewrite" />
+ <ref bean="timeoutRewrite" />
<ref bean="virtualCorpusRewrite" />
<ref bean="queryReferenceRewrite" />
</util:list>