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 to...@apache.org on 2013/03/28 11:33:21 UTC

svn commit: r1462023 - in /jackrabbit/oak/trunk/oak-solr-core/src: main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/ main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/ test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/

Author: tommaso
Date: Thu Mar 28 10:33:20 2013
New Revision: 1462023

URL: http://svn.apache.org/r1462023
Log:
OAK-725 - applied Emanuele's patch for fixed query handling for sql2 coverage

Modified:
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexUpdate.java
    jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
    jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexUpdate.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexUpdate.java?rev=1462023&r1=1462022&r2=1462023&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexUpdate.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/index/SolrIndexUpdate.java Thu Mar 28 10:33:20 2013
@@ -63,8 +63,8 @@ public class SolrIndexUpdate implements 
 
     public void insert(String path, NodeBuilder value) {
         Preconditions.checkArgument(path.startsWith(this.path));
-        if (!insert.containsKey(path)) {
-            String key = path.substring(this.path.length());
+        String key = path.substring(this.path.length());
+        if (!insert.containsKey(key)) {
             if ("".equals(key)) {
                 key = "/";
             }

Modified: jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java?rev=1462023&r1=1462022&r2=1462023&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java Thu Mar 28 10:33:20 2013
@@ -95,9 +95,9 @@ public class SolrQueryIndex implements Q
                 if (path.equals("\\/") && pathRestriction.equals(Filter.PathRestriction.ALL_CHILDREN)) {
                     queryBuilder.append("*");
                 } else {
-//                    queryBuilder.append("\"");
+                    queryBuilder.append("\"");
                     queryBuilder.append(path);
-//                    queryBuilder.append("\"");
+                    queryBuilder.append("\"");
                 }
                 queryBuilder.append(" ");
             }
@@ -105,7 +105,10 @@ public class SolrQueryIndex implements Q
         Collection<Filter.PropertyRestriction> propertyRestrictions = filter.getPropertyRestrictions();
         if (propertyRestrictions != null && !propertyRestrictions.isEmpty()) {
             for (Filter.PropertyRestriction pr : propertyRestrictions) {
-
+            	if (pr.propertyName.contains("/")) {
+                    // lucene cannot handle child-level property restrictions
+                    continue;
+                }
                 String first = null;
                 if (pr.first != null) {
                     first = partialEscape(String.valueOf(pr.first.getValue(pr.first.getType()))).toString();
@@ -146,7 +149,9 @@ public class SolrQueryIndex implements Q
         for (String fulltextCondition : fulltextConditions) {
             queryBuilder.append(fulltextCondition).append(" ");
         }
-
+        if(queryBuilder.length() == 0) {
+            queryBuilder.append("*:*");
+        }
         String escapedQuery = queryBuilder.toString();
         solrQuery.setQuery(escapedQuery);
 

Modified: jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java?rev=1462023&r1=1462022&r2=1462023&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java (original)
+++ jackrabbit/oak/trunk/oak-solr-core/src/test/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrIndexQueryTest.java Thu Mar 28 10:33:20 2013
@@ -23,8 +23,6 @@ import org.apache.jackrabbit.oak.api.Con
 import org.apache.jackrabbit.oak.api.Tree;
 import org.apache.jackrabbit.oak.plugins.index.solr.OakSolrConfiguration;
 import org.apache.jackrabbit.oak.plugins.index.solr.TestUtils;
-import org.apache.jackrabbit.oak.plugins.index.solr.server.OakSolrNodeStateConfiguration;
-import org.apache.jackrabbit.oak.plugins.memory.PropertyStates;
 import org.apache.jackrabbit.oak.plugins.nodetype.write.InitialContent;
 import org.apache.jackrabbit.oak.query.AbstractQueryTest;
 import org.apache.jackrabbit.oak.query.JsopUtil;
@@ -42,7 +40,8 @@ import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
 /**
- * General query extensive testcase for {@link org.apache.jackrabbit.oak.plugins.index.solr.query.SolrQueryIndex} and {@link org.apache.jackrabbit.oak.plugins.index.solr.index.SolrIndexDiff}
+ * General query extensive testcase for {@link SolrQueryIndex} and {@link
+ * org.apache.jackrabbit.oak.plugins.index.solr.index.SolrIndexDiff}
  */
 public class SolrIndexQueryTest extends AbstractQueryTest {
 
@@ -83,7 +82,6 @@ public class SolrIndexQueryTest extends 
     }
 
     @Test
-    @Ignore("failing")
     public void sql2() throws Exception {
         test("sql2.txt");
     }