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


Reply via email to