Author: alexparvulescu
Date: Wed Nov 13 18:56:08 2013
New Revision: 1541659

URL: http://svn.apache.org/r1541659
Log:
OAK-685 Enforce referential integrity for referenceable nodes
 - introduced the multiple value properties again
 - added the property name to the stored path to help with OAK-1137



Modified:
    
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.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=1541659&r1=1541658&r2=1541659&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
 Wed Nov 13 18:56:08 2013
@@ -259,12 +259,12 @@ class ReferenceEditor extends DefaultEdi
     @Override
     public void propertyChanged(PropertyState before, PropertyState after) {
         if (before != null) {
-            if (before.getType() == REFERENCE /* || before.getType() == 
REFERENCES */ ) {
-                put(rmRefs, before.getValue(STRINGS), getPath());
+            if (before.getType() == REFERENCE || before.getType() == 
REFERENCES) {
+                put(rmRefs, before.getValue(STRINGS), concat(getPath(), 
before.getName()));
             }
             if (before.getType() == WEAKREFERENCE
-                    /* || before.getType() == WEAKREFERENCES */ ) {
-                put(rmWeakRefs, before.getValue(STRINGS), getPath());
+                    || before.getType() == WEAKREFERENCES) {
+                put(rmWeakRefs, before.getValue(STRINGS), concat(getPath(), 
before.getName()));
             }
             if (JCR_UUID.equals(before.getName())) {
                 // node remove + add -> changed uuid
@@ -275,12 +275,12 @@ class ReferenceEditor extends DefaultEdi
             }
         }
         if (after != null) {
-            if (after.getType() == REFERENCE /* || after.getType() == 
REFERENCES */ ) {
-                put(newRefs, after.getValue(STRINGS), getPath());
+            if (after.getType() == REFERENCE || after.getType() == REFERENCES) 
{
+                put(newRefs, after.getValue(STRINGS), concat(getPath(), 
after.getName()));
             }
             if (after.getType() == WEAKREFERENCE
-                    /* || after.getType() == WEAKREFERENCES */ ) {
-                put(newWeakRefs, after.getValue(STRINGS), getPath());
+                    || after.getType() == WEAKREFERENCES) {
+                put(newWeakRefs, after.getValue(STRINGS), concat(getPath(), 
after.getName()));
             }
         }
     }


Reply via email to