[infinispan-commits] Infinispan SVN: r860 - in trunk/tree/src: test/java/org/infinispan/api/tree and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Fri Sep 25 11:05:24 EDT 2009


Author: manik.surtani at jboss.com
Date: 2009-09-25 11:05:24 -0400 (Fri, 25 Sep 2009)
New Revision: 860

Modified:
   trunk/tree/src/main/java/org/infinispan/tree/TreeCacheImpl.java
   trunk/tree/src/test/java/org/infinispan/api/tree/NodeAPITest.java
Log:
[ISPN-199] (TreeCache.put(Fqn, Map) throws NPE if node does not exist) text and fix

Modified: trunk/tree/src/main/java/org/infinispan/tree/TreeCacheImpl.java
===================================================================
--- trunk/tree/src/main/java/org/infinispan/tree/TreeCacheImpl.java	2009-09-25 14:55:22 UTC (rev 859)
+++ trunk/tree/src/main/java/org/infinispan/tree/TreeCacheImpl.java	2009-09-25 15:05:24 UTC (rev 860)
@@ -68,7 +68,10 @@
    public void put(Fqn fqn, Map<? extends K, ? extends V> data) {
       startAtomic();
       try {
-         getNode(fqn).putAll(data);
+         Node n = getNode(fqn);
+         if (n == null) createNodeInCache(fqn);
+         n = getNode(fqn);
+         n.putAll(data);
       }
       finally {
          endAtomic();

Modified: trunk/tree/src/test/java/org/infinispan/api/tree/NodeAPITest.java
===================================================================
--- trunk/tree/src/test/java/org/infinispan/api/tree/NodeAPITest.java	2009-09-25 14:55:22 UTC (rev 859)
+++ trunk/tree/src/test/java/org/infinispan/api/tree/NodeAPITest.java	2009-09-25 15:05:24 UTC (rev 860)
@@ -14,6 +14,7 @@
 import org.testng.annotations.Test;
 
 import javax.transaction.TransactionManager;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -55,6 +56,16 @@
       assertEquals("value", nodeA.get("key"));
    }
 
+   public void testAddingDataPutMap() {
+      cache.put(A_B, Collections.singletonMap("key", "value"));
+      assertEquals("value", cache.get(A_B, "key"));
+   }
+
+   public void testAddingDataPutKey() {
+      cache.put(A_B, "key", "value");
+      assertEquals("value", cache.get(A_B, "key"));
+   }
+
    public void testAddingDataTx() throws Exception {
       Node<Object, Object> rootNode = cache.getRoot();
       tm.begin();



More information about the infinispan-commits mailing list