Author: olamy
Date: Tue Feb 21 11:25:09 2012
New Revision: 1291711
URL: http://svn.apache.org/viewvc?rev=1291711&view=rev
Log:
[DIRECTMEMORY-65] put vs update - not consistent
Submitted by Daniel Manzke.
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/Cache.java
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheService.java
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheServiceImpl.java
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/CacheServlet.java
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/Cache.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/Cache.java?rev=1291711&r1=1291710&r2=1291711&view=diff
==============================================================================
---
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/Cache.java
(original)
+++
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/Cache.java
Tue Feb 21 11:25:09 2012
@@ -69,16 +69,6 @@ public class Cache
return cacheService.put( key, object, expiresIn );
}
- public static Pointer updateByteArray( String key, byte[] payload )
- {
- return cacheService.updateByteArray( key, payload );
- }
-
- public static Pointer update( String key, Object object )
- {
- return cacheService.update( key, object );
- }
-
public static byte[] retrieveByteArray( String key )
{
return cacheService.retrieveByteArray( key );
Modified:
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheService.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheService.java?rev=1291711&r1=1291710&r2=1291711&view=diff
==============================================================================
---
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheService.java
(original)
+++
incubator/directmemory/trunk/directmemory-cache/src/main/java/org/apache/directmemory/cache/CacheService.java
Tue Feb 21 11:25:09 2012
@@ -47,10 +47,6 @@ public interface CacheService
Pointer put( String key, Object object, int expiresIn );
- Pointer updateByteArray( String key, byte[] payload );
-
- Pointer update( String key, Object object );
-
byte[] retrieveByteArray( String key );
Object retrieve( String key );
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=1291711&r1=1291710&r2=1291711&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
Tue Feb 21 11:25:09 2012
@@ -114,22 +114,20 @@ public class CacheServiceImpl
{
init( numberOfBuffers, size, DEFAULT_INITIAL_CAPACITY,
DEFAULT_CONCURRENCY_LEVEL );
}
-
- public Pointer putByteArray( String key, byte[] payload, int expiresIn )
+
+ public Pointer putByteArray( String key, byte[] payload )
{
- Pointer ptr = memoryManager.store( payload, expiresIn );
- map.put( key, ptr );
- return ptr;
+ return store(key, payload, 0);
}
-
- public Pointer putByteArray( String key, byte[] payload )
+
+ public Pointer putByteArray( String key, byte[] payload, int expiresIn )
{
- return putByteArray( key, payload, 0 );
+ return store(key, payload, expiresIn);
}
public Pointer put( String key, Object object )
{
- return put( key, object, 0 );
+ return put(key, object, 0);
}
public Pointer put( String key, Object object, int expiresIn )
@@ -137,7 +135,7 @@ public class CacheServiceImpl
try
{
byte[] payload = serializer.serialize( object );
- Pointer ptr = putByteArray( key, payload, expiresIn );
+ Pointer ptr = store( key, payload, expiresIn );
ptr.clazz = object.getClass();
return ptr;
}
@@ -147,28 +145,17 @@ public class CacheServiceImpl
return null;
}
}
-
- public Pointer updateByteArray( String key, byte[] payload )
- {
- Pointer p = map.get( key );
- p = memoryManager.update( p, payload );
- return p;
- }
-
- public Pointer update( String key, Object object )
+
+ private Pointer store( String key, byte[] payload, int expiresIn )
{
- Pointer p = map.get( key );
- try
- {
- p = memoryManager.update( p, serializer.serialize( object ) );
- p.clazz = object.getClass();
- return p;
- }
- catch ( IOException e )
- {
- logger.error( e.getMessage() );
- return null;
- }
+ Pointer pointer = map.get( key );
+ if(pointer != null){
+ return memoryManager.update( pointer, payload );
+ }else{
+ pointer = memoryManager.store( payload, expiresIn );
+ map.put( key, pointer );
+ return pointer;
+ }
}
public byte[] retrieveByteArray( String key )
Modified:
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/CacheServlet.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/CacheServlet.java?rev=1291711&r1=1291710&r2=1291711&view=diff
==============================================================================
---
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/CacheServlet.java
(original)
+++
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/CacheServlet.java
Tue Feb 21 11:25:09 2012
@@ -120,17 +120,9 @@ public class CacheServlet
return;
}
- //exists ?
- if ( cacheService.retrieveByteArray( key ) == null )
- {
- cacheService.putByteArray( key, cacheRequest.getCacheContent(),
cacheRequest.getExpiresIn() );
- }
- else
- {
- cacheService.updateByteArray( key, cacheRequest.getCacheContent()
);
- }
-
-
+ //if exists free first ?
+ //if ( cacheService.retrieveByteArray( key ) == null )
+ cacheService.putByteArray( key, cacheRequest.getCacheContent(),
cacheRequest.getExpiresIn() );
}
protected CacheContentTypeHandler findPutCacheContentTypeHandler(
HttpServletRequest req,