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 al...@apache.org on 2013/11/13 16:39:46 UTC
svn commit: r1541559 -
/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/reference/ReferenceEditor.java
Author: alexparvulescu
Date: Wed Nov 13 15:39:46 2013
New Revision: 1541559
URL: http://svn.apache.org/r1541559
Log:
OAK-685 Enforce referential integrity for referenceable nodes
- better multiple valued properties support
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=1541559&r1=1541558&r2=1541559&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 15:39:46 2013
@@ -21,9 +21,11 @@ import static com.google.common.collect.
import static org.apache.jackrabbit.JcrConstants.JCR_UUID;
import static org.apache.jackrabbit.oak.api.CommitFailedException.INTEGRITY;
import static org.apache.jackrabbit.oak.api.Type.REFERENCE;
+import static org.apache.jackrabbit.oak.api.Type.REFERENCES;
import static org.apache.jackrabbit.oak.api.Type.STRING;
import static org.apache.jackrabbit.oak.api.Type.STRINGS;
import static org.apache.jackrabbit.oak.api.Type.WEAKREFERENCE;
+import static org.apache.jackrabbit.oak.api.Type.WEAKREFERENCES;
import static org.apache.jackrabbit.oak.commons.PathUtils.concat;
import static org.apache.jackrabbit.oak.commons.PathUtils.elements;
import static org.apache.jackrabbit.oak.plugins.index.reference.NodeReferenceConstants.REF_NAME;
@@ -257,10 +259,11 @@ class ReferenceEditor extends DefaultEdi
@Override
public void propertyChanged(PropertyState before, PropertyState after) {
if (before != null) {
- if (before.getType() == REFERENCE) {
+ if (before.getType() == REFERENCE || before.getType() == REFERENCES) {
put(rmRefs, before.getValue(STRINGS), getPath());
}
- if (before.getType() == WEAKREFERENCE) {
+ if (before.getType() == WEAKREFERENCE
+ || before.getType() == WEAKREFERENCES) {
put(rmWeakRefs, before.getValue(STRINGS), getPath());
}
if (JCR_UUID.equals(before.getName())) {
@@ -272,10 +275,11 @@ class ReferenceEditor extends DefaultEdi
}
}
if (after != null) {
- if (after.getType() == REFERENCE) {
+ if (after.getType() == REFERENCE || after.getType() == REFERENCES) {
put(newRefs, after.getValue(STRINGS), getPath());
}
- if (after.getType() == WEAKREFERENCE) {
+ if (after.getType() == WEAKREFERENCE
+ || after.getType() == WEAKREFERENCES) {
put(newWeakRefs, after.getValue(STRINGS), getPath());
}
}