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,


Reply via email to