Author: markt
Date: Wed Dec 24 09:42:58 2008
New Revision: 729340
URL: http://svn.apache.org/viewvc?rev=729340&view=rev
Log:
Generics for o.a.c.tribes.membership
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java
Modified:
tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java?rev=729340&r1=729339&r2=729340&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/tribes/membership/Membership.java Wed
Dec 24 09:42:58 2008
@@ -22,6 +22,7 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.Map;
import org.apache.catalina.tribes.Member;
import java.util.Comparator;
@@ -49,7 +50,7 @@
/**
* A map of all the members in the cluster.
*/
- protected HashMap map = new HashMap();
+ protected HashMap<MemberImpl, MbrEntry> map = new HashMap<MemberImpl,
MbrEntry>();
/**
* A list of all the members in the cluster.
@@ -59,12 +60,12 @@
/**
* sort members by alive time
*/
- protected Comparator memberComparator = new MemberComparator();
+ protected Comparator<MemberImpl> memberComparator = new MemberComparator();
public Object clone() {
synchronized (members) {
Membership clone = new Membership(local, memberComparator);
- clone.map = (HashMap) map.clone();
+ clone.map = (HashMap<MemberImpl, MbrEntry>) map.clone();
clone.members = new MemberImpl[members.length];
System.arraycopy(members,0,clone.members,0,members.length);
return clone;
@@ -84,11 +85,11 @@
this(local,false);
}
- public Membership(MemberImpl local, Comparator comp) {
+ public Membership(MemberImpl local, Comparator<MemberImpl> comp) {
this(local,comp,false);
}
- public Membership(MemberImpl local, Comparator comp, boolean includeLocal)
{
+ public Membership(MemberImpl local, Comparator<MemberImpl> comp, boolean
includeLocal) {
this(local,includeLocal);
this.memberComparator = comp;
}
@@ -114,7 +115,7 @@
if ( member.equals(local) ) return result;
//return true if the membership has changed
- MbrEntry entry = (MbrEntry)map.get(member);
+ MbrEntry entry = map.get(member);
if ( entry == null ) {
entry = addMember(member);
result = true;
@@ -189,13 +190,13 @@
if(!hasMembers() )
return EMPTY_MEMBERS;
- ArrayList list = null;
- Iterator i = map.values().iterator();
+ ArrayList<MemberImpl> list = null;
+ Iterator<MbrEntry> i = map.values().iterator();
while(i.hasNext()) {
- MbrEntry entry = (MbrEntry)i.next();
+ MbrEntry entry = i.next();
if( entry.hasExpired(maxtime) ) {
if(list == null) // only need a list when members are expired
(smaller gc)
- list = new java.util.ArrayList();
+ list = new java.util.ArrayList<MemberImpl>();
list.add(entry.getMember());
}
}
@@ -254,24 +255,16 @@
protected synchronized MbrEntry[] getMemberEntries()
{
MbrEntry[] result = new MbrEntry[map.size()];
- java.util.Iterator i = map.entrySet().iterator();
+ Iterator<Map.Entry<MemberImpl,MbrEntry>> i = map.entrySet().iterator();
int pos = 0;
while ( i.hasNext() )
- result[pos++] =
((MbrEntry)((java.util.Map.Entry)i.next()).getValue());
+ result[pos++] = i.next().getValue();
return result;
}
// --------------------------------------------- Inner Class
- private class MemberComparator implements java.util.Comparator {
-
- public int compare(Object o1, Object o2) {
- try {
- return compare((MemberImpl) o1, (MemberImpl) o2);
- } catch (ClassCastException x) {
- return 0;
- }
- }
+ private class MemberComparator implements Comparator<MemberImpl> {
public int compare(MemberImpl m1, MemberImpl m2) {
//longer alive time, means sort first
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]