Author: olamy
Date: Sun Feb 26 10:39:18 2012
New Revision: 1293801

URL: http://svn.apache.org/viewvc?rev=1293801&view=rev
Log:
[DIRECTMEMORY-61] text/plain exchange type: if not serializer revert back to 
service provider use.
serializer class optionnal.

Modified:
    
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/TextPlainContentTypeHandler.java
    
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTextPlainTypeTest.java

Modified: 
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/TextPlainContentTypeHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/TextPlainContentTypeHandler.java?rev=1293801&r1=1293800&r2=1293801&view=diff
==============================================================================
--- 
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/TextPlainContentTypeHandler.java
 (original)
+++ 
incubator/directmemory/trunk/server/directmemory-server/src/main/java/org/apache/directmemory/server/services/TextPlainContentTypeHandler.java
 Sun Feb 26 10:39:18 2012
@@ -19,6 +19,7 @@ package org.apache.directmemory.server.s
  */
 
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang.StringUtils;
 import org.apache.directmemory.serialization.Serializer;
 import org.apache.directmemory.serialization.SerializerFactory;
 import org.apache.directmemory.serialization.SerializerNotFoundException;
@@ -48,8 +49,7 @@ public class TextPlainContentTypeHandler
             new DirectMemoryResponse().setKey( request.getKey() 
).setCacheContent( cacheResponseContent );
         try
         {
-            String serializerClassName = req.getHeader( 
DirectMemoryHttpConstants.SERIALIZER_HTTP_HEADER );
-            Serializer serializer = SerializerFactory.createNewSerializer( 
serializerClassName );
+            Serializer serializer = getSerializer( req );
             String res = serializer.deserialize( cacheResponseContent, 
String.class );
             resp.setContentType( MediaType.TEXT_PLAIN );
             return res.getBytes();
@@ -76,11 +76,10 @@ public class TextPlainContentTypeHandler
     public DirectMemoryRequest handlePut( HttpServletRequest req, 
HttpServletResponse resp )
         throws DirectMemoryException, IOException
     {
-        String serializerClassName = req.getHeader( 
DirectMemoryHttpConstants.SERIALIZER_HTTP_HEADER );
         DirectMemoryRequest request = new DirectMemoryRequest();
         try
         {
-            Serializer serializer = SerializerFactory.createNewSerializer( 
serializerClassName );
+            Serializer serializer = getSerializer( req );
             request.setCacheContent( serializer.serialize( IOUtils.toString( 
req.getInputStream() ) ) );
         }
         catch ( SerializerNotFoundException e )
@@ -90,4 +89,16 @@ public class TextPlainContentTypeHandler
         return request;
 
     }
+
+
+    protected Serializer getSerializer( HttpServletRequest req )
+        throws SerializerNotFoundException
+    {
+        String serializerClassName = req.getHeader( 
DirectMemoryHttpConstants.SERIALIZER_HTTP_HEADER );
+        if ( StringUtils.isEmpty( serializerClassName ) )
+        {
+            return SerializerFactory.createNewSerializer();
+        }
+        return SerializerFactory.createNewSerializer( serializerClassName );
+    }
 }

Modified: 
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTextPlainTypeTest.java
URL: 
http://svn.apache.org/viewvc/incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTextPlainTypeTest.java?rev=1293801&r1=1293800&r2=1293801&view=diff
==============================================================================
--- 
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTextPlainTypeTest.java
 (original)
+++ 
incubator/directmemory/trunk/server/directmemory-server/src/test/java/org/apache/directmemory/server/services/ServletWithClientTextPlainTypeTest.java
 Sun Feb 26 10:39:18 2012
@@ -62,8 +62,7 @@ public class ServletWithClientTextPlainT
         throws Exception
     {
 
-        client.put( new DirectMemoryRequest<String>( "bordeaux", "very great 
wine" ).setSerializer(
-            SerializerFactory.createNewSerializer( StandardSerializer.class ) 
) );
+        client.put( new DirectMemoryRequest<String>( "bordeaux", "very great 
wine" ) );
 
         DirectMemoryResponse<String> response =
             client.retrieve( new DirectMemoryRequest( "bordeaux", "very great 
wine" ) );
@@ -88,8 +87,7 @@ public class ServletWithClientTextPlainT
 
         client.delete( new DirectMemoryRequest<String>( "bordeaux" ) );
 
-        client.put( new DirectMemoryRequest<String>( "bordeaux", "very great 
wine" ).setSerializer(
-            SerializerFactory.createNewSerializer( StandardSerializer.class ) 
).setExpiresIn( 1000 ) );
+        client.put( new DirectMemoryRequest<String>( "bordeaux", "very great 
wine" ).setExpiresIn( 1000 ) );
 
         DirectMemoryRequest<String> rq = new DirectMemoryRequest<String>( 
"bordeaux", "very great wine" ).setSerializer(
             SerializerFactory.createNewSerializer( StandardSerializer.class ) 
);


Reply via email to