You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/08/16 17:39:41 UTC
svn commit: r1514752 - in /tomcat/tc7.0.x/trunk/modules/websocket/java:
javax/websocket/ javax/websocket/server/ org/apache/tomcat/websocket/
org/apache/tomcat/websocket/pojo/ org/apache/tomcat/websocket/server/
Author: markt
Date: Fri Aug 16 15:39:41 2013
New Revision: 1514752
URL: http://svn.apache.org/r1514752
Log:
Remove most uses of Java 7 from implementation code
Modified:
tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/ContainerProvider.java
tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/DefaultClientEndpointConfig.java
tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/DefaultServerEndpointConfig.java
tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/ServerEndpointConfig.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/BackgroundProcessManager.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/Util.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsSession.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UpgradeUtil.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UriTemplate.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsSci.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsServerContainer.java
tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/ContainerProvider.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/ContainerProvider.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/ContainerProvider.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/ContainerProvider.java Fri Aug 16 15:39:41 2013
@@ -49,8 +49,11 @@ public abstract class ContainerProvider
(Class<WebSocketContainer>) Class.forName(
DEFAULT_PROVIDER_CLASS_NAME);
result = clazz.newInstance();
- } catch (ClassNotFoundException | InstantiationException |
- IllegalAccessException e) {
+ } catch (ClassNotFoundException e) {
+ // No options left. Just return null.
+ } catch (InstantiationException e) {
+ // No options left. Just return null.
+ } catch (IllegalAccessException e) {
// No options left. Just return null.
}
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/DefaultClientEndpointConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/DefaultClientEndpointConfig.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/DefaultClientEndpointConfig.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/DefaultClientEndpointConfig.java Fri Aug 16 15:39:41 2013
@@ -26,7 +26,7 @@ final class DefaultClientEndpointConfig
private final List<Extension> extensions;
private final List<Class<? extends Encoder>> encoders;
private final List<Class<? extends Decoder>> decoders;
- private final Map<String,Object> userProperties = new ConcurrentHashMap<>();
+ private final Map<String,Object> userProperties = new ConcurrentHashMap<String, Object>();
private final Configurator configurator;
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/DefaultServerEndpointConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/DefaultServerEndpointConfig.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/DefaultServerEndpointConfig.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/DefaultServerEndpointConfig.java Fri Aug 16 15:39:41 2013
@@ -36,7 +36,7 @@ final class DefaultServerEndpointConfig
private final List<Class<? extends Encoder>> encoders;
private final List<Class<? extends Decoder>> decoders;
private final Configurator serverEndpointConfigurator;
- private final Map<String,Object> userProperties = new ConcurrentHashMap<>();
+ private final Map<String,Object> userProperties = new ConcurrentHashMap<String, Object>();
DefaultServerEndpointConfig(
Class<?> endpointClass, String path,
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/ServerEndpointConfig.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/ServerEndpointConfig.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/ServerEndpointConfig.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/javax/websocket/server/ServerEndpointConfig.java Fri Aug 16 15:39:41 2013
@@ -175,8 +175,11 @@ public interface ServerEndpointConfig ex
(Class<Configurator>) Class.forName(
DEFAULT_IMPL_CLASSNAME);
result = clazz.newInstance();
- } catch (ClassNotFoundException | InstantiationException |
- IllegalAccessException e) {
+ } catch (ClassNotFoundException e) {
+ // No options left. Just return null.
+ } catch (InstantiationException e) {
+ // No options left. Just return null.
+ } catch (IllegalAccessException e) {
// No options left. Just return null.
}
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java Fri Aug 16 15:39:41 2013
@@ -73,7 +73,7 @@ public class AsyncChannelWrapperSecure i
@Override
public Future<Integer> read(ByteBuffer dst) {
- WrapperFuture<Integer,Void> future = new WrapperFuture<>();
+ WrapperFuture<Integer,Void> future = new WrapperFuture<Integer, Void>();
if (!reading.compareAndSet(false, true)) {
throw new IllegalStateException(sm.getString(
@@ -107,7 +107,7 @@ public class AsyncChannelWrapperSecure i
@Override
public Future<Integer> write(ByteBuffer src) {
- WrapperFuture<Long,Void> inner = new WrapperFuture<>();
+ WrapperFuture<Long,Void> inner = new WrapperFuture<Long, Void>();
if (!writing.compareAndSet(false, true)) {
throw new IllegalStateException(sm.getString(
@@ -153,7 +153,7 @@ public class AsyncChannelWrapperSecure i
@Override
public Future<Void> handshake() throws SSLException {
- WrapperFuture<Void,Void> wFuture = new WrapperFuture<>();
+ WrapperFuture<Void,Void> wFuture = new WrapperFuture<Void, Void>();
Thread t = new WebSocketSslHandshakeThread(wFuture);
t.start();
@@ -404,8 +404,11 @@ public class AsyncChannelWrapperSecure i
}
}
}
- } catch (SSLException | InterruptedException |
- ExecutionException e) {
+ } catch (SSLException e) {
+ hFuture.fail(e);
+ } catch (InterruptedException e) {
+ hFuture.fail(e);
+ } catch (ExecutionException e) {
hFuture.fail(e);
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/BackgroundProcessManager.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/BackgroundProcessManager.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/BackgroundProcessManager.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/BackgroundProcessManager.java Fri Aug 16 15:39:41 2013
@@ -47,7 +47,7 @@ public class BackgroundProcessManager {
return instance;
}
- private final Set<BackgroundProcess> processes = new HashSet<>();
+ private final Set<BackgroundProcess> processes = new HashSet<BackgroundProcess>();
private final Object processesLock = new Object();
private WsBackgroundThread wsBackgroundThread = null;
@@ -82,7 +82,7 @@ public class BackgroundProcessManager {
private void process() {
- Set<BackgroundProcess> currentProcesses = new HashSet<>();
+ Set<BackgroundProcess> currentProcesses = new HashSet<BackgroundProcess>();
synchronized (processesLock) {
currentProcesses.addAll(processes);
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/Util.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/Util.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/Util.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/Util.java Fri Aug 16 15:39:41 2013
@@ -58,7 +58,7 @@ public class Util {
private static final StringManager sm =
StringManager.getManager(Constants.PACKAGE_NAME);
private static final Queue<SecureRandom> randoms =
- new ConcurrentLinkedQueue<>();
+ new ConcurrentLinkedQueue<SecureRandom>();
private Util() {
// Hide default constructor
@@ -289,7 +289,7 @@ public class Util {
Class<? extends Decoder>[] decoderClazzes)
throws DeploymentException{
- List<DecoderEntry> result = new ArrayList<>();
+ List<DecoderEntry> result = new ArrayList<DecoderEntry>();
for (Class<? extends Decoder> decoderClazz : decoderClazzes) {
// Need to instantiate decoder to ensure it is valid and that
// deployment can be failed if it is not
@@ -297,7 +297,11 @@ public class Util {
Decoder instance;
try {
instance = decoderClazz.newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ throw new DeploymentException(
+ sm.getString("pojoMethodMapping.invalidDecoder",
+ decoderClazz.getName()), e);
+ } catch (IllegalAccessException e) {
throw new DeploymentException(
sm.getString("pojoMethodMapping.invalidDecoder",
decoderClazz.getName()), e);
@@ -318,7 +322,7 @@ public class Util {
Class<?> target = Util.getMessageType(listener);
// Will never be more than 2 types
- Set<MessageHandlerResult> results = new HashSet<>(2);
+ Set<MessageHandlerResult> results = new HashSet<MessageHandlerResult>(2);
// Simple cases - handlers already accepts one of the types expected by
// the frame handling code
@@ -409,7 +413,10 @@ public class Util {
private static Method getOnMessageMethod(MessageHandler listener) {
try {
return listener.getClass().getMethod("onMessage", Object.class);
- } catch (NoSuchMethodException | SecurityException e) {
+ } catch (NoSuchMethodException e) {
+ throw new IllegalArgumentException(
+ sm.getString("util.invalidMessageHandler"), e);
+ } catch ( SecurityException e) {
throw new IllegalArgumentException(
sm.getString("util.invalidMessageHandler"), e);
}
@@ -418,9 +425,9 @@ public class Util {
public static class DecoderMatch {
private final List<Class<? extends Decoder>> textDecoders =
- new ArrayList<>();
+ new ArrayList<Class<? extends Decoder>>();
private final List<Class<? extends Decoder>> binaryDecoders =
- new ArrayList<>();
+ new ArrayList<Class<? extends Decoder>>();
public DecoderMatch(Class<?> target, List<DecoderEntry> decoderEntries) {
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsRemoteEndpointImplBase.java Fri Aug 16 15:39:41 2013
@@ -61,7 +61,7 @@ public abstract class WsRemoteEndpointIm
private final Log log = LogFactory.getLog(WsRemoteEndpointImplBase.class);
private boolean messagePartInProgress = false;
- private final Queue<MessagePart> messagePartQueue = new ArrayDeque<>();
+ private final Queue<MessagePart> messagePartQueue = new ArrayDeque<MessagePart>();
private final Object messagePartLock = new Object();
private boolean dataMessageInProgress = false;
@@ -80,7 +80,7 @@ public abstract class WsRemoteEndpointIm
private final AtomicBoolean batchingAllowed = new AtomicBoolean(false);
private volatile long sendTimeout = -1;
private WsSession wsSession;
- private List<EncoderEntry> encoderEntries = new ArrayList<>();
+ private List<EncoderEntry> encoderEntries = new ArrayList<EncoderEntry>();
public long getSendTimeout() {
return sendTimeout;
@@ -198,8 +198,11 @@ public abstract class WsRemoteEndpointIm
} else {
f2sh.get(timeout, TimeUnit.MILLISECONDS);
}
- } catch (InterruptedException | ExecutionException |
- TimeoutException e) {
+ } catch (InterruptedException e) {
+ throw new IOException(e);
+ } catch (ExecutionException e) {
+ throw new IOException(e);
+ } catch (TimeoutException e) {
throw new IOException(e);
}
}
@@ -216,8 +219,11 @@ public abstract class WsRemoteEndpointIm
} else {
f2sh.get(timeout, TimeUnit.MILLISECONDS);
}
- } catch (InterruptedException | ExecutionException |
- TimeoutException e) {
+ } catch (InterruptedException e) {
+ throw new IOException(e);
+ } catch (ExecutionException e) {
+ throw new IOException(e);
+ } catch (TimeoutException e) {
throw new IOException(e);
}
}
@@ -437,7 +443,9 @@ public abstract class WsRemoteEndpointIm
Future<Void> f = sendObjectByFuture(obj);
try {
f.get();
- } catch (InterruptedException | ExecutionException e) {
+ } catch (InterruptedException e) {
+ throw new IOException(e);
+ } catch (ExecutionException e) {
throw new IOException(e);
}
}
@@ -465,23 +473,46 @@ public abstract class WsRemoteEndpointIm
String msg = ((Encoder.Text) encoder).encode(obj);
sendStringByCompletion(msg, completion);
} else if (encoder instanceof Encoder.TextStream) {
- try (Writer w = getSendWriter()) {
+ Writer w = null;
+ try {
+ w = getSendWriter();
((Encoder.TextStream) encoder).encode(obj, w);
+ } finally {
+ if (w != null) {
+ try {
+ w.close();
+ } catch (IOException ioe) {
+ // Ignore
+ }
+ }
}
completion.onResult(new SendResult());
} else if (encoder instanceof Encoder.Binary) {
ByteBuffer msg = ((Encoder.Binary) encoder).encode(obj);
sendBytesByCompletion(msg, completion);
} else if (encoder instanceof Encoder.BinaryStream) {
- try (OutputStream os = getSendStream()) {
+ OutputStream os = null;
+ try {
+ os = getSendStream();
((Encoder.BinaryStream) encoder).encode(obj, os);
+ } finally {
+ if (os != null) {
+ try {
+ os.close();
+ } catch (IOException ioe) {
+ // Ignore
+ }
+ }
}
completion.onResult(new SendResult());
} else {
throw new EncodeException(obj, sm.getString(
"wsRemoteEndpoint.noEncoder", obj.getClass()));
}
- } catch (EncodeException | IOException e) {
+ } catch (EncodeException e) {
+ SendResult sr = new SendResult(e);
+ completion.onResult(sr);
+ } catch (IOException e) {
SendResult sr = new SendResult(e);
completion.onResult(sr);
}
@@ -502,7 +533,11 @@ public abstract class WsRemoteEndpointIm
try {
instance = encoderClazz.newInstance();
instance.init(endpointConfig);
- } catch (InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ throw new DeploymentException(
+ sm.getString("wsRemoteEndpoint.invalidEncoder",
+ encoderClazz.getName()), e);
+ } catch (IllegalAccessException e) {
throw new DeploymentException(
sm.getString("wsRemoteEndpoint.invalidEncoder",
encoderClazz.getName()), e);
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsSession.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsSession.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsSession.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsSession.java Fri Aug 16 15:39:41 2013
@@ -85,7 +85,7 @@ public class WsSession implements Sessio
private MessageHandler.Whole<PongMessage> pongMessageHandler = null;
private volatile State state = State.OPEN;
private final Object stateLock = new Object();
- private final Map<String,Object> userProperties = new ConcurrentHashMap<>();
+ private final Map<String,Object> userProperties = new ConcurrentHashMap<String, Object>();
private volatile int maxBinaryMessageBufferSize =
Constants.DEFAULT_BUFFER_SIZE;
private volatile int maxTextMessageBufferSize =
@@ -223,7 +223,7 @@ public class WsSession implements Sessio
@Override
public Set<MessageHandler> getMessageHandlers() {
checkState();
- Set<MessageHandler> result = new HashSet<>();
+ Set<MessageHandler> result = new HashSet<MessageHandler>();
if (binaryMessageHandler != null) {
result.add(binaryMessageHandler);
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsWebSocketContainer.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Fri Aug 16 15:39:41 2013
@@ -129,8 +129,8 @@ public class WsWebSocketContainer
private final Log log = LogFactory.getLog(WsWebSocketContainer.class);
private final Map<Class<?>, Set<WsSession>> endpointSessionMap =
- new HashMap<>();
- private final Map<WsSession,WsSession> sessions = new ConcurrentHashMap<>();
+ new HashMap<Class<?>, Set<WsSession>>();
+ private final Map<WsSession,WsSession> sessions = new ConcurrentHashMap<WsSession, WsSession>();
private final Object endPointSessionMapLock = new Object();
private long defaultAsyncTimeout = -1;
@@ -164,7 +164,10 @@ public class WsWebSocketContainer
configuratorClazz)) {
try {
configurator = configuratorClazz.newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ throw new DeploymentException(sm.getString(
+ "wsWebSocketContainer.defaultConfiguratorFail"), e);
+ } catch (IllegalAccessException e) {
throw new DeploymentException(sm.getString(
"wsWebSocketContainer.defaultConfiguratorFail"), e);
}
@@ -186,7 +189,11 @@ public class WsWebSocketContainer
Object pojo;
try {
pojo = annotatedEndpointClass.newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ throw new DeploymentException(sm.getString(
+ "wsWebSocketContainer.endpointCreateFail",
+ annotatedEndpointClass.getName()), e);
+ } catch (IllegalAccessException e) {
throw new DeploymentException(sm.getString(
"wsWebSocketContainer.endpointCreateFail",
annotatedEndpointClass.getName()), e);
@@ -204,7 +211,11 @@ public class WsWebSocketContainer
Endpoint endpoint;
try {
endpoint = clazz.newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ throw new DeploymentException(sm.getString(
+ "wsWebSocketContainer.endpointCreateFail", clazz.getName()),
+ e);
+ } catch (IllegalAccessException e) {
throw new DeploymentException(sm.getString(
"wsWebSocketContainer.endpointCreateFail", clazz.getName()),
e);
@@ -318,8 +329,16 @@ public class WsWebSocketContainer
throw new DeploymentException(
sm.getString("Sec-WebSocket-Protocol"));
}
- } catch (ExecutionException | InterruptedException | SSLException |
- EOFException e) {
+ } catch (ExecutionException e) {
+ throw new DeploymentException(
+ sm.getString("wsWebSocketContainer.httpRequestFailed"), e);
+ } catch (InterruptedException e) {
+ throw new DeploymentException(
+ sm.getString("wsWebSocketContainer.httpRequestFailed"), e);
+ } catch (SSLException e) {
+ throw new DeploymentException(
+ sm.getString("wsWebSocketContainer.httpRequestFailed"), e);
+ } catch (EOFException e) {
throw new DeploymentException(
sm.getString("wsWebSocketContainer.httpRequestFailed"), e);
}
@@ -359,7 +378,7 @@ public class WsWebSocketContainer
}
Set<WsSession> wsSessions = endpointSessionMap.get(endpointClazz);
if (wsSessions == null) {
- wsSessions = new HashSet<>();
+ wsSessions = new HashSet<WsSession>();
endpointSessionMap.put(endpointClazz, wsSessions);
}
wsSessions.add(wsSession);
@@ -389,7 +408,7 @@ public class WsWebSocketContainer
Set<Session> getOpenSessions(Class<?> endpoint) {
- HashSet<Session> result = new HashSet<>();
+ HashSet<Session> result = new HashSet<Session>();
synchronized (endPointSessionMapLock) {
Set<WsSession> sessions = endpointSessionMap.get(endpoint);
if (sessions != null) {
@@ -402,10 +421,10 @@ public class WsWebSocketContainer
private Map<String,List<String>> createRequestHeaders(String host,
int port, List<String> subProtocols, List<Extension> extensions) {
- Map<String,List<String>> headers = new HashMap<>();
+ Map<String,List<String>> headers = new HashMap<String, List<String>>();
// Host header
- List<String> hostValues = new ArrayList<>(1);
+ List<String> hostValues = new ArrayList<String>(1);
if (port == -1) {
hostValues.add(host);
} else {
@@ -415,22 +434,22 @@ public class WsWebSocketContainer
headers.put(Constants.HOST_HEADER_NAME, hostValues);
// Upgrade header
- List<String> upgradeValues = new ArrayList<>(1);
+ List<String> upgradeValues = new ArrayList<String>(1);
upgradeValues.add(Constants.UPGRADE_HEADER_VALUE);
headers.put(Constants.UPGRADE_HEADER_NAME, upgradeValues);
// Connection header
- List<String> connectionValues = new ArrayList<>(1);
+ List<String> connectionValues = new ArrayList<String>(1);
connectionValues.add(Constants.CONNECTION_HEADER_VALUE);
headers.put(Constants.CONNECTION_HEADER_NAME, connectionValues);
// WebSocket version header
- List<String> wsVersionValues = new ArrayList<>(1);
+ List<String> wsVersionValues = new ArrayList<String>(1);
wsVersionValues.add(Constants.WS_VERSION_HEADER_VALUE);
headers.put(Constants.WS_VERSION_HEADER_NAME, wsVersionValues);
// WebSocket key
- List<String> wsKeyValues = new ArrayList<>(1);
+ List<String> wsKeyValues = new ArrayList<String>(1);
wsKeyValues.add(generateWsKeyValue());
headers.put(Constants.WS_KEY_HEADER_NAME, wsKeyValues);
@@ -450,7 +469,7 @@ public class WsWebSocketContainer
private List<String> generateExtensionHeaders(List<Extension> extensions) {
- List<String> result = new ArrayList<>(extensions.size());
+ List<String> result = new ArrayList<String>(extensions.size());
for (Extension extension : extensions) {
StringBuilder header = new StringBuilder();
header.append(extension.getName());
@@ -536,7 +555,7 @@ public class WsWebSocketContainer
AsyncChannelWrapper channel) throws InterruptedException,
ExecutionException, DeploymentException, EOFException {
- Map<String,List<String>> headers = new HashMap<>();
+ Map<String,List<String>> headers = new HashMap<String, List<String>>();
boolean readStatus = false;
boolean readHeaders = false;
@@ -598,7 +617,7 @@ public class WsWebSocketContainer
List<String> values = headers.get(headerName);
if (values == null) {
- values = new ArrayList<>(1);
+ values = new ArrayList<String>(1);
headers.put(headerName, values);
}
values.add(headerValue);
@@ -641,8 +660,18 @@ public class WsWebSocketContainer
File keyStoreFile = new File(sslTrustStoreValue);
KeyStore ks = KeyStore.getInstance("JKS");
- try (InputStream is = new FileInputStream(keyStoreFile)) {
+ InputStream is = null;
+ try {
+ is = new FileInputStream(keyStoreFile);
ks.load(is, sslTrustStorePwdValue.toCharArray());
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (IOException ioe) {
+ // Ignore
+ }
+ }
}
TrustManagerFactory tmf = TrustManagerFactory.getInstance(
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java Fri Aug 16 15:39:41 2013
@@ -74,8 +74,10 @@ public abstract class PojoMessageHandler
} else {
remoteEndpoint.sendObject(result);
}
- } catch (IOException | EncodeException ioe) {
+ } catch (IOException ioe) {
throw new IllegalStateException(ioe);
+ } catch (EncodeException ee) {
+ throw new IllegalStateException(ee);
}
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java Fri Aug 16 15:39:41 2013
@@ -69,7 +69,9 @@ public abstract class PojoMessageHandler
Object result;
try {
result = method.invoke(pojo, parameters);
- } catch (IllegalAccessException | InvocationTargetException e) {
+ } catch (IllegalAccessException e) {
+ throw new IllegalArgumentException(e);
+ } catch (InvocationTargetException e) {
throw new IllegalArgumentException(e);
}
processResult(result);
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java Fri Aug 16 15:39:41 2013
@@ -78,7 +78,9 @@ public abstract class PojoMessageHandler
Object result;
try {
result = method.invoke(pojo, parameters);
- } catch (IllegalAccessException | InvocationTargetException e) {
+ } catch (IllegalAccessException e) {
+ throw new IllegalArgumentException(e);
+ } catch (InvocationTargetException e) {
throw new IllegalArgumentException(e);
}
processResult(result);
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java Fri Aug 16 15:39:41 2013
@@ -41,7 +41,7 @@ public class PojoMessageHandlerWholeBina
private static final StringManager sm =
StringManager.getManager(Constants.PACKAGE_NAME);
- private final List<Decoder> decoders = new ArrayList<>();
+ private final List<Decoder> decoders = new ArrayList<Decoder>();
private final boolean isForInputStream;
@@ -71,7 +71,9 @@ public class PojoMessageHandlerWholeBina
}
}
}
- } catch (IllegalAccessException | InstantiationException e) {
+ } catch (IllegalAccessException e) {
+ throw new IllegalArgumentException(e);
+ } catch (InstantiationException e) {
throw new IllegalArgumentException(e);
}
this.isForInputStream = isForInputStream;
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java Fri Aug 16 15:39:41 2013
@@ -42,7 +42,7 @@ public class PojoMessageHandlerWholeText
private static final StringManager sm =
StringManager.getManager(Constants.PACKAGE_NAME);
- private final List<Decoder> decoders = new ArrayList<>();
+ private final List<Decoder> decoders = new ArrayList<Decoder>();
private final Class<?> primitiveType;
public PojoMessageHandlerWholeText(Object pojo, Method method,
@@ -80,7 +80,9 @@ public class PojoMessageHandlerWholeText
}
}
}
- } catch (IllegalAccessException | InstantiationException e) {
+ } catch (IllegalAccessException e) {
+ throw new IllegalArgumentException(e);
+ } catch (InstantiationException e) {
throw new IllegalArgumentException(e);
}
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java Fri Aug 16 15:39:41 2013
@@ -64,7 +64,7 @@ public class PojoMethodMapping {
private final PojoPathParam[] onOpenParams;
private final PojoPathParam[] onCloseParams;
private final PojoPathParam[] onErrorParams;
- private final Set<MessageHandlerInfo> onMessage = new HashSet<>();
+ private final Set<MessageHandlerInfo> onMessage = new HashSet<MessageHandlerInfo>();
private final String wsPath;
@@ -177,7 +177,7 @@ public class PojoMethodMapping {
public Set<MessageHandler> getMessageHandlers(Object pojo,
Map<String,String> pathParameters, Session session,
EndpointConfig config) {
- Set<MessageHandler> result = new HashSet<>();
+ Set<MessageHandler> result = new HashSet<MessageHandler>();
for (MessageHandlerInfo messageMethod : onMessage) {
result.addAll(messageMethod.getMessageHandlers(pojo, pathParameters,
session, config));
@@ -288,7 +288,7 @@ public class PojoMethodMapping {
private int indexInputStream = -1;
private int indexReader = -1;
private int indexPrimitive = -1;
- private Map<Integer,PojoPathParam> indexPathParams = new HashMap<>();
+ private Map<Integer,PojoPathParam> indexPathParams = new HashMap<Integer, PojoPathParam>();
private int indexPayload = -1;
private DecoderMatch decoderMatch = null;
private long maxMessageSize = -1;
@@ -525,7 +525,7 @@ public class PojoMethodMapping {
params[entry.getKey().intValue()] = value;
}
- Set<MessageHandler> results = new HashSet<>(2);
+ Set<MessageHandler> results = new HashSet<MessageHandler>(2);
if (indexBoolean == -1) {
// Basic
if (indexString != -1 || indexPrimitive != -1) {
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/DefaultServerEndpointConfigurator.java Fri Aug 16 15:39:41 2013
@@ -57,7 +57,7 @@ public class DefaultServerEndpointConfig
public List<Extension> getNegotiatedExtensions(List<Extension> installed,
List<Extension> requested) {
- List<Extension> result = new ArrayList<>();
+ List<Extension> result = new ArrayList<Extension>();
for (Extension request : requested) {
if (installed.contains(request)) {
result.add(request);
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UpgradeUtil.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UpgradeUtil.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UpgradeUtil.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UpgradeUtil.java Fri Aug 16 15:39:41 2013
@@ -52,7 +52,7 @@ public class UpgradeUtil {
"258EAFA5-E914-47DA-95CA-C5AB0DC85B11".getBytes(
StandardCharsets.ISO_8859_1);
private static final Queue<MessageDigest> sha1Helpers =
- new ConcurrentLinkedQueue<>();
+ new ConcurrentLinkedQueue<MessageDigest>();
private UpgradeUtil() {
// Utility class. Hide default constructor.
@@ -207,7 +207,7 @@ public class UpgradeUtil {
*/
private static List<String> getTokensFromHeader(HttpServletRequest req,
String headerName) {
- List<String> result = new ArrayList<>();
+ List<String> result = new ArrayList<String>();
Enumeration<String> headers = req.getHeaders(headerName);
while (headers.hasMoreElements()) {
String header = headers.nextElement();
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UriTemplate.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UriTemplate.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UriTemplate.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/UriTemplate.java Fri Aug 16 15:39:41 2013
@@ -35,7 +35,7 @@ public class UriTemplate {
StringManager.getManager(Constants.PACKAGE_NAME);
private final String normalized;
- private final Map<String,Segment> segments = new LinkedHashMap<>();
+ private final Map<String,Segment> segments = new LinkedHashMap<String, Segment>();
private final boolean hasParameters;
@@ -88,7 +88,7 @@ public class UriTemplate {
public Map<String,String> match(UriTemplate candidate) {
- Map<String,String> result = new HashMap<>();
+ Map<String,String> result = new HashMap<String, String>();
// Should not happen but for safety
if (candidate.getSegmentCount() != getSegmentCount()) {
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsHandshakeRequest.java Fri Aug 16 15:39:41 2013
@@ -68,7 +68,7 @@ public class WsHandshakeRequest implemen
// ParameterMap
Map<String,String[]> originalParameters = request.getParameterMap();
Map<String,List<String>> newParameters =
- new HashMap<>(originalParameters.size());
+ new HashMap<String, List<String>>(originalParameters.size());
for (Entry<String,String[]> entry : originalParameters.entrySet()) {
newParameters.put(entry.getKey(),
Collections.unmodifiableList(
@@ -77,7 +77,7 @@ public class WsHandshakeRequest implemen
parameterMap = Collections.unmodifiableMap(newParameters);
// Headers
- Map<String,List<String>> newHeaders = new HashMap<>();
+ Map<String,List<String>> newHeaders = new HashMap<String, List<String>>();
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements()) {
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsSci.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsSci.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsSci.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsSci.java Fri Aug 16 15:39:41 2013
@@ -51,9 +51,9 @@ public class WsSci implements ServletCon
}
// Group the discovered classes by type
- Set<ServerApplicationConfig> serverApplicationConfigs = new HashSet<>();
- Set<Class<? extends Endpoint>> scannedEndpointClazzes = new HashSet<>();
- Set<Class<?>> scannedPojoEndpoints = new HashSet<>();
+ Set<ServerApplicationConfig> serverApplicationConfigs = new HashSet<ServerApplicationConfig>();
+ Set<Class<? extends Endpoint>> scannedEndpointClazzes = new HashSet<Class<? extends Endpoint>>();
+ Set<Class<?>> scannedPojoEndpoints = new HashSet<Class<?>>();
try {
// wsPackage is "javax.websocket."
@@ -84,13 +84,15 @@ public class WsSci implements ServletCon
scannedPojoEndpoints.add(clazz);
}
}
- } catch (InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ throw new ServletException(e);
+ } catch (IllegalAccessException e) {
throw new ServletException(e);
}
// Filter the results
- Set<ServerEndpointConfig> filteredEndpointConfigs = new HashSet<>();
- Set<Class<?>> filteredPojoEndpoints = new HashSet<>();
+ Set<ServerEndpointConfig> filteredEndpointConfigs = new HashSet<ServerEndpointConfig>();
+ Set<Class<?>> filteredPojoEndpoints = new HashSet<Class<?>>();
if (serverApplicationConfigs.isEmpty()) {
filteredPojoEndpoints.addAll(scannedPojoEndpoints);
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsServerContainer.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsServerContainer.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsServerContainer.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsServerContainer.java Fri Aug 16 15:39:41 2013
@@ -73,14 +73,14 @@ public class WsServerContainer extends W
private final ServletContext servletContext;
private final Map<String,ServerEndpointConfig> configExactMatchMap =
- new ConcurrentHashMap<>();
+ new ConcurrentHashMap<String, ServerEndpointConfig>();
private final ConcurrentHashMap<Integer,SortedSet<TemplatePathMatch>>
- configTemplateMatchMap = new ConcurrentHashMap<>();
+ configTemplateMatchMap = new ConcurrentHashMap<Integer, SortedSet<TemplatePathMatch>>();
private volatile boolean enforceNoAddAfterHandshake =
org.apache.tomcat.websocket.Constants.STRICT_SPEC_COMPLIANCE;
private volatile boolean addAllowed = true;
private final ConcurrentHashMap<String,Set<WsSession>> authenticatedSessions =
- new ConcurrentHashMap<>();
+ new ConcurrentHashMap<String, Set<WsSession>>();
WsServerContainer(ServletContext servletContext) {
@@ -147,7 +147,7 @@ public class WsServerContainer extends W
if (templateMatches == null) {
// Ensure that if concurrent threads execute this block they
// both end up using the same TreeSet instance
- templateMatches = new TreeSet<>(
+ templateMatches = new TreeSet<TemplatePathMatch>(
TemplatePathMatchComparator.getInstance());
configTemplateMatchMap.putIfAbsent(key, templateMatches);
templateMatches = configTemplateMatchMap.get(key);
@@ -202,7 +202,12 @@ public class WsServerContainer extends W
if (!configuratorClazz.equals(Configurator.class)) {
try {
configurator = annotation.configurator().newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ throw new DeploymentException(sm.getString(
+ "serverContainer.configuratorFail",
+ annotation.configurator().getName(),
+ pojo.getClass().getName()), e);
+ } catch (IllegalAccessException e) {
throw new DeploymentException(sm.getString(
"serverContainer.configuratorFail",
annotation.configurator().getName(),
@@ -387,7 +392,10 @@ public class WsServerContainer extends W
Encoder instance;
try {
encoder.newInstance();
- } catch(InstantiationException | IllegalAccessException e) {
+ } catch(InstantiationException e) {
+ throw new DeploymentException(sm.getString(
+ "serverContainer.encoderFail", encoder.getName()), e);
+ } catch (IllegalAccessException e) {
throw new DeploymentException(sm.getString(
"serverContainer.encoderFail", encoder.getName()), e);
}
Modified: tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java
URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java?rev=1514752&r1=1514751&r2=1514752&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java (original)
+++ tomcat/tc7.0.x/trunk/modules/websocket/java/org/apache/tomcat/websocket/server/WsWriteTimeout.java Fri Aug 16 15:39:41 2013
@@ -34,7 +34,7 @@ import org.apache.tomcat.websocket.Backg
public class WsWriteTimeout implements BackgroundProcess {
private final Set<WsRemoteEndpointImplServer> endpoints =
- new ConcurrentSkipListSet<>(new EndpointComparator());
+ new ConcurrentSkipListSet<WsRemoteEndpointImplServer>(new EndpointComparator());
private final AtomicInteger count = new AtomicInteger(0);
private int backgroundProcessCount = 0;
private volatile int processPeriod = 1;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org