Author: simonetripodi
Date: Wed Feb 15 21:04:57 2012
New Revision: 1244724
URL: http://svn.apache.org/viewvc?rev=1244724&view=rev
Log:
register the input object type when serializing, if automatic discover is not
possible
Modified:
incubator/directmemory/trunk/serializers/msgpack/src/main/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializer.java
Modified:
incubator/directmemory/trunk/serializers/msgpack/src/main/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializer.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/serializers/msgpack/src/main/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializer.java?rev=1244724&r1=1244723&r2=1244724&view=diff
==============================================================================
---
incubator/directmemory/trunk/serializers/msgpack/src/main/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializer.java
(original)
+++
incubator/directmemory/trunk/serializers/msgpack/src/main/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializer.java
Wed Feb 15 21:04:57 2012
@@ -5,6 +5,7 @@ import java.io.IOException;
import org.apache.directmemory.serialization.Serializer;
import org.kohsuke.MetaInfServices;
import org.msgpack.MessagePack;
+import org.msgpack.annotation.Message;
/*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -39,6 +40,14 @@ public final class MessagePackSerializer
public <T> byte[] serialize( T obj )
throws IOException
{
+ Class<?> clazz = obj.getClass();
+
+ if ( !clazz.isAnnotationPresent( Message.class )
+ && msgpack.lookup( clazz ) == null )
+ {
+ msgpack.register( clazz );
+ }
+
return msgpack.write( obj );
}