summaryrefslogtreecommitdiff
path: root/spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java
diff options
context:
space:
mode:
authorEmmanuel Bourg <ebourg@apache.org>2016-11-11 22:59:07 +0100
committerEmmanuel Bourg <ebourg@apache.org>2016-11-11 22:59:07 +0100
commit0591d269b8b2b33af090ace1ecbd408490618428 (patch)
tree2b9b277dd7cb0cd3bc6f66fb0a4c79a85293a04b /spring-messaging/src/main/java/org/springframework/messaging/simp/annotation/support/SendToMethodReturnValueHandler.java
parentc3df6b7858afaef71fbe0b42cd62f7f12e595bf0 (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.java64
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) {