diff --git a/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventInboundEndpointParser.java b/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventInboundEndpointParser.java index 72c2478692..df9fe02e2c 100644 --- a/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventInboundEndpointParser.java +++ b/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventInboundEndpointParser.java @@ -32,7 +32,7 @@ public class XmppRosterEventInboundEndpointParser extends AbstractSingleBeanDefi @Override protected String getBeanClassName(Element element) { - return "org.springframework.integration.xmpp.presenceXmppRosterEventMessageDrivenEndpoint"; + return "org.springframework.integration.xmpp.presence.XmppRosterEventMessageDrivenEndpoint"; } @Override diff --git a/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventOutboundEndpointParser.java b/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventOutboundEndpointParser.java index 80d9f007f2..498e55ba93 100644 --- a/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventOutboundEndpointParser.java +++ b/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/config/XmppRosterEventOutboundEndpointParser.java @@ -23,6 +23,8 @@ import org.springframework.integration.config.xml.IntegrationNamespaceUtils; import org.w3c.dom.Element; /** + * Parser for 'xmpp:roster-event-outbound-channel-adapter' element + * * @author Oleg Zhurakousky * @since 2.0 */ diff --git a/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapper.java b/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapper.java index 6612887ec0..99ec16f0c3 100644 --- a/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapper.java +++ b/spring-integration-xmpp/src/main/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapper.java @@ -18,10 +18,8 @@ package org.springframework.integration.xmpp.presence; import org.jivesoftware.smack.packet.Presence; import org.springframework.integration.Message; import org.springframework.integration.MessageHeaders; -import org.springframework.integration.mapping.InboundMessageMapper; import org.springframework.integration.mapping.MessageMappingException; import org.springframework.integration.mapping.OutboundMessageMapper; -import org.springframework.integration.support.MessageBuilder; import org.springframework.integration.xmpp.XmppHeaders; import org.springframework.util.StringUtils; @@ -34,27 +32,26 @@ import org.springframework.util.StringUtils; * @author Oleg Zhurakousky * @since 2.0 */ -public class XmppPresenceMessageMapper implements OutboundMessageMapper, - InboundMessageMapper { +public class XmppPresenceMessageMapper implements OutboundMessageMapper { - /** - * Builds {@link Message} with payload of {@link Presence} while also - * setting Presence attributes as {@link MessageHeaders} - * - * @param presence the presence object - * @return the Message - * @throws Exception thrown if conversion should fail - */ - @SuppressWarnings("unchecked") - public Message toMessage(Presence presence) throws Exception { - MessageBuilder presenceMessageBuilder = MessageBuilder.withPayload(presence); - presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_PRIORITY, presence.getPriority()); - presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_STATUS, presence.getStatus()); - presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_MODE, presence.getMode()); - presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_FROM, presence.getFrom()); - - return (Message) presenceMessageBuilder.build(); - } +// /** +// * Builds {@link Message} with payload of {@link Presence} while also +// * setting Presence attributes as {@link MessageHeaders} +// * +// * @param presence the presence object +// * @return the Message +// * @throws Exception thrown if conversion should fail +// */ +// @SuppressWarnings("unchecked") +// public Message toMessage(Presence presence) throws Exception { +// MessageBuilder presenceMessageBuilder = MessageBuilder.withPayload(presence); +// presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_PRIORITY, presence.getPriority()); +// presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_STATUS, presence.getStatus()); +// presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_MODE, presence.getMode()); +// presenceMessageBuilder.setHeader(XmppHeaders.PRESENCE_FROM, presence.getFrom()); +// +// return (Message) presenceMessageBuilder.build(); +// } /** * Builds a {@link Presence} object from the inbound Message headers, if possible. @@ -95,7 +92,8 @@ public class XmppPresenceMessageMapper implements OutboundMessageMapper messageMapper; + //private volatile InboundMessageMapper messageMapper; private final MessagingTemplate messagingTemplate = new MessagingTemplate(); @@ -75,9 +75,9 @@ public class XmppRosterEventMessageDrivenEndpoint extends AbstractEndpoint { this.requestChannel = requestChannel; } - public void setMessageMapper(InboundMessageMapper messageMapper) { - this.messageMapper = messageMapper; - } +// public void setMessageMapper(InboundMessageMapper messageMapper) { +// this.messageMapper = messageMapper; +// } @Override protected void doStart() { @@ -92,9 +92,9 @@ public class XmppRosterEventMessageDrivenEndpoint extends AbstractEndpoint { @Override protected void onInit() throws Exception { - if (null == this.messageMapper) { - this.messageMapper = new XmppPresenceMessageMapper(); - } +// if (null == this.messageMapper) { +// this.messageMapper = new XmppPresenceMessageMapper(); +// } this.messagingTemplate.setDefaultChannel(requestChannel); this.messagingTemplate.afterPropertiesSet(); this.initialized = true; @@ -106,9 +106,9 @@ public class XmppRosterEventMessageDrivenEndpoint extends AbstractEndpoint { * @param presence the {@link Presence} object representing the new state */ private void forwardRosterEventMessage(Presence presence) { - Message message = null; + Message message = null; try { - message = this.messageMapper.toMessage(presence); + message = MessageBuilder.withPayload(presence).build(); messagingTemplate.send(requestChannel, message); } catch (Exception e) { diff --git a/spring-integration-xmpp/src/test/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapperTests.java b/spring-integration-xmpp/src/test/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapperTests.java index 4b4bfa0b00..5514892d98 100644 --- a/spring-integration-xmpp/src/test/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapperTests.java +++ b/spring-integration-xmpp/src/test/java/org/springframework/integration/xmpp/presence/XmppPresenceMessageMapperTests.java @@ -32,14 +32,6 @@ import org.springframework.integration.xmpp.XmppHeaders; */ public class XmppPresenceMessageMapperTests { - @Test - public void testToMessage() throws Exception{ - Presence presence = new Presence(Type.available, "Hello", 1, Mode.chat); - XmppPresenceMessageMapper mapper = new XmppPresenceMessageMapper(); - Message presenceMessage = mapper.toMessage(presence); - assertEquals(presence, presenceMessage.getPayload()); - // TODO look into why presence attributes are also duplicated as headers - } @Test public void testFromMessageWithPayloadPresence() throws Exception{ Presence presence = new Presence(Type.available, "Hello", 1, Mode.chat);