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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org