Repository: camel Updated Branches: refs/heads/CAMEL-10544 [created] 67e05430a
[CAMEL-10544] Upgrade to smack 4.1 Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/67e05430 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/67e05430 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/67e05430 Branch: refs/heads/CAMEL-10544 Commit: 67e05430a60111cde7fac9a9b8f70b5c7745a9a5 Parents: b13b2fb Author: Christian Schneider <ch...@die-schneider.net> Authored: Thu Dec 22 10:16:58 2016 +0100 Committer: Christian Schneider <ch...@die-schneider.net> Committed: Thu Dec 22 10:16:58 2016 +0100 ---------------------------------------------------------------------- components/camel-xmpp/pom.xml | 10 ++++ .../camel/component/xmpp/XmppBinding.java | 22 ++++----- .../camel/component/xmpp/XmppConsumer.java | 50 ++++++++++++-------- .../component/xmpp/XmppDirectProducer.java | 18 +++---- .../camel/component/xmpp/XmppEndpoint.java | 42 ++++++++-------- .../component/xmpp/XmppGroupChatProducer.java | 8 ++-- .../apache/camel/component/xmpp/XmppLogger.java | 8 ++-- .../camel/component/xmpp/XmppMessage.java | 10 ++-- .../component/xmpp/XmppPrivateChatProducer.java | 16 +++---- .../component/xmpp/XmppPubSubProducer.java | 6 +-- parent/pom.xml | 2 +- 11 files changed, 110 insertions(+), 82 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/pom.xml ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/pom.xml b/components/camel-xmpp/pom.xml index ef497bd..89c9f13 100644 --- a/components/camel-xmpp/pom.xml +++ b/components/camel-xmpp/pom.xml @@ -47,11 +47,21 @@ </dependency> <dependency> <groupId>org.igniterealtime.smack</groupId> + <artifactId>smack-java7</artifactId> + <version>${smack-version}</version> + </dependency> + <dependency> + <groupId>org.igniterealtime.smack</groupId> <artifactId>smack-core</artifactId> <version>${smack-version}</version> </dependency> <dependency> <groupId>org.igniterealtime.smack</groupId> + <artifactId>smack-im</artifactId> + <version>${smack-version}</version> + </dependency> + <dependency> + <groupId>org.igniterealtime.smack</groupId> <artifactId>smack-extensions</artifactId> <version>${smack-version}</version> </dependency> http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java index b33bdbb..503a916 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppBinding.java @@ -24,10 +24,10 @@ import org.apache.camel.Exchange; import org.apache.camel.impl.DefaultHeaderFilterStrategy; import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.util.ObjectHelper; -import org.jivesoftware.smack.packet.DefaultPacketExtension; +import org.jivesoftware.smack.packet.DefaultExtensionElement; +import org.jivesoftware.smack.packet.ExtensionElement; import org.jivesoftware.smack.packet.Message; -import org.jivesoftware.smack.packet.Packet; -import org.jivesoftware.smack.packet.PacketExtension; +import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smackx.jiveproperties.JivePropertiesManager; import org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension; import org.jivesoftware.smackx.pubsub.packet.PubSub; @@ -94,7 +94,7 @@ public class XmppBinding { /** * Populates the given XMPP packet from the inbound exchange */ - public void populateXmppPacket(Packet packet, Exchange exchange) { + public void populateXmppPacket(Stanza packet, Exchange exchange) { Set<Map.Entry<String, Object>> entries = exchange.getIn().getHeaders().entrySet(); for (Map.Entry<String, Object> entry : entries) { String name = entry.getKey(); @@ -118,7 +118,7 @@ public class XmppBinding { /** * Extracts the body from the XMPP message */ - public Object extractBodyFromXmpp(Exchange exchange, Packet xmppPacket) { + public Object extractBodyFromXmpp(Exchange exchange, Stanza xmppPacket) { return (xmppPacket instanceof Message) ? getMessageBody((Message) xmppPacket) : xmppPacket; } @@ -131,15 +131,15 @@ public class XmppBinding { return messageBody; } - public Map<String, Object> extractHeadersFromXmpp(Packet xmppPacket, Exchange exchange) { + public Map<String, Object> extractHeadersFromXmpp(Stanza xmppPacket, Exchange exchange) { Map<String, Object> answer = new HashMap<String, Object>(); - PacketExtension jpe = xmppPacket.getExtension(JivePropertiesExtension.NAMESPACE); + ExtensionElement jpe = xmppPacket.getExtension(JivePropertiesExtension.NAMESPACE); if (jpe != null && jpe instanceof JivePropertiesExtension) { extractHeadersFrom((JivePropertiesExtension)jpe, exchange, answer); } - if (jpe != null && jpe instanceof DefaultPacketExtension) { - extractHeadersFrom((DefaultPacketExtension)jpe, exchange, answer); + if (jpe != null && jpe instanceof DefaultExtensionElement) { + extractHeadersFrom((DefaultExtensionElement)jpe, exchange, answer); } if (xmppPacket instanceof Message) { @@ -152,7 +152,7 @@ public class XmppBinding { answer.put(XmppConstants.MESSAGE_TYPE, pubsubPacket.getType()); } answer.put(XmppConstants.FROM, xmppPacket.getFrom()); - answer.put(XmppConstants.PACKET_ID, xmppPacket.getPacketID()); + answer.put(XmppConstants.PACKET_ID, xmppPacket.getStanzaId()); answer.put(XmppConstants.TO, xmppPacket.getTo()); return answer; @@ -167,7 +167,7 @@ public class XmppBinding { } } - private void extractHeadersFrom(DefaultPacketExtension jpe, Exchange exchange, Map<String, Object> answer) { + private void extractHeadersFrom(DefaultExtensionElement jpe, Exchange exchange, Map<String, Object> answer) { for (String name : jpe.getNames()) { Object value = jpe.getValue(name); if (!headerFilterStrategy.applyFilterToExternalHeaders(name, value, exchange)) { http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java index 5bc0d35..a818396 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppConsumer.java @@ -23,37 +23,40 @@ import org.apache.camel.Exchange; import org.apache.camel.Processor; import org.apache.camel.impl.DefaultConsumer; import org.apache.camel.util.URISupport; -import org.jivesoftware.smack.Chat; -import org.jivesoftware.smack.ChatManager; -import org.jivesoftware.smack.ChatManagerListener; import org.jivesoftware.smack.MessageListener; -import org.jivesoftware.smack.PacketListener; import org.jivesoftware.smack.SmackConfiguration; import org.jivesoftware.smack.SmackException; -import org.jivesoftware.smack.XMPPConnection; +import org.jivesoftware.smack.StanzaListener; +import org.jivesoftware.smack.chat.Chat; +import org.jivesoftware.smack.chat.ChatManager; +import org.jivesoftware.smack.chat.ChatManagerListener; +import org.jivesoftware.smack.chat.ChatMessageListener; import org.jivesoftware.smack.filter.AndFilter; import org.jivesoftware.smack.filter.MessageTypeFilter; import org.jivesoftware.smack.filter.OrFilter; -import org.jivesoftware.smack.filter.PacketTypeFilter; +import org.jivesoftware.smack.filter.StanzaTypeFilter; import org.jivesoftware.smack.packet.Message; -import org.jivesoftware.smack.packet.Message.Type; -import org.jivesoftware.smack.packet.Packet; import org.jivesoftware.smack.packet.Presence; +import org.jivesoftware.smack.packet.Stanza; +import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.jivesoftware.smackx.muc.DiscussionHistory; +import org.jivesoftware.smackx.muc.MUCNotJoinedException; import org.jivesoftware.smackx.muc.MultiUserChat; +import org.jivesoftware.smackx.muc.MultiUserChatManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * A {@link org.apache.camel.Consumer Consumer} which listens to XMPP packets */ -public class XmppConsumer extends DefaultConsumer implements PacketListener, MessageListener, ChatManagerListener { +public class XmppConsumer extends DefaultConsumer implements StanzaListener, ChatMessageListener, MessageListener, + ChatManagerListener { private static final Logger LOG = LoggerFactory.getLogger(XmppConsumer.class); private final XmppEndpoint endpoint; private MultiUserChat muc; private Chat privateChat; private ChatManager chatManager; - private XMPPConnection connection; + private XMPPTCPConnection connection; private ScheduledExecutorService scheduledExecutor; public XmppConsumer(XmppEndpoint endpoint, Processor processor) { @@ -84,9 +87,9 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes OrFilter pubsubPacketFilter = new OrFilter(); if (endpoint.isPubsub()) { //xep-0060: pubsub#notification_type can be 'headline' or 'normal' - pubsubPacketFilter.addFilter(new MessageTypeFilter(Type.headline)); - pubsubPacketFilter.addFilter(new MessageTypeFilter(Type.normal)); - connection.addPacketListener(this, pubsubPacketFilter); + pubsubPacketFilter.addFilter(MessageTypeFilter.HEADLINE); + pubsubPacketFilter.addFilter(MessageTypeFilter.NORMAL); + connection.addAsyncStanzaListener(this, pubsubPacketFilter); } if (endpoint.getRoom() == null) { @@ -107,10 +110,10 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes // add the presence packet listener to the connection so we only get packets that concerns us // we must add the listener before creating the muc - final AndFilter packetFilter = new AndFilter(new PacketTypeFilter(Presence.class)); - connection.addPacketListener(this, packetFilter); - - muc = new MultiUserChat(connection, endpoint.resolveRoom(connection)); + final AndFilter packetFilter = new AndFilter(new StanzaTypeFilter(Presence.class)); + connection.addAsyncStanzaListener(this, packetFilter); + MultiUserChatManager mucm = MultiUserChatManager.getInstanceFor(connection); + muc = mucm.getMultiUserChat(endpoint.resolveRoom(connection)); muc.addMessageListener(this); DiscussionHistory history = new DiscussionHistory(); history.setMaxChars(0); // we do not want any historical messages @@ -207,7 +210,7 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes } } - public void processPacket(Packet packet) { + public void processPacket(Stanza packet) { if (packet instanceof Message) { processMessage(null, (Message) packet); } @@ -232,9 +235,18 @@ public class XmppConsumer extends DefaultConsumer implements PacketListener, Mes // pollMessage is a non blocking method // (see http://issues.igniterealtime.org/browse/SMACK-129) if (muc != null) { - muc.pollMessage(); + try { + muc.pollMessage(); + } catch (MUCNotJoinedException e) { + LOG.warn(e.getMessage(), e); + } } } } + @Override + public void processMessage(Message message) { + processMessage(null, message); + } + } http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java index f655a4b..96acde4 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppDirectProducer.java @@ -19,9 +19,9 @@ package org.apache.camel.component.xmpp; import org.apache.camel.Exchange; import org.apache.camel.RuntimeExchangeException; import org.apache.camel.impl.DefaultProducer; -import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; -import org.jivesoftware.smack.packet.Packet; +import org.jivesoftware.smack.packet.Stanza; +import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -31,7 +31,7 @@ public class XmppDirectProducer extends DefaultProducer { private final XmppEndpoint endpoint; - private XMPPConnection connection; + private XMPPTCPConnection connection; public XmppDirectProducer(XmppEndpoint endpoint) { super(endpoint); @@ -61,13 +61,13 @@ public class XmppDirectProducer extends DefaultProducer { try { Object body = exchange.getIn().getBody(); - if (body instanceof Packet) { - connection.sendPacket((Packet) body); + if (body instanceof Stanza) { + connection.sendStanza((Stanza) body); - } else if (body instanceof Packet[]) { - final Packet[] packets = (Packet[]) body; - for (final Packet packet : packets) { - connection.sendPacket(packet); + } else if (body instanceof Stanza[]) { + final Stanza[] packets = (Stanza[]) body; + for (final Stanza packet : packets) { + connection.sendStanza(packet); } } else { http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java index 949af61..6b7920a 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppEndpoint.java @@ -31,18 +31,20 @@ import org.apache.camel.spi.Metadata; import org.apache.camel.spi.UriEndpoint; import org.apache.camel.spi.UriParam; import org.apache.camel.spi.UriPath; -import org.apache.camel.util.ObjectHelper; -import org.jivesoftware.smack.AccountManager; +import org.apache.camel.util.StringHelper; import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.XMPPException.XMPPErrorException; -import org.jivesoftware.smack.filter.PacketFilter; -import org.jivesoftware.smack.packet.Packet; +import org.jivesoftware.smack.filter.StanzaFilter; +import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smack.packet.XMPPError; +import org.jivesoftware.smack.packet.XMPPError.Condition; import org.jivesoftware.smack.tcp.XMPPTCPConnection; -import org.jivesoftware.smackx.muc.MultiUserChat; +import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration; +import org.jivesoftware.smackx.iqregister.AccountManager; +import org.jivesoftware.smackx.muc.MultiUserChatManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,7 +56,7 @@ import org.slf4j.LoggerFactory; public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrategyAware { private static final Logger LOG = LoggerFactory.getLogger(XmppEndpoint.class); - private volatile XMPPConnection connection; + private volatile XMPPTCPConnection connection; private XmppBinding binding; @UriPath @Metadata(required = "true") @@ -90,7 +92,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg @UriParam(label = "filter") private HeaderFilterStrategy headerFilterStrategy = new DefaultHeaderFilterStrategy(); @UriParam(label = "advanced") - private ConnectionConfiguration connectionConfig; + private XMPPTCPConnectionConfiguration connectionConfig; public XmppEndpoint() { } @@ -143,7 +145,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg return answer; } - public Exchange createExchange(Packet packet) { + public Exchange createExchange(Stanza packet) { Exchange exchange = super.createExchange(); exchange.setProperty(Exchange.BINDING, getBinding()); exchange.setIn(new XmppMessage(packet)); @@ -159,7 +161,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg return true; } - public synchronized XMPPConnection createConnection() throws XMPPException, SmackException, IOException { + public synchronized XMPPTCPConnection createConnection() throws XMPPException, SmackException, IOException { if (connection != null && connection.isConnected()) { // use existing working connection return connection; @@ -169,17 +171,19 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg connection = null; LOG.trace("Creating new connection ..."); - XMPPConnection newConnection = createConnectionInternal(); + XMPPTCPConnection newConnection = createConnectionInternal(); newConnection.connect(); - newConnection.addPacketListener(new XmppLogger("INBOUND"), new PacketFilter() { - public boolean accept(Packet packet) { + newConnection.addAsyncStanzaListener(new XmppLogger("INBOUND"), new StanzaFilter() { + + public boolean accept(Stanza stanza) { return true; } }); - newConnection.addPacketSendingListener(new XmppLogger("OUTBOUND"), new PacketFilter() { - public boolean accept(Packet packet) { + newConnection.addAsyncStanzaListener(new XmppLogger("OUTBOUND"), new StanzaFilter() { + + public boolean accept(Stanza stanza) { return true; } }); @@ -229,7 +233,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg port = 5222; } String sName = getServiceName() == null ? host : getServiceName(); - ConnectionConfiguration conf = new ConnectionConfiguration(host, port, sName); + XMPPTCPConnectionConfiguration conf = XMPPTCPConnectionConfiguration.builder().setHost(host).setPort(port).setServiceName(sName).build(); return new XMPPTCPConnection(conf); } @@ -238,16 +242,16 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg * return fully qualified JID for the room as room@conference.server.domain */ public String resolveRoom(XMPPConnection connection) throws XMPPException, SmackException { - ObjectHelper.notEmpty(room, "room"); + StringHelper.notEmpty(room, "room"); if (room.indexOf('@', 0) != -1) { return room; } - Iterator<String> iterator = MultiUserChat.getServiceNames(connection).iterator(); + Iterator<String> iterator = MultiUserChatManager.getInstanceFor(connection).getServiceNames().iterator(); if (!iterator.hasNext()) { throw new XMPPErrorException("Cannot find Multi User Chat service", - new XMPPError(new XMPPError.Condition("Cannot find Multi User Chat service on connection: " + getConnectionMessage(connection)))); + new XMPPError(Condition.item_not_found)); } String chatServer = iterator.next(); @@ -430,7 +434,7 @@ public class XmppEndpoint extends DefaultEndpoint implements HeaderFilterStrateg /** * To use an existing connection configuration */ - public void setConnectionConfig(ConnectionConfiguration connectionConfig) { + public void setConnectionConfig(XMPPTCPConnectionConfiguration connectionConfig) { this.connectionConfig = connectionConfig; } http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java index 1b2bf63..3f82a7c 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppGroupChatProducer.java @@ -23,11 +23,12 @@ import org.apache.camel.RuntimeExchangeException; import org.apache.camel.impl.DefaultProducer; import org.jivesoftware.smack.SmackConfiguration; import org.jivesoftware.smack.SmackException; -import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.Message; +import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.jivesoftware.smackx.muc.DiscussionHistory; import org.jivesoftware.smackx.muc.MultiUserChat; +import org.jivesoftware.smackx.muc.MultiUserChatManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,7 +38,7 @@ import org.slf4j.LoggerFactory; public class XmppGroupChatProducer extends DefaultProducer { private static final Logger LOG = LoggerFactory.getLogger(XmppGroupChatProducer.class); private final XmppEndpoint endpoint; - private XMPPConnection connection; + private XMPPTCPConnection connection; private MultiUserChat chat; private String room; @@ -121,7 +122,8 @@ public class XmppGroupChatProducer extends DefaultProducer { protected synchronized void initializeChat() throws XMPPException, SmackException { if (chat == null) { room = endpoint.resolveRoom(connection); - chat = new MultiUserChat(connection, room); + MultiUserChatManager chatManager = MultiUserChatManager.getInstanceFor(connection); + chat = chatManager.getMultiUserChat(room); DiscussionHistory history = new DiscussionHistory(); history.setMaxChars(0); // we do not want any historical messages chat.join(endpoint.getNickname(), null, history, SmackConfiguration.getDefaultPacketReplyTimeout()); http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java index fa53ca6..79addcf 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppLogger.java @@ -16,12 +16,12 @@ */ package org.apache.camel.component.xmpp; -import org.jivesoftware.smack.PacketListener; -import org.jivesoftware.smack.packet.Packet; +import org.jivesoftware.smack.StanzaListener; +import org.jivesoftware.smack.packet.Stanza; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class XmppLogger implements PacketListener { +public class XmppLogger implements StanzaListener { private static final Logger LOG = LoggerFactory.getLogger(XmppLogger.class); private String direction; @@ -30,7 +30,7 @@ public class XmppLogger implements PacketListener { this.direction = direction; } - public void processPacket(Packet packet) { + public void processPacket(Stanza packet) { if (LOG.isDebugEnabled()) { LOG.debug("{} : {}", direction, packet.toXML()); } http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java index 9cb62bd..79dcd1d 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppMessage.java @@ -21,13 +21,13 @@ import java.util.Map; import org.apache.camel.impl.DefaultMessage; import org.apache.camel.util.ExchangeHelper; import org.jivesoftware.smack.packet.Message; -import org.jivesoftware.smack.packet.Packet; +import org.jivesoftware.smack.packet.Stanza; /** * Represents a {@link org.apache.camel.Message} for working with XMPP */ public class XmppMessage extends DefaultMessage { - private Packet xmppPacket; + private Stanza xmppPacket; public XmppMessage() { this(new Message()); @@ -37,7 +37,7 @@ public class XmppMessage extends DefaultMessage { this.xmppPacket = jmsMessage; } - public XmppMessage(Packet jmsMessage) { + public XmppMessage(Stanza jmsMessage) { this.xmppPacket = jmsMessage; } @@ -64,11 +64,11 @@ public class XmppMessage extends DefaultMessage { /** * Returns the underlying XMPP packet */ - public Packet getXmppPacket() { + public Stanza getXmppPacket() { return xmppPacket; } - public void setXmppPacket(Packet xmppPacket) { + public void setXmppPacket(Stanza xmppPacket) { this.xmppPacket = xmppPacket; } http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java index 2b59fe3..303f4b7 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPrivateChatProducer.java @@ -21,14 +21,14 @@ import java.io.IOException; import org.apache.camel.Exchange; import org.apache.camel.RuntimeExchangeException; import org.apache.camel.impl.DefaultProducer; -import org.apache.camel.util.ObjectHelper; -import org.jivesoftware.smack.Chat; -import org.jivesoftware.smack.ChatManager; -import org.jivesoftware.smack.MessageListener; +import org.apache.camel.util.StringHelper; import org.jivesoftware.smack.SmackException; -import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; +import org.jivesoftware.smack.chat.Chat; +import org.jivesoftware.smack.chat.ChatManager; +import org.jivesoftware.smack.chat.ChatMessageListener; import org.jivesoftware.smack.packet.Message; +import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,14 +38,14 @@ import org.slf4j.LoggerFactory; public class XmppPrivateChatProducer extends DefaultProducer { private static final Logger LOG = LoggerFactory.getLogger(XmppPrivateChatProducer.class); private final XmppEndpoint endpoint; - private XMPPConnection connection; + private XMPPTCPConnection connection; private final String participant; public XmppPrivateChatProducer(XmppEndpoint endpoint, String participant) { super(endpoint); this.endpoint = endpoint; this.participant = participant; - ObjectHelper.notEmpty(participant, "participant"); + StringHelper.notEmpty(participant, "participant"); LOG.debug("Creating XmppPrivateChatProducer to participant {}", participant); } @@ -104,7 +104,7 @@ public class XmppPrivateChatProducer extends DefaultProducer { if (LOG.isTraceEnabled()) { LOG.trace("Creating new chat instance with thread ID {}", thread); } - chat = chatManager.createChat(participant, thread, new MessageListener() { + chat = chatManager.createChat(participant, thread, new ChatMessageListener() { public void processMessage(Chat chat, Message message) { // not here to do conversation if (LOG.isDebugEnabled()) { http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java index 619f28d..ae568fa 100644 --- a/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java +++ b/components/camel-xmpp/src/main/java/org/apache/camel/component/xmpp/XmppPubSubProducer.java @@ -19,8 +19,8 @@ package org.apache.camel.component.xmpp; import org.apache.camel.Exchange; import org.apache.camel.RuntimeExchangeException; import org.apache.camel.impl.DefaultProducer; -import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; +import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.jivesoftware.smackx.pubsub.packet.PubSub; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -28,7 +28,7 @@ import org.slf4j.LoggerFactory; public class XmppPubSubProducer extends DefaultProducer { private static final transient Logger LOG = LoggerFactory.getLogger(XmppPrivateChatProducer.class); private final XmppEndpoint endpoint; - private XMPPConnection connection; + private XMPPTCPConnection connection; public XmppPubSubProducer(XmppEndpoint endpoint) { super(endpoint); @@ -60,7 +60,7 @@ public class XmppPubSubProducer extends DefaultProducer { PubSub pubsubpacket = (PubSub) body; endpoint.getBinding().populateXmppPacket(pubsubpacket, exchange); exchange.getIn().setHeader(XmppConstants.DOC_HEADER, pubsubpacket); - connection.sendPacket(pubsubpacket); + connection.sendStanza(pubsubpacket); } else { throw new Exception("Message does not contain a pubsub packet"); } http://git-wip-us.apache.org/repos/asf/camel/blob/67e05430/parent/pom.xml ---------------------------------------------------------------------- diff --git a/parent/pom.xml b/parent/pom.xml index f3eba30..7193624 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -537,7 +537,7 @@ <sip-api-version>1.1</sip-api-version> <slf4j-api-version>1.7.21</slf4j-api-version> <slf4j-version>1.7.21</slf4j-version> - <smack-version>4.0.7</smack-version> + <smack-version>4.1.9</smack-version> <snakeyaml-version>1.17</snakeyaml-version> <snappy-version>1.1.2.6</snappy-version> <snmp4j-version>2.3.4_1</snmp4j-version>