Polish SendToMethodReturnValueHandlerTests

This commit is contained in:
Rossen Stoyanchev 2016-01-29 16:16:21 -05:00
parent 03e3ef53ab
commit e81c7dfc4c
1 changed files with 50 additions and 45 deletions

View File

@ -40,7 +40,6 @@ import org.springframework.messaging.MessageChannel;
import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.converter.MappingJackson2MessageConverter; import org.springframework.messaging.converter.MappingJackson2MessageConverter;
import org.springframework.messaging.converter.StringMessageConverter; import org.springframework.messaging.converter.StringMessageConverter;
import org.springframework.messaging.handler.DestinationPatternsMessageCondition;
import org.springframework.messaging.handler.annotation.SendTo; import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.messaging.simp.SimpMessageHeaderAccessor; import org.springframework.messaging.simp.SimpMessageHeaderAccessor;
import org.springframework.messaging.simp.SimpMessageSendingOperations; import org.springframework.messaging.simp.SimpMessageSendingOperations;
@ -53,6 +52,7 @@ import org.springframework.util.MimeType;
import static org.junit.Assert.*; import static org.junit.Assert.*;
import static org.mockito.BDDMockito.*; import static org.mockito.BDDMockito.*;
import static org.springframework.messaging.handler.DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER;
import static org.springframework.messaging.handler.annotation.support.DestinationVariableMethodArgumentResolver.*; import static org.springframework.messaging.handler.annotation.support.DestinationVariableMethodArgumentResolver.*;
import static org.springframework.messaging.support.MessageHeaderAccessor.*; import static org.springframework.messaging.support.MessageHeaderAccessor.*;
@ -61,6 +61,7 @@ import static org.springframework.messaging.support.MessageHeaderAccessor.*;
* *
* @author Rossen Stoyanchev * @author Rossen Stoyanchev
* @author Sebastien Deleuze * @author Sebastien Deleuze
* @author Stephane Nicoll
*/ */
public class SendToMethodReturnValueHandlerTests { public class SendToMethodReturnValueHandlerTests {
@ -177,7 +178,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", null); Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", null);
this.handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -189,7 +190,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.sendToReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToReturnType, inputMessage);
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
@ -202,7 +203,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", null); Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", null);
this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -214,7 +215,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.defaultNoAnnotation, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.defaultNoAnnotation, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -226,7 +227,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.defaultEmptyAnnotation, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.defaultEmptyAnnotation, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -238,7 +239,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.defaultOverrideAnnotation, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.defaultOverrideAnnotation, inputMessage);
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
@ -251,7 +252,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.userDefaultNoAnnotation, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.userDefaultNoAnnotation, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -263,7 +264,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.userDefaultEmptyAnnotation, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.userDefaultEmptyAnnotation, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -275,7 +276,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.userDefaultOverrideAnnotation, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.userDefaultOverrideAnnotation, inputMessage);
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
@ -298,7 +299,7 @@ public class SendToMethodReturnValueHandlerTests {
public void sendToDefaultDestinationWhenUsingDotPathSeparator() throws Exception { public void sendToDefaultDestinationWhenUsingDotPathSeparator() throws Exception {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
Message<?> inputMessage = createInputMessage("sess1", "sub1", "/app/", "dest.foo.bar", null); Message<?> inputMessage = createMessage("sess1", "sub1", "/app/", "dest.foo.bar", null);
this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToDefaultDestReturnType, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -309,23 +310,24 @@ public class SendToMethodReturnValueHandlerTests {
@Test @Test
public void testHeadersToSend() throws Exception { public void testHeadersToSend() throws Exception {
Message<?> inputMessage = createInputMessage("sess1", "sub1", "/app", "/dest", null); Message<?> message = createMessage("sess1", "sub1", "/app", "/dest", null);
SimpMessageSendingOperations messagingTemplate = Mockito.mock(SimpMessageSendingOperations.class); SimpMessageSendingOperations messagingTemplate = Mockito.mock(SimpMessageSendingOperations.class);
SendToMethodReturnValueHandler handler = new SendToMethodReturnValueHandler(messagingTemplate, false); SendToMethodReturnValueHandler handler = new SendToMethodReturnValueHandler(messagingTemplate, false);
handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, inputMessage); handler.handleReturnValue(PAYLOAD, this.noAnnotationsReturnType, message);
ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class); ArgumentCaptor<MessageHeaders> captor = ArgumentCaptor.forClass(MessageHeaders.class);
verify(messagingTemplate).convertAndSend(eq("/topic/dest"), eq(PAYLOAD), captor.capture()); verify(messagingTemplate).convertAndSend(eq("/topic/dest"), eq(PAYLOAD), captor.capture());
MessageHeaders messageHeaders = captor.getValue(); MessageHeaders headers = captor.getValue();
SimpMessageHeaderAccessor accessor = getAccessor(messageHeaders, SimpMessageHeaderAccessor.class); SimpMessageHeaderAccessor accessor = getAccessor(headers, SimpMessageHeaderAccessor.class);
assertNotNull(accessor); assertNotNull(accessor);
assertTrue(accessor.isMutable()); assertTrue(accessor.isMutable());
assertEquals("sess1", accessor.getSessionId()); assertEquals("sess1", accessor.getSessionId());
assertNull("Subscription id should not be copied", accessor.getSubscriptionId()); assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
assertEquals(this.noAnnotationsReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER)); assertEquals(this.noAnnotationsReturnType,
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
} }
@Test @Test
@ -334,7 +336,7 @@ public class SendToMethodReturnValueHandlerTests {
String sessionId = "sess1"; String sessionId = "sess1";
TestUser user = new TestUser(); TestUser user = new TestUser();
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, user); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, user);
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
@ -378,7 +380,7 @@ public class SendToMethodReturnValueHandlerTests {
String sessionId = "sess1"; String sessionId = "sess1";
TestUser user = new TestUser(); TestUser user = new TestUser();
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, user); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, user);
this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionReturnType, inputMessage);
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
@ -388,14 +390,16 @@ public class SendToMethodReturnValueHandlerTests {
assertEquals(MIME_TYPE, accessor.getContentType()); assertEquals(MIME_TYPE, accessor.getContentType());
assertEquals("/user/" + user.getName() + "/dest1", accessor.getDestination()); assertEquals("/user/" + user.getName() + "/dest1", accessor.getDestination());
assertNull("Subscription id should not be copied", accessor.getSubscriptionId()); assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
assertEquals(this.sendToUserSingleSessionReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER)); assertEquals(this.sendToUserSingleSessionReturnType,
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
accessor = getCapturedAccessor(1); accessor = getCapturedAccessor(1);
assertEquals(sessionId, accessor.getSessionId()); assertEquals(sessionId, accessor.getSessionId());
assertEquals("/user/" + user.getName() + "/dest2", accessor.getDestination()); assertEquals("/user/" + user.getName() + "/dest2", accessor.getDestination());
assertEquals(MIME_TYPE, accessor.getContentType()); assertEquals(MIME_TYPE, accessor.getContentType());
assertNull("Subscription id should not be copied", accessor.getSubscriptionId()); assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
assertEquals(this.sendToUserSingleSessionReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER)); assertEquals(this.sendToUserSingleSessionReturnType,
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
} }
@Test @Test
@ -404,7 +408,7 @@ public class SendToMethodReturnValueHandlerTests {
String sessionId = "sess1"; String sessionId = "sess1";
TestUser user = new UniqueUser(); TestUser user = new UniqueUser();
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, user); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, user);
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
@ -422,7 +426,7 @@ public class SendToMethodReturnValueHandlerTests {
String sessionId = "sess1"; String sessionId = "sess1";
TestUser user = new TestUser(); TestUser user = new TestUser();
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", user); Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", user);
this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -438,7 +442,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
TestUser user = new TestUser(); TestUser user = new TestUser();
Message<?> inputMessage = createInputMessage("sess1", "sub1", "/app/", "dest.foo.bar", user); Message<?> inputMessage = createMessage("sess1", "sub1", "/app/", "dest.foo.bar", user);
this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToUserDefaultDestReturnType, inputMessage);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -453,8 +457,8 @@ public class SendToMethodReturnValueHandlerTests {
String sessionId = "sess1"; String sessionId = "sess1";
TestUser user = new TestUser(); TestUser user = new TestUser();
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", user); Message<?> message = createMessage(sessionId, "sub1", "/app", "/dest", user);
this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionDefaultDestReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToUserSingleSessionDefaultDestReturnType, message);
verify(this.messageChannel, times(1)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(1)).send(this.messageCaptor.capture());
@ -463,7 +467,8 @@ public class SendToMethodReturnValueHandlerTests {
assertEquals("/user/" + user.getName() + "/queue/dest", accessor.getDestination()); assertEquals("/user/" + user.getName() + "/queue/dest", accessor.getDestination());
assertEquals(MIME_TYPE, accessor.getContentType()); assertEquals(MIME_TYPE, accessor.getContentType());
assertNull("Subscription id should not be copied", accessor.getSubscriptionId()); assertNull("Subscription id should not be copied", accessor.getSubscriptionId());
assertEquals(this.sendToUserSingleSessionDefaultDestReturnType, accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER)); assertEquals(this.sendToUserSingleSessionDefaultDestReturnType,
accessor.getHeader(SimpMessagingTemplate.CONVERSION_HINT_HEADER));
} }
@Test @Test
@ -471,7 +476,7 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", null, null, null); Message<?> inputMessage = createMessage(sessionId, "sub1", null, null, null);
this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage); this.handler.handleReturnValue(PAYLOAD, this.sendToUserReturnType, inputMessage);
verify(this.messageChannel, times(2)).send(this.messageCaptor.capture()); verify(this.messageChannel, times(2)).send(this.messageCaptor.capture());
@ -490,29 +495,28 @@ public class SendToMethodReturnValueHandlerTests {
given(this.messageChannel.send(any(Message.class))).willReturn(true); given(this.messageChannel.send(any(Message.class))).willReturn(true);
String sessionId = "sess1"; String sessionId = "sess1";
Message<?> inputMessage = createInputMessage(sessionId, "sub1", "/app", "/dest", null); Message<?> inputMessage = createMessage(sessionId, "sub1", "/app", "/dest", null);
this.jsonHandler.handleReturnValue(handleAndSendToJsonView(), this.jsonViewReturnType, inputMessage); this.jsonHandler.handleReturnValue(handleAndSendToJsonView(), this.jsonViewReturnType, inputMessage);
verify(this.messageChannel).send(this.messageCaptor.capture()); verify(this.messageChannel).send(this.messageCaptor.capture());
Message<?> message = this.messageCaptor.getValue(); Message<?> message = this.messageCaptor.getValue();
assertNotNull(message); assertNotNull(message);
assertEquals("{\"withView1\":\"with\"}", new String((byte[]) message.getPayload(), StandardCharsets.UTF_8)); String bytes = new String((byte[]) message.getPayload(), StandardCharsets.UTF_8);
assertEquals("{\"withView1\":\"with\"}", bytes);
} }
private Message<?> createInputMessage(String sessId, String subsId, String destinationPrefix, private Message<?> createMessage(String sessId, String subsId, String destPrefix, String dest, Principal user) {
String destination, Principal principal) {
SimpMessageHeaderAccessor headerAccessor = SimpMessageHeaderAccessor.create(); SimpMessageHeaderAccessor headerAccessor = SimpMessageHeaderAccessor.create();
headerAccessor.setSessionId(sessId); headerAccessor.setSessionId(sessId);
headerAccessor.setSubscriptionId(subsId); headerAccessor.setSubscriptionId(subsId);
if (destination != null && destinationPrefix != null) { if (dest != null && destPrefix != null) {
headerAccessor.setDestination(destinationPrefix + destination); headerAccessor.setDestination(destPrefix + dest);
headerAccessor.setHeader(DestinationPatternsMessageCondition.LOOKUP_DESTINATION_HEADER, destination); headerAccessor.setHeader(LOOKUP_DESTINATION_HEADER, dest);
} }
if (principal != null) { if (user != null) {
headerAccessor.setUser(principal); headerAccessor.setUser(user);
} }
return MessageBuilder.createMessage(new byte[0], headerAccessor.getMessageHeaders()); return MessageBuilder.createMessage(new byte[0], headerAccessor.getMessageHeaders());
} }
@ -542,47 +546,48 @@ public class SendToMethodReturnValueHandlerTests {
} }
} }
@SuppressWarnings("unused")
public String handleNoAnnotations() { public String handleNoAnnotations() {
return PAYLOAD; return PAYLOAD;
} }
@SendTo @SendTo @SuppressWarnings("unused")
public String handleAndSendToDefaultDestination() { public String handleAndSendToDefaultDestination() {
return PAYLOAD; return PAYLOAD;
} }
@SendTo({"/dest1", "/dest2"}) @SendTo({"/dest1", "/dest2"}) @SuppressWarnings("unused")
public String handleAndSendTo() { public String handleAndSendTo() {
return PAYLOAD; return PAYLOAD;
} }
@SendTo("/topic/chat.message.filtered.{roomName}") @SendTo("/topic/chat.message.filtered.{roomName}") @SuppressWarnings("unused")
public String handleAndSendToWithPlaceholders() { public String handleAndSendToWithPlaceholders() {
return PAYLOAD; return PAYLOAD;
} }
@SendToUser @SendToUser @SuppressWarnings("unused")
public String handleAndSendToUserDefaultDestination() { public String handleAndSendToUserDefaultDestination() {
return PAYLOAD; return PAYLOAD;
} }
@SendToUser(broadcast = false) @SendToUser(broadcast = false) @SuppressWarnings("unused")
public String handleAndSendToUserDefaultDestinationSingleSession() { public String handleAndSendToUserDefaultDestinationSingleSession() {
return PAYLOAD; return PAYLOAD;
} }
@SendToUser({"/dest1", "/dest2"}) @SendToUser({"/dest1", "/dest2"}) @SuppressWarnings("unused")
public String handleAndSendToUser() { public String handleAndSendToUser() {
return PAYLOAD; return PAYLOAD;
} }
@SendToUser(destinations = { "/dest1", "/dest2" }, broadcast = false) @SendToUser(destinations = { "/dest1", "/dest2" }, broadcast = false) @SuppressWarnings("unused")
public String handleAndSendToUserSingleSession() { public String handleAndSendToUserSingleSession() {
return PAYLOAD; return PAYLOAD;
} }
@SendTo("/dest") @SendTo("/dest")
@JsonView(MyJacksonView1.class) @JsonView(MyJacksonView1.class) @SuppressWarnings("unused")
public JacksonViewBean handleAndSendToJsonView() { public JacksonViewBean handleAndSendToJsonView() {
JacksonViewBean payload = new JacksonViewBean(); JacksonViewBean payload = new JacksonViewBean();
payload.setWithView1("with"); payload.setWithView1("with");