mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2025-09-09 10:19:41 +02:00
Replace XPP3 by XmlPullParser interface wrapping StAX and XPP3
Introducing Smack's own XmlPullParser interface which tries to stay as compatible as possible to XPP3. The interface is used to either wrap StAX's XMLStreamReader if Smack is used on Java SE, and XPP3's XmlPullParser if Smack is used on on Android. Fixes SMACK-591. Also introduce JUnit 5 and non-strict javadoc projects.
This commit is contained in:
parent
b3646abecd
commit
4133eb175c
414 changed files with 3855 additions and 2041 deletions
|
@ -23,11 +23,11 @@ import org.jivesoftware.smack.packet.XmlEnvironment;
|
|||
import org.jivesoftware.smack.provider.IQProvider;
|
||||
import org.jivesoftware.smack.roster.packet.RosterPacket;
|
||||
import org.jivesoftware.smack.util.ParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
import org.jivesoftware.smack.xml.XmlPullParserException;
|
||||
|
||||
import org.jxmpp.jid.BareJid;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
public class RosterPacketProvider extends IQProvider<RosterPacket> {
|
||||
|
||||
|
@ -40,9 +40,9 @@ public class RosterPacketProvider extends IQProvider<RosterPacket> {
|
|||
roster.setVersion(version);
|
||||
|
||||
outerloop: while (true) {
|
||||
int eventType = parser.next();
|
||||
XmlPullParser.Event eventType = parser.next();
|
||||
switch (eventType) {
|
||||
case XmlPullParser.START_TAG:
|
||||
case START_ELEMENT:
|
||||
String startTag = parser.getName();
|
||||
switch (startTag) {
|
||||
case "item":
|
||||
|
@ -51,7 +51,7 @@ public class RosterPacketProvider extends IQProvider<RosterPacket> {
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case XmlPullParser.END_TAG:
|
||||
case END_ELEMENT:
|
||||
String endTag = parser.getName();
|
||||
switch (endTag) {
|
||||
case IQ.QUERY_ELEMENT:
|
||||
|
@ -59,6 +59,10 @@ public class RosterPacketProvider extends IQProvider<RosterPacket> {
|
|||
break outerloop;
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// Catch all for incomplete switch (MissingCasesInEnumSwitch) statement.
|
||||
break;
|
||||
}
|
||||
}
|
||||
return roster;
|
||||
|
@ -85,9 +89,9 @@ public class RosterPacketProvider extends IQProvider<RosterPacket> {
|
|||
item.setApproved(approved);
|
||||
|
||||
outerloop: while (true) {
|
||||
int eventType = parser.next();
|
||||
XmlPullParser.Event eventType = parser.next();
|
||||
switch (eventType) {
|
||||
case XmlPullParser.START_TAG:
|
||||
case START_ELEMENT:
|
||||
String name = parser.getName();
|
||||
switch (name) {
|
||||
case RosterPacket.Item.GROUP:
|
||||
|
@ -98,11 +102,14 @@ public class RosterPacketProvider extends IQProvider<RosterPacket> {
|
|||
break;
|
||||
}
|
||||
break;
|
||||
case XmlPullParser.END_TAG:
|
||||
case END_ELEMENT:
|
||||
if (parser.getDepth() == initialDepth) {
|
||||
break outerloop;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
// Catch all for incomplete switch (MissingCasesInEnumSwitch) statement.
|
||||
break;
|
||||
}
|
||||
}
|
||||
ParserUtils.assertAtEndTag(parser);
|
||||
|
|
|
@ -20,7 +20,7 @@ import org.jivesoftware.smack.packet.XmlEnvironment;
|
|||
import org.jivesoftware.smack.provider.ExtensionElementProvider;
|
||||
import org.jivesoftware.smack.roster.packet.RosterVer;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
||||
public class RosterVerStreamFeatureProvider extends ExtensionElementProvider<RosterVer> {
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ import org.jivesoftware.smack.packet.XmlEnvironment;
|
|||
import org.jivesoftware.smack.provider.ExtensionElementProvider;
|
||||
import org.jivesoftware.smack.roster.packet.SubscriptionPreApproval;
|
||||
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
||||
public class SubscriptionPreApprovalStreamFeatureProvider extends ExtensionElementProvider<SubscriptionPreApproval> {
|
||||
|
||||
|
|
|
@ -34,10 +34,10 @@ import org.jivesoftware.smack.roster.provider.RosterPacketProvider;
|
|||
import org.jivesoftware.smack.util.FileUtils;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.util.stringencoder.Base32;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
import org.jivesoftware.smack.xml.XmlPullParserException;
|
||||
|
||||
import org.jxmpp.jid.Jid;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
import org.xmlpull.v1.XmlPullParserException;
|
||||
|
||||
/**
|
||||
* Stores roster entries as specified by RFC 6121 for roster versioning
|
||||
|
|
|
@ -45,6 +45,7 @@ import org.jivesoftware.smack.roster.packet.RosterPacket.ItemType;
|
|||
import org.jivesoftware.smack.test.util.TestUtils;
|
||||
import org.jivesoftware.smack.test.util.WaitForPacketListener;
|
||||
import org.jivesoftware.smack.util.PacketParserUtils;
|
||||
import org.jivesoftware.smack.xml.XmlPullParser;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
|
@ -53,7 +54,6 @@ import org.jxmpp.jid.BareJid;
|
|||
import org.jxmpp.jid.Jid;
|
||||
import org.jxmpp.jid.impl.JidCreate;
|
||||
import org.jxmpp.stringprep.XmppStringprepException;
|
||||
import org.xmlpull.v1.XmlPullParser;
|
||||
|
||||
/**
|
||||
* Tests that verifies the correct behavior of the {@link Roster} implementation.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue