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 tr...@apache.org on 2013/12/20 00:54:28 UTC

svn commit: r1552460 - in /jackrabbit/oak/trunk: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java oak-jcr/pom.xml oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferencesTest.java

Author: tripod
Date: Thu Dec 19 23:54:27 2013
New Revision: 1552460

URL: http://svn.apache.org/r1552460
Log:
OAK-1300 Removing a reference from a mv property destroys the reverse lookup from the remaining

also fixes:
- OAK-1299 Removing user from group also invalidates other members memberships

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java
    jackrabbit/oak/trunk/oak-jcr/pom.xml
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferencesTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java?rev=1552460&r1=1552459&r2=1552460&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java Thu Dec 19 23:54:27 2013
@@ -329,13 +329,13 @@ class ReferenceEditor extends DefaultEdi
             Set<String> add, Set<String> rm) {
         NodeBuilder index = child.child(name);
         Set<String> empty = of();
+        for (String p : rm) {
+            STORE.update(index, p, of(key), empty);
+        }
         for (String p : add) {
             // TODO do we still need to encode the values?
             STORE.update(index, p, empty, of(key));
         }
-        for (String p : rm) {
-            STORE.update(index, p, of(key), empty);
-        }
     }
 
     private static boolean check(NodeState definition, String name, String key) {

Modified: jackrabbit/oak/trunk/oak-jcr/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/pom.xml?rev=1552460&r1=1552459&r2=1552460&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/pom.xml (original)
+++ jackrabbit/oak/trunk/oak-jcr/pom.xml Thu Dec 19 23:54:27 2013
@@ -49,7 +49,6 @@
       org.apache.jackrabbit.test.api.WorkspaceCopyTest#testCopyNodesLocked                             <!-- OAK-118 -->
       org.apache.jackrabbit.test.api.WorkspaceMoveSameNameSibsTest#testMoveNodesOrderingSupportedByParent <!-- OAK-118 -->
       org.apache.jackrabbit.test.api.WorkspaceMoveTest#testMoveNodesLocked                             <!-- OAK-118 -->
-      org.apache.jackrabbit.oak.jcr.ReferencesTest#testMVRemoveReferences                              <!-- OAK-1300 -->
 
       <!-- Locking : not fully implemented -->
       org.apache.jackrabbit.test.api.lock.LockTest#testNodeLocked
@@ -121,7 +120,6 @@
 
       <!-- User Management -->
       org.apache.jackrabbit.oak.jcr.security.user.RefreshTest#testAuthorizableGetProperty            <!-- OAK-1124 -->
-      org.apache.jackrabbit.oak.jcr.security.user.GroupTest#testMoveUserToOtherGroup                 <!-- OAK-1299 -->
 
       <!-- Query -->
       org.apache.jackrabbit.test.api.query.ElementTest#testElementTestNameTestSomeNTWithSNS          <!-- OAK-203 -->

Modified: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferencesTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferencesTest.java?rev=1552460&r1=1552459&r2=1552460&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferencesTest.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/ReferencesTest.java Thu Dec 19 23:54:27 2013
@@ -245,7 +245,7 @@ public class ReferencesTest extends Abst
     }
 
     // OAK-1257
-    public void testMVAddAltering() throws RepositoryException {
+    public void testMVAddReferences() throws RepositoryException {
         Node ref0 = testRootNode.addNode(nodeName2, testNodeType);
         ref0.addMixin(mixReferenceable);
         Node ref1 = testRootNode.addNode(nodeName3, testNodeType);