Author: olamy
Date: Tue Feb 28 22:32:11 2012
New Revision: 1294870

URL: http://svn.apache.org/viewvc?rev=1294870&view=rev
Log:
client return the stored size on server too

Modified:
    
incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/HttpClientDirectMemoryHttpClient.java
    
incubator/directmemory/trunk/server/directmemory-server-commons/src/main/java/org/apache/directmemory/server/commons/DirectMemoryResponse.java
    
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/AbstractServletWithClientTest.java

Modified: 
incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/HttpClientDirectMemoryHttpClient.java
URL: 
http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/HttpClientDirectMemoryHttpClient.java?rev=1294870&r1=1294869&r2=1294870&view=diff
==============================================================================
--- 
incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/HttpClientDirectMemoryHttpClient.java
 (original)
+++ 
incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/HttpClientDirectMemoryHttpClient.java
 Tue Feb 28 22:32:11 2012
@@ -23,6 +23,7 @@ import org.apache.directmemory.server.co
 import org.apache.directmemory.server.commons.DirectMemoryRequest;
 import org.apache.directmemory.server.commons.DirectMemoryResponse;
 import org.apache.directmemory.server.commons.ExchangeType;
+import org.apache.http.Header;
 import org.apache.http.HttpResponse;
 import org.apache.http.StatusLine;
 import org.apache.http.client.HttpClient;
@@ -103,7 +104,9 @@ public class HttpClientDirectMemoryHttpC
             switch ( statusLine.getStatusCode() )
             {
                 case 200:
-                    return new DirectMemoryResponse().setStored( Boolean.TRUE 
);
+                    Header header = response.getFirstHeader( 
DirectMemoryHttpConstants.EXPIRES_SERIALIZE_SIZE );
+                    int storedSize = header == null ? -1 : Integer.valueOf( 
header.getValue() );
+                    return new DirectMemoryResponse().setStored( Boolean.TRUE 
).setStoredSize( storedSize );
                 case 204:
                     return new DirectMemoryResponse().setStored( Boolean.FALSE 
);
                 default:

Modified: 
incubator/directmemory/trunk/server/directmemory-server-commons/src/main/java/org/apache/directmemory/server/commons/DirectMemoryResponse.java
URL: 
http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server-commons/src/main/java/org/apache/directmemory/server/commons/DirectMemoryResponse.java?rev=1294870&r1=1294869&r2=1294870&view=diff
==============================================================================
--- 
incubator/directmemory/trunk/server/directmemory-server-commons/src/main/java/org/apache/directmemory/server/commons/DirectMemoryResponse.java
 (original)
+++ 
incubator/directmemory/trunk/server/directmemory-server-commons/src/main/java/org/apache/directmemory/server/commons/DirectMemoryResponse.java
 Tue Feb 28 22:32:11 2012
@@ -37,6 +37,12 @@ public class DirectMemoryResponse<V>
 
     private V response;
 
+    /**
+     * size of stored content on server size
+     * <code>-1</code> if unknown
+     */
+    private int storedSize = -1;
+
     public boolean isFound()
     {
         return found;
@@ -91,4 +97,15 @@ public class DirectMemoryResponse<V>
     {
         this.response = response;
     }
+
+    public int getStoredSize()
+    {
+        return storedSize;
+    }
+
+    public DirectMemoryResponse setStoredSize( int storedSize )
+    {
+        this.storedSize = storedSize;
+        return this;
+    }
 }

Modified: 
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/AbstractServletWithClientTest.java
URL: 
http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/AbstractServletWithClientTest.java?rev=1294870&r1=1294869&r2=1294870&view=diff
==============================================================================
--- 
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/AbstractServletWithClientTest.java
 (original)
+++ 
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/AbstractServletWithClientTest.java
 Tue Feb 28 22:32:11 2012
@@ -181,11 +181,17 @@ public abstract class AbstractServletWit
 
         DirectMemoryResponse deleteResponse = client.delete( new 
DirectMemoryRequest<Wine>( "bordeaux" ) );
         Wine bordeaux = new Wine( "Bordeaux", "very great wine" );
-        assertTrue( client.put( new DirectMemoryRequest<Wine>( "bordeaux", 
bordeaux ).setExpiresIn( 1000 ) ).isStored() );
+
+        DirectMemoryResponse<Wine> response =
+            client.put( new DirectMemoryRequest<Wine>( "bordeaux", bordeaux 
).setExpiresIn( 1000 ) );
+
+        assertTrue( response.isStored() );
+
+        assertTrue( response.getStoredSize() > 0 );
 
         DirectMemoryRequest rq = new DirectMemoryRequest( "bordeaux", 
Wine.class );
 
-        DirectMemoryResponse<Wine> response = client.retrieve( rq );
+        response = client.retrieve( rq );
 
         assertTrue( response.isFound() );
         Wine wine = response.getResponse();


Reply via email to