diff --git a/components/camel-xmpp/pom.xml b/components/camel-xmpp/pom.xml index 10a8eabf30ca5..88815edd1a7ec 100644 --- a/components/camel-xmpp/pom.xml +++ b/components/camel-xmpp/pom.xml @@ -61,7 +61,7 @@ org.igniterealtime.smack - smack-java7 + smack-java8 ${smack-version} 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 b4862547c03f3..76d3a20a9d004 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,9 +24,9 @@ import org.apache.camel.spi.HeaderFilterStrategy; import org.apache.camel.support.DefaultHeaderFilterStrategy; import org.apache.camel.util.ObjectHelper; -import org.jivesoftware.smack.packet.DefaultExtensionElement; import org.jivesoftware.smack.packet.ExtensionElement; import org.jivesoftware.smack.packet.Message; +import org.jivesoftware.smack.packet.StandardExtensionElement; import org.jivesoftware.smack.packet.Stanza; import org.jivesoftware.smackx.jiveproperties.JivePropertiesManager; import org.jivesoftware.smackx.jiveproperties.packet.JivePropertiesExtension; @@ -135,8 +135,8 @@ public Map extractHeadersFromXmpp(Stanza stanza, Exchange exchan if (jpe instanceof JivePropertiesExtension) { extractHeadersFrom((JivePropertiesExtension) jpe, exchange, answer); } - if (jpe instanceof DefaultExtensionElement) { - extractHeadersFrom((DefaultExtensionElement) jpe, exchange, answer); + if (jpe instanceof StandardExtensionElement) { + extractHeadersFrom((StandardExtensionElement) jpe, exchange, answer); } if (stanza instanceof Message) { @@ -165,9 +165,10 @@ private void extractHeadersFrom(JivePropertiesExtension jpe, Exchange exchange, } } - private void extractHeadersFrom(DefaultExtensionElement jpe, Exchange exchange, Map answer) { - for (String name : jpe.getNames()) { - Object value = jpe.getValue(name); + private void extractHeadersFrom(StandardExtensionElement jpe, Exchange exchange, Map answer) { + for (StandardExtensionElement element : jpe.getElements()) { + String name = element.getElementName(); + Object value = element.getText(); if (!headerFilterStrategy.applyFilterToExternalHeaders(name, value, exchange)) { answer.put(name, value); } 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 48edffc949d0c..cfec90532b943 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 @@ -33,7 +33,7 @@ public XmppLogger(String direction) { @Override public void processStanza(Stanza stanza) { if (LOG.isDebugEnabled()) { - LOG.debug("{} : {}", direction, stanza.toXML(null)); + LOG.debug("{} : {}", direction, stanza.toXML()); } } } diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc index e70c63e1c5506..4bccef49b3209 100644 --- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc +++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_22.adoc @@ -497,6 +497,16 @@ by the file-based consumers (see the `localWorkDirectory` note in the 4.21 upgra Ordinary object names are unaffected. A name that resolves outside `fileDir` is now rejected with an `IllegalArgumentException`. +=== camel-xmpp - Smack upgraded to 4.4 + +The camel-xmpp component has upgraded Smack from 4.3.5 to 4.4.8. The `smack-java7` module no longer exists in +Smack 4.4 and has been replaced by `smack-java8` (relevant if you declared it explicitly alongside camel-xmpp). +When extracting headers from a stanza whose JiveProperties extension is not parsed by a registered provider, +the unparsed extension is now represented by Smack's `StandardExtensionElement` (the replacement for the removed +`DefaultExtensionElement`); flat child elements are mapped to headers as before. See the +https://github.com/igniterealtime/Smack/wiki/Smack-4.4-Readme[Smack 4.4 readme] for behavioral changes in the +Smack library itself. + === camel-weaviate - potential breaking change The Weaviate Java client has been upgraded from v5 (`io.weaviate:client`) to v6 (`io.weaviate:client6`). diff --git a/parent/pom.xml b/parent/pom.xml index 0512aa9d79662..8db8ed52b3e4a 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -467,7 +467,7 @@ 1.49.0 2.0.18 2.0.17 - 4.3.5 + 4.4.8 3.18.1 4.3.0 6.11.2