private void updateUserDestinationResolver(AbstractBrokerMessageHandler handler) { Collection<String> prefixes = handler.getDestinationPrefixes(); if (!prefixes.isEmpty() && !prefixes.iterator().next().startsWith("/")) { ((DefaultUserDestinationResolver) userDestinationResolver()).setRemoveLeadingSlash(true); } }
@Test // SPR-14044 public void handleMessageForDestinationWithDotSeparator() { this.resolver.setRemoveLeadingSlash(true); TestPrincipal user = new TestPrincipal("joe"); String destination = "/user/joe/jms.queue.call"; Message<?> message = createMessage(SimpMessageType.MESSAGE, user, "123", destination); UserDestinationResult actual = this.resolver.resolveDestination(message); assertEquals(1, actual.getTargetDestinations().size()); assertEquals("jms.queue.call-user123", actual.getTargetDestinations().iterator().next()); assertEquals("/user/jms.queue.call", actual.getSubscribeDestination()); }
@Test // SPR-14044 public void handleSubscribeForDestinationWithoutLeadingSlash() { this.resolver.setRemoveLeadingSlash(true); TestPrincipal user = new TestPrincipal("joe"); String destination = "/user/jms.queue.call"; Message<?> message = createMessage(SimpMessageType.SUBSCRIBE, user, "123", destination); UserDestinationResult actual = this.resolver.resolveDestination(message); assertEquals(1, actual.getTargetDestinations().size()); assertEquals("jms.queue.call-user123", actual.getTargetDestinations().iterator().next()); assertEquals(destination, actual.getSubscribeDestination()); }
private void updateUserDestinationResolver(AbstractBrokerMessageHandler handler) { Collection<String> prefixes = handler.getDestinationPrefixes(); if (!prefixes.isEmpty() && !prefixes.iterator().next().startsWith("/")) { ((DefaultUserDestinationResolver) userDestinationResolver()).setRemoveLeadingSlash(true); } }
private void updateUserDestinationResolver(AbstractBrokerMessageHandler handler) { Collection<String> prefixes = handler.getDestinationPrefixes(); if (!prefixes.isEmpty() && !prefixes.iterator().next().startsWith("/")) { ((DefaultUserDestinationResolver) userDestinationResolver()).setRemoveLeadingSlash(true); } }
private void updateUserDestinationResolver(AbstractBrokerMessageHandler handler) { Collection<String> prefixes = handler.getDestinationPrefixes(); if (!prefixes.isEmpty() && !prefixes.iterator().next().startsWith("/")) { ((DefaultUserDestinationResolver) userDestinationResolver()).setRemoveLeadingSlash(true); } }