Author: cziegeler
Date: Mon Mar 10 16:37:00 2014
New Revision: 1575997
URL: http://svn.apache.org/r1575997
Log:
SLING-3445 : Removing multi value property fails
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java?rev=1575997&r1=1575996&r2=1575997&view=diff
==============================================================================
---
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java
(original)
+++
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrModifiablePropertyMap.java
Mon Mar 10 16:37:00 2014
@@ -180,7 +180,9 @@ public final class JcrModifiableProperty
node.setProperty(name, entry.values[0]);
}
} else {
- node.setProperty(name, (String)null);
+ if ( node.hasProperty(name) ) {
+ node.getProperty(name).remove();
+ }
}
}
}
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
URL:
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java?rev=1575997&r1=1575996&r2=1575997&view=diff
==============================================================================
---
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
(original)
+++
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
Mon Mar 10 16:37:00 2014
@@ -686,7 +686,9 @@ public final class JcrModifiableValueMap
this.valueCache.remove(key);
try {
final String name = escapeKeyName(key);
- this.node.setProperty(name, (String)null);
+ if ( node.hasProperty(name) ) {
+ node.getProperty(name).remove();
+ }
} catch (final RepositoryException re) {
throw new IllegalArgumentException("Value for key " + key + "
can't be removed from node.", re);
}