From 5973413cbeba331a97f39490f7510b2a4adae793 Mon Sep 17 00:00:00 2001 From: SirWayne Date: Tue, 1 Mar 2016 08:37:50 +0100 Subject: [PATCH] Add Javadoc and remove message converter from base class Signed-off-by: SirWayne --- .../hawkbit/amqp/AmqpConfiguration.java | 4 +-- .../amqp/AmqpMessageDispatcherService.java | 11 ++++-- .../amqp/AmqpMessageHandlerService.java | 35 ++++--------------- .../hawkbit/amqp/AmqpSenderService.java | 2 +- .../eclipse/hawkbit/amqp/BaseAmqpService.java | 33 +++++++++++------ .../AmqpControllerAuthentficationTest.java | 4 ++- .../AmqpMessageDispatcherServiceTest.java | 3 +- .../amqp/AmqpMessageHandlerServiceTest.java | 3 +- 8 files changed, 46 insertions(+), 49 deletions(-) diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java index ad106c0bd..d2cd1eab8 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpConfiguration.java @@ -122,11 +122,11 @@ public class AmqpConfiguration { /** * Create amqp handler service bean. * - * @return + * @return handler service bean */ @Bean public AmqpMessageHandlerService amqpMessageHandlerService() { - return new AmqpMessageHandlerService(jsonMessageConverter(), rabbitTemplate); + return new AmqpMessageHandlerService(rabbitTemplate); } /** diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java index a2ffd06e3..8681d3a7a 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherService.java @@ -29,7 +29,6 @@ import org.eclipse.hawkbit.util.ArtifactUrlHandler; import org.eclipse.hawkbit.util.IpUtil; import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; -import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.beans.factory.annotation.Autowired; @@ -52,9 +51,15 @@ public class AmqpMessageDispatcherService extends BaseAmqpService { @Autowired private AmqpSenderService amqpSenderService; + /** + * Constructor. + * + * @param messageConverter + * message converter + */ @Autowired - public AmqpMessageDispatcherService(final MessageConverter messageConverter, final RabbitTemplate defaultTemplate) { - super(messageConverter, defaultTemplate); + public AmqpMessageDispatcherService(final MessageConverter messageConverter) { + super(messageConverter); } /** diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java index 33ca6837e..66de7ada0 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerService.java @@ -49,7 +49,6 @@ import org.springframework.amqp.core.Message; import org.springframework.amqp.core.MessageProperties; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.cache.Cache; @@ -97,16 +96,17 @@ public class AmqpMessageHandlerService extends BaseAmqpService { @Autowired private HostnameResolver hostnameResolver; + private final RabbitTemplate internalAmqpTemplate; + /** * Constructor. * - * @param messageConverter - * the message converter. * @param defaultTemplate * the configured amqp template. */ - public AmqpMessageHandlerService(final MessageConverter messageConverter, final RabbitTemplate defaultTemplate) { - super(messageConverter, defaultTemplate); + public AmqpMessageHandlerService(final RabbitTemplate defaultTemplate) { + super(defaultTemplate.getMessageConverter()); + this.internalAmqpTemplate = defaultTemplate; } @RabbitListener(queues = "${hawkbit.dmf.rabbitmq.receiverQueue}", containerFactory = "listenerContainerFactory") @@ -346,11 +346,6 @@ public class AmqpMessageHandlerService extends BaseAmqpService { return controllerManagement.addUpdateActionStatus(actionStatus, action); } - /** - * @param message - * @param actionUpdateStatus - * @return - */ private Action checkActionExist(final Message message, final ActionUpdateStatus actionUpdateStatus) { final Long actionId = actionUpdateStatus.getActionId(); LOG.debug("Target notifies intermediate about action {} with status {}.", actionId, @@ -383,17 +378,7 @@ public class AmqpMessageHandlerService extends BaseAmqpService { } } - /** - * Is needed to verify if an incoming message has the content type json. - * - * @param message - * the to verify - * @param contentType - * the content type - * @return true if the content type has json, false it not. - */ - - private static void checkContentTypeJson(final Message message) { + private void checkContentTypeJson(final Message message) { final MessageProperties messageProperties = message.getMessageProperties(); if (messageProperties.getContentType() != null && messageProperties.getContentType().contains("json")) { return; @@ -409,14 +394,6 @@ public class AmqpMessageHandlerService extends BaseAmqpService { this.hostnameResolver = hostnameResolver; } - void setMessageConverter(final MessageConverter messageConverter) { - this.messageConverter = messageConverter; - } - - MessageConverter getMessageConverter() { - return messageConverter; - } - void setAuthenticationManager(final AmqpControllerAuthentfication authenticationManager) { this.authenticationManager = authenticationManager; } diff --git a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpSenderService.java b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpSenderService.java index 936495aba..6cb3dd9be 100644 --- a/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpSenderService.java +++ b/hawkbit-dmf-amqp/src/main/java/org/eclipse/hawkbit/amqp/AmqpSenderService.java @@ -20,7 +20,7 @@ public interface AmqpSenderService { /** * Send the given message to the given uri. The uri contains the (virtual) - * host and exchange. + * host and exchange e.g amqp://host/exchange. * * @param message * the amqp message 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 6cfa89358..5ad27c041 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 @@ -16,7 +16,6 @@ import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core.Message; -import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.amqp.support.converter.AbstractJavaTypeMapper; import org.springframework.amqp.support.converter.MessageConverter; @@ -28,14 +27,23 @@ public class BaseAmqpService { private static final Logger LOGGER = LoggerFactory.getLogger(BaseAmqpService.class); protected MessageConverter messageConverter; - protected RabbitTemplate internalAmqpTemplate; - - public BaseAmqpService(final MessageConverter messageConverter, final RabbitTemplate defaultTemplate) { + /** + * Constructor. + * + * @param messageConverter + * the message messageConverter. + */ + public BaseAmqpService(final MessageConverter messageConverter) { this.messageConverter = messageConverter; - internalAmqpTemplate = defaultTemplate; } - protected void cleanMessage(final Message message) { + /** + * Clean message properties before sending a message. + * + * @param message + * the message to cleaned up + */ + protected void cleanMessageHeaderProperties(final Message message) { message.getMessageProperties().getHeaders().remove(AbstractJavaTypeMapper.DEFAULT_CLASSID_FIELD_NAME); } @@ -46,7 +54,7 @@ public class BaseAmqpService { * the message to convert. * @param clazz * the class of the originally object. - * @return + * @return the converted object */ @SuppressWarnings("unchecked") protected T convertMessage(final Message message, final Class clazz) { @@ -66,7 +74,7 @@ public class BaseAmqpService { * the message to convert. * @param clazz * the class of the list content. - * @return + * @return the list of converted objects */ @SuppressWarnings("unchecked") protected List convertMessageList(final Message message, final Class clazz) { @@ -80,7 +88,12 @@ public class BaseAmqpService { return (List) messageConverter.fromMessage(message); } - protected String getStringHeaderKey(final Message message, final String key, final String errorMessageIfNull) { + public MessageConverter getMessageConverter() { + return messageConverter; + } + + protected final String getStringHeaderKey(final Message message, final String key, + final String errorMessageIfNull) { final Map header = message.getMessageProperties().getHeaders(); final Object value = header.get(key); if (value == null) { @@ -89,7 +102,7 @@ public class BaseAmqpService { return value.toString(); } - protected void logAndThrowMessageError(final Message message, final String error) { + protected final void logAndThrowMessageError(final Message message, final String error) { LOGGER.error("Error \"{}\" reported by message {}", error, message.getMessageProperties().getMessageId()); throw new IllegalArgumentException(error); } diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentficationTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentficationTest.java index e8b8a089b..ce2db47d5 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentficationTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpControllerAuthentficationTest.java @@ -61,7 +61,9 @@ public class AmqpControllerAuthentficationTest { @Before public void before() throws Exception { messageConverter = new Jackson2JsonMessageConverter(); - amqpMessageHandlerService = new AmqpMessageHandlerService(messageConverter, mock(RabbitTemplate.class)); + final RabbitTemplate rabbitTemplate = mock(RabbitTemplate.class); + when(rabbitTemplate.getMessageConverter()).thenReturn(messageConverter); + amqpMessageHandlerService = new AmqpMessageHandlerService(rabbitTemplate); authenticationManager = new AmqpControllerAuthentfication(); authenticationManager.setControllerManagement(mock(ControllerManagement.class)); diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java index 4c8300bfd..5967976ca 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageDispatcherServiceTest.java @@ -70,8 +70,7 @@ public class AmqpMessageDispatcherServiceTest extends AbstractIntegrationTestWit super.before(); this.rabbitTemplate = Mockito.mock(RabbitTemplate.class); when(rabbitTemplate.getMessageConverter()).thenReturn(new Jackson2JsonMessageConverter()); - amqpMessageDispatcherService = new AmqpMessageDispatcherService(new Jackson2JsonMessageConverter(), - rabbitTemplate); + amqpMessageDispatcherService = new AmqpMessageDispatcherService(new Jackson2JsonMessageConverter()); amqpMessageDispatcherService = spy(amqpMessageDispatcherService); senderService = Mockito.mock(DefaultAmqpSenderService.class); diff --git a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java index 9bc2f2da7..582a1857b 100644 --- a/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java +++ b/hawkbit-dmf-amqp/src/test/java/org/eclipse/hawkbit/amqp/AmqpMessageHandlerServiceTest.java @@ -105,7 +105,8 @@ public class AmqpMessageHandlerServiceTest { @Before public void before() throws Exception { messageConverter = new Jackson2JsonMessageConverter(); - amqpMessageHandlerService = new AmqpMessageHandlerService(messageConverter, rabbitTemplate); + when(rabbitTemplate.getMessageConverter()).thenReturn(messageConverter); + amqpMessageHandlerService = new AmqpMessageHandlerService(rabbitTemplate); amqpMessageHandlerService.setControllerManagement(controllerManagementMock); amqpMessageHandlerService.setAuthenticationManager(authenticationManagerMock); amqpMessageHandlerService.setArtifactManagement(artifactManagementMock);