You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by kw...@apache.org on 2016/09/27 16:14:15 UTC
svn commit: r1762513 - in /sling/trunk/bundles/jcr/resource/src:
main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
test/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMapTest.java
Author: kwin
Date: Tue Sep 27 16:14:15 2016
New Revision: 1762513
URL: http://svn.apache.org/viewvc?rev=1762513&view=rev
Log:
SLING-6071 return real old value for remove()
This closes #175
Modified:
sling/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMap.java
sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMapTest.java
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=1762513&r1=1762512&r2=1762513&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 Tue Sep 27 16:14:15 2016
@@ -484,8 +484,8 @@ public final class JcrModifiableValueMap
public Object remove(final Object aKey) {
final String key = checkKey(aKey.toString());
readFully();
- final Object oldValue = this.cache.remove(key);
- this.valueCache.remove(key);
+ this.cache.remove(key);
+ final Object oldValue = this.valueCache.remove(key);
try {
final String name = escapeKeyName(key);
if ( node.hasProperty(name) ) {
Modified: sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMapTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMapTest.java?rev=1762513&r1=1762512&r2=1762513&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMapTest.java (original)
+++ sling/trunk/bundles/jcr/resource/src/test/java/org/apache/sling/jcr/resource/internal/JcrModifiableValueMapTest.java Tue Sep 27 16:14:15 2016
@@ -122,6 +122,22 @@ public class JcrModifiableValueMapTest e
assertContains(pvm2, currentlyStored);
}
+ public void testRemove()
+ throws Exception {
+ getSession().refresh(false);
+ final ModifiableValueMap pvm = new JcrModifiableValueMap(this.rootNode, getHelperData());
+
+ final String key = "removeMe";
+ final Long longValue = 5L;
+
+ pvm.put(key, longValue);
+
+ final Object removedValue = pvm.remove(key);
+ assertTrue(removedValue instanceof Long);
+ assertTrue(removedValue == longValue);
+ assertFalse(pvm.containsKey(key));
+ }
+
public void testSerializable()
throws Exception {
this.rootNode.getSession().refresh(false);