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


Reply via email to