Author: olamy
Date: Wed Feb 22 10:59:13 2012
New Revision: 1292236
URL: http://svn.apache.org/viewvc?rev=1292236&view=rev
Log:
add 'tck' serializer test in msgpack module.
Added:
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializerTest.java
(with props)
Modified:
incubator/directmemory/trunk/serializers/msgpack/src/main/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializer.java
incubator/directmemory/trunk/serializers/msgpack/src/main/resources/META-INF/services/org.apache.directmemory.serialization.Serializer
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=1292236&r1=1292235&r2=1292236&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 22 10:59:13 2012
@@ -19,13 +19,13 @@ package org.apache.directmemory.serializ
* under the License.
*/
-import java.io.IOException;
-
import org.apache.directmemory.serialization.Serializer;
-import org.kohsuke.MetaInfServices;
import org.msgpack.MessagePack;
+import org.msgpack.MessageTypeException;
import org.msgpack.annotation.Message;
+import java.io.IOException;
+
// olamy currently this doesn't work so use manual file
//@MetaInfServices
public final class MessagePackSerializer
@@ -43,11 +43,7 @@ public final class MessagePackSerializer
{
Class<?> clazz = obj.getClass();
- if ( !clazz.isAnnotationPresent( Message.class )
- && msgpack.lookup( clazz ) == null )
- {
- msgpack.register( clazz );
- }
+ checkRegiterNeeded( clazz );
return msgpack.write( obj );
}
@@ -59,7 +55,28 @@ public final class MessagePackSerializer
public <T> T deserialize( byte[] source, Class<T> clazz )
throws IOException, ClassNotFoundException, InstantiationException,
IllegalAccessException
{
+ checkRegiterNeeded( clazz );
return msgpack.read( source, clazz );
}
+ private void checkRegiterNeeded( Class<?> clazz )
+ {
+ if ( clazz.isAnnotationPresent( Message.class ) )
+ {
+ return;
+ }
+ try
+ {
+ if ( msgpack.lookup( clazz ) != null )
+ {
+ return;
+ }
+ }
+ catch ( MessageTypeException e )
+ {
+ // ignore as register needed
+ }
+ msgpack.register( clazz );
+ }
+
}
Modified:
incubator/directmemory/trunk/serializers/msgpack/src/main/resources/META-INF/services/org.apache.directmemory.serialization.Serializer
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/serializers/msgpack/src/main/resources/META-INF/services/org.apache.directmemory.serialization.Serializer?rev=1292236&r1=1292235&r2=1292236&view=diff
==============================================================================
---
incubator/directmemory/trunk/serializers/msgpack/src/main/resources/META-INF/services/org.apache.directmemory.serialization.Serializer
(original)
+++
incubator/directmemory/trunk/serializers/msgpack/src/main/resources/META-INF/services/org.apache.directmemory.serialization.Serializer
Wed Feb 22 10:59:13 2012
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-org.apache.directmemory.serialization.StandardSerializer
+org.apache.directmemory.serialization.msgpack.MessagePackSerializer
Added:
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializerTest.java
URL:
http://svn.apache.org/viewvc/incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializerTest.java?rev=1292236&view=auto
==============================================================================
---
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializerTest.java
(added)
+++
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializerTest.java
Wed Feb 22 10:59:13 2012
@@ -0,0 +1,34 @@
+package org.apache.directmemory.serialization.msgpack;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.directmemory.test.AbstractSerializerTest;
+
+/**
+ * @author Olivier Lamy
+ */
+public class MessagePackSerializerTest
+ extends AbstractSerializerTest
+{
+ @Override
+ public String getSerializerClassName()
+ {
+ return MessagePackSerializer.class.getName();
+ }
+}
Propchange:
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializerTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
incubator/directmemory/trunk/serializers/msgpack/src/test/java/org/apache/directmemory/serialization/msgpack/MessagePackSerializerTest.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision