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


Reply via email to