[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