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