From 91dfbbd3a6128ec3ba6089519e41c9633fa266ba Mon Sep 17 00:00:00 2001 From: SirWayne Date: Mon, 15 Feb 2016 16:48:02 +0100 Subject: [PATCH] Extract exchange from URI Signed-off-by: SirWayne --- .../main/java/org/eclipse/hawkbit/amqp/BaseAmqpService.java | 6 ++++++ .../org/eclipse/hawkbit/amqp/DefaultAmqpSenderService.java | 2 +- .../src/main/java/org/eclipse/hawkbit/util/IpUtil.java | 3 +-- .../src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/BaseAmqpService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/BaseAmqpService.java index adc5b43f6..faed3eb74 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/BaseAmqpService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/BaseAmqpService.java @@ -3,6 +3,8 @@ */ package org.eclipse.hawkbit.amqp; +import java.net.URI; + import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.AbstractJavaTypeMapper; @@ -55,4 +57,8 @@ public class BaseAmqpService { return (T) messageConverter.fromMessage(message); } + protected String getExchangeFromAmqpUri(final URI amqpUri) { + return amqpUri.getPath().substring(1); + } + } diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DefaultAmqpSenderService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DefaultAmqpSenderService.java index 5a51f9b9f..1b962da19 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DefaultAmqpSenderService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/DefaultAmqpSenderService.java @@ -23,7 +23,7 @@ public class DefaultAmqpSenderService extends BaseAmqpService implements AmqpSen @Override public void sendMessage(final Message message, final URI uri) { - spInternalConnectorTemplate.send(uri.getPath(), message); + spInternalConnectorTemplate.send(getExchangeFromAmqpUri(uri), message); } } diff --git a/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/util/IpUtil.java b/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/util/IpUtil.java index 79285dfd6..07c22e796 100644 --- a/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/util/IpUtil.java +++ b/hawkbit-security-core/src/main/java/org/eclipse/hawkbit/util/IpUtil.java @@ -108,8 +108,7 @@ public final class IpUtil { * If the given string not parsable */ public static URI createAmqpUri(final String virtualHost, final String exchange) { - // TODO check - return createUri(AMPQP_SCHEME, virtualHost).resolve(exchange); + return createUri(AMPQP_SCHEME, virtualHost).resolve("/" + exchange); } /** diff --git a/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java b/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java index 30aa161ad..47e9bfe9a 100644 --- a/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java +++ b/hawkbit-security-core/src/test/java/org/eclipse/hawkbit/util/IpUtilTest.java @@ -121,7 +121,7 @@ public class IpUtilTest { assertFalse(IpUtil.isHttpUri(amqpUri)); assertEquals(host, amqpUri.getHost()); assertEquals("amqp", amqpUri.getScheme()); - assertEquals("path", amqpUri.getPath()); + assertEquals("/path", amqpUri.getRawPath()); } @Test(expected = IllegalArgumentException.class)