You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by al...@apache.org on 2011/12/06 09:44:44 UTC

svn commit: r1210826 - in /jackrabbit/trunk/jackrabbit-core/src: main/java/org/apache/jackrabbit/core/query/lucene/ test/java/org/apache/jackrabbit/core/query/ test/java/org/apache/jackrabbit/core/query/lucene/

Author: alexparvulescu
Date: Tue Dec  6 08:44:43 2011
New Revision: 1210826

URL: http://svn.apache.org/viewvc?rev=1210826&view=rev
Log:
JCR-3160 Session#move doesn't trigger rebuild of parent node aggregation

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/AbstractQueryTest.java
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/SQL2IndexingAggregateTest.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java?rev=1210826&r1=1210825&r2=1210826&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/SearchIndex.java Tue Dec  6 08:44:43 2011
@@ -633,7 +633,6 @@ public class SearchIndex extends Abstrac
             if (state != null) {
                 NodeId id = state.getNodeId();
                 addedIds.add(id);
-                removedIds.remove(id);
                 retrieveAggregateRoot(state, aggregateRoots);
 
                 try {

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/AbstractQueryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/AbstractQueryTest.java?rev=1210826&r1=1210825&r2=1210826&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/AbstractQueryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/AbstractQueryTest.java Tue Dec  6 08:44:43 2011
@@ -214,12 +214,12 @@ public class AbstractQueryTest extends A
         // check if all expected are in result
         for (Iterator<String> it = expectedPaths.iterator(); it.hasNext();) {
             String path = it.next();
-            assertTrue(path + " is not part of the result set", resultPaths.contains(path));
+            assertTrue(path + " is not part of the result set "+ expectedPaths, resultPaths.contains(path));
         }
         // check result does not contain more than expected
         for (Iterator<String> it = resultPaths.iterator(); it.hasNext();) {
             String path = it.next();
-            assertTrue(path + " is not expected to be part of the result set", expectedPaths.contains(path));
+            assertTrue(path + " is not expected to be part of the result set " + expectedPaths, expectedPaths.contains(path));
         }
     }
 

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/SQL2IndexingAggregateTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/SQL2IndexingAggregateTest.java?rev=1210826&r1=1210825&r2=1210826&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/SQL2IndexingAggregateTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/query/lucene/SQL2IndexingAggregateTest.java Tue Dec  6 08:44:43 2011
@@ -219,6 +219,41 @@ public class SQL2IndexingAggregateTest e
     }
 
     /**
+     * JCR-3160 - Session#move doesn't trigger rebuild of parent node
+     * aggregation
+     */
+    public void testAggregateMove() throws Exception {
+
+        String sql = "SELECT * FROM [nt:folder] as f"
+                + " WHERE ISDESCENDANTNODE([" + testRoot + "])"
+                + " AND CONTAINS (f.*, 'dog')";
+
+        Node folderA = testRootNode.addNode("folderA", "nt:folder");
+        Node folderB = testRootNode.addNode("folderB", "nt:folder");
+
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        Writer writer = new OutputStreamWriter(out, "UTF-8");
+        writer.write("the quick brown fox jumps over the lazy dog.");
+        writer.flush();
+
+        Node file = folderA.addNode("myFile", "nt:file");
+        Node resource = file.addNode("jcr:content", "nt:resource");
+        resource.setProperty("jcr:lastModified", Calendar.getInstance());
+        resource.setProperty("jcr:encoding", "UTF-8");
+        resource.setProperty("jcr:mimeType", "text/plain");
+        resource.setProperty("jcr:data", session.getValueFactory()
+                .createBinary(new ByteArrayInputStream(out.toByteArray())));
+        
+        testRootNode.getSession().save();
+        executeSQL2Query(sql, new Node[] { folderA });
+
+        testRootNode.getSession().move(file.getPath(),
+                folderB.getPath() + "/myFile");
+        testRootNode.getSession().save();
+        executeSQL2Query(sql, new Node[] { folderB });
+    }
+
+    /**
      * By default, the recursive aggregation is turned off.
      * 
      * The aggregation hierarchy is defined in