You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directmemory.apache.org by ol...@apache.org on 2012/02/21 15:31:36 UTC
svn commit: r1291803 - in /incubator/directmemory/trunk/server:
directmemory-server-client/src/main/java/org/apache/directmemory/server/client/
directmemory-server/src/test/java/org/apache/directmemory/server/services/
Author: olamy
Date: Tue Feb 21 14:31:36 2012
New Revision: 1291803
URL: http://svn.apache.org/viewvc?rev=1291803&view=rev
Log:
add Serializer configuration in DirectMemoryServerClientConfiguration level to simplify request configuration.
BTW it will be still possible to use a request level.
Modified:
incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/AbstractDirectMemoryHttpClient.java
incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DefaultDirectMemoryServerClient.java
incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DirectMemoryServerClientConfiguration.java
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTest.java
Modified: incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/AbstractDirectMemoryHttpClient.java
URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/AbstractDirectMemoryHttpClient.java?rev=1291803&r1=1291802&r2=1291803&view=diff
==============================================================================
--- incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/AbstractDirectMemoryHttpClient.java (original)
+++ incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/AbstractDirectMemoryHttpClient.java Tue Feb 21 14:31:36 2012
@@ -49,6 +49,12 @@ public abstract class AbstractDirectMemo
{
// TODO handle various exchange model json raw etc..
+
+
+ if ( request.getSerializer() == null )
+ {
+ request.setSerializer( this.configuration.getSerializer() );
+ }
return writer.generateJsonRequest( request ).getBytes();
}
Modified: incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DefaultDirectMemoryServerClient.java
URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DefaultDirectMemoryServerClient.java?rev=1291803&r1=1291802&r2=1291803&view=diff
==============================================================================
--- incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DefaultDirectMemoryServerClient.java (original)
+++ incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DefaultDirectMemoryServerClient.java Tue Feb 21 14:31:36 2012
@@ -18,6 +18,7 @@ package org.apache.directmemory.server.c
* under the License.
*/
+import org.apache.directmemory.serialization.Serializer;
import org.apache.directmemory.server.commons.DirectMemoryCacheException;
import org.apache.directmemory.server.commons.DirectMemoryCacheRequest;
import org.apache.directmemory.server.commons.DirectMemoryCacheResponse;
@@ -58,8 +59,13 @@ public class DefaultDirectMemoryServerCl
DirectMemoryCacheResponse response = this.directMemoryHttpClient.get( directMemoryCacheRequest );
if ( response.isFound() && response.getCacheContent() != null && response.getCacheContent().length > 0 )
{
- response.setResponse( directMemoryCacheRequest.getSerializer().deserialize( response.getCacheContent(),
- directMemoryCacheRequest.getObjectClass() ) );
+ Serializer serializer = directMemoryCacheRequest.getSerializer();
+ if ( serializer == null )
+ {
+ serializer = clientConfiguration.getSerializer();
+ }
+ response.setResponse(
+ serializer.deserialize( response.getCacheContent(), directMemoryCacheRequest.getObjectClass() ) );
}
return response;
}
Modified: incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DirectMemoryServerClientConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DirectMemoryServerClientConfiguration.java?rev=1291803&r1=1291802&r2=1291803&view=diff
==============================================================================
--- incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DirectMemoryServerClientConfiguration.java (original)
+++ incubator/directmemory/trunk/server/directmemory-server-client/src/main/java/org/apache/directmemory/server/client/DirectMemoryServerClientConfiguration.java Tue Feb 21 14:31:36 2012
@@ -18,7 +18,9 @@ package org.apache.directmemory.server.c
* under the License.
*/
+import org.apache.directmemory.serialization.Serializer;
import org.apache.directmemory.server.commons.DirectMemoryCacheException;
+import org.apache.directmemory.server.commons.ExchangeType;
/**
* @author Olivier Lamy
@@ -47,6 +49,10 @@ public class DirectMemoryServerClientCon
private long readTimeOut;
+ private ExchangeType exchangeType;
+
+ private Serializer serializer;
+
private DirectMemoryHttpClient directMemoryHttpClient;
public DirectMemoryServerClientConfiguration()
@@ -144,4 +150,26 @@ public class DirectMemoryServerClientCon
this.protocol = protocol;
return this;
}
+
+ public ExchangeType getExchangeType()
+ {
+ return exchangeType;
+ }
+
+ public DirectMemoryServerClientConfiguration setExchangeType( ExchangeType exchangeType )
+ {
+ this.exchangeType = exchangeType;
+ return this;
+ }
+
+ public Serializer getSerializer()
+ {
+ return serializer;
+ }
+
+ public DirectMemoryServerClientConfiguration setSerializer( Serializer serializer )
+ {
+ this.serializer = serializer;
+ return this;
+ }
}
Modified: incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTest.java
URL: http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTest.java?rev=1291803&r1=1291802&r2=1291803&view=diff
==============================================================================
--- incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTest.java (original)
+++ incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTest.java Tue Feb 21 14:31:36 2012
@@ -74,7 +74,8 @@ public class ServletWithClientTest
new DirectMemoryServerClientConfiguration()
.setHost( "localhost" )
.setPort( port )
- .setHttpPath( "/direct-memory/CacheServlet" );
+ .setHttpPath( "/direct-memory/CacheServlet" )
+ .setSerializer( SerializerFactory.createNewSerializer() );
DirectMemoryHttpClient httpClient = HttpClientDirectMemoryHttpClient.instance( configuration );
configuration.setDirectMemoryHttpClient( httpClient );
@@ -100,7 +101,6 @@ public class ServletWithClientTest
new DirectMemoryCacheRequest<Wine>()
.setObject( bordeaux )
.setKey( "bordeaux" )
- .setSerializer( SerializerFactory.createNewSerializer() )
.setExchangeType( ExchangeType.JSON ) );
// END SNIPPET: client-put
@@ -109,7 +109,6 @@ public class ServletWithClientTest
DirectMemoryCacheRequest rq =
new DirectMemoryCacheRequest()
.setKey( "bordeaux" )
- .setSerializer( SerializerFactory.createNewSerializer() )
.setExchangeType( ExchangeType.JSON )
.setObjectClass( Wine.class );
DirectMemoryCacheResponse<Wine> response = client.retrieve( rq );
@@ -127,8 +126,9 @@ public class ServletWithClientTest
{
DirectMemoryCacheResponse<Wine> response = client.retrieve(
- new DirectMemoryCacheRequest().setKey( "Italian wine better than French" ).setSerializer(
- SerializerFactory.createNewSerializer() ).setExchangeType( ExchangeType.JSON ).setObjectClass(
+ new DirectMemoryCacheRequest().setKey( "Italian wine better than French" )
+ .setExchangeType( ExchangeType.JSON )
+ .setObjectClass(
Wine.class ) );
// due to the key used the server should response BAD Request but it says not found
@@ -142,13 +142,16 @@ public class ServletWithClientTest
{
Wine bordeaux = new Wine( "Bordeaux", "very great wine" );
- client.put( new DirectMemoryCacheRequest<Wine>().setObject( bordeaux ).setKey( "bordeaux" ).setSerializer(
- SerializerFactory.createNewSerializer() ).setExchangeType( ExchangeType.JSON ) );
+ client.put( new DirectMemoryCacheRequest<Wine>()
+ .setObject( bordeaux )
+ .setKey( "bordeaux" )
+ .setExchangeType( ExchangeType.JSON ) );
DirectMemoryCacheResponse<Wine> response = client.retrieve(
- new DirectMemoryCacheRequest().setKey( "bordeaux" ).setSerializer(
- SerializerFactory.createNewSerializer() ).setExchangeType( ExchangeType.JSON ).setObjectClass(
- Wine.class ) );
+ new DirectMemoryCacheRequest()
+ .setKey( "bordeaux" )
+ .setExchangeType( ExchangeType.JSON )
+ .setObjectClass( Wine.class ) );
assertTrue( response.isFound() );
Wine wine = response.getResponse();
@@ -162,9 +165,10 @@ public class ServletWithClientTest
// END SNIPPET: client-delete
- response = client.retrieve( new DirectMemoryCacheRequest().setKey( "bordeaux" ).setSerializer(
- SerializerFactory.createNewSerializer() ).setExchangeType( ExchangeType.JSON ).setObjectClass(
- Wine.class ) );
+ response = client.retrieve( new DirectMemoryCacheRequest()
+ .setKey( "bordeaux" )
+ .setExchangeType( ExchangeType.JSON )
+ .setObjectClass( Wine.class ) );
assertFalse( response.isFound() );
wine = response.getResponse();