string to json bug hot fix
diff --git a/src/test/java/CollectionQueryBuilderTest.java b/src/test/java/CollectionQueryBuilderTest.java
index 38a5ac4..407608d 100644
--- a/src/test/java/CollectionQueryBuilderTest.java
+++ b/src/test/java/CollectionQueryBuilderTest.java
@@ -2,6 +2,7 @@
 import de.ids_mannheim.korap.query.serialize.QuerySerializer;
 import de.ids_mannheim.korap.utils.KoralCollectionQueryBuilder;
 import de.ids_mannheim.korap.utils.JsonUtils;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;
@@ -84,12 +85,19 @@
         c.with("corpusSigle=WPD");
 
         JsonNode node = JsonUtils.readTree(c.toJSON());
-
         assertNotNull(node);
-        assertEquals("koral:doc", node.at("/collection/operands/0/@type")
+        assertEquals("koral:doc", node.at("/collection/operands/1/@type")
                 .asText());
-        assertEquals("WPD", node.at("/collection/operands/0/value").asText());
+        assertEquals("koral:docGroup", node.at("/collection/operands/0/@type")
+                .asText());
         assertEquals(2, node.at("/collection/operands").size());
+        assertEquals(2, node.at("/collection/operands/0/operands").size());
+        assertEquals(2, node.at("/collection/operands/0/operands/0/operands").size());
+
+        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals("operation:or", node.at("/collection/operands/0/operation").asText());
+        assertEquals("operation:and", node.at("/collection/operands/0/operands/0/operation").asText());
+        assertEquals("WPD", node.at("/collection/operands/1/value").asText());
     }
 
 
@@ -109,13 +117,13 @@
         assertEquals("koral:docGroup", node.at("/collection/operands/1/@type")
                 .asText());
         assertEquals("BRZ13", node
-                .at("/collection/operands/0/operands/0/value").asText());
-        assertEquals("AZPS", node.at("/collection/operands/0/operands/1/value")
+                .at("/collection/operands/1/operands/0/value").asText());
+        assertEquals("AZPS", node.at("/collection/operands/1/operands/1/value")
                 .asText());
         assertEquals("random title",
-                node.at("/collection/operands/1/operands/0/value").asText());
+                node.at("/collection/operands/0/operands/0/value").asText());
         assertEquals("wissenschaft",
-                node.at("/collection/operands/1/operands/1/value").asText());
+                node.at("/collection/operands/0/operands/1/value").asText());
     }
 
 
@@ -137,14 +145,14 @@
         assertEquals("operation:and", res.at("/collection/operation").asText());
         assertEquals("koral:doc", res.at("/collection/operands/0/@type")
                 .asText());
-        assertEquals("freizeit", res.at("/collection/operands/0/value")
+        assertEquals("freizeit", res.at("/collection/operands/1/value")
                 .asText());
-        assertEquals("textClass", res.at("/collection/operands/0/key").asText());
+        assertEquals("textClass", res.at("/collection/operands/1/key").asText());
 
         assertEquals("koral:doc", res.at("/collection/operands/1/@type")
                 .asText());
-        assertEquals("WPD", res.at("/collection/operands/1/value").asText());
-        assertEquals("corpusSigle", res.at("/collection/operands/1/key").asText());
+        assertEquals("WPD", res.at("/collection/operands/0/value").asText());
+        assertEquals("corpusSigle", res.at("/collection/operands/0/key").asText());
 
         // check also that query is still there
         assertEquals("koral:token", res.at("/query/@type").asText());
@@ -166,12 +174,12 @@
         JsonNode base = (JsonNode) c.rebaseCollection();
         assertNotNull(base);
         assertEquals(base.at("/collection/@type").asText(), "koral:docGroup");
-        assertEquals(base.at("/collection/operands/0/@type").asText(),
-                "koral:doc");
-        assertEquals(base.at("/collection/operands/0/value").asText(), "BRZ13");
         assertEquals(base.at("/collection/operands/1/@type").asText(),
+                "koral:doc");
+        assertEquals(base.at("/collection/operands/1/value").asText(), "BRZ13");
+        assertEquals(base.at("/collection/operands/0/@type").asText(),
                 "koral:docGroup");
-        assertEquals(base.at("/collection/operands/1/operands").size(), 2);
+        assertEquals(base.at("/collection/operands/0/operands").size(), 2);
     }
 
     @Test
@@ -201,4 +209,80 @@
 
     }
 
+    @Test
+    public void testAddOROperator() {
+        String coll = "corpusSigle=WPD";
+        String query = "[base=Haus]";
+        QuerySerializer check = new QuerySerializer();
+        check.setQuery(query, "poliqarp");
+        check.setCollection(coll);
+
+        KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+        test.setBaseQuery(check.toJSON());
+        test.or().with("textClass=wissenschaft | textClass=politik");
+        JsonNode node = (JsonNode) test.rebaseCollection();
+        assertNotNull(node);
+        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals("operation:or", node.at("/collection/operation").asText());
+        assertEquals(2, node.at("/collection/operands/1/operands").size());
+    }
+
+    @Test
+    public void testAddANDOperator() {
+        String coll = "corpusSigle=WPD";
+        String query = "[base=Haus]";
+        QuerySerializer check = new QuerySerializer();
+        check.setQuery(query, "poliqarp");
+        check.setCollection(coll);
+
+        KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+        test.setBaseQuery(check.toJSON());
+        test.and().with("textClass=wissenschaft | textClass=politik");
+        JsonNode node = (JsonNode) test.rebaseCollection();
+        assertNotNull(node);
+        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(2, node.at("/collection/operands/1/operands").size());
+    }
+
+    @Test
+    public void testAddDefaultOperator() {
+        String coll = "corpusSigle=WPD";
+        String query = "[base=Haus]";
+        QuerySerializer check = new QuerySerializer();
+        check.setQuery(query, "poliqarp");
+        check.setCollection(coll);
+
+        KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+        test.setBaseQuery(check.toJSON());
+        test.with("textClass=wissenschaft | textClass=politik");
+        JsonNode node = (JsonNode) test.rebaseCollection();
+        assertNotNull(node);
+        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(2, node.at("/collection/operands/1/operands").size());
+    }
+
+    @Test
+    @Ignore
+    public void testMergeOperator() {
+        String coll = "corpusSigle=WPD";
+        String query = "[base=Haus]";
+        QuerySerializer check = new QuerySerializer();
+        check.setQuery(query, "poliqarp");
+        check.setCollection(coll);
+
+        KoralCollectionQueryBuilder b = new KoralCollectionQueryBuilder();
+        b.setBaseQuery(check.toJSON());
+
+        KoralCollectionQueryBuilder test = new KoralCollectionQueryBuilder();
+        test.with("textClass=wissenschaft | textClass=politik");
+        JsonNode node = (JsonNode) test.rebaseCollection();
+        node = b.mergeWith(node);
+        assertNotNull(node);
+        assertEquals("koral:docGroup", node.at("/collection/@type").asText());
+        assertEquals("operation:and", node.at("/collection/operation").asText());
+        assertEquals(2, node.at("/collection/operands").size());
+    }
+
 }
diff --git a/src/test/java/de/ids_mannheim/korap/resource/rewrite/FoundryRewriteTest.java b/src/test/java/de/ids_mannheim/korap/resource/rewrite/FoundryRewriteTest.java
index 92ef92c..90bcc86 100644
--- a/src/test/java/de/ids_mannheim/korap/resource/rewrite/FoundryRewriteTest.java
+++ b/src/test/java/de/ids_mannheim/korap/resource/rewrite/FoundryRewriteTest.java
@@ -65,8 +65,6 @@
         s.setQuery("[base=Haus]", "poliqarp");
         String result = processor.process(s.toJSON(), null);
         JsonNode node = JsonUtils.readTree(result);
-
-        System.out.println("REWRITTEN "+ node);
         assertNotNull(node);
         assertFalse(node.at("/query/wrap/foundry").isMissingNode());
         assertEquals(c.getDefault_lemma(), node.at("/query/wrap/foundry")
diff --git a/src/test/java/de/ids_mannheim/korap/web/service/OAuth2HandlerTest.java b/src/test/java/de/ids_mannheim/korap/web/service/OAuth2HandlerTest.java
index 0a55637..d7e33b9 100644
--- a/src/test/java/de/ids_mannheim/korap/web/service/OAuth2HandlerTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/service/OAuth2HandlerTest.java
@@ -13,6 +13,8 @@
 import org.junit.BeforeClass;
 import org.junit.Test;
 
+import static org.junit.Assert.assertNotNull;
+
 /**
  * @author hanl
  * @date 13/05/2015
@@ -65,7 +67,7 @@
                 .getPersistenceClient());
         handler.authorize(codeInfo, helper().getUser());
         codeInfo = handler.getAuthorization(auth_code);
-        Assert.assertNotNull("client is null!", codeInfo);
+        assertNotNull("client is null!", codeInfo);
     }
 
 
@@ -84,7 +86,7 @@
         handler.addToken(codeInfo.getCode(), t, refresh, 7200);
 
         TokenContext ctx = handler.getContext(t);
-        Assert.assertNotNull("context is null", ctx);
+        assertNotNull("context is null", ctx);
 
         AuthCodeInfo c2 = handler.getAuthorization(codeInfo.getCode());
         Assert.assertNull("clearing authorization failed", c2);
diff --git a/src/test/java/de/ids_mannheim/korap/web/service/full/ResourceServiceTest.java b/src/test/java/de/ids_mannheim/korap/web/service/full/ResourceServiceTest.java
index d0a5b96..6a5ab99 100644
--- a/src/test/java/de/ids_mannheim/korap/web/service/full/ResourceServiceTest.java
+++ b/src/test/java/de/ids_mannheim/korap/web/service/full/ResourceServiceTest.java
@@ -189,13 +189,13 @@
     @Test
     public void testGetResources () {
         ClientResponse response = resource().path(getAPIVersion())
-                .path("corpus").get(ClientResponse.class);
+                .path("collection").get(ClientResponse.class);
         assertEquals(response.getStatus(),
                 ClientResponse.Status.OK.getStatusCode());
         String ent = response.getEntity(String.class);
         JsonNode node = JsonUtils.readTree(ent);
         assertNotNull(node);
-        System.out.println("NODE 1 " + node);
+        assertNotEquals(0, node.size());
     }