[jboss-cvs] JBossAS SVN: r83177 - in projects/cluster/ha-client/trunk/src: test/java/org/jboss/test/ha/framework/interfaces and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jan 21 19:50:03 EST 2009


Author: bstansberry at jboss.com
Date: 2009-01-21 19:50:02 -0500 (Wed, 21 Jan 2009)
New Revision: 83177

Modified:
   projects/cluster/ha-client/trunk/src/main/java/org/jboss/aspects/remoting/FamilyWrapper.java
   projects/cluster/ha-client/trunk/src/test/java/org/jboss/test/ha/framework/interfaces/FamilyClusterInfoUnitTestCase.java
Log:
[JBCLUSTER-218] Fix FamilyWrapper serialization

Modified: projects/cluster/ha-client/trunk/src/main/java/org/jboss/aspects/remoting/FamilyWrapper.java
===================================================================
--- projects/cluster/ha-client/trunk/src/main/java/org/jboss/aspects/remoting/FamilyWrapper.java	2009-01-22 00:49:20 UTC (rev 83176)
+++ projects/cluster/ha-client/trunk/src/main/java/org/jboss/aspects/remoting/FamilyWrapper.java	2009-01-22 00:50:02 UTC (rev 83177)
@@ -25,6 +25,7 @@
 import org.jboss.ha.framework.interfaces.FamilyClusterInfo;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 /**
  * Handles serialization of a {@link FamilyClusterInfo}.
@@ -47,11 +48,13 @@
 
    public FamilyClusterInfo get() { return info; }
 
+   @SuppressWarnings("unchecked")
    public void writeExternal(final java.io.ObjectOutput out)
       throws IOException
    {       
       out.writeObject(info.getFamilyName());
-      out.writeObject(info.getTargets());
+      // JBAS-6345 -- write an ArrayList for compatibility with AS 3.x/4.x clients
+      out.writeObject(new ArrayList(info.getTargets()));
    }
    
    /**
@@ -61,6 +64,7 @@
       throws IOException, ClassNotFoundException
    {
       String proxyFamilyName = (String)in.readObject();
+      @SuppressWarnings("unchecked")
       List targets = (List)in.readObject();
       // keep a reference on our family object
       //

Modified: projects/cluster/ha-client/trunk/src/test/java/org/jboss/test/ha/framework/interfaces/FamilyClusterInfoUnitTestCase.java
===================================================================
--- projects/cluster/ha-client/trunk/src/test/java/org/jboss/test/ha/framework/interfaces/FamilyClusterInfoUnitTestCase.java	2009-01-22 00:49:20 UTC (rev 83176)
+++ projects/cluster/ha-client/trunk/src/test/java/org/jboss/test/ha/framework/interfaces/FamilyClusterInfoUnitTestCase.java	2009-01-22 00:50:02 UTC (rev 83177)
@@ -237,6 +237,24 @@
       } 
       catch (UnsupportedOperationException good) {}
       
+      if (fciTargets instanceof ArrayList)
+      {
+         ArrayList fciArrayList = (ArrayList) fciTargets;
+         try 
+         { 
+            fciArrayList.ensureCapacity(5);
+            fail("ensureCapacity call did not fail");
+         } 
+         catch (UnsupportedOperationException good) {}
+         
+         try 
+         { 
+            fciArrayList.trimToSize();
+            fail("trimToSize call did not fail");
+         } 
+         catch (UnsupportedOperationException good) {}
+      }
+      
       try 
       { 
          fciTargets.remove(0);
@@ -342,6 +360,25 @@
       } 
       catch (UnsupportedOperationException good) {}
       
+      // ArrayList public method checks
+      if (fciTargets instanceof ArrayList)
+      {
+         ArrayList fciArrayList = (ArrayList) fciTargets;
+         try 
+         { 
+            fciArrayList.ensureCapacity(5);
+            fail("ensureCapacity call did not fail");
+         } 
+         catch (UnsupportedOperationException good) {}
+         
+         try 
+         { 
+            fciArrayList.trimToSize();
+            fail("trimToSize call did not fail");
+         } 
+         catch (UnsupportedOperationException good) {}
+      }
+      
    }
       
    private void checkFCIConsistency(FamilyClusterInfo fci, int checks, boolean allowOutOfSync)




More information about the jboss-cvs-commits mailing list