[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