[jboss-svn-commits] JBL Code SVN: r25436 - in labs/jbossesb/trunk/product/rosetta: tests/src/org/jboss/soa/esb/message/tests and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Feb 26 07:06:46 EST 2009
Author: kevin.conner at jboss.com
Date: 2009-02-26 07:06:46 -0500 (Thu, 26 Feb 2009)
New Revision: 25436
Added:
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/tests/old_context.ser
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java
labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/tests/DeserializedValuesMessageUnitTest.java
Log:
Fix old context serialisation: JBESB-2445
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java 2009-02-26 11:48:21 UTC (rev 25435)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/message/format/serialized/ContextImpl.java 2009-02-26 12:06:46 UTC (rev 25436)
@@ -1,5 +1,7 @@
package org.jboss.internal.soa.esb.message.format.serialized;
+import java.io.IOException;
+import java.io.ObjectInputStream;
import java.io.Serializable;
import java.util.Collections;
import java.util.HashMap;
@@ -120,4 +122,20 @@
{
context = new HashMap<String, Serializable>() ;
}
-}
\ No newline at end of file
+
+ /**
+ * Deserialise the object, checking for old versions.
+ * @param ois The object input stream.
+ * @throws IOException For IO exceptions during object deserialisation.
+ * @throws ClassNotFoundException If dependent classes cannot be found.
+ */
+ private void readObject(final ObjectInputStream ois)
+ throws IOException, ClassNotFoundException
+ {
+ ois.defaultReadObject() ;
+ if (context == null)
+ {
+ context = new HashMap<String, Serializable>() ;
+ }
+ }
+}
Modified: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/tests/DeserializedValuesMessageUnitTest.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/tests/DeserializedValuesMessageUnitTest.java 2009-02-26 11:48:21 UTC (rev 25435)
+++ labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/tests/DeserializedValuesMessageUnitTest.java 2009-02-26 12:06:46 UTC (rev 25436)
@@ -26,12 +26,14 @@
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
+import java.util.Set;
import junit.framework.TestCase;
import org.jboss.internal.soa.esb.message.format.DeferredDeserialisationException;
import org.jboss.soa.esb.message.Attachment;
import org.jboss.soa.esb.message.Body;
+import org.jboss.soa.esb.message.Context;
import org.jboss.soa.esb.message.Message;
import org.jboss.soa.esb.message.Properties;
import org.jboss.soa.esb.util.Util;
@@ -66,6 +68,13 @@
validateOldProperties(properties) ;
}
+ public void testOldSerializedContextDeserialisation()
+ throws Exception
+ {
+ final Context context = (Context)deserialise("old_context.ser") ;
+ validateOldContext(context) ;
+ }
+
public void testOldSerializedMessageDeserialisation()
throws Exception
{
@@ -147,6 +156,14 @@
assertEquals("Property value", "Property value", propertyValue) ;
}
+ private void validateOldContext(final Context context)
+ {
+ assertNotNull("context", context) ;
+ final Set<String> keys = context.getContextKeys() ;
+ assertNotNull("context key set", keys) ;
+ assertEquals("context key count", 0, keys.size()) ;
+ }
+
private void validateNewAttachment(final Attachment attachment)
{
assertEquals("unnamed count", 1, attachment.getUnnamedCount()) ;
Added: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/tests/old_context.ser
===================================================================
(Binary files differ)
Property changes on: labs/jbossesb/trunk/product/rosetta/tests/src/org/jboss/soa/esb/message/tests/old_context.ser
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the jboss-svn-commits
mailing list