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