meta query serialization and builders
diff --git a/src/test/java/CollectionQueryTreeTest.java b/src/test/java/CollectionQueryTreeTest.java
new file mode 100644
index 0000000..81f6eee
--- /dev/null
+++ b/src/test/java/CollectionQueryTreeTest.java
@@ -0,0 +1,85 @@
+import de.ids_mannheim.korap.query.serialize.CollectionQueryBuilder;
+import de.ids_mannheim.korap.query.serialize.CollectionQueryBuilder2;
+import de.ids_mannheim.korap.query.serialize.CollectionQueryTree;
+import de.ids_mannheim.korap.resource.Relation;
+import de.ids_mannheim.korap.util.QueryException;
+import de.ids_mannheim.korap.utils.JsonUtils;
+import de.ids_mannheim.korap.utils.TimeUtils;
+import org.junit.Test;
+
+public class CollectionQueryTreeTest {
+
+ CollectionQueryTree ef;
+ String map;
+ private String query;
+
+ private boolean equalsQueryContent(String res, String query) throws QueryException {
+ res = res.replaceAll(" ", "");
+ ef = new CollectionQueryTree();
+ ef.process(query);
+ String queryMap = ef.getRequestMap().get("query").toString().replaceAll(" ", "");
+ return res.equals(queryMap);
+ }
+
+ @Test
+ public void testSimple() throws QueryException {
+ query = "textClass=Sport";
+ String regex1 = "{@type=korap:filter, filter={@type=korap:term, attribute=textClass, key=Sport, match=match:eq}}";
+ ef = new CollectionQueryTree();
+ ef.process(query);
+ map = JsonUtils.toJSON(ef.getRequestMap());
+// assertEquals(regex1.replaceAll(" ", ""), map.replaceAll(" ", ""));
+ System.out.println("THE QUERY: " + map);
+ }
+
+
+ @Test
+ public void testComplex() throws QueryException {
+ query = "(textClass=Sport | textClass=ausland) & corpusID=WPD";
+ String regex1 = "{@type=korap:filter, filter={@type=korap:term, attribute=textClass, key=Sport, match=match:eq}}";
+ ef = new CollectionQueryTree();
+ ef.process(query);
+ map = JsonUtils.toJSON(ef.getRequestMap());
+// assertEquals(regex1.replaceAll(" ", ""), map.replaceAll(" ", ""));
+ System.out.println("THE QUERY 1: " + map);
+ }
+
+ @Test
+ public void testBuilder() throws QueryException {
+ CollectionQueryBuilder2 builder = new CollectionQueryBuilder2();
+ builder.setQuery("(textClass=Sport | textClass=ausland) & corpusID=WPD");
+ System.out.println("BUILDER RESULT: " + builder.toJSON());
+ }
+
+ @Test
+ public void testSimpleBuilder() {
+ CollectionQueryBuilder b = new CollectionQueryBuilder();
+ b.addMetaFilter("corpusID", "WPD");
+ b.addMetaFilter("textClass", "wissenschaft");
+ b.setFilterAttributeRelation(Relation.AND);
+ System.out.println("SIMPLE BUILDER RESULT: " + b.toCollections());
+ }
+
+ // old builder pubDate query
+ @Test
+ public void testDateQuery() {
+ CollectionQueryBuilder b = new CollectionQueryBuilder();
+ String query = "pubDate=>" + TimeUtils.getNow().getMillis();
+ query = query + " AND pubDate=<" + TimeUtils.getNow().getMillis();
+ b.addMetaFilterQuery(query);
+ b.setFilterAttributeRelation(Relation.AND);
+ System.out.println("FINAL RESOURCE: " + b.toCollections());
+ }
+
+ @Test
+ public void testDateNewQuery() throws QueryException {
+ // search for pubDate between 1990 and 2010!
+ String query = "1990<pubDate<2010 & genre=Sport";
+ CollectionQueryBuilder2 q = new CollectionQueryBuilder2();
+ q.setQuery(query);
+ System.out.println("DATE QUERY RESULT: " + q.toJSON());
+ }
+
+
+}
+