You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directmemory.apache.org by ra...@apache.org on 2012/08/06 23:57:29 UTC

svn commit: r1370036 - in /incubator/directmemory/trunk/directmemory-cache/src: main/java/org/apache/directmemory/cache/CacheServiceImpl.java test/java/org/apache/directmemory/cache/BasicTest.java

Author: raffaeleguidi
Date: Mon Aug  6 21:57:28 2012
New Revision: 1370036

URL: http://svn.apache.org/viewvc?rev=1370036&view=rev
Log:
solved issue DIRECTMEMORY-99

Modified:
    incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheServiceImpl.java
    incubator/directmemory/trunk/directmemory-cache/src/test/java/org/apache/directmemory/cache/BasicTest.java

Modified: incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheServiceImpl.java?rev=1370036&r1=1370035&r2=1370036&view=diff
==============================================================================
--- incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheServiceImpl.java (original)
+++ incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheServiceImpl.java Mon Aug  6 21:57:28 2012
@@ -137,17 +137,16 @@ public class CacheServiceImpl<K, V>
         Pointer<V> pointer = map.get( key );
         if ( pointer != null )
         {
-            return memoryManager.update( pointer, payload );
+        	memoryManager.free( pointer );
+// update doesn't add back the pointer to the map
+//            return memoryManager.update( pointer, payload );
         }
-        else
+        pointer = memoryManager.store( payload, expiresIn );
+        if ( pointer != null )
         {
-            pointer = memoryManager.store( payload, expiresIn );
-            if ( pointer != null )
-            {
-                map.put( key, pointer );
-            }
-            return pointer;
+            map.put( key, pointer );
         }
+        return pointer;
     }
 
     @Override

Modified: incubator/directmemory/trunk/directmemory-cache/src/test/java/org/apache/directmemory/cache/BasicTest.java
URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/test/java/org/apache/directmemory/cache/BasicTest.java?rev=1370036&r1=1370035&r2=1370036&view=diff
==============================================================================
--- incubator/directmemory/trunk/directmemory-cache/src/test/java/org/apache/directmemory/cache/BasicTest.java (original)
+++ incubator/directmemory/trunk/directmemory-cache/src/test/java/org/apache/directmemory/cache/BasicTest.java Mon Aug  6 21:57:28 2012
@@ -22,6 +22,7 @@ package org.apache.directmemory.cache;
 import static org.junit.Assert.*;
 
 import org.apache.directmemory.DirectMemory;
+import org.apache.directmemory.memory.Pointer;
 import org.junit.Test;
 
 public class BasicTest 
@@ -41,8 +42,12 @@ public class BasicTest 
 	        assertNotNull(cache.put("a", 3L));
 	        assertNotNull(cache.retrieve("a"));
 	        assertEquals(3L, cache.retrieve("a").longValue());
-	        assertNotNull(cache.put("a", 5L));
-	        assertNotNull(cache.retrieve("a"));
+//	        cache.free("a");
+	        Pointer ptr = cache.put("a", 5L);
+	        assertNotNull(ptr);
+	        assertFalse(ptr.isExpired());
+	        assertFalse(ptr.isFree());
+	        assertNotNull("pointer should not be null", cache.retrieve("a"));
 	        assertEquals(5L, cache.retrieve("a").longValue());
 	}