From: fhanik Date: Thu, 17 Feb 2011 16:23:44 +0000 (+0000) Subject: Correctly use the readFully method. Add a utility method to sort absolute order X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=cbf04338d987195e505fe8315c81cf2a2725cb50;p=tomcat7.0 Correctly use the readFully method. Add a utility method to sort absolute order git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1071677 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java index e0adb5af8..e806a33fc 100644 --- a/java/org/apache/catalina/tribes/group/AbsoluteOrder.java +++ b/java/org/apache/catalina/tribes/group/AbsoluteOrder.java @@ -19,6 +19,7 @@ package org.apache.catalina.tribes.group; import java.io.Serializable; import java.util.Arrays; import java.util.Comparator; +import java.util.List; import org.apache.catalina.tribes.Member; @@ -53,10 +54,14 @@ public class AbsoluteOrder { public static void absoluteOrder(Member[] members) { - if ( members == null || members.length == 0 ) return; + if ( members == null || members.length <= 1 ) return; Arrays.sort(members,comp); } + public static void absoluteOrder(List members) { + if ( members == null || members.size() <= 1 ) return; + java.util.Collections.sort(members, comp); + } public static class AbsoluteComparator implements Comparator, Serializable { diff --git a/java/org/apache/catalina/tribes/group/RpcMessage.java b/java/org/apache/catalina/tribes/group/RpcMessage.java index 3e48d8687..6c6d6f83a 100644 --- a/java/org/apache/catalina/tribes/group/RpcMessage.java +++ b/java/org/apache/catalina/tribes/group/RpcMessage.java @@ -56,10 +56,10 @@ public class RpcMessage implements Externalizable { reply = in.readBoolean(); int length = in.readInt(); uuid = new byte[length]; - in.read(uuid, 0, length); + in.readFully(uuid); length = in.readInt(); rpcId = new byte[length]; - in.read(rpcId, 0, length); + in.readFully(rpcId); message = (Serializable)in.readObject(); } @@ -100,10 +100,10 @@ public class RpcMessage implements Externalizable { reply = true; int length = in.readInt(); uuid = new byte[length]; - in.read(uuid, 0, length); + in.readFully(uuid); length = in.readInt(); rpcId = new byte[length]; - in.read(rpcId, 0, length); + in.readFully(rpcId); } @Override diff --git a/java/org/apache/catalina/tribes/membership/MemberImpl.java b/java/org/apache/catalina/tribes/membership/MemberImpl.java index 22128329a..1829144aa 100644 --- a/java/org/apache/catalina/tribes/membership/MemberImpl.java +++ b/java/org/apache/catalina/tribes/membership/MemberImpl.java @@ -622,7 +622,7 @@ public class MemberImpl implements Member, java.io.Externalizable { public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { int length = in.readInt(); byte[] message = new byte[length]; - in.read(message); + in.readFully(message); getMember(message,this); } diff --git a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java index 28160c538..d1ef0b3a1 100644 --- a/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java +++ b/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java @@ -1427,7 +1427,7 @@ public abstract class AbstractReplicatedMap extends ConcurrentHashMap implements Member[] members = new Member[nodecount]; for ( int i=0; i 0) members[i] = MemberImpl.getMember(d); } return members;