You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2012/04/11 11:07:30 UTC

svn commit: r1324658 - /jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/QueryTest.java

Author: thomasm
Date: Wed Apr 11 09:07:29 2012
New Revision: 1324658

URL: http://svn.apache.org/viewvc?rev=1324658&view=rev
Log:
OAK-28 Query implementation (simplify a bit)

Modified:
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/QueryTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/QueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/QueryTest.java?rev=1324658&r1=1324657&r2=1324658&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/QueryTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/query/QueryTest.java Wed Apr 11 09:07:29 2012
@@ -27,12 +27,10 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
-
 import org.apache.jackrabbit.mk.api.MicroKernel;
 import org.apache.jackrabbit.mk.core.MicroKernelImpl;
 import org.apache.jackrabbit.oak.api.Result;
 import org.apache.jackrabbit.oak.api.ResultRow;
-import org.junit.Before;
 import org.junit.Test;
 
 /**
@@ -41,15 +39,7 @@ import org.junit.Test;
 public class QueryTest {
 
     private final MicroKernel mk = new MicroKernelImpl();
-
-    String head;
-    QueryEngineImpl qe;
-
-    @Before
-    public void setUp() {
-        head = mk.getHeadRevision();
-        qe = new QueryEngineImpl(mk);
-    }
+    private QueryEngineImpl qe = new QueryEngineImpl(mk);
 
     @Test
     public void script() throws Exception {
@@ -63,7 +53,7 @@ public class QueryTest {
 
     @Test
     public void bindVariableTest() throws Exception {
-        head = mk.commit("/", "+ \"test\": { \"hello\": {\"id\": \"1\"}, \"world\": {\"id\": \"2\"}}",
+        mk.commit("/", "+ \"test\": { \"hello\": {\"id\": \"1\"}, \"world\": {\"id\": \"2\"}}",
                 null, null);
         HashMap<String, CoreValue> sv = new HashMap<String, CoreValue>();
         CoreValueFactory vf = new CoreValueFactory();
@@ -80,7 +70,6 @@ public class QueryTest {
         assertTrue(result.hasNext());
         assertEquals("/test/world", result.next().getPath());
 
-
         result = qe.executeQuery("explain select * from [nt:base] where id = 1 order by id",
                 QueryEngineImpl.SQL2, null).getRows().iterator();
         assertTrue(result.hasNext());
@@ -166,35 +155,34 @@ public class QueryTest {
             r.close();
         }
         if (errors) {
-            throw new Exception("Results in target/queryTest.txt don't match expected " +
-                    "results in src/test/resources/queryTest.txt; compare the files for details");
+            throw new Exception("Results in target/" + file + " don't match expected " +
+                    "results in src/test/resources/" + file + "; compare the files for details");
         }
     }
 
     private List<String> executeQuery(String query) throws ParseException {
         List<String> lines = new ArrayList<String>();
-
         Result result = qe.executeQuery(query, QueryEngineImpl.SQL2, null);
-        Iterator<? extends ResultRow> iterator = result.getRows().iterator();
-        while (iterator.hasNext()) {
-            ResultRow row = iterator.next();
-            StringBuilder buff = new StringBuilder();
-            CoreValue[] values = row.getValues();
-            for (int i = 0; i < values.length; i++) {
-                if (i > 0) {
-                    buff.append(", ");
-                }
-                CoreValue v = values[i];
-                buff.append(v == null ? "null" : v.getString());
-            }
-            lines.add(buff.toString());
+        for (ResultRow row : result.getRows()) {
+            lines.add(readRow(row));
         }
-
         if (!query.contains("order by")) {
             Collections.sort(lines);
         }
-
         return lines;
     }
 
+    private String readRow(ResultRow row) {
+        StringBuilder buff = new StringBuilder();
+        CoreValue[] values = row.getValues();
+        for (int i = 0; i < values.length; i++) {
+            if (i > 0) {
+                buff.append(", ");
+            }
+            CoreValue v = values[i];
+            buff.append(v == null ? "null" : v.getString());
+        }
+        return buff.toString();
+    }
+
 }