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