This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new 787b688203 Code clean-up. Formatting. No functional change.
787b688203 is described below
commit 787b688203c0e5d86a87a2f7818943a8eabf918f
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Mar 8 18:29:53 2023 +0000
Code clean-up. Formatting. No functional change.
---
.../apache/tomcat/websocket/pojo/Constants.java | 3 +-
.../tomcat/websocket/pojo/PojoEndpointBase.java | 49 ++-
.../tomcat/websocket/pojo/PojoEndpointClient.java | 13 +-
.../tomcat/websocket/pojo/PojoEndpointServer.java | 12 +-
.../websocket/pojo/PojoMessageHandlerBase.java | 15 +-
.../pojo/PojoMessageHandlerPartialBase.java | 22 +-
.../pojo/PojoMessageHandlerPartialBinary.java | 11 +-
.../pojo/PojoMessageHandlerPartialText.java | 11 +-
.../pojo/PojoMessageHandlerWholeBase.java | 21 +-
.../pojo/PojoMessageHandlerWholeBinary.java | 23 +-
.../pojo/PojoMessageHandlerWholePong.java | 11 +-
.../pojo/PojoMessageHandlerWholeText.java | 23 +-
.../tomcat/websocket/pojo/PojoMethodMapping.java | 328 ++++++++-------------
.../tomcat/websocket/pojo/PojoPathParam.java | 12 +-
.../apache/tomcat/websocket/pojo/package-info.java | 4 +-
15 files changed, 222 insertions(+), 336 deletions(-)
diff --git a/java/org/apache/tomcat/websocket/pojo/Constants.java
b/java/org/apache/tomcat/websocket/pojo/Constants.java
index 762ac9fe3f..1eba53131a 100644
--- a/java/org/apache/tomcat/websocket/pojo/Constants.java
+++ b/java/org/apache/tomcat/websocket/pojo/Constants.java
@@ -21,8 +21,7 @@ package org.apache.tomcat.websocket.pojo;
*/
public class Constants {
- public static final String POJO_METHOD_MAPPING_KEY =
- "org.apache.tomcat.websocket.pojo.PojoEndpoint.methodMapping";
+ public static final String POJO_METHOD_MAPPING_KEY =
"org.apache.tomcat.websocket.pojo.PojoEndpoint.methodMapping";
private Constants() {
// Hide default constructor
diff --git a/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java
b/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java
index fa71489acd..bebfc6b67a 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java
@@ -33,9 +33,8 @@ import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.res.StringManager;
/**
- * Base implementation (client and server have different concrete
- * implementations) of the wrapper that converts a POJO instance into a
- * WebSocket endpoint instance.
+ * Base implementation (client and server have different concrete
implementations) of the wrapper that converts a POJO
+ * instance into a WebSocket endpoint instance.
*/
public abstract class PojoEndpointBase extends Endpoint {
@@ -43,11 +42,11 @@ public abstract class PojoEndpointBase extends Endpoint {
private static final StringManager sm =
StringManager.getManager(PojoEndpointBase.class);
private Object pojo;
- private final Map<String,String> pathParameters;
+ private final Map<String, String> pathParameters;
private PojoMethodMapping methodMapping;
- protected PojoEndpointBase(Map<String,String> pathParameters) {
+ protected PojoEndpointBase(Map<String, String> pathParameters) {
this.pathParameters = pathParameters;
}
@@ -59,22 +58,17 @@ public abstract class PojoEndpointBase extends Endpoint {
// Add message handlers before calling onOpen since that may trigger a
// message which in turn could trigger a response and/or close the
// session
- for (MessageHandler mh : methodMapping.getMessageHandlers(pojo,
- pathParameters, session, config)) {
+ for (MessageHandler mh : methodMapping.getMessageHandlers(pojo,
pathParameters, session, config)) {
session.addMessageHandler(mh);
}
if (methodMapping.getOnOpen() != null) {
try {
- methodMapping.getOnOpen().invoke(pojo,
- methodMapping.getOnOpenArgs(
- pathParameters, session, config));
+ methodMapping.getOnOpen().invoke(pojo,
methodMapping.getOnOpenArgs(pathParameters, session, config));
} catch (IllegalAccessException e) {
// Reflection related problems
- log.error(sm.getString(
- "pojoEndpointBase.onOpenFail",
- pojo.getClass().getName()), e);
+ log.error(sm.getString("pojoEndpointBase.onOpenFail",
pojo.getClass().getName()), e);
handleOnOpenOrCloseError(session, e);
} catch (InvocationTargetException e) {
Throwable cause = e.getCause();
@@ -107,8 +101,7 @@ public abstract class PojoEndpointBase extends Endpoint {
methodMapping.getOnClose().invoke(pojo,
methodMapping.getOnCloseArgs(pathParameters, session,
closeReason));
} catch (Throwable t) {
- log.error(sm.getString("pojoEndpointBase.onCloseFail",
- pojo.getClass().getName()), t);
+ log.error(sm.getString("pojoEndpointBase.onCloseFail",
pojo.getClass().getName()), t);
handleOnOpenOrCloseError(session, t);
}
}
@@ -127,27 +120,31 @@ public abstract class PojoEndpointBase extends Endpoint {
public final void onError(Session session, Throwable throwable) {
if (methodMapping.getOnError() == null) {
- log.error(sm.getString("pojoEndpointBase.onError",
- pojo.getClass().getName()), throwable);
+ log.error(sm.getString("pojoEndpointBase.onError",
pojo.getClass().getName()), throwable);
} else {
try {
- methodMapping.getOnError().invoke(
- pojo,
- methodMapping.getOnErrorArgs(pathParameters, session,
- throwable));
+ methodMapping.getOnError().invoke(pojo,
+ methodMapping.getOnErrorArgs(pathParameters, session,
throwable));
} catch (Throwable t) {
ExceptionUtils.handleThrowable(t);
- log.error(sm.getString("pojoEndpointBase.onErrorFail",
- pojo.getClass().getName()), t);
+ log.error(sm.getString("pojoEndpointBase.onErrorFail",
pojo.getClass().getName()), t);
}
}
}
- protected Object getPojo() { return pojo; }
- protected void setPojo(Object pojo) { this.pojo = pojo; }
+ protected Object getPojo() {
+ return pojo;
+ }
+
+ protected void setPojo(Object pojo) {
+ this.pojo = pojo;
+ }
- protected PojoMethodMapping getMethodMapping() { return methodMapping; }
+ protected PojoMethodMapping getMethodMapping() {
+ return methodMapping;
+ }
+
protected void setMethodMapping(PojoMethodMapping methodMapping) {
this.methodMapping = methodMapping;
}
diff --git a/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java
b/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java
index fb9ef6b04b..7785c0b500 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoEndpointClient.java
@@ -27,22 +27,21 @@ import javax.websocket.Session;
import org.apache.tomcat.InstanceManager;
/**
- * Wrapper class for instances of POJOs annotated with
- * {@link javax.websocket.ClientEndpoint} so they appear as standard
+ * Wrapper class for instances of POJOs annotated with {@link
javax.websocket.ClientEndpoint} so they appear as standard
* {@link javax.websocket.Endpoint} instances.
*/
public class PojoEndpointClient extends PojoEndpointBase {
@Deprecated
- public PojoEndpointClient(Object pojo,
- List<Class<? extends Decoder>> decoders) throws
DeploymentException {
- super(Collections.<String,String>emptyMap());
+ public PojoEndpointClient(Object pojo, List<Class<? extends Decoder>>
decoders) throws DeploymentException {
+ super(Collections.<String, String>emptyMap());
setPojo(pojo);
setMethodMapping(new PojoMethodMapping(pojo.getClass(), decoders,
null));
}
- public PojoEndpointClient(Object pojo, List<Class<? extends Decoder>>
decoders, InstanceManager instanceManager) throws DeploymentException {
- super(Collections.<String,String>emptyMap());
+ public PojoEndpointClient(Object pojo, List<Class<? extends Decoder>>
decoders, InstanceManager instanceManager)
+ throws DeploymentException {
+ super(Collections.<String, String>emptyMap());
setPojo(pojo);
setMethodMapping(new PojoMethodMapping(pojo.getClass(), decoders,
null, instanceManager));
}
diff --git a/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java
b/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java
index e01ee834b7..28a21edf80 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java
@@ -23,13 +23,12 @@ import javax.websocket.Session;
import javax.websocket.server.ServerEndpointConfig;
/**
- * Wrapper class for instances of POJOs annotated with
- * {@link javax.websocket.server.ServerEndpoint} so they appear as standard
- * {@link javax.websocket.Endpoint} instances.
+ * Wrapper class for instances of POJOs annotated with {@link
javax.websocket.server.ServerEndpoint} so they appear as
+ * standard {@link javax.websocket.Endpoint} instances.
*/
public class PojoEndpointServer extends PojoEndpointBase {
- public PojoEndpointServer(Map<String,String> pathParameters, Object pojo) {
+ public PojoEndpointServer(Map<String, String> pathParameters, Object pojo)
{
super(pathParameters);
setPojo(pojo);
}
@@ -40,9 +39,8 @@ public class PojoEndpointServer extends PojoEndpointBase {
ServerEndpointConfig sec = (ServerEndpointConfig) endpointConfig;
- PojoMethodMapping methodMapping =
- (PojoMethodMapping) sec.getUserProperties().get(
- Constants.POJO_METHOD_MAPPING_KEY);
+ PojoMethodMapping methodMapping = (PojoMethodMapping)
sec.getUserProperties()
+ .get(Constants.POJO_METHOD_MAPPING_KEY);
setMethodMapping(methodMapping);
doOnOpen(session, endpointConfig);
diff --git a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
index bc125c73b4..a52c79d084 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java
@@ -31,10 +31,9 @@ import org.apache.tomcat.websocket.WrappedMessageHandler;
/**
* Common implementation code for the POJO message handlers.
*
- * @param <T> The type of message to handle
+ * @param <T> The type of message to handle
*/
-public abstract class PojoMessageHandlerBase<T>
- implements WrappedMessageHandler {
+public abstract class PojoMessageHandlerBase<T> implements
WrappedMessageHandler {
protected final Object pojo;
protected final Method method;
@@ -45,9 +44,8 @@ public abstract class PojoMessageHandlerBase<T>
protected final int indexSession;
protected final long maxMessageSize;
- public PojoMessageHandlerBase(Object pojo, Method method,
- Session session, Object[] params, int indexPayload, boolean
convert,
- int indexSession, long maxMessageSize) {
+ public PojoMessageHandlerBase(Object pojo, Method method, Session session,
Object[] params, int indexPayload,
+ boolean convert, int indexSession, long maxMessageSize) {
this.pojo = pojo;
this.method = method;
// TODO: The method should already be accessible here but the following
@@ -90,9 +88,8 @@ public abstract class PojoMessageHandlerBase<T>
/**
- * Expose the POJO if it is a message handler so the Session is able to
- * match requests to remove handlers if the original handler has been
- * wrapped.
+ * Expose the POJO if it is a message handler so the Session is able to
match requests to remove handlers if the
+ * original handler has been wrapped.
*/
@Override
public final MessageHandler getWrappedHandler() {
diff --git
a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
index 4a0f525409..17dd36bac3 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java
@@ -27,22 +27,19 @@ import javax.websocket.Session;
import org.apache.tomcat.websocket.WsSession;
/**
- * Common implementation code for the POJO partial message handlers. All
- * the real work is done in this class and in the superclass.
+ * Common implementation code for the POJO partial message handlers. All the
real work is done in this class and in the
+ * superclass.
*
- * @param <T> The type of message to handle
+ * @param <T> The type of message to handle
*/
-public abstract class PojoMessageHandlerPartialBase<T>
- extends PojoMessageHandlerBase<T> implements MessageHandler.Partial<T>
{
+public abstract class PojoMessageHandlerPartialBase<T> extends
PojoMessageHandlerBase<T>
+ implements MessageHandler.Partial<T> {
private final int indexBoolean;
- public PojoMessageHandlerPartialBase(Object pojo, Method method,
- Session session, Object[] params, int indexPayload,
- boolean convert, int indexBoolean, int indexSession,
- long maxMessageSize) {
- super(pojo, method, session, params, indexPayload, convert,
- indexSession, maxMessageSize);
+ public PojoMessageHandlerPartialBase(Object pojo, Method method, Session
session, Object[] params, int indexPayload,
+ boolean convert, int indexBoolean, int indexSession, long
maxMessageSize) {
+ super(pojo, method, session, params, indexPayload, convert,
indexSession, maxMessageSize);
this.indexBoolean = indexBoolean;
}
@@ -50,8 +47,7 @@ public abstract class PojoMessageHandlerPartialBase<T>
@Override
public final void onMessage(T message, boolean last) {
if (params.length == 1 && params[0] instanceof DecodeException) {
- ((WsSession) session).getLocal().onError(session,
- (DecodeException) params[0]);
+ ((WsSession) session).getLocal().onError(session,
(DecodeException) params[0]);
return;
}
Object[] parameters = params.clone();
diff --git
a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java
index 6446efba33..ce961cb418 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBinary.java
@@ -24,13 +24,10 @@ import javax.websocket.Session;
/**
* ByteBuffer specific concrete implementation for handling partial messages.
*/
-public class PojoMessageHandlerPartialBinary
- extends PojoMessageHandlerPartialBase<ByteBuffer> {
+public class PojoMessageHandlerPartialBinary extends
PojoMessageHandlerPartialBase<ByteBuffer> {
- public PojoMessageHandlerPartialBinary(Object pojo, Method method,
- Session session, Object[] params, int indexPayload, boolean
convert,
- int indexBoolean, int indexSession, long maxMessageSize) {
- super(pojo, method, session, params, indexPayload, convert,
indexBoolean,
- indexSession, maxMessageSize);
+ public PojoMessageHandlerPartialBinary(Object pojo, Method method, Session
session, Object[] params,
+ int indexPayload, boolean convert, int indexBoolean, int
indexSession, long maxMessageSize) {
+ super(pojo, method, session, params, indexPayload, convert,
indexBoolean, indexSession, maxMessageSize);
}
}
diff --git
a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java
index 683634b8f4..7bbb863828 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialText.java
@@ -23,13 +23,10 @@ import javax.websocket.Session;
/**
* Text specific concrete implementation for handling partial messages.
*/
-public class PojoMessageHandlerPartialText
- extends PojoMessageHandlerPartialBase<String> {
+public class PojoMessageHandlerPartialText extends
PojoMessageHandlerPartialBase<String> {
- public PojoMessageHandlerPartialText(Object pojo, Method method,
- Session session, Object[] params, int indexPayload, boolean
convert,
- int indexBoolean, int indexSession, long maxMessageSize) {
- super(pojo, method, session, params, indexPayload, convert,
indexBoolean,
- indexSession, maxMessageSize);
+ public PojoMessageHandlerPartialText(Object pojo, Method method, Session
session, Object[] params, int indexPayload,
+ boolean convert, int indexBoolean, int indexSession, long
maxMessageSize) {
+ super(pojo, method, session, params, indexPayload, convert,
indexBoolean, indexSession, maxMessageSize);
}
}
diff --git
a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
index 615704d735..2878fea76b 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java
@@ -34,24 +34,22 @@ import org.apache.tomcat.util.res.StringManager;
import org.apache.tomcat.websocket.WsSession;
/**
- * Common implementation code for the POJO whole message handlers. All the real
- * work is done in this class and in the superclass.
+ * Common implementation code for the POJO whole message handlers. All the
real work is done in this class and in the
+ * superclass.
*
- * @param <T> The type of message to handle
+ * @param <T> The type of message to handle
*/
-public abstract class PojoMessageHandlerWholeBase<T>
- extends PojoMessageHandlerBase<T> implements MessageHandler.Whole<T> {
+public abstract class PojoMessageHandlerWholeBase<T> extends
PojoMessageHandlerBase<T>
+ implements MessageHandler.Whole<T> {
- private final Log log =
LogFactory.getLog(PojoMessageHandlerWholeBase.class); // must not be static
+ private final Log log =
LogFactory.getLog(PojoMessageHandlerWholeBase.class); // must not be static
private static final StringManager sm =
StringManager.getManager(PojoMessageHandlerWholeBase.class);
protected final List<Decoder> decoders = new ArrayList<>();
- public PojoMessageHandlerWholeBase(Object pojo, Method method,
- Session session, Object[] params, int indexPayload,
+ public PojoMessageHandlerWholeBase(Object pojo, Method method, Session
session, Object[] params, int indexPayload,
boolean convert, int indexSession, long maxMessageSize) {
- super(pojo, method, session, params, indexPayload, convert,
- indexSession, maxMessageSize);
+ super(pojo, method, session, params, indexPayload, convert,
indexSession, maxMessageSize);
}
@@ -70,8 +68,7 @@ public abstract class PojoMessageHandlerWholeBase<T>
public final void onMessage(T message) {
if (params.length == 1 && params[0] instanceof DecodeException) {
- ((WsSession) session).getLocal().onError(session,
- (DecodeException) params[0]);
+ ((WsSession) session).getLocal().onError(session,
(DecodeException) params[0]);
return;
}
diff --git
a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
index 9cf006a1ce..f69249b255 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java
@@ -35,27 +35,21 @@ import org.apache.tomcat.util.res.StringManager;
/**
* ByteBuffer specific concrete implementation for handling whole messages.
*/
-public class PojoMessageHandlerWholeBinary
- extends PojoMessageHandlerWholeBase<ByteBuffer> {
+public class PojoMessageHandlerWholeBinary extends
PojoMessageHandlerWholeBase<ByteBuffer> {
- private static final StringManager sm =
- StringManager.getManager(PojoMessageHandlerWholeBinary.class);
+ private static final StringManager sm =
StringManager.getManager(PojoMessageHandlerWholeBinary.class);
private final boolean isForInputStream;
- public PojoMessageHandlerWholeBinary(Object pojo, Method method,
- Session session, EndpointConfig config,
- List<Class<? extends Decoder>> decoderClazzes, Object[] params,
- int indexPayload, boolean convert, int indexSession,
- boolean isForInputStream, long maxMessageSize) {
- super(pojo, method, session, params, indexPayload, convert,
- indexSession, maxMessageSize);
+ public PojoMessageHandlerWholeBinary(Object pojo, Method method, Session
session, EndpointConfig config,
+ List<Class<? extends Decoder>> decoderClazzes, Object[] params,
int indexPayload, boolean convert,
+ int indexSession, boolean isForInputStream, long maxMessageSize) {
+ super(pojo, method, session, params, indexPayload, convert,
indexSession, maxMessageSize);
// Update binary text size handled by session
if (maxMessageSize > -1 && maxMessageSize >
session.getMaxBinaryMessageBufferSize()) {
if (maxMessageSize > Integer.MAX_VALUE) {
- throw new IllegalArgumentException(sm.getString(
- "pojoMessageHandlerWhole.maxBufferSize"));
+ throw new
IllegalArgumentException(sm.getString("pojoMessageHandlerWhole.maxBufferSize"));
}
session.setMaxBinaryMessageBufferSize((int) maxMessageSize);
}
@@ -97,8 +91,7 @@ public class PojoMessageHandlerWholeBinary
try {
return ((BinaryStream<?>) decoder).decode(bais);
} catch (IOException ioe) {
- throw new DecodeException(message, sm.getString(
- "pojoMessageHandlerWhole.decodeIoFail"), ioe);
+ throw new DecodeException(message,
sm.getString("pojoMessageHandlerWhole.decodeIoFail"), ioe);
}
}
}
diff --git
a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
index 762814dff4..7afa918e7d 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholePong.java
@@ -24,14 +24,11 @@ import javax.websocket.Session;
/**
* PongMessage specific concrete implementation for handling whole messages.
*/
-public class PojoMessageHandlerWholePong
- extends PojoMessageHandlerWholeBase<PongMessage> {
+public class PojoMessageHandlerWholePong extends
PojoMessageHandlerWholeBase<PongMessage> {
- public PojoMessageHandlerWholePong(Object pojo, Method method,
- Session session, Object[] params, int indexPayload, boolean
convert,
- int indexSession) {
- super(pojo, method, session, params, indexPayload, convert,
- indexSession, -1);
+ public PojoMessageHandlerWholePong(Object pojo, Method method, Session
session, Object[] params, int indexPayload,
+ boolean convert, int indexSession) {
+ super(pojo, method, session, params, indexPayload, convert,
indexSession, -1);
}
@Override
diff --git
a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
index d3029b9403..6820f47679 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java
@@ -36,27 +36,21 @@ import org.apache.tomcat.websocket.Util;
/**
* Text specific concrete implementation for handling whole messages.
*/
-public class PojoMessageHandlerWholeText
- extends PojoMessageHandlerWholeBase<String> {
+public class PojoMessageHandlerWholeText extends
PojoMessageHandlerWholeBase<String> {
- private static final StringManager sm =
- StringManager.getManager(PojoMessageHandlerWholeText.class);
+ private static final StringManager sm =
StringManager.getManager(PojoMessageHandlerWholeText.class);
private final Class<?> primitiveType;
- public PojoMessageHandlerWholeText(Object pojo, Method method,
- Session session, EndpointConfig config,
- List<Class<? extends Decoder>> decoderClazzes, Object[] params,
- int indexPayload, boolean convert, int indexSession,
- long maxMessageSize) {
- super(pojo, method, session, params, indexPayload, convert,
- indexSession, maxMessageSize);
+ public PojoMessageHandlerWholeText(Object pojo, Method method, Session
session, EndpointConfig config,
+ List<Class<? extends Decoder>> decoderClazzes, Object[] params,
int indexPayload, boolean convert,
+ int indexSession, long maxMessageSize) {
+ super(pojo, method, session, params, indexPayload, convert,
indexSession, maxMessageSize);
// Update max text size handled by session
if (maxMessageSize > -1 && maxMessageSize >
session.getMaxTextMessageBufferSize()) {
if (maxMessageSize > Integer.MAX_VALUE) {
- throw new IllegalArgumentException(sm.getString(
- "pojoMessageHandlerWhole.maxBufferSize"));
+ throw new
IllegalArgumentException(sm.getString("pojoMessageHandlerWhole.maxBufferSize"));
}
session.setMaxTextMessageBufferSize((int) maxMessageSize);
}
@@ -109,8 +103,7 @@ public class PojoMessageHandlerWholeText
try {
return ((TextStream<?>) decoder).decode(r);
} catch (IOException ioe) {
- throw new DecodeException(message, sm.getString(
- "pojoMessageHandlerWhole.decodeIoFail"), ioe);
+ throw new DecodeException(message,
sm.getString("pojoMessageHandlerWhole.decodeIoFail"), ioe);
}
}
}
diff --git a/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
b/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
index b6a3d297a7..f0816fc684 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java
@@ -51,15 +51,12 @@ import org.apache.tomcat.websocket.Util;
import org.apache.tomcat.websocket.Util.DecoderMatch;
/**
- * For a POJO class annotated with
- * {@link javax.websocket.server.ServerEndpoint}, an instance of this class
- * creates and caches the method handler, method information and parameter
- * information for the onXXX calls.
+ * For a POJO class annotated with {@link
javax.websocket.server.ServerEndpoint}, an instance of this class creates and
+ * caches the method handler, method information and parameter information for
the onXXX calls.
*/
public class PojoMethodMapping {
- private static final StringManager sm =
- StringManager.getManager(PojoMethodMapping.class);
+ private static final StringManager sm =
StringManager.getManager(PojoMethodMapping.class);
private final Method onOpen;
private final Method onClose;
@@ -74,14 +71,14 @@ public class PojoMethodMapping {
/**
* Create a method mapping for the given POJO
*
- * @param clazzPojo POJO implementation class
- * @param decoderClazzes Set of potential decoder classes
- * @param wsPath Path at which the endpoint will be deployed
+ * @param clazzPojo POJO implementation class
+ * @param decoderClazzes Set of potential decoder classes
+ * @param wsPath Path at which the endpoint will be deployed
*
* @throws DeploymentException If the mapping cannot be completed
*
- * @deprecated Will be removed in Tomcat 10.1.x
- * Use (@link {@link #PojoMethodMapping(Class, List, String,
InstanceManager)}
+ * @deprecated Will be removed in Tomcat 10.1.x Use (@link
+ * {@link #PojoMethodMapping(Class, List, String,
InstanceManager)}
*/
@Deprecated
public PojoMethodMapping(Class<?> clazzPojo, List<Class<? extends
Decoder>> decoderClazzes, String wsPath)
@@ -93,10 +90,10 @@ public class PojoMethodMapping {
/**
* Create a method mapping for the given POJO
*
- * @param clazzPojo POJO implementation class
- * @param decoderClazzes Set of potential decoder classes
- * @param wsPath Path at which the endpoint will be deployed
- * @param instanceManager Instance manager to use to create Decoder
instances
+ * @param clazzPojo POJO implementation class
+ * @param decoderClazzes Set of potential decoder classes
+ * @param wsPath Path at which the endpoint will be deployed
+ * @param instanceManager Instance manager to use to create Decoder
instances
*
* @throws DeploymentException If the mapping cannot be completed
*/
@@ -129,12 +126,10 @@ public class PojoMethodMapping {
if (open == null) {
open = method;
} else {
- if (currentClazz == clazzPojo ||
- !isMethodOverride(open, method)) {
+ if (currentClazz == clazzPojo ||
!isMethodOverride(open, method)) {
// Duplicate annotation
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateAnnotation",
- OnOpen.class, currentClazz));
+ throw new DeploymentException(
+
sm.getString("pojoMethodMapping.duplicateAnnotation", OnOpen.class,
currentClazz));
}
}
} else if (method.getAnnotation(OnClose.class) != null) {
@@ -142,12 +137,10 @@ public class PojoMethodMapping {
if (close == null) {
close = method;
} else {
- if (currentClazz == clazzPojo ||
- !isMethodOverride(close, method)) {
+ if (currentClazz == clazzPojo ||
!isMethodOverride(close, method)) {
// Duplicate annotation
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateAnnotation",
- OnClose.class, currentClazz));
+ throw new DeploymentException(
+
sm.getString("pojoMethodMapping.duplicateAnnotation", OnClose.class,
currentClazz));
}
}
} else if (method.getAnnotation(OnError.class) != null) {
@@ -155,12 +148,10 @@ public class PojoMethodMapping {
if (error == null) {
error = method;
} else {
- if (currentClazz == clazzPojo ||
- !isMethodOverride(error, method)) {
+ if (currentClazz == clazzPojo ||
!isMethodOverride(error, method)) {
// Duplicate annotation
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateAnnotation",
- OnError.class, currentClazz));
+ throw new DeploymentException(
+
sm.getString("pojoMethodMapping.duplicateAnnotation", OnError.class,
currentClazz));
}
}
} else if (method.getAnnotation(OnMessage.class) != null) {
@@ -171,10 +162,9 @@ public class PojoMethodMapping {
if
(messageHandler.targetsSameWebSocketMessageType(otherMessageHandler)) {
found = true;
if (currentClazz == clazzPojo ||
- !isMethodOverride(messageHandler.m,
otherMessageHandler.m)) {
+ !isMethodOverride(messageHandler.m,
otherMessageHandler.m)) {
// Duplicate annotation
- throw new DeploymentException(sm.getString(
-
"pojoMethodMapping.duplicateAnnotation",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateAnnotation",
OnMessage.class, currentClazz));
}
}
@@ -207,8 +197,8 @@ public class PojoMethodMapping {
}
List<MessageHandlerInfo> overriddenOnMessage = new ArrayList<>();
for (MessageHandlerInfo messageHandler : onMessage) {
- if (messageHandler.m.getDeclaringClass() != clazzPojo
- && isOverridenWithoutAnnotation(clazzPojoMethods,
messageHandler.m, OnMessage.class)) {
+ if (messageHandler.m.getDeclaringClass() != clazzPojo &&
+ isOverridenWithoutAnnotation(clazzPojoMethods,
messageHandler.m, OnMessage.class)) {
overriddenOnMessage.add(messageHandler);
}
}
@@ -226,24 +216,21 @@ public class PojoMethodMapping {
private void checkPublic(Method m) throws DeploymentException {
if (!Modifier.isPublic(m.getModifiers())) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.methodNotPublic", m.getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.methodNotPublic",
m.getName()));
}
}
private boolean isMethodOverride(Method method1, Method method2) {
- return method1.getName().equals(method2.getName())
- && method1.getReturnType().equals(method2.getReturnType())
- && Arrays.equals(method1.getParameterTypes(),
method2.getParameterTypes());
+ return method1.getName().equals(method2.getName()) &&
method1.getReturnType().equals(method2.getReturnType()) &&
+ Arrays.equals(method1.getParameterTypes(),
method2.getParameterTypes());
}
- private boolean isOverridenWithoutAnnotation(Method[] methods,
- Method superclazzMethod, Class<? extends Annotation> annotation) {
+ private boolean isOverridenWithoutAnnotation(Method[] methods, Method
superclazzMethod,
+ Class<? extends Annotation> annotation) {
for (Method method : methods) {
- if (isMethodOverride(method, superclazzMethod)
- && (method.getAnnotation(annotation) == null)) {
+ if (isMethodOverride(method, superclazzMethod) &&
(method.getAnnotation(annotation) == null)) {
return true;
}
}
@@ -261,10 +248,9 @@ public class PojoMethodMapping {
}
- public Object[] getOnOpenArgs(Map<String,String> pathParameters,
- Session session, EndpointConfig config) throws DecodeException {
- return buildArgs(onOpenParams, pathParameters, session, config, null,
- null);
+ public Object[] getOnOpenArgs(Map<String, String> pathParameters, Session
session, EndpointConfig config)
+ throws DecodeException {
+ return buildArgs(onOpenParams, pathParameters, session, config, null,
null);
}
@@ -273,10 +259,9 @@ public class PojoMethodMapping {
}
- public Object[] getOnCloseArgs(Map<String,String> pathParameters,
- Session session, CloseReason closeReason) throws DecodeException {
- return buildArgs(onCloseParams, pathParameters, session, null, null,
- closeReason);
+ public Object[] getOnCloseArgs(Map<String, String> pathParameters, Session
session, CloseReason closeReason)
+ throws DecodeException {
+ return buildArgs(onCloseParams, pathParameters, session, null, null,
closeReason);
}
@@ -285,10 +270,9 @@ public class PojoMethodMapping {
}
- public Object[] getOnErrorArgs(Map<String,String> pathParameters,
- Session session, Throwable throwable) throws DecodeException {
- return buildArgs(onErrorParams, pathParameters, session, null,
- throwable, null);
+ public Object[] getOnErrorArgs(Map<String, String> pathParameters, Session
session, Throwable throwable)
+ throws DecodeException {
+ return buildArgs(onErrorParams, pathParameters, session, null,
throwable, null);
}
@@ -297,20 +281,17 @@ public class PojoMethodMapping {
}
- public Set<MessageHandler> getMessageHandlers(Object pojo,
- Map<String,String> pathParameters, Session session,
+ public Set<MessageHandler> getMessageHandlers(Object pojo, Map<String,
String> pathParameters, Session session,
EndpointConfig config) {
Set<MessageHandler> result = new HashSet<>();
for (MessageHandlerInfo messageMethod : onMessage) {
- result.addAll(messageMethod.getMessageHandlers(pojo,
pathParameters,
- session, config));
+ result.addAll(messageMethod.getMessageHandlers(pojo,
pathParameters, session, config));
}
return result;
}
- private static PojoPathParam[] getPathParams(Method m,
- MethodType methodType) throws DeploymentException {
+ private static PojoPathParam[] getPathParams(Method m, MethodType
methodType) throws DeploymentException {
if (m == null) {
return new PojoPathParam[0];
}
@@ -322,47 +303,38 @@ public class PojoMethodMapping {
Class<?> type = types[i];
if (type.equals(Session.class)) {
result[i] = new PojoPathParam(type, null);
- } else if (methodType == MethodType.ON_OPEN &&
- type.equals(EndpointConfig.class)) {
+ } else if (methodType == MethodType.ON_OPEN &&
type.equals(EndpointConfig.class)) {
result[i] = new PojoPathParam(type, null);
- } else if (methodType == MethodType.ON_ERROR
- && type.equals(Throwable.class)) {
+ } else if (methodType == MethodType.ON_ERROR &&
type.equals(Throwable.class)) {
foundThrowable = true;
result[i] = new PojoPathParam(type, null);
- } else if (methodType == MethodType.ON_CLOSE &&
- type.equals(CloseReason.class)) {
+ } else if (methodType == MethodType.ON_CLOSE &&
type.equals(CloseReason.class)) {
result[i] = new PojoPathParam(type, null);
} else {
Annotation[] paramAnnotations = paramsAnnotations[i];
for (Annotation paramAnnotation : paramAnnotations) {
- if (paramAnnotation.annotationType().equals(
- PathParam.class)) {
- result[i] = new PojoPathParam(type,
- ((PathParam) paramAnnotation).value());
+ if
(paramAnnotation.annotationType().equals(PathParam.class)) {
+ result[i] = new PojoPathParam(type, ((PathParam)
paramAnnotation).value());
break;
}
}
// Parameters without annotations are not permitted
if (result[i] == null) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.paramWithoutAnnotation",
- type, m.getName(), m.getClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.paramWithoutAnnotation",
type,
+ m.getName(), m.getClass().getName()));
}
}
}
if (methodType == MethodType.ON_ERROR && !foundThrowable) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.onErrorNoThrowable",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new DeploymentException(
+ sm.getString("pojoMethodMapping.onErrorNoThrowable",
m.getName(), m.getDeclaringClass().getName()));
}
return result;
}
- private static Object[] buildArgs(PojoPathParam[] pathParams,
- Map<String,String> pathParameters, Session session,
- EndpointConfig config, Throwable throwable, CloseReason
closeReason)
- throws DecodeException {
+ private static Object[] buildArgs(PojoPathParam[] pathParams, Map<String,
String> pathParameters, Session session,
+ EndpointConfig config, Throwable throwable, CloseReason
closeReason) throws DecodeException {
Object[] result = new Object[pathParams.length];
for (int i = 0; i < pathParams.length; i++) {
Class<?> type = pathParams[i].getType();
@@ -380,9 +352,8 @@ public class PojoMethodMapping {
try {
result[i] = Util.coerceToType(type, value);
} catch (Exception e) {
- throw new DecodeException(value, sm.getString(
- "pojoMethodMapping.decodePathParamFail",
- value, type), e);
+ throw new DecodeException(value,
sm.getString("pojoMethodMapping.decodePathParamFail", value, type),
+ e);
}
}
}
@@ -402,13 +373,12 @@ 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<>();
private int indexPayload = -1;
private DecoderMatch decoderMatch = null;
private long maxMessageSize = -1;
- MessageHandlerInfo(Method m, List<DecoderEntry> decoderEntries)
- throws DeploymentException {
+ MessageHandlerInfo(Method m, List<DecoderEntry> decoderEntries) throws
DeploymentException {
this.m = m;
@@ -419,11 +389,9 @@ public class PojoMethodMapping {
boolean paramFound = false;
Annotation[] paramAnnotations = paramsAnnotations[i];
for (Annotation paramAnnotation : paramAnnotations) {
- if (paramAnnotation.annotationType().equals(
- PathParam.class)) {
- indexPathParams.put(
- Integer.valueOf(i), new PojoPathParam(types[i],
- ((PathParam)
paramAnnotation).value()));
+ if
(paramAnnotation.annotationType().equals(PathParam.class)) {
+ indexPathParams.put(Integer.valueOf(i),
+ new PojoPathParam(types[i], ((PathParam)
paramAnnotation).value()));
paramFound = true;
break;
}
@@ -435,78 +403,68 @@ public class PojoMethodMapping {
if (indexString == -1) {
indexString = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else if (Reader.class.isAssignableFrom(types[i])) {
if (indexReader == -1) {
indexReader = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else if (boolean.class == types[i]) {
if (indexBoolean == -1) {
indexBoolean = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateLastParam",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateLastParam",
m.getName(),
+ m.getDeclaringClass().getName()));
}
} else if (ByteBuffer.class.isAssignableFrom(types[i])) {
if (indexByteBuffer == -1) {
indexByteBuffer = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else if (byte[].class == types[i]) {
if (indexByteArray == -1) {
indexByteArray = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else if (InputStream.class.isAssignableFrom(types[i])) {
if (indexInputStream == -1) {
indexInputStream = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else if (Util.isPrimitive(types[i])) {
if (indexPrimitive == -1) {
indexPrimitive = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else if (Session.class.isAssignableFrom(types[i])) {
if (indexSession == -1) {
indexSession = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateSessionParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateSessionParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else if (PongMessage.class.isAssignableFrom(types[i])) {
if (indexPong == -1) {
indexPong = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicatePongMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicatePongMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
} else {
if (decoderMatch != null && decoderMatch.hasMatches()) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(), m.getDeclaringClass().getName()));
}
decoderMatch = new DecoderMatch(types[i], decoderEntries);
@@ -514,9 +472,8 @@ public class PojoMethodMapping {
if (decoderMatch.hasMatches()) {
indexPayload = i;
} else {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.noDecoder",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.noDecoder", m.getName(),
+ m.getDeclaringClass().getName()));
}
}
}
@@ -524,99 +481,85 @@ public class PojoMethodMapping {
// Additional checks required
if (indexString != -1) {
if (indexPayload != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(),
+ m.getDeclaringClass().getName()));
} else {
indexPayload = indexString;
}
}
if (indexReader != -1) {
if (indexPayload != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(),
+ m.getDeclaringClass().getName()));
} else {
indexPayload = indexReader;
}
}
if (indexByteArray != -1) {
if (indexPayload != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(),
+ m.getDeclaringClass().getName()));
} else {
indexPayload = indexByteArray;
}
}
if (indexByteBuffer != -1) {
if (indexPayload != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(),
+ m.getDeclaringClass().getName()));
} else {
indexPayload = indexByteBuffer;
}
}
if (indexInputStream != -1) {
if (indexPayload != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(),
+ m.getDeclaringClass().getName()));
} else {
indexPayload = indexInputStream;
}
}
if (indexPrimitive != -1) {
if (indexPayload != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.duplicateMessageParam",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.duplicateMessageParam",
m.getName(),
+ m.getDeclaringClass().getName()));
} else {
indexPayload = indexPrimitive;
}
}
if (indexPong != -1) {
if (indexPayload != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.pongWithPayload",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.pongWithPayload",
m.getName(),
+ m.getDeclaringClass().getName()));
} else {
indexPayload = indexPong;
}
}
- if (indexPayload == -1 && indexPrimitive == -1 &&
- indexBoolean != -1) {
+ if (indexPayload == -1 && indexPrimitive == -1 && indexBoolean !=
-1) {
// The boolean we found is a payload, not a last flag
indexPayload = indexBoolean;
indexPrimitive = indexBoolean;
indexBoolean = -1;
}
if (indexPayload == -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.noPayload",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new DeploymentException(
+ sm.getString("pojoMethodMapping.noPayload",
m.getName(), m.getDeclaringClass().getName()));
}
if (indexPong != -1 && indexBoolean != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.partialPong",
- m.getName(), m.getDeclaringClass().getName()));
+ throw new DeploymentException(
+ sm.getString("pojoMethodMapping.partialPong",
m.getName(), m.getDeclaringClass().getName()));
}
- if(indexReader != -1 && indexBoolean != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.partialReader",
- m.getName(), m.getDeclaringClass().getName()));
+ if (indexReader != -1 && indexBoolean != -1) {
+ throw new DeploymentException(
+ sm.getString("pojoMethodMapping.partialReader",
m.getName(), m.getDeclaringClass().getName()));
}
- if(indexInputStream != -1 && indexBoolean != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.partialInputStream",
- m.getName(), m.getDeclaringClass().getName()));
+ if (indexInputStream != -1 && indexBoolean != -1) {
+ throw new
DeploymentException(sm.getString("pojoMethodMapping.partialInputStream",
m.getName(),
+ m.getDeclaringClass().getName()));
}
- if (decoderMatch != null && decoderMatch.hasMatches() &&
- indexBoolean != -1) {
- throw new DeploymentException(sm.getString(
- "pojoMethodMapping.partialObject",
- m.getName(), m.getDeclaringClass().getName()));
+ if (decoderMatch != null && decoderMatch.hasMatches() &&
indexBoolean != -1) {
+ throw new DeploymentException(
+ sm.getString("pojoMethodMapping.partialObject",
m.getName(), m.getDeclaringClass().getName()));
}
maxMessageSize = m.getAnnotation(OnMessage.class).maxMessageSize();
@@ -650,23 +593,19 @@ public class PojoMethodMapping {
}
- public Set<MessageHandler> getMessageHandlers(Object pojo,
- Map<String,String> pathParameters, Session session,
+ public Set<MessageHandler> getMessageHandlers(Object pojo, Map<String,
String> pathParameters, Session session,
EndpointConfig config) {
Object[] params = new Object[m.getParameterTypes().length];
- for (Map.Entry<Integer,PojoPathParam> entry :
- indexPathParams.entrySet()) {
+ for (Map.Entry<Integer, PojoPathParam> entry :
indexPathParams.entrySet()) {
PojoPathParam pathParam = entry.getValue();
String valueString = pathParameters.get(pathParam.getName());
Object value = null;
try {
value = Util.coerceToType(pathParam.getType(),
valueString);
} catch (Exception e) {
- DecodeException de = new DecodeException(valueString,
- sm.getString(
- "pojoMethodMapping.decodePathParamFail",
- valueString, pathParam.getType()), e);
+ DecodeException de = new DecodeException(valueString,
+
sm.getString("pojoMethodMapping.decodePathParamFail", valueString,
pathParam.getType()), e);
params = new Object[] { de };
break;
}
@@ -677,67 +616,56 @@ public class PojoMethodMapping {
if (indexBoolean == -1) {
// Basic
if (indexString != -1 || indexPrimitive != -1) {
- MessageHandler mh = new PojoMessageHandlerWholeText(pojo,
m,
- session, config, null, params, indexPayload, false,
- indexSession, maxMessageSize);
+ MessageHandler mh = new PojoMessageHandlerWholeText(pojo,
m, session, config, null, params,
+ indexPayload, false, indexSession, maxMessageSize);
results.add(mh);
} else if (indexReader != -1) {
- MessageHandler mh = new PojoMessageHandlerWholeText(pojo,
m,
- session, config, null, params, indexReader, true,
- indexSession, maxMessageSize);
+ MessageHandler mh = new PojoMessageHandlerWholeText(pojo,
m, session, config, null, params,
+ indexReader, true, indexSession, maxMessageSize);
results.add(mh);
} else if (indexByteArray != -1) {
- MessageHandler mh = new PojoMessageHandlerWholeBinary(pojo,
- m, session, config, null, params, indexByteArray,
- true, indexSession, false, maxMessageSize);
+ MessageHandler mh = new
PojoMessageHandlerWholeBinary(pojo, m, session, config, null, params,
+ indexByteArray, true, indexSession, false,
maxMessageSize);
results.add(mh);
} else if (indexByteBuffer != -1) {
- MessageHandler mh = new PojoMessageHandlerWholeBinary(pojo,
- m, session, config, null, params, indexByteBuffer,
- false, indexSession, false, maxMessageSize);
+ MessageHandler mh = new
PojoMessageHandlerWholeBinary(pojo, m, session, config, null, params,
+ indexByteBuffer, false, indexSession, false,
maxMessageSize);
results.add(mh);
} else if (indexInputStream != -1) {
- MessageHandler mh = new PojoMessageHandlerWholeBinary(pojo,
- m, session, config, null, params, indexInputStream,
- true, indexSession, true, maxMessageSize);
+ MessageHandler mh = new
PojoMessageHandlerWholeBinary(pojo, m, session, config, null, params,
+ indexInputStream, true, indexSession, true,
maxMessageSize);
results.add(mh);
} else if (decoderMatch != null && decoderMatch.hasMatches()) {
if (decoderMatch.getBinaryDecoders().size() > 0) {
- MessageHandler mh = new PojoMessageHandlerWholeBinary(
- pojo, m, session, config,
- decoderMatch.getBinaryDecoders(), params,
- indexPayload, true, indexSession, true,
+ MessageHandler mh = new
PojoMessageHandlerWholeBinary(pojo, m, session, config,
+ decoderMatch.getBinaryDecoders(), params,
indexPayload, true, indexSession, true,
maxMessageSize);
results.add(mh);
}
if (decoderMatch.getTextDecoders().size() > 0) {
- MessageHandler mh = new PojoMessageHandlerWholeText(
- pojo, m, session, config,
- decoderMatch.getTextDecoders(), params,
- indexPayload, true, indexSession,
maxMessageSize);
+ MessageHandler mh = new
PojoMessageHandlerWholeText(pojo, m, session, config,
+ decoderMatch.getTextDecoders(), params,
indexPayload, true, indexSession,
+ maxMessageSize);
results.add(mh);
}
} else {
- MessageHandler mh = new PojoMessageHandlerWholePong(pojo,
m,
- session, params, indexPong, false, indexSession);
+ MessageHandler mh = new PojoMessageHandlerWholePong(pojo,
m, session, params, indexPong, false,
+ indexSession);
results.add(mh);
}
} else {
// ASync
if (indexString != -1) {
- MessageHandler mh = new PojoMessageHandlerPartialText(pojo,
- m, session, params, indexString, false,
+ MessageHandler mh = new
PojoMessageHandlerPartialText(pojo, m, session, params, indexString, false,
indexBoolean, indexSession, maxMessageSize);
results.add(mh);
} else if (indexByteArray != -1) {
- MessageHandler mh = new PojoMessageHandlerPartialBinary(
- pojo, m, session, params, indexByteArray, true,
- indexBoolean, indexSession, maxMessageSize);
+ MessageHandler mh = new
PojoMessageHandlerPartialBinary(pojo, m, session, params, indexByteArray,
+ true, indexBoolean, indexSession, maxMessageSize);
results.add(mh);
} else {
- MessageHandler mh = new PojoMessageHandlerPartialBinary(
- pojo, m, session, params, indexByteBuffer, false,
- indexBoolean, indexSession, maxMessageSize);
+ MessageHandler mh = new
PojoMessageHandlerPartialBinary(pojo, m, session, params, indexByteBuffer,
+ false, indexBoolean, indexSession, maxMessageSize);
results.add(mh);
}
}
diff --git a/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java
b/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java
index f35249e0c5..7515b73ee5 100644
--- a/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java
+++ b/java/org/apache/tomcat/websocket/pojo/PojoPathParam.java
@@ -22,12 +22,10 @@ import org.apache.tomcat.util.res.StringManager;
import org.apache.tomcat.websocket.Util;
/**
- * Stores the parameter type and name for a parameter that needs to be passed
to
- * an onXxx method of {@link javax.websocket.Endpoint}. The name is only
present
- * for parameters annotated with
- * {@link javax.websocket.server.PathParam}. For the
- * {@link javax.websocket.Session} and {@link java.lang.Throwable} parameters,
- * {@link #getName()} will always return <code>null</code>.
+ * Stores the parameter type and name for a parameter that needs to be passed
to an onXxx method of
+ * {@link javax.websocket.Endpoint}. The name is only present for parameters
annotated with
+ * {@link javax.websocket.server.PathParam}. For the {@link
javax.websocket.Session} and {@link java.lang.Throwable}
+ * parameters, {@link #getName()} will always return <code>null</code>.
*/
public class PojoPathParam {
@@ -37,7 +35,7 @@ public class PojoPathParam {
private final String name;
- public PojoPathParam(Class<?> type, String name) throws
DeploymentException {
+ public PojoPathParam(Class<?> type, String name) throws
DeploymentException {
if (name != null) {
// Annotated as @PathParam so validate type
validateType(type);
diff --git a/java/org/apache/tomcat/websocket/pojo/package-info.java
b/java/org/apache/tomcat/websocket/pojo/package-info.java
index 28daf9d4e0..3d4cdc57fa 100644
--- a/java/org/apache/tomcat/websocket/pojo/package-info.java
+++ b/java/org/apache/tomcat/websocket/pojo/package-info.java
@@ -15,7 +15,7 @@
* limitations under the License.
*/
/**
- * This package provides the necessary plumbing to convert an annotated POJO
- * into a WebSocket {@link javax.websocket.Endpoint}.
+ * This package provides the necessary plumbing to convert an annotated POJO
into a WebSocket
+ * {@link javax.websocket.Endpoint}.
*/
package org.apache.tomcat.websocket.pojo;
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]