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