From 37eeb07376baa36df5724002817b6a3d3066ac54 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Thu, 18 Sep 2014 15:16:22 +0200 Subject: [PATCH] Add smack-java7 declarative service So that everything is correctly initialized. Otherwise we get an NPE like: 02:55:01 PM SENT (242792115): = 02:55:01 PM RCV (242792115): cmVhbG09ImVjLXhtcHAiLG5vbmNlPSJyWWpCYj Znc1I4WUVKZXNZUXV2bXBFQWNoRVVGRGowTnJnUFcxRjFmIixxb3A9ImF1dGgiLGNoYXJzZXQ9dXRmLT gsYWxnb3JpdGhtPW1kNS1zZXNz org.jivesoftware.smack.SmackException$NoResponseException at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java: 247) at org.jivesoftware.smack.tcp.XMPPTCPConnection.login(XMPPTCPConnection.java:374) ... at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.ja va:932) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.ja va:1) at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183) at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317) at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261) at com.foobar.mgmt.tree.xmpp.skeleton.impl.activator.Activator.start(Activator.ja va:33) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextI mpl.java:711) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(Bundl eContextImpl.java:702) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextI mpl.java:683) at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java :381) at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.j ava:390) at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java: 1176) at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartL evelManager.java:559) at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartL evelManager.java:544) at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelMa nager.java:457) at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(Star tLevelManager.java:243) at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartL evelManager.java:438) at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartL evelManager.java:1) at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.jav a:230) at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.j ava:340) Sep 18, 2014 2:55:06 PM org.jivesoftware.smack.AbstractXMPPConnection callConnectionClosedOnErrorListener Warnung: Connection closed with error java.lang.NullPointerException at org.jivesoftware.smack.util.stringencoder.Base64.decode(Base64.java:87) at org.jivesoftware.smack.sasl.SASLMechanism.challengeReceived(SASLMechanism.java: 206) at org.jivesoftware.smack.SASLAuthentication.challengeReceived(SASLAuthentication. java:325) at org.jivesoftware.smack.SASLAuthentication.challengeReceived(SASLAuthentication. java:310) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPC onnection.java:1105) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPCon nection.java:969) at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnecti on.java:988) SMACK-343 --- build.gradle | 2 +- .../org/jivesoftware/smack/java7/Java7SmackInitializer.java | 4 ++-- .../org.jivesoftware.smack/smack-java7-components.xml | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 smack-java7/src/main/resources/org.jivesoftware.smack/smack-java7-components.xml diff --git a/build.gradle b/build.gradle index 5fee7a9cd..fdcc6a880 100644 --- a/build.gradle +++ b/build.gradle @@ -280,7 +280,7 @@ subprojects { } } -['smack-resolver-javax', 'smack-resolver-dnsjava', 'smack-resolver-minidns', 'smack-sasl-javax', 'smack-sasl-provided'].each { name -> +['smack-resolver-javax', 'smack-resolver-dnsjava', 'smack-resolver-minidns', 'smack-sasl-javax', 'smack-sasl-provided', 'smack-java7'] .each { name -> project(":$name") { jar { manifest { diff --git a/smack-java7/src/main/java/org/jivesoftware/smack/java7/Java7SmackInitializer.java b/smack-java7/src/main/java/org/jivesoftware/smack/java7/Java7SmackInitializer.java index d7e2c06f4..64a32d629 100644 --- a/smack-java7/src/main/java/org/jivesoftware/smack/java7/Java7SmackInitializer.java +++ b/smack-java7/src/main/java/org/jivesoftware/smack/java7/Java7SmackInitializer.java @@ -19,13 +19,13 @@ package org.jivesoftware.smack.java7; import java.util.List; import org.jivesoftware.smack.SmackConfiguration; -import org.jivesoftware.smack.initializer.SimpleSmackInitializer; +import org.jivesoftware.smack.initializer.SmackAndOsgiInitializer; import org.jivesoftware.smack.util.stringencoder.Base64; import org.jivesoftware.smack.util.stringencoder.Base64UrlSafeEncoder; import org.jivesoftware.smack.util.stringencoder.java7.Java7Base64Encoder; import org.jivesoftware.smack.util.stringencoder.java7.Java7Base64UrlSafeEncoder; -public class Java7SmackInitializer extends SimpleSmackInitializer { +public class Java7SmackInitializer extends SmackAndOsgiInitializer { @Override public List initialize() { diff --git a/smack-java7/src/main/resources/org.jivesoftware.smack/smack-java7-components.xml b/smack-java7/src/main/resources/org.jivesoftware.smack/smack-java7-components.xml new file mode 100644 index 000000000..4fa757d15 --- /dev/null +++ b/smack-java7/src/main/resources/org.jivesoftware.smack/smack-java7-components.xml @@ -0,0 +1,6 @@ + + + +