svn commit: r1370258 - /tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java
Author: fhanik Date: Tue Aug 7 13:35:49 2012 New Revision: 1370258 URL: http://svn.apache.org/viewvc?rev=1370258&view=rev Log: cleanup Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java?rev=1370258&r1=1370257&r2=1370258&view=diff == --- tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java (original) +++ tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java Tue Aug 7 13:35:49 2012 @@ -16,9 +16,7 @@ */ package org.apache.tomcat.jdbc.test; -import java.lang.management.ManagementFactory; import java.sql.Connection; -import java.util.Hashtable; import javax.sql.PooledConnection; @@ -45,7 +43,6 @@ public class EqualsHashCodeTest extends this.datasource.setUsername(username); this.datasource.getConnection().close(); ConnectionPool pool = datasource.createPool(); -org.apache.tomcat.jdbc.pool.jmx.ConnectionPool jmxPool = new org.apache.tomcat.jdbc.pool.jmx.ConnectionPool(pool); } public void testEquals() throws Exception { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370259 - /tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java
Author: fhanik Date: Tue Aug 7 13:36:00 2012 New Revision: 1370259 URL: http://svn.apache.org/viewvc?rev=1370259&view=rev Log: cleanup Modified: tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java Modified: tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java?rev=1370259&r1=1370258&r2=1370259&view=diff == --- tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/test/java/org/apache/tomcat/jdbc/test/EqualsHashCodeTest.java Tue Aug 7 13:36:00 2012 @@ -16,9 +16,7 @@ */ package org.apache.tomcat.jdbc.test; -import java.lang.management.ManagementFactory; import java.sql.Connection; -import java.util.Hashtable; import javax.sql.PooledConnection; @@ -45,7 +43,6 @@ public class EqualsHashCodeTest extends this.datasource.setUsername(username); this.datasource.getConnection().close(); ConnectionPool pool = datasource.createPool(); -org.apache.tomcat.jdbc.pool.jmx.ConnectionPool jmxPool = new org.apache.tomcat.jdbc.pool.jmx.ConnectionPool(pool); } public void testEquals() throws Exception { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370346 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
Author: markt Date: Tue Aug 7 16:28:05 2012 New Revision: 1370346 URL: http://svn.apache.org/viewvc?rev=1370346&view=rev Log: Deprecate unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1370346&r1=1370345&r2=1370346&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Aug 7 16:28:05 2012 @@ -1349,6 +1349,10 @@ public abstract class AbstractReplicated } } +/** + * @deprecated Unused - will be removed in Tomcat 8.0.x + */ +@Deprecated public MapMessage() {} public MapMessage(byte[] mapId,int msgtype, boolean diff, - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370347 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
Author: markt Date: Tue Aug 7 16:28:23 2012 New Revision: 1370347 URL: http://svn.apache.org/viewvc?rev=1370347&view=rev Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1370347&r1=1370346&r2=1370347&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Aug 7 16:28:23 2012 @@ -1349,12 +1349,6 @@ public abstract class AbstractReplicated } } -/** - * @deprecated Unused - will be removed in Tomcat 8.0.x - */ -@Deprecated -public MapMessage() {} - public MapMessage(byte[] mapId,int msgtype, boolean diff, Serializable key, Serializable value, byte[] diffvalue, Member primary, Member[] nodes) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370363 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
Author: markt Date: Tue Aug 7 16:51:30 2012 New Revision: 1370363 URL: http://svn.apache.org/viewvc?rev=1370363&view=rev Log: Partial code clean-up for o.a.catalina.tribes - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1370363&r1=1370362&r2=1370363&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Aug 7 16:51:30 2012 @@ -110,11 +110,11 @@ public abstract class AbstractReplicated /** * Simple lock object for transfers */ -protected transient Object stateMutex = new Object(); +protected final transient Object stateMutex = new Object(); /** * A list of members in our map */ -protected transient HashMap mapMembers = new HashMap(); +protected final transient HashMap mapMembers = new HashMap<>(); /** * Our default send options */ @@ -176,7 +176,7 @@ public abstract class AbstractReplicated float loadFactor, int channelSendOptions, ClassLoader[] cls) { -innerMap = new ConcurrentHashMap>(initialCapacity, loadFactor, 15); +innerMap = new ConcurrentHashMap<>(initialCapacity, loadFactor, 15); init(owner, channel, mapContextName, timeout, channelSendOptions, cls); } @@ -384,7 +384,6 @@ public abstract class AbstractReplicated public Member[] getMapMembersExcl(Member[] exclude) { synchronized (mapMembers) { -@SuppressWarnings("unchecked") // mapMembers has the correct type HashMap list = (HashMap)mapMembers.clone(); for (int i=0; i list = new ArrayList(); +ArrayList list = new ArrayList<>(); Iterator>> i = innerMap.entrySet().iterator(); while (i.hasNext()) { Map.Entry e = i.next(); @@ -626,7 +625,7 @@ public abstract class AbstractReplicated if (mapmsg.getMsgType() == MapMessage.MSG_PROXY) { MapEntry entry = innerMap.get(mapmsg.getKey()); if ( entry==null ) { -entry = new MapEntry((K) mapmsg.getKey(), (V) mapmsg.getValue()); +entry = new MapEntry<>((K) mapmsg.getKey(), (V) mapmsg.getValue()); entry.setBackup(false); entry.setProxy(true); entry.setBackupNodes(mapmsg.getBackupNodes()); @@ -647,7 +646,7 @@ public abstract class AbstractReplicated if (mapmsg.getMsgType() == MapMessage.MSG_BACKUP || mapmsg.getMsgType() == MapMessage.MSG_COPY) { MapEntry entry = innerMap.get(mapmsg.getKey()); if (entry == null) { -entry = new MapEntry((K) mapmsg.getKey(), (V) mapmsg.getValue()); +entry = new MapEntry<>((K) mapmsg.getKey(), (V) mapmsg.getValue()); entry.setBackup(mapmsg.getMsgType() == MapMessage.MSG_BACKUP); entry.setProxy(false); entry.setBackupNodes(mapmsg.getBackupNodes()); @@ -749,7 +748,7 @@ public abstract class AbstractReplicated } public Member[] excludeFromSet(Member[] mbrs, Member[] set) { -ArrayList result = new ArrayList(); +ArrayList result = new ArrayList<>(); for (int i=0; i entry = new MapEntry(key,value); +MapEntry entry = new MapEntry<>(key, value); entry.setBackup(false); entry.setProxy(false); entry.setPrimary(channel.getLocalMember(false)); @@ -1017,7 +1016,6 @@ public abstract class AbstractReplicated public void putAll(Map m) { Iterator i = m.entrySet().iterator(); while ( i.hasNext() ) { -@SuppressWarnings("unchecked") Map.Entry entry = (Map.Entry) i.next(); put(entry.getKey(),entry.getValue()); } @@ -1079,7 +1077,7 @@ public abstract class AbstractReplicated @Override public Set> entrySet() { -LinkedHashSet> set = new LinkedHashSet>(innerMap.size()); +LinkedHashSet> set = new LinkedHashSet<>(innerMap.size()); Iterator>> i = innerMap.entrySet().iterator(); while ( i.hasNext() ) { Map.Entry e = i.next(); @@ -1096,7 +1094,7 @@ public abstract class AbstractReplicated public Set keySet() { //todo implement //should only return keys where this is active. -LinkedHashSet set = new LinkedHashSet(innerMap.size()); +LinkedHashSet set = new LinkedHashSet<>(innerMap.size()); Itera
svn commit: r1370364 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
Author: markt Date: Tue Aug 7 16:52:09 2012 New Revision: 1370364 URL: http://svn.apache.org/viewvc?rev=1370364&view=rev Log: Deprecate unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1370364&r1=1370363&r2=1370364&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Aug 7 16:52:09 2012 @@ -1454,6 +1454,10 @@ public abstract class AbstractReplicated } } +/** + * @deprecated Unused - will be removed in 8.0.x + */ +@Deprecated protected Member[] readMembers(ObjectInput in) throws IOException { int nodecount = in.readInt(); Member[] members = new Member[nodecount]; @@ -1465,6 +1469,10 @@ public abstract class AbstractReplicated return members; } +/** + * @deprecated Unused - will be removed in 8.0.x + */ +@Deprecated protected void writeMembers(ObjectOutput out,Member[] members) throws IOException { if ( members == null ) members = new Member[0]; out.writeInt(members.length); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370365 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
Author: markt Date: Tue Aug 7 16:52:41 2012 New Revision: 1370365 URL: http://svn.apache.org/viewvc?rev=1370365&view=rev Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1370365&r1=1370364&r2=1370365&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Aug 7 16:52:41 2012 @@ -18,8 +18,6 @@ package org.apache.catalina.tribes.tipis; import java.io.IOException; -import java.io.ObjectInput; -import java.io.ObjectOutput; import java.io.Serializable; import java.nio.charset.Charset; import java.util.ArrayList; @@ -43,7 +41,6 @@ import org.apache.catalina.tribes.group. import org.apache.catalina.tribes.group.RpcCallback; import org.apache.catalina.tribes.group.RpcChannel; import org.apache.catalina.tribes.io.XByteBuffer; -import org.apache.catalina.tribes.membership.MemberImpl; import org.apache.catalina.tribes.util.Arrays; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -1455,38 +1452,6 @@ public abstract class AbstractReplicated } /** - * @deprecated Unused - will be removed in 8.0.x - */ -@Deprecated -protected Member[] readMembers(ObjectInput in) throws IOException { -int nodecount = in.readInt(); -Member[] members = new Member[nodecount]; -for ( int i=0; i 0) members[i] = MemberImpl.getMember(d); -} -return members; -} - -/** - * @deprecated Unused - will be removed in 8.0.x - */ -@Deprecated -protected void writeMembers(ObjectOutput out,Member[] members) throws IOException { -if ( members == null ) members = new Member[0]; -out.writeInt(members.length); -for (int i=0; i
svn commit: r1370367 - in /tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes: membership/MemberImpl.java tipis/AbstractReplicatedMap.java
Author: markt Date: Tue Aug 7 16:58:53 2012 New Revision: 1370367 URL: http://svn.apache.org/viewvc?rev=1370367&view=rev Log: Deprecate unused code Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java?rev=1370367&r1=1370366&r2=1370367&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java Tue Aug 7 16:58:53 2012 @@ -41,11 +41,21 @@ public class MemberImpl implements Membe * default is false */ public static final boolean DO_DNS_LOOKUPS = Boolean.parseBoolean(System.getProperty("org.apache.catalina.tribes.dns_lookups","false")); + /** - * Public properties specific to this implementation + * @deprecated Unused - will be removed in Tomcat 8.0.x */ +@Deprecated public static final transient String TCP_LISTEN_PORT = "tcpListenPort"; +/** + * @deprecated Unused - will be removed in Tomcat 8.0.x + */ +@Deprecated public static final transient String TCP_LISTEN_HOST = "tcpListenHost"; +/** + * @deprecated Unused - will be removed in Tomcat 8.0.x + */ +@Deprecated public static final transient String MEMBER_NAME = "memberName"; public static final transient byte[] TRIBES_MBR_BEGIN = new byte[] {84, 82, 73, 66, 69, 83, 45, 66, 1, 0}; Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=1370367&r1=1370366&r2=1370367&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Tue Aug 7 16:58:53 2012 @@ -1339,6 +1339,10 @@ public abstract class AbstractReplicated } } +/** + * @deprecated Unused - will be removed in Tomcat 8.0.x + */ +@Deprecated public MapMessage() {} public MapMessage(byte[] mapId,int msgtype, boolean diff, @@ -1448,7 +1452,11 @@ public abstract class AbstractReplicated throw new RuntimeException(x); } } - + +/** + * @deprecated Unused - will be removed in 8.0.x + */ +@Deprecated protected Member[] readMembers(ObjectInput in) throws IOException, ClassNotFoundException { int nodecount = in.readInt(); Member[] members = new Member[nodecount]; @@ -1460,6 +1468,10 @@ public abstract class AbstractReplicated return members; } +/** + * @deprecated Unused - will be removed in 8.0.x + */ +@Deprecated protected void writeMembers(ObjectOutput out,Member[] members) throws IOException { if ( members == null ) members = new Member[0]; out.writeInt(members.length); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370373 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java
Author: markt Date: Tue Aug 7 17:18:16 2012 New Revision: 1370373 URL: http://svn.apache.org/viewvc?rev=1370373&view=rev Log: Deprecate unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java?rev=1370373&r1=1370372&r2=1370373&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java Tue Aug 7 17:18:16 2012 @@ -31,7 +31,10 @@ import java.io.IOException; * * @author Filip Hanik * @version 1.0 + * + * @deprecated Unused - will be removed in Tomcat 8.0.x */ +@Deprecated public interface Streamable { /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370374 - /tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java
Author: markt Date: Tue Aug 7 17:18:30 2012 New Revision: 1370374 URL: http://svn.apache.org/viewvc?rev=1370374&view=rev Log: Remove unused code Removed: tomcat/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370379 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/tribes/tipis/Streamable.java
Author: markt Date: Tue Aug 7 17:32:39 2012 New Revision: 1370379 URL: http://svn.apache.org/viewvc?rev=1370379&view=rev Log: Deprecate unused code Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1367214,1370346,1370364,1370373 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java?rev=1370379&r1=1370378&r2=1370379&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/tipis/Streamable.java Tue Aug 7 17:32:39 2012 @@ -31,7 +31,10 @@ import java.io.IOException; * * @author Filip Hanik * @version 1.0 + * + * @deprecated Unused - will be removed in Tomcat 8.0.x */ +@Deprecated public interface Streamable { /** - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370382 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java
Author: markt Date: Tue Aug 7 17:39:29 2012 New Revision: 1370382 URL: http://svn.apache.org/viewvc?rev=1370382&view=rev Log: FindBugs: Thread-safe update Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java?rev=1370382&r1=1370381&r2=1370382&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/FastQueue.java Tue Aug 7 17:39:29 2012 @@ -17,6 +17,8 @@ package org.apache.catalina.tribes.transport.bio.util; +import java.util.concurrent.atomic.AtomicInteger; + import org.apache.catalina.tribes.ChannelMessage; import org.apache.catalina.tribes.Member; import org.apache.catalina.tribes.group.InterceptorPayload; @@ -54,7 +56,7 @@ public class FastQueue { /** * Current Queue elements size */ -private volatile int size = 0; +private AtomicInteger size = new AtomicInteger(0); /** * limit the queue length ( default is unlimited) @@ -182,7 +184,7 @@ public class FastQueue { } public int getSize() { -return size; +return size.get(); } /** @@ -202,39 +204,39 @@ public class FastQueue { lock.lockAdd(); try { if (log.isTraceEnabled()) { -log.trace("FastQueue.add: starting with size " + size); +log.trace("FastQueue.add: starting with size " + size.get()); } -if ((maxQueueLength > 0) && (size >= maxQueueLength)) { +if ((maxQueueLength > 0) && (size.get() >= maxQueueLength)) { ok = false; if (log.isTraceEnabled()) { -log.trace("FastQueue.add: Could not add, since queue is full (" + size + ">=" + maxQueueLength + ")"); +log.trace("FastQueue.add: Could not add, since queue is full (" + size.get() + ">=" + maxQueueLength + ")"); } } else { LinkObject element = new LinkObject(msg,destination, payload); -if (size == 0) { +if (size.get() == 0) { first = last = element; -size = 1; +size.set(1); } else { if (last == null) { ok = false; -log.error("FastQueue.add: Could not add, since last is null although size is "+ size + " (>0)"); +log.error("FastQueue.add: Could not add, since last is null although size is "+ size.get() + " (>0)"); } else { last.append(element); last = element; -size++; +size.incrementAndGet(); } } } if (first == null) { -log.error("FastQueue.add: first is null, size is " + size + " at end of add"); +log.error("FastQueue.add: first is null, size is " + size.get() + " at end of add"); } if (last == null) { -log.error("FastQueue.add: last is null, size is " + size+ " at end of add"); +log.error("FastQueue.add: last is null, size is " + size.get() + " at end of add"); } -if (log.isTraceEnabled()) log.trace("FastQueue.add: add ending with size " + size); +if (log.isTraceEnabled()) log.trace("FastQueue.add: add ending with size " + size.get()); } finally { lock.unlockAdd(true); @@ -271,16 +273,16 @@ public class FastQueue { } if (log.isTraceEnabled()) { -log.trace("FastQueue.remove: remove starting with size " + size); +log.trace("FastQueue.remove: remove starting with size " + size.get()); } element = first; first = last = null; -size = 0; +size.set(0); if (log.isTraceEnabled()) { -log.trace("FastQueue.remove: remove ending with size " + size); +log.trace("FastQueue.remove: remove ending with size " + size.get()); } } finally { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370384 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/LinkObject.java
Author: markt Date: Tue Aug 7 17:41:06 2012 New Revision: 1370384 URL: http://svn.apache.org/viewvc?rev=1370384&view=rev Log: Partial code clean-up for o.a.catalina.tribes - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/LinkObject.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/LinkObject.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/LinkObject.java?rev=1370384&r1=1370383&r2=1370384&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/LinkObject.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/util/LinkObject.java Tue Aug 7 17:41:06 2012 @@ -36,11 +36,11 @@ import org.apache.catalina.tribes.group. public class LinkObject { -private ChannelMessage msg; +private final ChannelMessage msg; private LinkObject next; -private byte[] key ; -private Member[] destination; -private InterceptorPayload payload; +private final byte[] key ; +private final Member[] destination; +private final InterceptorPayload payload; /** * Construct a new element from the data object. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370385 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport/bio: BioSender.java MultipointBioSender.java
Author: markt Date: Tue Aug 7 17:42:22 2012 New Revision: 1370385 URL: http://svn.apache.org/viewvc?rev=1370385&view=rev Log: Partial code clean-up for o.a.catalina.tribes - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java?rev=1370385&r1=1370384&r2=1370385&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java Tue Aug 7 17:42:22 2012 @@ -58,7 +58,8 @@ public class BioSender extends AbstractS private OutputStream soOut = null; private InputStream soIn = null; -protected XByteBuffer ackbuf = new XByteBuffer(Constants.ACK_COMMAND.length,true); +protected final XByteBuffer ackbuf = +new XByteBuffer(Constants.ACK_COMMAND.length, true); // - Constructor Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java?rev=1370385&r1=1370384&r2=1370385&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Tue Aug 7 17:42:22 2012 @@ -41,9 +41,8 @@ public class MultipointBioSender extends // NO-OP } -protected long selectTimeout = 1000; -protected HashMap bioSenders = -new HashMap(); +protected final long selectTimeout = 1000; +protected final HashMap bioSenders = new HashMap<>(); @Override public synchronized void sendMessage(Member[] destination, ChannelMessage msg) throws ChannelException { @@ -140,9 +139,7 @@ public class MultipointBioSender extends @Override public boolean keepalive() { -//throw new UnsupportedOperationException("Method ParallelBioSender.checkKeepAlive() not implemented"); boolean result = false; -@SuppressWarnings("unchecked") // bioSenders is of type HashMap Map.Entry[] entries = bioSenders.entrySet().toArray(new Map.Entry[bioSenders.size()]); for ( int i=0; i
svn commit: r1370386 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java
Author: markt Date: Tue Aug 7 17:43:24 2012 New Revision: 1370386 URL: http://svn.apache.org/viewvc?rev=1370386&view=rev Log: Deprecate unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java?rev=1370386&r1=1370385&r2=1370386&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Tue Aug 7 17:43:24 2012 @@ -41,6 +41,10 @@ public class MultipointBioSender extends // NO-OP } +/** + * @deprecated Unused - will be removed in Tomcat 8.0.x + */ +@Deprecated protected final long selectTimeout = 1000; protected final HashMap bioSenders = new HashMap<>(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370388 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java
Author: markt Date: Tue Aug 7 17:43:38 2012 New Revision: 1370388 URL: http://svn.apache.org/viewvc?rev=1370388&view=rev Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java?rev=1370388&r1=1370387&r2=1370388&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Tue Aug 7 17:43:38 2012 @@ -41,11 +41,6 @@ public class MultipointBioSender extends // NO-OP } -/** - * @deprecated Unused - will be removed in Tomcat 8.0.x - */ -@Deprecated -protected final long selectTimeout = 1000; protected final HashMap bioSenders = new HashMap<>(); @Override - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370390 - /tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java
Author: markt Date: Tue Aug 7 17:45:38 2012 New Revision: 1370390 URL: http://svn.apache.org/viewvc?rev=1370390&view=rev Log: Deprecate unused code Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java?rev=1370390&r1=1370389&r2=1370390&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/transport/bio/MultipointBioSender.java Tue Aug 7 17:45:38 2012 @@ -41,7 +41,11 @@ public class MultipointBioSender extends // NO-OP } -protected long selectTimeout = 1000; +/** + * @deprecated Unused - will be removed in Tomcat 8.0.x + */ +@Deprecated +protected final long selectTimeout = 1000; protected HashMap bioSenders = new HashMap(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370396 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport/nio: NioReceiver.java NioReplicationTask.java NioSender.java ParallelNioSender.java
Author: markt Date: Tue Aug 7 17:50:46 2012 New Revision: 1370396 URL: http://svn.apache.org/viewvc?rev=1370396&view=rev Log: Partial code clean-up for o.a.catalina.tribes - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=1370396&r1=1370395&r2=1370396&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Tue Aug 7 17:50:46 2012 @@ -51,13 +51,14 @@ public class NioReceiver extends Receive /** * The string manager for this package. */ -protected static final StringManager sm = StringManager.getManager(Constants.Package); +protected static final StringManager sm = +StringManager.getManager(Constants.Package); private Selector selector = null; private ServerSocketChannel serverChannel = null; private DatagramChannel datagramChannel = null; -protected LinkedList events = new LinkedList(); +protected final LinkedList events = new LinkedList<>(); public NioReceiver() { } Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java?rev=1370396&r1=1370395&r2=1370396&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReplicationTask.java Tue Aug 7 17:50:46 2012 @@ -59,9 +59,9 @@ public class NioReplicationTask extends private ByteBuffer buffer = null; private SelectionKey key; private int rxBufSize; -private NioReceiver receiver; -public NioReplicationTask (ListenCallback callback, NioReceiver receiver) -{ +private final NioReceiver receiver; + +public NioReplicationTask (ListenCallback callback, NioReceiver receiver) { super(callback); this.receiver = receiver; } Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java?rev=1370396&r1=1370395&r2=1370396&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java Tue Aug 7 17:50:46 2012 @@ -63,7 +63,7 @@ public class NioSender extends AbstractS protected ByteBuffer readbuf = null; protected ByteBuffer writebuf = null; protected byte[] current = null; -protected XByteBuffer ackbuf = new XByteBuffer(128,true); +protected final XByteBuffer ackbuf = new XByteBuffer(128,true); protected int remaining = 0; protected boolean complete; Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java?rev=1370396&r1=1370395&r2=1370396&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/ParallelNioSender.java Tue Aug 7 17:50:46 2012 @@ -53,10 +53,9 @@ import org.apache.juli.logging.LogFactor public class ParallelNioSender extends AbstractSender implements MultiPointSender { private static final Log log = LogFactory.getLog(ParallelNioSender.class); -protected long selectTimeout = 5000; //default 5 seconds, same as send timeout -protected Selector selector; -protected HashMap nioSenders = -new HashMap(); +protected final long selectTimeout = 5000; //default 5 seconds, same as send timeout +protected final Selector selector; +protected final HashMap nioSenders = new HashMap<>(); public ParallelNioSender() throws IOException { synchronized (Selector.class) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.
svn commit: r1370433 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
Author: markt Date: Tue Aug 7 19:06:06 2012 New Revision: 1370433 URL: http://svn.apache.org/viewvc?rev=1370433&view=rev Log: i18n and fix unused StringManager instance Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=1370433&r1=1370432&r2=1370433&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Tue Aug 7 19:06:06 2012 @@ -80,7 +80,7 @@ public class NioReceiver extends Receive try { setPool(new RxTaskPool(getMaxThreads(),getMinThreads(),this)); } catch (Exception x) { -log.fatal("ThreadPool can initilzed. Listener not started", x); +log.fatal(sm.getString("NioReceiver.threadpool.fail"), x); if ( x instanceof IOException ) throw (IOException)x; else throw new IOException(x.getMessage()); } @@ -91,7 +91,7 @@ public class NioReceiver extends Receive t.setDaemon(true); t.start(); } catch (Exception x) { -log.fatal("Unable to start cluster receiver", x); +log.fatal(sm.getString("NioReceiver.start.fail"), x); if ( x instanceof IOException ) throw (IOException)x; else throw new IOException(x.getMessage()); } @@ -214,7 +214,12 @@ public class NioReceiver extends Receive long delta = now - ka.getLastAccess(); if (delta > getTimeout() && (!ka.isAccessed())) { if (log.isWarnEnabled()) -log.warn("Channel key is registered, but has had no interest ops for the last "+getTimeout()+" ms. (cancelled:"+ka.isCancelled()+"):"+key+" last access:"+new java.sql.Timestamp(ka.getLastAccess())+" Possible cause: all threads used, perform thread dump"); +log.warn(sm.getString( +"NioReceiver.threadsExhausted", +Integer.valueOf(getTimeout()), +Boolean.valueOf(ka.isCancelled()), +key, +new java.sql.Timestamp(ka.getLastAccess(; ka.setLastAccess(now); //key.interestOps(SelectionKey.OP_READ); }//end if @@ -238,7 +243,7 @@ public class NioReceiver extends Receive */ protected void listen() throws Exception { if (doListen()) { -log.warn("ServerSocketChannel already started"); +log.warn(sm.getString("NioReceiver.alreadyStarted")); return; } @@ -308,7 +313,7 @@ public class NioReceiver extends Receive } catch (java.nio.channels.ClosedSelectorException cse) { // ignore is normal at shutdown or stop listen socket } catch (java.nio.channels.CancelledKeyException nx) { -log.warn("Replication client disconnected, error when polling key. Ignoring client."); +log.warn(sm.getString("NioReceiver.clientDisconnect")); } catch (Throwable t) { if (t instanceof ThreadDeath) { throw (ThreadDeath) t; @@ -316,7 +321,7 @@ public class NioReceiver extends Receive if (t instanceof VirtualMachineError) { throw (VirtualMachineError) t; } -log.error("Unable to process request in NioReceiver", t); +log.error(sm.getString("NioReceiver.requestError"), t); } } @@ -346,7 +351,7 @@ public class NioReceiver extends Receive selector.wakeup(); closeSelector(); } catch (Exception x) { -log.error("Unable to close cluster receiver selector.", x); +log.error(sm.getString("NioReceiver.stop.fail"), x); } finally { selector = null; } @@ -368,7 +373,7 @@ public class NioReceiver extends Receive } }catch ( IOException ignore ){ if (log.isWarnEnabled()) { -log.warn("Unable to cleanup on selector close.",ignore); +log.warn(sm.getString("NioReceiver.cleanup.fail"), ignore); } }catch ( ClosedSelectorException ignore){} selector.close(); @@ -399,7 +404,7 @@ public class NioReceiver extends Receive try { listen(); } catch (Exception x) { -log.error("Unable to run replicati
svn commit: r1370436 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java
Author: markt Date: Tue Aug 7 19:10:25 2012 New Revision: 1370436 URL: http://svn.apache.org/viewvc?rev=1370436&view=rev Log: FindBugs: Ignore exceptions We are ignoring them and this is fine. Stop FindBugs complaining (a comment is sufficient) Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java?rev=1370436&r1=1370435&r2=1370436&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java Tue Aug 7 19:10:25 2012 @@ -266,27 +266,43 @@ public class NioSender extends AbstractS try { connecting = false; setConnected(false); -if ( socketChannel != null ) { +if (socketChannel != null) { try { -try {socketChannel.socket().close();}catch ( Exception x){} +try { +socketChannel.socket().close(); +} catch (Exception x) { +// Ignore +} //error free close, all the way //try {socket.shutdownOutput();}catch ( Exception x){} //try {socket.shutdownInput();}catch ( Exception x){} //try {socket.close();}catch ( Exception x){} -try {socketChannel.close();}catch ( Exception x){} -}finally { +try { +socketChannel.close(); +} catch (Exception x) { +// Ignore +} +} finally { socketChannel = null; } } -if ( dataChannel != null ) { +if (dataChannel != null) { try { -try {dataChannel.socket().close();}catch ( Exception x){} +try { +dataChannel.socket().close(); +} catch (Exception x) { +// Ignore +} //error free close, all the way //try {socket.shutdownOutput();}catch ( Exception x){} //try {socket.shutdownInput();}catch ( Exception x){} //try {socket.close();}catch ( Exception x){} -try {dataChannel.close();}catch ( Exception x){} -}finally { +try { +dataChannel.close(); +} catch (Exception x) { +// Ignore +} +} finally { dataChannel = null; } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370441 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java
Author: markt Date: Tue Aug 7 19:15:50 2012 New Revision: 1370441 URL: http://svn.apache.org/viewvc?rev=1370441&view=rev Log: FindBugs: Sync mis-match Reduce size of sync block and make current volatile so updates are seen consistently Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java?rev=1370441&r1=1370440&r2=1370441&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioSender.java Tue Aug 7 19:15:50 2012 @@ -62,7 +62,7 @@ public class NioSender extends AbstractS */ protected ByteBuffer readbuf = null; protected ByteBuffer writebuf = null; -protected byte[] current = null; +protected volatile byte[] current = null; protected final XByteBuffer ackbuf = new XByteBuffer(128,true); protected int remaining = 0; protected boolean complete; @@ -349,38 +349,41 @@ public class NioSender extends AbstractS * @throws IOException * TODO Implement this org.apache.catalina.tribes.transport.IDataSender method */ - public synchronized void setMessage(byte[] data) throws IOException { - setMessage(data,0,data.length); - } - - public synchronized void setMessage(byte[] data,int offset, int length) throws IOException { - if ( data != null ) { - current = data; - remaining = length; - ackbuf.clear(); - if ( writebuf != null ) writebuf.clear(); - else writebuf = getBuffer(length); - if ( writebuf.capacity() < length ) writebuf = getBuffer(length); - - //TODO use ByteBuffer.wrap to avoid copying the data. - writebuf.put(data,offset,length); - //writebuf.rewind(); - //set the limit so that we don't write non wanted data - //writebuf.limit(length); - writebuf.flip(); - if (isConnected()) { - if (isUdpBased()) - dataChannel.register(getSelector(), SelectionKey.OP_WRITE, this); - else - socketChannel.register(getSelector(), SelectionKey.OP_WRITE, this); - } - } - } - - public byte[] getMessage() { - return current; - } +public void setMessage(byte[] data) throws IOException { +setMessage(data,0,data.length); +} + +public void setMessage(byte[] data,int offset, int length) throws IOException { +if (data != null) { +synchronized (this) { +current = data; +remaining = length; +ackbuf.clear(); +if (writebuf != null) { +writebuf.clear(); +} else { +writebuf = getBuffer(length); +} +if (writebuf.capacity() < length) { +writebuf = getBuffer(length); +} +// TODO use ByteBuffer.wrap to avoid copying the data. +writebuf.put(data,offset,length); +writebuf.flip(); +if (isConnected()) { +if (isUdpBased()) +dataChannel.register(getSelector(), SelectionKey.OP_WRITE, this); +else +socketChannel.register(getSelector(), SelectionKey.OP_WRITE, this); +} +} +} +} + +public byte[] getMessage() { +return current; +} public boolean isComplete() { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370443 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java
Author: markt Date: Tue Aug 7 19:17:17 2012 New Revision: 1370443 URL: http://svn.apache.org/viewvc?rev=1370443&view=rev Log: Deprecate unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java?rev=1370443&r1=1370442&r2=1370443&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java Tue Aug 7 19:17:17 2012 @@ -184,6 +184,10 @@ public abstract class AbstractSender imp return maxRetryAttempts; } +/** + * @deprecated Use {@link #setDirectBuffer(boolean)} + */ +@Deprecated public void setDirect(boolean direct) { setDirectBuffer(direct); } @@ -192,6 +196,10 @@ public abstract class AbstractSender imp this.directBuffer = directBuffer; } +/** + * @deprecated Use {@link #getDirectBuffer()} + */ +@Deprecated public boolean getDirect() { return getDirectBuffer(); } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370444 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java
Author: markt Date: Tue Aug 7 19:17:37 2012 New Revision: 1370444 URL: http://svn.apache.org/viewvc?rev=1370444&view=rev Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java?rev=1370444&r1=1370443&r2=1370444&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java Tue Aug 7 19:17:37 2012 @@ -184,26 +184,10 @@ public abstract class AbstractSender imp return maxRetryAttempts; } -/** - * @deprecated Use {@link #setDirectBuffer(boolean)} - */ -@Deprecated -public void setDirect(boolean direct) { -setDirectBuffer(direct); -} - public void setDirectBuffer(boolean directBuffer) { this.directBuffer = directBuffer; } -/** - * @deprecated Use {@link #getDirectBuffer()} - */ -@Deprecated -public boolean getDirect() { -return getDirectBuffer(); -} - public boolean getDirectBuffer() { return this.directBuffer; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370451 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java
Author: markt Date: Tue Aug 7 19:21:39 2012 New Revision: 1370451 URL: http://svn.apache.org/viewvc?rev=1370451&view=rev Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java?rev=1370451&r1=1370450&r2=1370451&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Tue Aug 7 19:21:39 2012 @@ -136,15 +136,6 @@ public abstract class ReceiverBase imple } /** - * @deprecated use getMinThreads()/getMaxThreads() - * @return int - */ -@Deprecated -public int getTcpThreadCount() { -return getMaxThreads(); -} - -/** * setMessageListener * * @param listener MessageListener @@ -155,24 +146,6 @@ public abstract class ReceiverBase imple this.listener = listener; } -/** - * @deprecated use setPort - * @param tcpListenPort int - */ -@Deprecated -public void setTcpListenPort(int tcpListenPort) { -setPort(tcpListenPort); -} - -/** - * @deprecated use setAddress - * @param tcpListenHost String - */ -@Deprecated -public void setTcpListenAddress(String tcpListenHost) { -setAddress(tcpListenHost); -} - public void setRxBufSize(int rxBufSize) { this.rxBufSize = rxBufSize; } @@ -182,16 +155,6 @@ public abstract class ReceiverBase imple } /** - * @deprecated use setMaxThreads/setMinThreads - * @param tcpThreadCount int - */ -@Deprecated -public void setTcpThreadCount(int tcpThreadCount) { -setMaxThreads(tcpThreadCount); -setMinThreads(tcpThreadCount); -} - -/** * @return Returns the bind. */ public InetAddress getBind() { @@ -302,16 +265,6 @@ public abstract class ReceiverBase imple this.bind = bind; } -/** - * @deprecated use getPort - * @return int - */ -@Deprecated -public int getTcpListenPort() { -return getPort(); -} - - public boolean getDirect() { return direct; } @@ -336,14 +289,6 @@ public abstract class ReceiverBase imple public long getSelectorTimeout() { return tcpSelectorTimeout; } -/** - * @deprecated use getSelectorTimeout - * @return long - */ -@Deprecated -public long getTcpSelectorTimeout() { -return getSelectorTimeout(); -} public boolean doListen() { return listen; @@ -357,15 +302,6 @@ public abstract class ReceiverBase imple return pool; } -/** - * @deprecated use getAddress - * @return String - */ -@Deprecated -public String getTcpListenAddress() { -return getAddress(); -} - public int getAutoBind() { return autoBind; } @@ -436,15 +372,6 @@ public abstract class ReceiverBase imple return listen; } -/** - * @deprecated use setSelectorTimeout - * @param selTimeout long - */ -@Deprecated -public void setTcpSelectorTimeout(long selTimeout) { -setSelectorTimeout(selTimeout); -} - public void setSelectorTimeout(long selTimeout) { tcpSelectorTimeout = selTimeout; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370455 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties
Author: markt Date: Tue Aug 7 19:23:30 2012 New Revision: 1370455 URL: http://svn.apache.org/viewvc?rev=1370455&view=rev Log: i18n and fix unused StringManager instance Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties?rev=1370455&r1=1370454&r2=1370455&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/LocalStrings.properties Tue Aug 7 19:23:30 2012 @@ -21,4 +21,15 @@ IDataSender.disconnect=Sender disconnect IDataSender.openSocket=Sender open socket to [{0}:{1,number,integer}] (open count {2,number,integer}) IDataSender.openSocket.failure=Open sender socket [{0}:{1,number,integer}] failure! (open failure count {2,number,integer}) IDataSender.send.again=Send data again to [{0}:{1,number,integer}] + +NioReceiver.alreadyStarted=ServerSocketChannel already started +NioReceiver.cleanup.fail=Unable to cleanup on selector close +NioReceiver.clientDisconnect=Replication client disconnected, error when polling key. Ignoring client. +NioReceiver.requestError=Unable to process request in NioReceiver +NioReceiver.run.fail=Unable to run replication listener +NioReceiver.start.fail=Unable to start cluster receiver +NioReceiver.stop.fail=Unable to close cluster receiver selector +NioReceiver.threadpool.fail=ThreadPool cannot be initialized. Listener not started. +NioReceiver.threadsExhausted=Channel key is registered, but has had no interest ops for the last [{0}] ms. (cancelled: [{1}]):[{2}] last access:[{3} Possible cause: all threads used, perform thread dump + PooledSender.senderDisconnectFail=Failed to disconnect sender - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370458 - /tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
Author: markt Date: Tue Aug 7 19:24:21 2012 New Revision: 1370458 URL: http://svn.apache.org/viewvc?rev=1370458&view=rev Log: Remove unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java?rev=1370458&r1=1370457&r2=1370458&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java Tue Aug 7 19:24:21 2012 @@ -14,7 +14,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.apache.catalina.tribes.transport; import org.apache.catalina.tribes.ChannelException; @@ -22,7 +21,6 @@ import org.apache.catalina.tribes.Channe import org.apache.catalina.tribes.ChannelSender; import org.apache.catalina.tribes.Member; import org.apache.catalina.tribes.transport.nio.PooledParallelSender; -import org.apache.catalina.tribes.util.StringManager; /** * Transmit message to other cluster members @@ -34,12 +32,6 @@ import org.apache.catalina.tribes.util.S */ public class ReplicationTransmitter implements ChannelSender { -/** - * The string manager for this package. - */ -protected static final StringManager sm = StringManager.getManager(Constants.Package); - - public ReplicationTransmitter() { } @@ -116,8 +108,4 @@ public class ReplicationTransmitter impl public synchronized void remove(Member member) { getTransport().remove(member); } - -// - protected - - } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370461 - in /tomcat/trunk/java/org/apache/catalina/tribes/transport: PooledSender.java RxTaskPool.java SenderState.java
Author: markt Date: Tue Aug 7 19:28:25 2012 New Revision: 1370461 URL: http://svn.apache.org/viewvc?rev=1370461&view=rev Log: Partial code clean-up for o.a.catalina.tribes - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java tomcat/trunk/java/org/apache/catalina/tribes/transport/SenderState.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java?rev=1370461&r1=1370460&r2=1370461&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/PooledSender.java Tue Aug 7 19:28:25 2012 @@ -40,7 +40,7 @@ public abstract class PooledSender exten protected static final StringManager sm = StringManager.getManager(Constants.Package); -private SenderQueue queue = null; +private final SenderQueue queue; private int poolSize = 25; public PooledSender() { queue = new SenderQueue(this,poolSize); @@ -123,8 +123,8 @@ public abstract class PooledSender exten public SenderQueue(PooledSender parent, int limit) { this.limit = limit; this.parent = parent; -notinuse = new java.util.LinkedList(); -inuse = new java.util.LinkedList(); +notinuse = new java.util.LinkedList<>(); +inuse = new java.util.LinkedList<>(); } /** Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java?rev=1370461&r1=1370460&r2=1370461&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/RxTaskPool.java Tue Aug 7 19:28:25 2012 @@ -33,16 +33,16 @@ public class RxTaskPool * through a FIFO idle queue. */ -List idle = new LinkedList(); -List used = new LinkedList(); +final List idle = new LinkedList<>(); +final List used = new LinkedList<>(); -Object mutex = new Object(); +final Object mutex = new Object(); boolean running = true; private int maxTasks; private int minTasks; -private TaskCreator creator = null; +private final TaskCreator creator; public RxTaskPool (int maxTasks, int minTasks, TaskCreator creator) throws Exception { Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/SenderState.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/SenderState.java?rev=1370461&r1=1370460&r2=1370461&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/transport/SenderState.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/SenderState.java Tue Aug 7 19:28:25 2012 @@ -35,7 +35,8 @@ public class SenderState { public static final int SUSPECT = 1; public static final int FAILING = 2; -protected static HashMap memberStates = new HashMap(); +protected static final HashMap memberStates = +new HashMap<>(); public static SenderState getSenderState(Member member) { return getSenderState(member,true); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370469 - /tomcat/trunk/res/findbugs/filter-false-positives.xml
Author: markt Date: Tue Aug 7 19:44:52 2012 New Revision: 1370469 URL: http://svn.apache.org/viewvc?rev=1370469&view=rev Log: Another false positive Modified: tomcat/trunk/res/findbugs/filter-false-positives.xml Modified: tomcat/trunk/res/findbugs/filter-false-positives.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/res/findbugs/filter-false-positives.xml?rev=1370469&r1=1370468&r2=1370469&view=diff == --- tomcat/trunk/res/findbugs/filter-false-positives.xml (original) +++ tomcat/trunk/res/findbugs/filter-false-positives.xml Tue Aug 7 19:44:52 2012 @@ -163,6 +163,12 @@ + + + + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370471 - in /tomcat/trunk/java/org/apache/catalina/tribes/util: Arrays.java StringManager.java UUIDGenerator.java
Author: markt Date: Tue Aug 7 19:48:33 2012 New Revision: 1370471 URL: http://svn.apache.org/viewvc?rev=1370471&view=rev Log: Partial code clean-up for o.a.catalina.tribes - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java tomcat/trunk/java/org/apache/catalina/tribes/util/UUIDGenerator.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java?rev=1370471&r1=1370470&r2=1370471&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java Tue Aug 7 19:48:33 2012 @@ -143,8 +143,7 @@ public class Arrays { public static Member[] merge(Member[] m1, Member[] m2) { AbsoluteOrder.absoluteOrder(m1); AbsoluteOrder.absoluteOrder(m2); -ArrayList list = -new ArrayList(java.util.Arrays.asList(m1)); +ArrayList list = new ArrayList<>(java.util.Arrays.asList(m1)); for (int i=0; i result = new ArrayList(); +ArrayList result = new ArrayList<>(); MemberImpl[] comp = complete.getMembers(); for ( int i=0; i alist = java.util.Arrays.asList(all); -ArrayList list = new ArrayList(alist); +ArrayList list = new ArrayList<>(alist); for (int i=0; ihttp://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java?rev=1370471&r1=1370470&r2=1370471&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java Tue Aug 7 19:48:33 2012 @@ -55,8 +55,8 @@ public class StringManager { /** * The ResourceBundle for this StringManager. */ -private ResourceBundle bundle; -private Locale locale; +private final ResourceBundle bundle; +private final Locale locale; /** * Creates a new StringManager for a given package. This is a @@ -67,9 +67,11 @@ public class StringManager { * @param packageName Name of package to create StringManager for. */ private StringManager(String packageName) { +ResourceBundle b = null; + String bundleName = packageName + ".LocalStrings"; try { -bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault()); +b = ResourceBundle.getBundle(bundleName, Locale.getDefault()); } catch( MissingResourceException ex ) { // Try from the current loader (that's the case for trusted apps) // Should only be required if using a TC5 style classloader structure @@ -77,7 +79,7 @@ public class StringManager { ClassLoader cl = Thread.currentThread().getContextClassLoader(); if( cl != null ) { try { -bundle = ResourceBundle.getBundle( +b = ResourceBundle.getBundle( bundleName, Locale.getDefault(), cl); } catch(MissingResourceException ex2) { // Ignore @@ -85,8 +87,11 @@ public class StringManager { } } // Get the actual locale, which may be different from the requested one +this.bundle = b; if (bundle != null) { locale = bundle.getLocale(); +} else { +locale = null; } } @@ -149,8 +154,8 @@ public class StringManager { // STATIC SUPPORT METHODS // -- -private static Hashtable managers = -new Hashtable(); +private static final Hashtable managers = +new Hashtable<>(); /** * Get the StringManager for a particular package. If a manager for Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/UUIDGenerator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/UUIDGenerator.java?rev=1370471&r1=1370470&r2=1370471&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/util/UUIDGenerator.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/util/UUIDGenerator.java Tue Aug 7 19:48:33 2012 @@ -37,8 +37,8 @@ public class UUIDGenerator { public static final int BYTES_PER_INT = 4; public static final int BITS_PER_BYTE = 8; -protected static SecureRandom secrand = null; -protected static Random rand = new Random(); +protected static final SecureRandom secrand; +protected static final Random rand = new Random(); static {
svn commit: r1370472 - in /tomcat/trunk/java/org/apache/catalina/tribes: ChannelException.java UniqueId.java
Author: markt Date: Tue Aug 7 19:52:06 2012 New Revision: 1370472 URL: http://svn.apache.org/viewvc?rev=1370472&view=rev Log: Partial code clean-up for o.a.catalina.tribes - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java tomcat/trunk/java/org/apache/catalina/tribes/UniqueId.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java?rev=1370472&r1=1370471&r2=1370472&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/ChannelException.java Tue Aug 7 19:52:06 2012 @@ -123,7 +123,7 @@ public class ChannelException extends Ex * @param mbr FaultyMember */ public boolean addFaultyMember(FaultyMember mbr) { -if ( this.faultyMembers==null ) this.faultyMembers = new ArrayList(); +if ( this.faultyMembers==null ) this.faultyMembers = new ArrayList<>(); if ( !faultyMembers.contains(mbr) ) return faultyMembers.add(mbr); else return false; } @@ -148,8 +148,8 @@ public class ChannelException extends Ex * @version 1.0 */ public static class FaultyMember { -protected Exception cause; -protected Member member; +protected final Exception cause; +protected final Member member; public FaultyMember(Member mbr, Exception x) { this.member = mbr; this.cause = x; Modified: tomcat/trunk/java/org/apache/catalina/tribes/UniqueId.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/UniqueId.java?rev=1370472&r1=1370471&r2=1370472&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/UniqueId.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/UniqueId.java Tue Aug 7 19:52:06 2012 @@ -31,9 +31,10 @@ import org.apache.catalina.tribes.util.A public final class UniqueId implements Serializable{ private static final long serialVersionUID = 1L; -protected byte[] id; +protected final byte[] id; public UniqueId() { +this(null); } public UniqueId(byte[] id) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370473 - /tomcat/trunk/java/org/apache/catalina/tribes/Constants.java
Author: markt Date: Tue Aug 7 19:52:52 2012 New Revision: 1370473 URL: http://svn.apache.org/viewvc?rev=1370473&view=rev Log: Deprecate unused code Modified: tomcat/trunk/java/org/apache/catalina/tribes/Constants.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/Constants.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/Constants.java?rev=1370473&r1=1370472&r2=1370473&view=diff == --- tomcat/trunk/java/org/apache/catalina/tribes/Constants.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/Constants.java Tue Aug 7 19:52:52 2012 @@ -25,8 +25,10 @@ package org.apache.catalina.tribes; * @author Bip Thelin * @author Filip Hanik * @version $Id$ + * + * @deprecated Unused - will be removed in 8.0.x */ - +@Deprecated public final class Constants { public static final String Package = "org.apache.catalina.tribes"; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370474 - /tomcat/trunk/java/org/apache/catalina/tribes/Constants.java
Author: markt Date: Tue Aug 7 19:53:09 2012 New Revision: 1370474 URL: http://svn.apache.org/viewvc?rev=1370474&view=rev Log: Remove unused code Removed: tomcat/trunk/java/org/apache/catalina/tribes/Constants.java - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370475 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/tribes/Constants.java
Author: markt Date: Tue Aug 7 19:54:29 2012 New Revision: 1370475 URL: http://svn.apache.org/viewvc?rev=1370475&view=rev Log: Deprecate unused code Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/Constants.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1370386,1370473 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/Constants.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/Constants.java?rev=1370475&r1=1370474&r2=1370475&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/Constants.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/Constants.java Tue Aug 7 19:54:29 2012 @@ -25,8 +25,10 @@ package org.apache.catalina.tribes; * @author Bip Thelin * @author Filip Hanik * @version $Id$ + * + * @deprecated Unused - will be removed in 8.0.x */ - +@Deprecated public final class Constants { public static final String Package = "org.apache.catalina.tribes"; } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370479 - in /tomcat/trunk/java/org/apache/catalina/users: MemoryGroup.java MemoryRole.java MemoryUser.java MemoryUserDatabase.java
Author: markt Date: Tue Aug 7 19:59:00 2012 New Revision: 1370479 URL: http://svn.apache.org/viewvc?rev=1370479&view=rev Log: Code clean-up for o.a.catalina.users - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryGroup.java tomcat/trunk/java/org/apache/catalina/users/MemoryRole.java tomcat/trunk/java/org/apache/catalina/users/MemoryUser.java tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryGroup.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryGroup.java?rev=1370479&r1=1370478&r2=1370479&view=diff == --- tomcat/trunk/java/org/apache/catalina/users/MemoryGroup.java (original) +++ tomcat/trunk/java/org/apache/catalina/users/MemoryGroup.java Tue Aug 7 19:59:00 2012 @@ -67,13 +67,13 @@ public class MemoryGroup extends Abstrac /** * The {@link MemoryUserDatabase} that owns this group. */ -protected MemoryUserDatabase database = null; +protected final MemoryUserDatabase database; /** * The set of {@link Role}s associated with this group. */ -protected ArrayList roles = new ArrayList(); +protected final ArrayList roles = new ArrayList<>(); // - Properties @@ -109,7 +109,7 @@ public class MemoryGroup extends Abstrac @Override public Iterator getUsers() { -ArrayList results = new ArrayList(); +ArrayList results = new ArrayList<>(); Iterator users = database.getUsers(); while (users.hasNext()) { User user = users.next(); Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryRole.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryRole.java?rev=1370479&r1=1370478&r2=1370479&view=diff == --- tomcat/trunk/java/org/apache/catalina/users/MemoryRole.java (original) +++ tomcat/trunk/java/org/apache/catalina/users/MemoryRole.java Tue Aug 7 19:59:00 2012 @@ -62,7 +62,7 @@ public class MemoryRole extends Abstract /** * The {@link MemoryUserDatabase} that owns this role. */ -protected MemoryUserDatabase database = null; +protected final MemoryUserDatabase database; // - Properties Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUser.java?rev=1370479&r1=1370478&r2=1370479&view=diff == --- tomcat/trunk/java/org/apache/catalina/users/MemoryUser.java (original) +++ tomcat/trunk/java/org/apache/catalina/users/MemoryUser.java Tue Aug 7 19:59:00 2012 @@ -69,19 +69,19 @@ public class MemoryUser extends Abstract /** * The {@link MemoryUserDatabase} that owns this user. */ -protected MemoryUserDatabase database = null; +protected final MemoryUserDatabase database; /** * The set of {@link Group}s that this user is a member of. */ -protected ArrayList groups = new ArrayList(); +protected final ArrayList groups = new ArrayList<>(); /** * The set of {@link Role}s associated with this user. */ -protected ArrayList roles = new ArrayList(); +protected final ArrayList roles = new ArrayList<>(); // - Properties Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=1370479&r1=1370478&r2=1370479&view=diff == --- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java (original) +++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Tue Aug 7 19:59:00 2012 @@ -79,7 +79,7 @@ public class MemoryUserDatabase implemen * The set of {@link Group}s defined in this database, keyed by * group name. */ -protected final HashMap groups = new HashMap(); +protected final HashMap groups = new HashMap<>(); /** @@ -118,7 +118,7 @@ public class MemoryUserDatabase implemen * The set of {@link Role}s defined in this database, keyed by * role name. */ -protected final HashMap roles = new HashMap(); +protected final HashMap roles = new HashMap<>(); /** @@ -132,7 +132,7 @@ public class MemoryUserDatabase implemen * The set of {@link User}s defined in this database, keyed by * user name. */ -protected final HashMap users = new HashMap(); +pr
svn commit: r1370482 - in /tomcat/trunk: java/org/apache/catalina/ java/org/apache/catalina/core/ java/org/apache/catalina/mapper/ java/org/apache/catalina/startup/ webapps/docs/
Author: markt Date: Tue Aug 7 20:01:34 2012 New Revision: 1370482 URL: http://svn.apache.org/viewvc?rev=1370482&view=rev Log: More Mapper clean-up. Remove the per Context Mappers Modified: tomcat/trunk/java/org/apache/catalina/Context.java tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java tomcat/trunk/java/org/apache/catalina/core/StandardContext.java tomcat/trunk/java/org/apache/catalina/mapper/Mapper.java tomcat/trunk/java/org/apache/catalina/mapper/MapperListener.java tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/Context.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1370482&r1=1370481&r2=1370482&view=diff == --- tomcat/trunk/java/org/apache/catalina/Context.java (original) +++ tomcat/trunk/java/org/apache/catalina/Context.java Tue Aug 7 20:01:34 2012 @@ -35,7 +35,6 @@ import org.apache.catalina.deploy.Filter import org.apache.catalina.deploy.LoginConfig; import org.apache.catalina.deploy.NamingResources; import org.apache.catalina.deploy.SecurityConstraint; -import org.apache.catalina.mapper.Mapper; import org.apache.tomcat.JarScanner; /** @@ -413,12 +412,6 @@ public interface Context extends Contain /** - * Get the request dispatcher mapper. - */ -public Mapper getMapper(); - - -/** * Return the naming resources associated with this web application. */ public NamingResources getNamingResources(); Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1370482&r1=1370481&r2=1370482&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Tue Aug 7 20:01:34 2012 @@ -120,6 +120,7 @@ public class ApplicationContext public ApplicationContext(StandardContext context) { super(); this.context = context; +this.service = ((Engine) context.getParent().getParent()).getService(); // Populate session tracking modes populateSessionTrackingModes(); @@ -149,10 +150,17 @@ public class ApplicationContext /** + * The Service instance with which we are associated. + */ +private final Service service; + + +/** * Empty String collection to serve as the basis for empty enumerations. */ private static final List emptyString = Collections.emptyList(); + /** * Empty Servlet collection to serve as the basis for empty enumerations. */ @@ -454,7 +462,7 @@ public class ApplicationContext semicolon = -1; } uriCC.append(normalizedPath, 0, semicolon > 0 ? semicolon : pos); -context.getMapper().map(uriMB, mappingData); +service.getMapper().map(context, uriMB, mappingData); if (mappingData.wrapper == null) { return (null); } Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1370482&r1=1370481&r2=1370482&view=diff == --- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Tue Aug 7 20:01:34 2012 @@ -433,13 +433,6 @@ public class StandardContext extends Con /** - * The mapper associated with this context. - */ -private org.apache.catalina.mapper.Mapper mapper = -new org.apache.catalina.mapper.Mapper(); - - -/** * The Manager implementation with which this Container is associated. */ protected Manager manager = null; @@ -2061,15 +2054,6 @@ public class StandardContext extends Con /** - * Get the mapper associated with the context. - */ -@Override -public org.apache.catalina.mapper.Mapper getMapper() { -return (mapper); -} - - -/** * Return the naming resources associated with this web application. */ @Override @@ -3248,19 +3232,13 @@ public class StandardContext extends Con // Don't allow more than one servlet on the same pattern Wrapper wrapper = (Wrapper) findChild(name2); wrapper.removeMapping(decodedPattern); -mapper.removeWrapper(decodedPattern); } servletMappings.put(decodedPattern, name); } Wrapper wrapper = (Wrapper) findChild(name); wrapper.addMapping(decodedPatter
svn commit: r1370483 - /tomcat/trunk/TOMCAT-NEXT.txt
Author: markt Date: Tue Aug 7 20:03:27 2012 New Revision: 1370483 URL: http://svn.apache.org/viewvc?rev=1370483&view=rev Log: Progress update Modified: tomcat/trunk/TOMCAT-NEXT.txt Modified: tomcat/trunk/TOMCAT-NEXT.txt URL: http://svn.apache.org/viewvc/tomcat/trunk/TOMCAT-NEXT.txt?rev=1370483&r1=1370482&r2=1370483&view=diff == --- tomcat/trunk/TOMCAT-NEXT.txt (original) +++ tomcat/trunk/TOMCAT-NEXT.txt Tue Aug 7 20:03:27 2012 @@ -35,15 +35,13 @@ but possibly 7.1.x). 5. Run the unused code detector and remove everything that isn't currently used. Add deprecation markers for the removed code to Tomcat 7.0.x - Complete for javax.* -- Complete for o.a.catalina.[ant to startup] +- Complete for o.a.catalina.[ant to users] - Remaining code in progress 6. Change the default URIEncoding on the connector to UTF-8. 7. Rip out all the JNDI code in resource handling and replace it with straight URLs (File or WAR). -Supporting re-factoring to consider arising from the above -- Remove Mapper from Context - use Mapper from Service 8. Review the connector shutdown code for timing and threading issues particularly any that may result in a client socket being left open after a @@ -60,7 +58,7 @@ but possibly 7.1.x). 12. Java 7 updates - Use of <> operator where possible - Complete for javax.* - - Complete for o.a.catalina.[ant to startup] + - Complete for o.a.catalina.[ant to users] - Not started for remainder - Use of try with resources - Not started @@ -69,5 +67,5 @@ but possibly 7.1.x). 13. Fix all FindBugs warnings - Complete for javax.* -- Complete for o.a.catalina.[ant to startup] +- Complete for o.a.catalina.[ant to users] - Remaining code in progress - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370537 - /tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
Author: markt Date: Tue Aug 7 21:29:18 2012 New Revision: 1370537 URL: http://svn.apache.org/viewvc?rev=1370537&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53584 Ignore path parameters when comparing URIs for FORM authentication. This prevents users being prompted twice for passwords when logging in when session IDs are being encoded as path parameters. Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1370537&r1=1370536&r2=1370537&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Tue Aug 7 21:29:18 2012 @@ -475,7 +475,7 @@ public class FormAuthenticator } // Does the request URI match? - String requestURI = request.getRequestURI(); + String requestURI = request.getDecodedRequestURI(); if (requestURI == null) { return (false); } @@ -635,7 +635,7 @@ public class FormAuthenticator saved.setMethod(request.getMethod()); saved.setQueryString(request.getQueryString()); -saved.setRequestURI(request.getRequestURI()); +saved.setRequestURI(request.getDecodedRequestURI()); // Stash the SavedRequest in our session for later use session.setNote(Constants.FORM_REQUEST_NOTE, saved); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370540 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/authenticator/FormAuthenticator.java webapps/docs/changelog.xml
Author: markt Date: Tue Aug 7 21:30:49 2012 New Revision: 1370540 URL: http://svn.apache.org/viewvc?rev=1370540&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53584 Ignore path parameters when comparing URIs for FORM authentication. This prevents users being prompted twice for passwords when logging in when session IDs are being encoded as path parameters. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1370537 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1370540&r1=1370539&r2=1370540&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Tue Aug 7 21:30:49 2012 @@ -498,7 +498,7 @@ public class FormAuthenticator } // Does the request URI match? - String requestURI = request.getRequestURI(); + String requestURI = request.getDecodedRequestURI(); if (requestURI == null) { return (false); } @@ -658,7 +658,7 @@ public class FormAuthenticator saved.setMethod(request.getMethod()); saved.setQueryString(request.getQueryString()); -saved.setRequestURI(request.getRequestURI()); +saved.setRequestURI(request.getDecodedRequestURI()); // Stash the SavedRequest in our session for later use session.setNote(Constants.FORM_REQUEST_NOTE, saved); Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1370540&r1=1370539&r2=1370540&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Tue Aug 7 21:30:49 2012 @@ -89,6 +89,12 @@ 53535: Reduce memory footprint when performing class scanning on Context start. Patch provided by Cedomir Igaly. (markt) + +53584: Ignore path parameters when comparing URIs for FORM +authentication. This prevents users being prompted twice for passwords +when logging in when session IDs are being encoded as path parameters. +(markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370544 - /tomcat/tc6.0.x/trunk/STATUS.txt
Author: markt Date: Tue Aug 7 21:33:10 2012 New Revision: 1370544 URL: http://svn.apache.org/viewvc?rev=1370544&view=rev Log: Proposal Modified: tomcat/tc6.0.x/trunk/STATUS.txt Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1370544&r1=1370543&r2=1370544&view=diff == --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Tue Aug 7 21:33:10 2012 @@ -170,6 +170,15 @@ PATCHES PROPOSED TO BACKPORT: +1: kfujino -1: +* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53584 + Ignore path parameters when comparing URIs for FORM authentication. This + prevents users being prompted twice for passwords when logging in when session + IDs are being encoded as path parameters. + http://svn.apache.org/viewvc?rev=1370537&view=rev + +1: markt + -1: + + PATCHES/ISSUES THAT ARE STALLED * Backport JSP unloading patch (BZ48358). - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53584] Forms authentication without cookies requires double submission in 6.0.33
https://issues.apache.org/bugzilla/show_bug.cgi?id=53584 Mark Thomas changed: What|Removed |Added OS||All --- Comment #1 from Mark Thomas --- Thanks for an excellent bug report. The issue was a real pleasure to investigate - not just because the root cause was interesting but because I could focus on the interesting bits rather than having to waste time trying to build the test WAR using the current flavour of the month for scm and/or build tool and/or source layout. Simple WARs are *SO* much easier to work with. The clear steps to re-create the issue were also extremely helpful. So again, thank-you. The root cause is that as of 6.0.33 path parameters are included the value returned from HttpServletRequest.getRequestURI(). During the FORM auth, one of the checks post authentication is "Does the current URI equal the original URI?" The problem is that the current URI always contains the session ID as a path parameter whereas the first time through the authentication the original URI does not. This issue also affects trunk and 7.0.x. I have fixed this issue in trunk and 7.0.x for 7.0.30 onwards and proposed the fix for 6.0.x. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53633] Scope of Realm expanded when using SSO
https://issues.apache.org/bugzilla/show_bug.cgi?id=53633 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #1 from Mark Thomas --- As per the docs, if you use SSO all contexts must use the same Realm. The behaviour is undefined if you don't follow that requirement. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370549 - /tomcat/trunk/BUILDING.txt
Author: markt Date: Tue Aug 7 21:44:37 2012 New Revision: 1370549 URL: http://svn.apache.org/viewvc?rev=1370549&view=rev Log: Updating JDK version. Add reference to OpenJDK Modified: tomcat/trunk/BUILDING.txt Modified: tomcat/trunk/BUILDING.txt URL: http://svn.apache.org/viewvc/tomcat/trunk/BUILDING.txt?rev=1370549&r1=1370548&r2=1370549&view=diff == --- tomcat/trunk/BUILDING.txt (original) +++ tomcat/trunk/BUILDING.txt Tue Aug 7 21:44:37 2012 @@ -37,10 +37,12 @@ source distribution, do the following: 1. If the JDK is already installed, skip to (2). - 2. Download a Java Development Kit (JDK) release (version 1.6.x or later) -from: + 2. Download a version 7 or later Java Development Kit (JDK) release (use the +latest update available for your chosen version) from one of: http://www.oracle.com/technetwork/java/javase/downloads/index.html +http://openjdk.java.net/install/index.html +or another JDK vendor 3. Install the JDK according to the instructions included with the release. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53601] tomcat7 build fails with jdk1.6
https://issues.apache.org/bugzilla/show_bug.cgi?id=53601 Mark Thomas changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |INVALID --- Comment #4 from Mark Thomas --- trunk != 7.0.x/trunk hence closing this as INVALID. Maybe we need to start an 8.0.x BZ project for 8.0.x specific issues. I have updated the building instructions for trunk and also included a reference to OpenJDK and other JDK vendors although on this occasion I did not use the provided patch. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370553 - /tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java
Author: markt Date: Tue Aug 7 21:51:30 2012 New Revision: 1370553 URL: http://svn.apache.org/viewvc?rev=1370553&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53641 Correct name of HTTP header used in WebSocket handshake for listing the preferred protocols Modified: tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java Modified: tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java?rev=1370553&r1=1370552&r2=1370553&view=diff == --- tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java Tue Aug 7 21:51:30 2012 @@ -94,7 +94,7 @@ public abstract class WebSocketServlet e } List subProtocols = getTokensFromHeader(req, -"Sec-WebSocket-Protocol-Client"); +"Sec-WebSocket-Protocol"); if (!subProtocols.isEmpty()) { subProtocol = selectSubProtocol(subProtocols); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370554 - /tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java
Author: markt Date: Tue Aug 7 21:52:06 2012 New Revision: 1370554 URL: http://svn.apache.org/viewvc?rev=1370554&view=rev Log: Java 7 <> updates Modified: tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java Modified: tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java?rev=1370554&r1=1370553&r2=1370554&view=diff == --- tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java Tue Aug 7 21:52:06 2012 @@ -53,7 +53,7 @@ public abstract class WebSocketServlet e StringManager.getManager(Constants.Package); private final Queue sha1Helpers = -new ConcurrentLinkedQueue(); +new ConcurrentLinkedQueue<>(); @Override @@ -162,7 +162,7 @@ public abstract class WebSocketServlet e */ private List getTokensFromHeader(HttpServletRequest req, String headerName) { -List result = new ArrayList(); +List result = new ArrayList<>(); Enumeration headers = req.getHeaders(headerName); while (headers.hasMoreElements()) { - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370556 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/websocket/WebSocketServlet.java webapps/docs/changelog.xml
Author: markt Date: Tue Aug 7 21:54:06 2012 New Revision: 1370556 URL: http://svn.apache.org/viewvc?rev=1370556&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53641 Correct name of HTTP header used in WebSocket handshake for listing the preferred protocols Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1370553 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java?rev=1370556&r1=1370555&r2=1370556&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/websocket/WebSocketServlet.java Tue Aug 7 21:54:06 2012 @@ -94,7 +94,7 @@ public abstract class WebSocketServlet e } List subProtocols = getTokensFromHeader(req, -"Sec-WebSocket-Protocol-Client"); +"Sec-WebSocket-Protocol"); if (!subProtocols.isEmpty()) { subProtocol = selectSubProtocol(subProtocols); Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1370556&r1=1370555&r2=1370556&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Tue Aug 7 21:54:06 2012 @@ -95,6 +95,10 @@ when logging in when session IDs are being encoded as path parameters. (markt) + +53641: Correct name of HTTP header used in WebSocket +handshake for listing the preferred protocols. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53641] Wrong websocket's subprotocol implementation
https://issues.apache.org/bugzilla/show_bug.cgi?id=53641 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Mark Thomas --- Fixed in trunk and 7.0.x and will be included in 7.0.30 onwards. Thanks for the report. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1370569 - /tomcat/trunk/java/org/apache/catalina/util/
Author: markt Date: Tue Aug 7 22:13:00 2012 New Revision: 1370569 URL: http://svn.apache.org/viewvc?rev=1370569&view=rev Log: Code clean-up for o.a.catalina.util - Add final prompted by UCDetector - Java 7 use of <> Modified: tomcat/trunk/java/org/apache/catalina/util/Base64.java tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java tomcat/trunk/java/org/apache/catalina/util/InstanceSupport.java tomcat/trunk/java/org/apache/catalina/util/Introspection.java tomcat/trunk/java/org/apache/catalina/util/LifecycleBase.java tomcat/trunk/java/org/apache/catalina/util/LifecycleMBeanBase.java tomcat/trunk/java/org/apache/catalina/util/LifecycleSupport.java tomcat/trunk/java/org/apache/catalina/util/MIME2Java.java tomcat/trunk/java/org/apache/catalina/util/ManifestResource.java tomcat/trunk/java/org/apache/catalina/util/SchemaResolver.java tomcat/trunk/java/org/apache/catalina/util/ServerInfo.java tomcat/trunk/java/org/apache/catalina/util/SessionIdGenerator.java tomcat/trunk/java/org/apache/catalina/util/Strftime.java tomcat/trunk/java/org/apache/catalina/util/URLEncoder.java tomcat/trunk/java/org/apache/catalina/util/XMLWriter.java Modified: tomcat/trunk/java/org/apache/catalina/util/Base64.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/Base64.java?rev=1370569&r1=1370568&r2=1370569&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/Base64.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/Base64.java Tue Aug 7 22:13:00 2012 @@ -33,16 +33,16 @@ import org.apache.tomcat.util.buf.CharCh */ public final class Base64 { -private static final int BASELENGTH = 255; -private static final int LOOKUPLENGTH = 64; -private static final int TWENTYFOURBITGROUP = 24; -private static final int EIGHTBIT = 8; -private static final int SIXTEENBIT = 16; -private static final int FOURBYTE = 4; -private static final int SIGN = -128; -private static final byte PAD= (byte) '='; -private static byte [] base64Alphabet = new byte[BASELENGTH]; -private static byte [] lookUpBase64Alphabet = new byte[LOOKUPLENGTH]; +private static final int BASELENGTH = 255; +private static final int LOOKUPLENGTH= 64; +private static final int TWENTYFOURBITGROUP = 24; +private static final int EIGHTBIT= 8; +private static final int SIXTEENBIT = 16; +private static final int FOURBYTE= 4; +private static final int SIGN= -128; +private static final byte PAD = (byte) '='; +private static final byte [] base64Alphabet = new byte[BASELENGTH]; +private static final byte [] lookUpBase64Alphabet = new byte[LOOKUPLENGTH]; static { Modified: tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java?rev=1370569&r1=1370568&r2=1370569&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/CustomObjectInputStream.java Tue Aug 7 22:13:00 2012 @@ -40,7 +40,7 @@ public final class CustomObjectInputStre /** * The class loader we will use to resolve classes. */ -private ClassLoader classLoader = null; +private final ClassLoader classLoader; /** Modified: tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java?rev=1370569&r1=1370568&r2=1370569&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/DOMWriter.java Tue Aug 7 22:13:00 2012 @@ -42,7 +42,7 @@ public class DOMWriter { private static String PRINTWRITER_ENCODING = "UTF8"; - private static String MIME2JAVA_ENCODINGS[] = + private static final String MIME2JAVA_ENCODINGS[] = { "Default", "UTF-8", "US-ASCII", "ISO-8859-1", "ISO-8859-2", "ISO-8859-3", "ISO-8859-4", "ISO-8859-5", "ISO-8859-6", "ISO-8859-7", "ISO-8859-8", "ISO-8859-9", "ISO-2022-JP", "SHIFT_JIS", "EUC-JP","GB2312", "BIG5", "EUC-KR", "ISO-2022-KR", "KOI8-R", "EBCDIC-CP-US", @@ -56,10 +56,10 @@ public class DOMWriter { private boolean qualifiedNames = true; /** Print writer. */ - protected PrintWriter
svn commit: r1370570 - /tomcat/trunk/java/org/apache/catalina/util/ServerInfo.java
Author: markt Date: Tue Aug 7 22:13:47 2012 New Revision: 1370570 URL: http://svn.apache.org/viewvc?rev=1370570&view=rev Log: Version update Modified: tomcat/trunk/java/org/apache/catalina/util/ServerInfo.java Modified: tomcat/trunk/java/org/apache/catalina/util/ServerInfo.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ServerInfo.java?rev=1370570&r1=1370569&r2=1370570&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/ServerInfo.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/ServerInfo.java Tue Aug 7 22:13:47 2012 @@ -73,11 +73,11 @@ public class ServerInfo { ExceptionUtils.handleThrowable(t); } if (info == null) -info = "Apache Tomcat 7.0.x-dev"; +info = "Apache Tomcat 8.0.x-dev"; if (built == null) built = "unknown"; if (number == null) -number = "7.0.x"; +number = "8.0.x"; serverInfo = info; serverBuilt = built; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53677] New: ArrayIndexOutOfBoundsException when response header exceeds maxHttpHeaderSize
https://issues.apache.org/bugzilla/show_bug.cgi?id=53677 Priority: P2 Bug ID: 53677 Assignee: dev@tomcat.apache.org Summary: ArrayIndexOutOfBoundsException when response header exceeds maxHttpHeaderSize Severity: normal Classification: Unclassified Reporter: dan...@gmail.com Hardware: PC Status: NEW Version: 6.0.35 Component: Catalina Product: Tomcat 6 Created attachment 29184 --> https://issues.apache.org/bugzilla/attachment.cgi?id=29184&action=edit Small sample web app When a servlet adds enough information to a response exceed the maxHttpHeaderSize limitconfigured for an HTTP 1.1 connector, an ArrayIndexOutOfBoundsException is thrown by Tomcat (example stacktrace below), and the connection is closed without writing any data. In a scenario like this, should a response with a status of 500 be returned to indicate a server error? (and perhaps the server should log a message indicating that the limit has been exceeded for a response, instead of throwing an ArrayIndexOutOfBoundsException?) This issue can be reproduced by testing with a servlet that implements this contrived doGet method (sample application with this is attached): protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { char[] bigBuffer = new char[1024 * 8]; Arrays.fill(bigBuffer, 'a'); response.setHeader("x-example", new String(bigBuffer)); response.setContentType("text/plain"); response.setCharacterEncoding("ISO-8859-1"); Writer out = response.getWriter(); out.write("Hello!"); out.close(); } This has been observed under the following configurations: Tomcat 6.0.26/Oracle JDK 1.6.0_25 (64-bit)/SUSE Linux 10 Tomcat 6.0.35/Oracle JDK 1.7.0 (64-bit)/Windows 7 - Tomcat is not running behind a web server in any of these configurations - The connector being used in both cases is Coyote HTTP/1.1 Stacktrace: Aug 07, 2012 6:11:26 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet SampleServlet threw exception java.lang.ArrayIndexOutOfBoundsException: 8192 at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:730) at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:641) at org.apache.coyote.http11.InternalOutputBuffer.sendHeader(InternalOutputBuffer.java:514) at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1637) at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956) at org.apache.coyote.Response.action(Response.java:183) at org.apache.coyote.Response.sendHeaders(Response.java:379) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:314) at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:274) at org.apache.catalina.connector.CoyoteWriter.close(CoyoteWriter.java:108) at com.example.SampleServlet.doGet(SampleServlet.java:36) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source) Aug 07, 2012 6:11:26 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet SampleServlet threw exception java.lang.ArrayIndexOutOfBoundsException: 8192 at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:730) at org.apache.coyote.http11.InternalOutputBuffer.write(InternalOutputBuffer.java:641) at org.apache.coyote.http11.InternalOutputBuffer.sendHeader(InternalOutputBuffer.java:514) at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1637) at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956) at org.apache.coyote.Response