This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 7.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 8d610617ca048c042f0beb749ad8a87f4b41708b Author: Mark Thomas <ma...@apache.org> AuthorDate: Sun Jun 30 22:52:09 2019 +0100 Align with 8.5.x. o.a.t.websocket.pojo package --- .../apache/tomcat/websocket/pojo/Constants.java | 12 +++++- .../websocket/pojo/LocalStrings_es.properties | 24 ++++++++++++ .../websocket/pojo/LocalStrings_fr.properties | 45 ++++++++++++++++++++++ .../websocket/pojo/LocalStrings_ja.properties | 45 ++++++++++++++++++++++ .../websocket/pojo/LocalStrings_ru.properties | 16 ++++++++ .../tomcat/websocket/pojo/PojoEndpointBase.java | 16 +++----- .../tomcat/websocket/pojo/PojoEndpointServer.java | 21 ++++++---- .../websocket/pojo/PojoMessageHandlerBase.java | 4 +- .../pojo/PojoMessageHandlerPartialBase.java | 4 +- .../pojo/PojoMessageHandlerWholeBase.java | 4 +- .../pojo/PojoMessageHandlerWholeBinary.java | 15 +++----- .../pojo/PojoMessageHandlerWholeText.java | 12 +++--- .../tomcat/websocket/pojo/PojoMethodMapping.java | 16 ++++---- 13 files changed, 182 insertions(+), 52 deletions(-) diff --git a/java/org/apache/tomcat/websocket/pojo/Constants.java b/java/org/apache/tomcat/websocket/pojo/Constants.java index bcc9978..4edd4dd 100644 --- a/java/org/apache/tomcat/websocket/pojo/Constants.java +++ b/java/org/apache/tomcat/websocket/pojo/Constants.java @@ -21,8 +21,16 @@ package org.apache.tomcat.websocket.pojo; */ public class Constants { - protected static final String PACKAGE_NAME = - Constants.class.getPackage().getName(); + /** + * @deprecated. Will be removed in 8.5.x onwards. + */ + @Deprecated + protected static final String PACKAGE_NAME = Constants.class.getPackage().getName(); + + public static final String POJO_PATH_PARAM_KEY = + "org.apache.tomcat.websocket.pojo.PojoEndpoint.pathParams"; + 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/LocalStrings_es.properties b/java/org/apache/tomcat/websocket/pojo/LocalStrings_es.properties new file mode 100644 index 0000000..bbef800 --- /dev/null +++ b/java/org/apache/tomcat/websocket/pojo/LocalStrings_es.properties @@ -0,0 +1,24 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +pojoEndpointBase.onCloseFail=Fallo al llamar el método onClose del endpoint POJO para el tipo POJO [{0}] +pojoEndpointBase.onOpenFail=Fallo al llamar el método onOpen del end point POJO para el tipo POJO [{0}]\n + +pojoEndpointServer.getPojoInstanceFail=Fallo al crear la instancia POJO de tipo [{0}]\n + +pojoMethodMapping.duplicateAnnotation=Anotaciones duplicadas [{0}] presente en la clase [{1}]\n +pojoMethodMapping.duplicatePongMessageParam=Varios parámetros de PongMessage estan presentes en el método [{0}] de la clase [{1}] que fue anotado con OnMessage +pojoMethodMapping.invalidDecoder=El decodificador especificado de tipo [{0}] no puede ser instanciado\n +pojoMethodMapping.onErrorNoThrowable=Parámetro no descartable estaba presente en el método [{0}] de clase [{1}] que fue apuntado con OnError diff --git a/java/org/apache/tomcat/websocket/pojo/LocalStrings_fr.properties b/java/org/apache/tomcat/websocket/pojo/LocalStrings_fr.properties new file mode 100644 index 0000000..186ee96 --- /dev/null +++ b/java/org/apache/tomcat/websocket/pojo/LocalStrings_fr.properties @@ -0,0 +1,45 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +pojoEndpointBase.closeSessionFail=Echec de fermeture de la session WebSocket pendant le traitement d'erreur +pojoEndpointBase.onCloseFail=Echec lors de l''appel de la méthode onClose du point de terminaison POJO de type [{0}] +pojoEndpointBase.onError=Aucun gestionnaire d''erreur n''est configuré pour [{0}] et l''erreur suivante s''est produite +pojoEndpointBase.onErrorFail=Echec de l''appel de la méthode onError du point de terminaison POJO pour le type [{0}] +pojoEndpointBase.onOpenFail=Impossible d’appeler la méthode onOpen du point de terminaison POJO de type [{0}] + +pojoEndpointServer.getPojoInstanceFail=Échec de création d''une instance de POJO de type [{0}] + +pojoMessageHandlerWhole.decodeIoFail=Erreur d'IO lors du décodage du message +pojoMessageHandlerWhole.maxBufferSize=La taille maximale de message supportée par cette implémentation est Integer.MAX_VALUE + +pojoMethodMapping.decodePathParamFail=Echec de décodage de la valeur de paramètre de chemin [{0}] vers le type attendu [{1}] +pojoMethodMapping.duplicateAnnotation=Annotations dupliquées [{0}] présentes pour la classe [{1}] +pojoMethodMapping.duplicateLastParam=Multiple (derniers) paramètres booléens présents sur la méthode [{0}] de classe [{1}], qui était annotée par OnMessage +pojoMethodMapping.duplicateMessageParam=De multiples paramètres de message sont présents sur la méthode [{0}] de la classe [{1}] qui a été annotée avec OnMessage +pojoMethodMapping.duplicatePongMessageParam=De multiples paramètres PongMessage sont présents sur la méthode [{0}] de la classe [{1}] qui a été annotée avec OnMessage +pojoMethodMapping.duplicateSessionParam=De multiples paramètres de session sont présents sur la méthode [{0}] de la classe [{1}] qui a été annotée avec OnMessage +pojoMethodMapping.invalidDecoder=Le décodeur de type [{0}] spécifié n''a pas pu être instantié +pojoMethodMapping.methodNotPublic=La méthode [{0}] annotée n''est pas publique +pojoMethodMapping.noDecoder=Aucun décodeur n''a été trouvé pour les paramètres de message présents sur la méthode [{0}] de la classe [{1}] qui a été annotée avec OnMessage +pojoMethodMapping.noPayload=Pas de paramètre de données présent sur la méthode [{0}] de la classe [{1}] qui a été annotée par OnMessage +pojoMethodMapping.onErrorNoThrowable=Aucun paramètre Throwable n''est présent sur la méthode [{0}] de la classe [{1}] qui est annotée par OnError +pojoMethodMapping.paramWithoutAnnotation=Un paramètre de type [{0}] a été trouvé sur la méthode [{1}] de la classe [{2}] qui n''avait pas d''annotation @PathParam +pojoMethodMapping.partialInputStream=L''InputStream et les paramètres booléens présents sur la méthode [{0}] de la classe [{1}] qui a été annotée par OnMessage sont invalides +pojoMethodMapping.partialObject=L''objet et la paramètres booléens présents sur la méthode [{0}] de la classe [{1}] qui a été annotée par OnMessage sont invalides +pojoMethodMapping.partialPong=Le PongMessage et les paramètres booléens présents sur la méthode [{0}] de la classe [{1}] qui a été annotée par OnMessage sont invalides +pojoMethodMapping.partialReader=Le Reader et les paramètres booléens présents sur la méthode [{0}] de la classe [{1}] qui a été annotée par OnMessage sont invalides +pojoMethodMapping.pongWithPayload=Le PongMessage et les paramètres de message présents sur la méthode [{0}] de la classe [{1}] qui a été annotée par OnMessage sont invalides + +pojoPathParam.wrongType=Le type [{0}] n''est pas autorisé en tant que paramètre de chemin, les paramètres annotés avec @PathParm doivent être uniquement des String, des primitives Java ou des versions encapsulées de celles ci diff --git a/java/org/apache/tomcat/websocket/pojo/LocalStrings_ja.properties b/java/org/apache/tomcat/websocket/pojo/LocalStrings_ja.properties new file mode 100644 index 0000000..e28e5e3 --- /dev/null +++ b/java/org/apache/tomcat/websocket/pojo/LocalStrings_ja.properties @@ -0,0 +1,45 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +pojoEndpointBase.closeSessionFail=エラー処理中に WebSocket セッションを切断できませんでした。 +pojoEndpointBase.onCloseFail=タイプ[{0}]のPOJOのPOJOエンドポイントのonCloseメソッドの呼び出しに失敗しました +pojoEndpointBase.onError=[{0}]に対してエラー処理が構成されておらず、次のエラーが発生しました。 +pojoEndpointBase.onErrorFail=タイプ[{0}]のPOJOのPOJOエンドポイントのonErrorメソッドの呼び出しに失敗しました +pojoEndpointBase.onOpenFail=タイプ[{0}]のPOJOのPOJOエンドポイントのonOpenメソッドの呼び出しに失敗しました。 + +pojoEndpointServer.getPojoInstanceFail=POJO クラス [{0}] をインスタンス化できませんでした。 + +pojoMessageHandlerWhole.decodeIoFail=メッセージの復号中に入出力エラーが発生しました。 +pojoMessageHandlerWhole.maxBufferSize=この実装で対応可能なメッセージサイズの上限値は Integer.MAX_VALUE です。 + +pojoMethodMapping.decodePathParamFail=パスパラメータの値 [{0}] を [{1}] 型として解釈できません。 +pojoMethodMapping.duplicateAnnotation=クラス [{1}] にアノテーション [{0}] が重複しています。 +pojoMethodMapping.duplicateLastParam=OnMessageでアノテーション付けされたクラス[{1}]のメソッド[{0}]に複数のbooleanパラメータが存在します。 +pojoMethodMapping.duplicateMessageParam=OnMessage アノテーションで修飾されたクラス [{1}] のメソッド [{0}] に複数のメッセージパラメーターが存在します。 +pojoMethodMapping.duplicatePongMessageParam=OnMessageでアノテーションされたクラス[{1}]のメソッド[{0}]に複数のPongMessageパラメータが存在します。 +pojoMethodMapping.duplicateSessionParam=OnMessage アノテーションで修飾したクラス [{1}] のメソッド [{0}] に複数のセッションパラメーターが存在します。 +pojoMethodMapping.invalidDecoder=指定されたデコーダークラス [{0}] をインスタンス化できませんでした。 +pojoMethodMapping.methodNotPublic=アノテーション付きめそっぢがpublicではありません。 +pojoMethodMapping.noDecoder=OnMessageでアノテーションが付けられたクラス[{1}]のメソッド[{0}]に存在するメッセージパラメータのデコーダが見つかりませんでした。 +pojoMethodMapping.noPayload=OnMessage アノテーションで修飾されたクラス [{1}] のメソッド [{0}] にはペイロードに対応するパラメーターがありません。 +pojoMethodMapping.onErrorNoThrowable=OnErrorでアノテーション付けされたクラス[{1}]のメソッド[{0}]に、Throwableパラメータがありませんでした。 +pojoMethodMapping.paramWithoutAnnotation=@PathParamアノテーションを持たなかったクラス[{2}]のメソッド[{1}]に[{0}]型のパラメータが見つかりました +pojoMethodMapping.partialInputStream=OnMessage アノテーションで修飾されたクラス [{1}] のメソッド [{0}] に入力ストリームと boolean の不正なパラメーターが存在します。 +pojoMethodMapping.partialObject=OnMessageでアノテーションされたクラス[{1}]のメソッド[{0}]に無効なオブジェクトおよびboolean パラメータがあります +pojoMethodMapping.partialPong=OnMessageでアノテーション付けされたクラス[{1}]のメソッド[{0}]に存在するPongMessageパラメータおよびbooleanパラメータが無効です。 +pojoMethodMapping.partialReader=OnMessage アノテーションで修飾したクラス [{1}] のメソッド [{0}] に Reader および boolean の不正なパラメーターがあります。 +pojoMethodMapping.pongWithPayload=OnMessageでアノテーションが付けられたクラス[{1}]のメソッド[{0}]に、無効なPongMessageおよびMessageパラメータがあります。 + +pojoPathParam.wrongType=タイプ[{0}]はパスパラメータとして許可されていません。 @PathParamでアノテーションが付けられたパラメータは、文字列、Javaプリミティブ、またはそれらのボックス版のみです。 diff --git a/java/org/apache/tomcat/websocket/pojo/LocalStrings_ru.properties b/java/org/apache/tomcat/websocket/pojo/LocalStrings_ru.properties new file mode 100644 index 0000000..418615bf --- /dev/null +++ b/java/org/apache/tomcat/websocket/pojo/LocalStrings_ru.properties @@ -0,0 +1,16 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +pojoMethodMapping.duplicateAnnotation=Аналогичная аннотация [{0}] существует в классе [{1}] diff --git a/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java b/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java index b9575ef..75615d4 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java @@ -40,8 +40,7 @@ import org.apache.tomcat.util.res.StringManager; public abstract class PojoEndpointBase extends Endpoint { private final Log log = LogFactory.getLog(PojoEndpointBase.class); // must not be static - private static final StringManager sm = - StringManager.getManager(Constants.PACKAGE_NAME); + private static final StringManager sm = StringManager.getManager(PojoEndpointBase.class); private Object pojo; private Map<String,String> pathParameters; @@ -72,21 +71,18 @@ public abstract class PojoEndpointBase extends Endpoint { log.error(sm.getString( "pojoEndpointBase.onOpenFail", pojo.getClass().getName()), e); - handleOnOpenError(session, e); - return; + handleOnOpenOrCloseError(session, e); } catch (InvocationTargetException e) { Throwable cause = e.getCause(); - handleOnOpenError(session, cause); - return; + handleOnOpenOrCloseError(session, cause); } catch (Throwable t) { - handleOnOpenError(session, t); - return; + handleOnOpenOrCloseError(session, t); } } } - private void handleOnOpenError(Session session, Throwable t) { + private void handleOnOpenOrCloseError(Session session, Throwable t) { // If really fatal - re-throw ExceptionUtils.handleThrowable(t); @@ -107,9 +103,9 @@ public abstract class PojoEndpointBase extends Endpoint { methodMapping.getOnClose().invoke(pojo, methodMapping.getOnCloseArgs(pathParameters, session, closeReason)); } catch (Throwable t) { - ExceptionUtils.handleThrowable(t); log.error(sm.getString("pojoEndpointBase.onCloseFail", pojo.getClass().getName()), t); + handleOnOpenOrCloseError(session, t); } } diff --git a/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java b/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java index 77ef83d..f7766e6 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoEndpointServer.java @@ -32,12 +32,19 @@ import org.apache.tomcat.util.res.StringManager; public class PojoEndpointServer extends PojoEndpointBase { private static final StringManager sm = - StringManager.getManager(Constants.PACKAGE_NAME); + StringManager.getManager(PojoEndpointServer.class); - public static final String POJO_PATH_PARAM_KEY = - "org.apache.tomcat.websocket.pojo.PojoEndpoint.pathParams"; - public static final String POJO_METHOD_MAPPING_KEY = - "org.apache.tomcat.websocket.pojo.PojoEndpoint.methodMapping"; + /** + * @deprecated. Will be removed in 8.5.x onwards. + */ + @Deprecated + public static final String POJO_PATH_PARAM_KEY = Constants.POJO_PATH_PARAM_KEY; + + /** + * @deprecated. Will be removed in 8.5.x onwards. + */ + @Deprecated + public static final String POJO_METHOD_MAPPING_KEY = Constants.POJO_METHOD_MAPPING_KEY; @Override @@ -59,12 +66,12 @@ public class PojoEndpointServer extends PojoEndpointBase { @SuppressWarnings("unchecked") Map<String,String> pathParameters = (Map<String, String>) sec.getUserProperties().get( - POJO_PATH_PARAM_KEY); + Constants.POJO_PATH_PARAM_KEY); setPathParameters(pathParameters); PojoMethodMapping methodMapping = (PojoMethodMapping) sec.getUserProperties().get( - POJO_METHOD_MAPPING_KEY); + 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 a36ef1f..bc125c7 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerBase.java @@ -83,10 +83,8 @@ public abstract class PojoMessageHandlerBase<T> } else { remoteEndpoint.sendObject(result); } - } catch (IOException ioe) { + } catch (IOException | EncodeException ioe) { throw new IllegalStateException(ioe); - } catch (EncodeException ee) { - throw new IllegalStateException(ee); } } diff --git a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java index 7a7261f..4a0f525 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerPartialBase.java @@ -69,9 +69,7 @@ public abstract class PojoMessageHandlerPartialBase<T> Object result = null; try { result = method.invoke(pojo, parameters); - } catch (IllegalAccessException e) { - handlePojoMethodException(e); - } catch (InvocationTargetException e) { + } catch (IllegalAccessException | InvocationTargetException e) { handlePojoMethodException(e); } processResult(result); diff --git a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java index b864c64..aa4abbe 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBase.java @@ -78,9 +78,7 @@ public abstract class PojoMessageHandlerWholeBase<T> Object result = null; try { result = method.invoke(pojo, parameters); - } catch (IllegalAccessException e) { - handlePojoMethodException(e); - } catch (InvocationTargetException e) { + } catch (IllegalAccessException | InvocationTargetException e) { handlePojoMethodException(e); } processResult(result); diff --git a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java index 8282504..e4756f6 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeBinary.java @@ -39,9 +39,9 @@ public class PojoMessageHandlerWholeBinary extends PojoMessageHandlerWholeBase<ByteBuffer> { private static final StringManager sm = - StringManager.getManager(Constants.PACKAGE_NAME); + StringManager.getManager(PojoMessageHandlerWholeBinary.class); - private final List<Decoder> decoders = new ArrayList<Decoder>(); + private final List<Decoder> decoders = new ArrayList<>(); private final boolean isForInputStream; @@ -66,14 +66,13 @@ public class PojoMessageHandlerWholeBinary if (decoderClazzes != null) { for (Class<? extends Decoder> decoderClazz : decoderClazzes) { if (Binary.class.isAssignableFrom(decoderClazz)) { - Binary<?> decoder = - (Binary<?>) decoderClazz.newInstance(); + Binary<?> decoder = (Binary<?>) decoderClazz.getConstructor().newInstance(); decoder.init(config); decoders.add(decoder); } else if (BinaryStream.class.isAssignableFrom( decoderClazz)) { - BinaryStream<?> decoder = - (BinaryStream<?>) decoderClazz.newInstance(); + BinaryStream<?> decoder = (BinaryStream<?>) + decoderClazz.getConstructor().newInstance(); decoder.init(config); decoders.add(decoder); } else { @@ -81,9 +80,7 @@ public class PojoMessageHandlerWholeBinary } } } - } catch (IllegalAccessException e) { - throw new IllegalArgumentException(e); - } catch (InstantiationException e) { + } catch (ReflectiveOperationException e) { throw new IllegalArgumentException(e); } this.isForInputStream = isForInputStream; diff --git a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java index d30dcc3..3ec4bd7 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoMessageHandlerWholeText.java @@ -40,9 +40,9 @@ public class PojoMessageHandlerWholeText extends PojoMessageHandlerWholeBase<String> { private static final StringManager sm = - StringManager.getManager(Constants.PACKAGE_NAME); + StringManager.getManager(PojoMessageHandlerWholeText.class); - private final List<Decoder> decoders = new ArrayList<Decoder>(); + private final List<Decoder> decoders = new ArrayList<>(); private final Class<?> primitiveType; public PojoMessageHandlerWholeText(Object pojo, Method method, @@ -75,13 +75,13 @@ public class PojoMessageHandlerWholeText if (decoderClazzes != null) { for (Class<? extends Decoder> decoderClazz : decoderClazzes) { if (Text.class.isAssignableFrom(decoderClazz)) { - Text<?> decoder = (Text<?>) decoderClazz.newInstance(); + Text<?> decoder = (Text<?>) decoderClazz.getConstructor().newInstance(); decoder.init(config); decoders.add(decoder); } else if (TextStream.class.isAssignableFrom( decoderClazz)) { TextStream<?> decoder = - (TextStream<?>) decoderClazz.newInstance(); + (TextStream<?>) decoderClazz.getConstructor().newInstance(); decoder.init(config); decoders.add(decoder); } else { @@ -89,9 +89,7 @@ public class PojoMessageHandlerWholeText } } } - } catch (IllegalAccessException e) { - throw new IllegalArgumentException(e); - } catch (InstantiationException e) { + } catch (ReflectiveOperationException e) { throw new IllegalArgumentException(e); } } diff --git a/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java b/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java index 3a342f4..d640b53 100644 --- a/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java +++ b/java/org/apache/tomcat/websocket/pojo/PojoMethodMapping.java @@ -58,7 +58,7 @@ import org.apache.tomcat.websocket.Util.DecoderMatch; public class PojoMethodMapping { private static final StringManager sm = - StringManager.getManager(Constants.PACKAGE_NAME); + StringManager.getManager(PojoMethodMapping.class); private final Method onOpen; private final Method onClose; @@ -66,7 +66,7 @@ public class PojoMethodMapping { private final PojoPathParam[] onOpenParams; private final PojoPathParam[] onCloseParams; private final PojoPathParam[] onErrorParams; - private final List<MessageHandlerInfo> onMessage = new ArrayList<MessageHandlerInfo>(); + private final List<MessageHandlerInfo> onMessage = new ArrayList<>(); private final String wsPath; @@ -176,7 +176,7 @@ public class PojoMethodMapping { error = null; } } - List<MessageHandlerInfo> overriddenOnMessage = new ArrayList<MessageHandlerInfo>(); + List<MessageHandlerInfo> overriddenOnMessage = new ArrayList<>(); for (MessageHandlerInfo messageHandler : onMessage) { if (messageHandler.m.getDeclaringClass() != clazzPojo && isOverridenWithoutAnnotation(clazzPojoMethods, messageHandler.m, OnMessage.class)) { @@ -204,9 +204,9 @@ public class PojoMethodMapping { private boolean isMethodOverride(Method method1, Method method2) { - return (method1.getName().equals(method2.getName()) + return method1.getName().equals(method2.getName()) && method1.getReturnType().equals(method2.getReturnType()) - && Arrays.equals(method1.getParameterTypes(), method2.getParameterTypes())); + && Arrays.equals(method1.getParameterTypes(), method2.getParameterTypes()); } @@ -271,7 +271,7 @@ public class PojoMethodMapping { public Set<MessageHandler> getMessageHandlers(Object pojo, Map<String,String> pathParameters, Session session, EndpointConfig config) { - Set<MessageHandler> result = new HashSet<MessageHandler>(); + Set<MessageHandler> result = new HashSet<>(); for (MessageHandlerInfo messageMethod : onMessage) { result.addAll(messageMethod.getMessageHandlers(pojo, pathParameters, session, config)); @@ -373,7 +373,7 @@ public class PojoMethodMapping { private int indexInputStream = -1; private int indexReader = -1; private int indexPrimitive = -1; - private Map<Integer,PojoPathParam> indexPathParams = new HashMap<Integer,PojoPathParam>(); + private Map<Integer,PojoPathParam> indexPathParams = new HashMap<>(); private int indexPayload = -1; private DecoderMatch decoderMatch = null; private long maxMessageSize = -1; @@ -644,7 +644,7 @@ public class PojoMethodMapping { params[entry.getKey().intValue()] = value; } - Set<MessageHandler> results = new HashSet<MessageHandler>(2); + Set<MessageHandler> results = new HashSet<>(2); if (indexBoolean == -1) { // Basic if (indexString != -1 || indexPrimitive != -1) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org