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);