diff options
author | Emmanuel Bourg <ebourg@apache.org> | 2016-11-11 22:59:07 +0100 |
---|---|---|
committer | Emmanuel Bourg <ebourg@apache.org> | 2016-11-11 22:59:07 +0100 |
commit | 0591d269b8b2b33af090ace1ecbd408490618428 (patch) | |
tree | 2b9b277dd7cb0cd3bc6f66fb0a4c79a85293a04b /spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java | |
parent | c3df6b7858afaef71fbe0b42cd62f7f12e595bf0 (diff) |
New upstream version 4.3.4
Diffstat (limited to 'spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java')
-rw-r--r-- | spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java | 64 |
1 files changed, 20 insertions, 44 deletions
diff --git a/spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java b/spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java index dd473a26..5268d925 100644 --- a/spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java +++ b/spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java @@ -133,13 +133,11 @@ public class SendToMethodReturnValueHandler implements HandlerMethodReturnValueH @Override public boolean supportsReturnType(MethodParameter returnType) { - if (returnType.hasMethodAnnotation(SendTo.class) || + return (returnType.hasMethodAnnotation(SendTo.class) || AnnotatedElementUtils.hasAnnotation(returnType.getDeclaringClass(), SendTo.class) || returnType.hasMethodAnnotation(SendToUser.class) || - AnnotatedElementUtils.hasAnnotation(returnType.getDeclaringClass(), SendToUser.class)) { - return true; - } - return !this.annotationRequired; + AnnotatedElementUtils.hasAnnotation(returnType.getDeclaringClass(), SendToUser.class) || + !this.annotationRequired); } @Override @@ -188,56 +186,34 @@ public class SendToMethodReturnValueHandler implements HandlerMethodReturnValueH } private Object findAnnotation(MethodParameter returnType) { - Annotation[] annot = new Annotation[4]; - annot[0] = AnnotatedElementUtils.findMergedAnnotation(returnType.getMethod(), SendToUser.class); - annot[1] = AnnotatedElementUtils.findMergedAnnotation(returnType.getMethod(), SendTo.class); - annot[2] = AnnotatedElementUtils.findMergedAnnotation(returnType.getDeclaringClass(), SendToUser.class); - annot[3] = AnnotatedElementUtils.findMergedAnnotation(returnType.getDeclaringClass(), SendTo.class); - - if (annot[0] != null && !ObjectUtils.isEmpty(((SendToUser) annot[0]).value())) { - return annot[0]; + Annotation[] anns = new Annotation[4]; + anns[0] = AnnotatedElementUtils.findMergedAnnotation(returnType.getMethod(), SendToUser.class); + anns[1] = AnnotatedElementUtils.findMergedAnnotation(returnType.getMethod(), SendTo.class); + anns[2] = AnnotatedElementUtils.findMergedAnnotation(returnType.getDeclaringClass(), SendToUser.class); + anns[3] = AnnotatedElementUtils.findMergedAnnotation(returnType.getDeclaringClass(), SendTo.class); + + if (anns[0] != null && !ObjectUtils.isEmpty(((SendToUser) anns[0]).value())) { + return anns[0]; } - if (annot[1] != null && !ObjectUtils.isEmpty(((SendTo) annot[1]).value())) { - return annot[1]; + if (anns[1] != null && !ObjectUtils.isEmpty(((SendTo) anns[1]).value())) { + return anns[1]; } - if (annot[2] != null && !ObjectUtils.isEmpty(((SendToUser) annot[2]).value())) { - return annot[2]; + if (anns[2] != null && !ObjectUtils.isEmpty(((SendToUser) anns[2]).value())) { + return anns[2]; } - if (annot[3] != null && !ObjectUtils.isEmpty(((SendTo) annot[3]).value())) { - return annot[3]; + if (anns[3] != null && !ObjectUtils.isEmpty(((SendTo) anns[3]).value())) { + return anns[3]; } for (int i=0; i < 4; i++) { - if (annot[i] != null) { - return annot[i]; + if (anns[i] != null) { + return anns[i]; } } return null; } - private SendToUser getSendToUser(MethodParameter returnType) { - SendToUser annot = AnnotatedElementUtils.findMergedAnnotation(returnType.getMethod(), SendToUser.class); - if (annot != null && !ObjectUtils.isEmpty(annot.value())) { - return annot; - } - SendToUser typeAnnot = AnnotatedElementUtils.findMergedAnnotation(returnType.getDeclaringClass(), SendToUser.class); - if (typeAnnot != null && !ObjectUtils.isEmpty(typeAnnot.value())) { - return typeAnnot; - } - return (annot != null ? annot : typeAnnot); - } - - private SendTo getSendTo(MethodParameter returnType) { - SendTo sendTo = AnnotatedElementUtils.findMergedAnnotation(returnType.getMethod(), SendTo.class); - if (sendTo != null && !ObjectUtils.isEmpty(sendTo.value())) { - return sendTo; - } - else { - return AnnotatedElementUtils.findMergedAnnotation(returnType.getDeclaringClass(), SendTo.class); - } - } - @SuppressWarnings("unchecked") private PlaceholderResolver initVarResolver(MessageHeaders headers) { String name = DestinationVariableMethodArgumentResolver.DESTINATION_TEMPLATE_VARIABLES_HEADER; @@ -268,7 +244,7 @@ public class SendToMethodReturnValueHandler implements HandlerMethodReturnValueH } return (destination.startsWith("/") ? - new String[] {defaultPrefix + destination} : new String[] {defaultPrefix + "/" + destination}); + new String[] {defaultPrefix + destination} : new String[] {defaultPrefix + '/' + destination}); } private MessageHeaders createHeaders(String sessionId, MethodParameter returnType) { |