[Jboss-cvs] JBossAS SVN: r56227 - trunk/cluster/src/main/org/jboss/ha/framework/interfaces
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 24 16:48:31 EDT 2006
Author: bstansberry at jboss.com
Date: 2006-08-24 16:48:30 -0400 (Thu, 24 Aug 2006)
New Revision: 56227
Modified:
trunk/cluster/src/main/org/jboss/ha/framework/interfaces/ClusteringTargetsRepository.java
trunk/cluster/src/main/org/jboss/ha/framework/interfaces/FamilyClusterInfoImpl.java
Log:
[JBAS-3427] FCI method param types are List not ArrayList
Modified: trunk/cluster/src/main/org/jboss/ha/framework/interfaces/ClusteringTargetsRepository.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/interfaces/ClusteringTargetsRepository.java 2006-08-24 19:54:02 UTC (rev 56226)
+++ trunk/cluster/src/main/org/jboss/ha/framework/interfaces/ClusteringTargetsRepository.java 2006-08-24 20:48:30 UTC (rev 56227)
@@ -21,8 +21,8 @@
*/
package org.jboss.ha.framework.interfaces;
+import java.util.Hashtable;
import java.util.List;
-import java.util.Hashtable;
/**
* JVM singleton that associates a list of targets (+ other info)
Modified: trunk/cluster/src/main/org/jboss/ha/framework/interfaces/FamilyClusterInfoImpl.java
===================================================================
--- trunk/cluster/src/main/org/jboss/ha/framework/interfaces/FamilyClusterInfoImpl.java 2006-08-24 19:54:02 UTC (rev 56226)
+++ trunk/cluster/src/main/org/jboss/ha/framework/interfaces/FamilyClusterInfoImpl.java 2006-08-24 20:48:30 UTC (rev 56227)
@@ -42,7 +42,7 @@
// Attributes ----------------------------------------------------
public String familyName = null;
- List targets = null;
+ ArrayList targets = null;
long currentViewId = 0;
boolean isViewMembersInSyncWithViewId = false;
@@ -58,11 +58,7 @@
protected FamilyClusterInfoImpl (String familyName, List targets, long viewId)
{
this.familyName = familyName;
- this.targets = new ArrayList();
- synchronized (targets)
- {
- this.targets.addAll(targets);
- }
+ this.targets = cloneList(targets);
this.currentViewId = viewId;
this.isViewMembersInSyncWithViewId = false;
@@ -93,11 +89,7 @@
{
synchronized (this)
{
- ArrayList tmp = new ArrayList();
- synchronized (targets)
- {
- tmp.addAll(targets);
- }
+ ArrayList tmp = (ArrayList) targets.clone();
tmp.remove (target);
this.targets = tmp;
this.isViewMembersInSyncWithViewId = false;
@@ -109,11 +101,7 @@
{
synchronized (this)
{
- this.targets = new ArrayList();
- synchronized (targets)
- {
- this.targets.addAll(targets);
- }
+ this.targets = cloneList(targets);
this.currentViewId = viewId;
this.isViewMembersInSyncWithViewId = true;
return Collections.unmodifiableList(this.targets);
@@ -178,4 +166,21 @@
// Inner classes -------------------------------------------------
+ private static ArrayList cloneList(List toClone)
+ {
+ if (toClone instanceof ArrayList)
+ {
+ synchronized (toClone)
+ {
+ return (ArrayList) ((ArrayList) toClone).clone();
+ }
+ }
+
+ ArrayList clone = new ArrayList(toClone.size());
+ synchronized (toClone)
+ {
+ clone.addAll(toClone);
+ }
+ return clone;
+ }
}
More information about the jboss-cvs-commits
mailing list