From 24b637876fcf327dc9a455afa74a0ec2dced388c Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Thu, 20 Feb 2014 13:38:12 +0100 Subject: [PATCH] Substitute MXParser with a call to XmlPullParserFactory This makes Smack more portable, as there are platforms that support the XmlPullParser interface, but not MXParser (e.g. Android). Also enable checkstyle check that MXParser is not used. --- .../main/java/org/jivesoftware/smack/BOSHPacketReader.java | 4 ++-- config/checkstyle.xml | 4 ++++ .../org/jivesoftware/smack/packet/PrivacyProviderTest.java | 4 ++-- .../java/org/jivesoftware/smack/test/SmackTestCase.java | 4 ++-- .../java/org/jivesoftware/smack/util/XMPPErrorTest.java | 4 ++-- .../java/org/jivesoftware/smack/DefaultRosterStore.java | 4 ++-- core/src/main/java/org/jivesoftware/smack/PacketReader.java | 4 ++-- .../java/org/jivesoftware/smack/SmackConfiguration.java | 4 ++-- .../org/jivesoftware/smack/provider/ProviderFileLoader.java | 4 ++-- core/src/test/java/org/jivesoftware/smack/RosterTest.java | 6 +++--- .../java/org/jivesoftware/smack/test/util/TestUtils.java | 5 +++-- .../org/jivesoftware/smackx/ExtensionsStartupClasses.java | 4 ++-- .../smackx/caps/cache/SimpleDirectoryPersistentCache.java | 4 ++-- .../smackx/bytestreams/ibb/provider/OpenIQProviderTest.java | 4 ++-- .../smackx/delay/provider/DelayInformationTest.java | 4 ++-- .../jivesoftware/smackx/receipts/DeliveryReceiptTest.java | 4 ++-- .../org/jivesoftware/smackx/jingle/nat/STUNResolver.java | 4 ++-- .../jivesoftware/smackx/workgroup/ext/macros/Macros.java | 4 ++-- 18 files changed, 40 insertions(+), 35 deletions(-) diff --git a/bosh/src/main/java/org/jivesoftware/smack/BOSHPacketReader.java b/bosh/src/main/java/org/jivesoftware/smack/BOSHPacketReader.java index ac139bca9..91aeaab33 100644 --- a/bosh/src/main/java/org/jivesoftware/smack/BOSHPacketReader.java +++ b/bosh/src/main/java/org/jivesoftware/smack/BOSHPacketReader.java @@ -23,7 +23,7 @@ import org.jivesoftware.smack.sasl.SASLMechanism.Challenge; import org.jivesoftware.smack.sasl.SASLMechanism.Failure; import org.jivesoftware.smack.sasl.SASLMechanism.Success; import org.jivesoftware.smack.util.PacketParserUtils; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; import org.igniterealtime.jbosh.AbstractBody; import org.igniterealtime.jbosh.BOSHClientResponseListener; @@ -66,7 +66,7 @@ public class BOSHPacketReader implements BOSHClientResponseListener { if (connection.authID == null) { connection.authID = body.getAttribute(BodyQName.create(BOSHConnection.BOSH_URI, "authid")); } - final XmlPullParser parser = new MXParser(); + final XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(new StringReader(body.toXML())); diff --git a/config/checkstyle.xml b/config/checkstyle.xml index ec3a64ab5..0762b869c 100644 --- a/config/checkstyle.xml +++ b/config/checkstyle.xml @@ -14,6 +14,10 @@ + + + + diff --git a/core/src/integration-test/java/org/jivesoftware/smack/packet/PrivacyProviderTest.java b/core/src/integration-test/java/org/jivesoftware/smack/packet/PrivacyProviderTest.java index 5ac097e6d..824b6e866 100644 --- a/core/src/integration-test/java/org/jivesoftware/smack/packet/PrivacyProviderTest.java +++ b/core/src/integration-test/java/org/jivesoftware/smack/packet/PrivacyProviderTest.java @@ -16,7 +16,7 @@ package org.jivesoftware.smack.packet; import org.jivesoftware.smack.provider.PrivacyProvider; import org.jivesoftware.smack.test.SmackTestCase; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -372,7 +372,7 @@ public class PrivacyProviderTest extends SmackTestCase { } private XmlPullParser getParserFromXML(String xml) throws XmlPullParserException { - MXParser parser = new MXParser(); + XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(new StringReader(xml)); return parser; diff --git a/core/src/integration-test/java/org/jivesoftware/smack/test/SmackTestCase.java b/core/src/integration-test/java/org/jivesoftware/smack/test/SmackTestCase.java index a8a8bdb5b..9bc23ee83 100644 --- a/core/src/integration-test/java/org/jivesoftware/smack/test/SmackTestCase.java +++ b/core/src/integration-test/java/org/jivesoftware/smack/test/SmackTestCase.java @@ -32,7 +32,7 @@ import org.jivesoftware.smack.ConnectionConfiguration; import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.util.ConnectionUtils; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; /** @@ -411,7 +411,7 @@ public abstract class SmackTestCase extends TestCase { InputStream systemStream = null; try { systemStream = url.openStream(); - XmlPullParser parser = new MXParser(); + XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(systemStream, "UTF-8"); int eventType = parser.getEventType(); diff --git a/core/src/integration-test/java/org/jivesoftware/smack/util/XMPPErrorTest.java b/core/src/integration-test/java/org/jivesoftware/smack/util/XMPPErrorTest.java index 000741d55..6f62c1558 100644 --- a/core/src/integration-test/java/org/jivesoftware/smack/util/XMPPErrorTest.java +++ b/core/src/integration-test/java/org/jivesoftware/smack/util/XMPPErrorTest.java @@ -20,7 +20,7 @@ import java.io.StringReader; import org.jivesoftware.smack.packet.XMPPError; import org.jivesoftware.smack.test.SmackTestCase; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -191,7 +191,7 @@ public class XMPPErrorTest extends SmackTestCase { } private XmlPullParser getParserFromXML(String xml) throws XmlPullParserException { - MXParser parser = new MXParser(); + XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(new StringReader(xml)); return parser; diff --git a/core/src/main/java/org/jivesoftware/smack/DefaultRosterStore.java b/core/src/main/java/org/jivesoftware/smack/DefaultRosterStore.java index cd96d9666..95955f6a7 100644 --- a/core/src/main/java/org/jivesoftware/smack/DefaultRosterStore.java +++ b/core/src/main/java/org/jivesoftware/smack/DefaultRosterStore.java @@ -32,7 +32,7 @@ import org.jivesoftware.smack.packet.RosterPacket; import org.jivesoftware.smack.packet.RosterPacket.Item; import org.jivesoftware.smack.util.Base32Encoder; import org.jivesoftware.smack.util.StringUtils; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -200,7 +200,7 @@ public class DefaultRosterStore implements RosterStore { List groupNames = new ArrayList(); try { - XmlPullParser parser = new MXParser(); + XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setInput(new StringReader(s)); boolean done = false; diff --git a/core/src/main/java/org/jivesoftware/smack/PacketReader.java b/core/src/main/java/org/jivesoftware/smack/PacketReader.java index 3c0d1e4ac..fd73cab7f 100644 --- a/core/src/main/java/org/jivesoftware/smack/PacketReader.java +++ b/core/src/main/java/org/jivesoftware/smack/PacketReader.java @@ -26,7 +26,7 @@ import org.jivesoftware.smack.sasl.SASLMechanism.Failure; import org.jivesoftware.smack.sasl.SASLMechanism.Success; import org.jivesoftware.smack.util.PacketParserUtils; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -152,7 +152,7 @@ class PacketReader { */ private void resetParser() { try { - parser = new MXParser(); + parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(connection.reader); } diff --git a/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java b/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java index 009c5e6cf..c02ca4189 100644 --- a/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java +++ b/core/src/main/java/org/jivesoftware/smack/SmackConfiguration.java @@ -31,7 +31,7 @@ import org.jivesoftware.smack.initializer.SmackInitializer; import org.jivesoftware.smack.parsing.ExceptionThrowingCallback; import org.jivesoftware.smack.parsing.ParsingExceptionCallback; import org.jivesoftware.smack.util.FileUtils; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -430,7 +430,7 @@ public final class SmackConfiguration { } private static void readFile(InputStream cfgFileStream) throws Exception { - XmlPullParser parser = new MXParser(); + XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(cfgFileStream, "UTF-8"); int eventType = parser.getEventType(); diff --git a/core/src/main/java/org/jivesoftware/smack/provider/ProviderFileLoader.java b/core/src/main/java/org/jivesoftware/smack/provider/ProviderFileLoader.java index d8b9e6109..dabb94718 100644 --- a/core/src/main/java/org/jivesoftware/smack/provider/ProviderFileLoader.java +++ b/core/src/main/java/org/jivesoftware/smack/provider/ProviderFileLoader.java @@ -27,7 +27,7 @@ import java.util.logging.Logger; import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smack.packet.PacketExtension; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; /** @@ -83,7 +83,7 @@ public class ProviderFileLoader implements ProviderLoader { // Load processing providers. try { - XmlPullParser parser = new MXParser(); + XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); parser.setInput(providerStream, "UTF-8"); int eventType = parser.getEventType(); diff --git a/core/src/test/java/org/jivesoftware/smack/RosterTest.java b/core/src/test/java/org/jivesoftware/smack/RosterTest.java index 9c2319b17..81de1ffa8 100644 --- a/core/src/test/java/org/jivesoftware/smack/RosterTest.java +++ b/core/src/test/java/org/jivesoftware/smack/RosterTest.java @@ -35,7 +35,7 @@ import org.jivesoftware.smack.util.PacketParserUtils; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.xmlpull.mxp1.MXParser; +import org.xmlpull.v1.XmlPullParserFactory; import org.xmlpull.v1.XmlPullParser; /** @@ -315,7 +315,7 @@ public class RosterTest { final String contactJID = "nurse@example.com"; final Roster roster = connection.getRoster(); assertNotNull("Can't get the roster from the provided connection!", roster); - final MXParser parser = new MXParser(); + final XmlPullParser parser = XmlPullParserFactory.newInstance().newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true); final StringBuilder sb = new StringBuilder(); sb.append("