mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-09-15 03:59:38 +02:00
Rework Smack Provider design
this is the first stop towards fixing "SMACK-65: parsing should look for depth", by providing the initial parsing depth to the provider. Some methods (.e.g parseMessage) now use the depth as abort condition, instead of a unclean String equals check. parseIQ() and parseExtension() where both renamed to parse. This also restricts the Exceptions thrown by the parse method, to just XmlPullParserException, IOException and SmackException (not really a big victory, but nevertheless a slight improvement). StreamFeatureProvider is now gone, we simply use PacketExtensionProvider for stream features.
This commit is contained in:
parent
d04517cd08
commit
6980c8e63d
137 changed files with 1101 additions and 841 deletions
|
@ -70,7 +70,7 @@ public class AMPExtensionTest {
|
|||
assertEquals(XmlPullParser.START_TAG, parser.next());
|
||||
assertEquals(AMPExtension.ELEMENT, parser.getName());
|
||||
|
||||
PacketExtension extension = ampProvider.parseExtension(parser);
|
||||
PacketExtension extension = ampProvider.parse(parser);
|
||||
assertTrue(extension instanceof AMPExtension);
|
||||
AMPExtension amp = (AMPExtension) extension;
|
||||
|
||||
|
@ -89,7 +89,7 @@ public class AMPExtensionTest {
|
|||
|
||||
assertEquals(XmlPullParser.START_TAG, parser.next());
|
||||
assertEquals(AMPExtension.ELEMENT, parser.getName());
|
||||
PacketExtension extension = ampProvider.parseExtension(parser);
|
||||
PacketExtension extension = ampProvider.parse(parser);
|
||||
assertTrue(extension instanceof AMPExtension);
|
||||
AMPExtension amp = (AMPExtension) extension;
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public class OpenIQProviderTest {
|
|||
.asString(outputProperties);
|
||||
|
||||
OpenIQProvider oip = new OpenIQProvider();
|
||||
Open open = (Open) oip.parseIQ(getParser(control));
|
||||
Open open = oip.parse(getParser(control));
|
||||
|
||||
assertEquals(StanzaType.IQ, open.getStanza());
|
||||
}
|
||||
|
@ -68,7 +68,7 @@ public class OpenIQProviderTest {
|
|||
.asString(outputProperties);
|
||||
|
||||
OpenIQProvider oip = new OpenIQProvider();
|
||||
Open open = (Open) oip.parseIQ(getParser(control));
|
||||
Open open = oip.parse(getParser(control));
|
||||
|
||||
assertEquals(StanzaType.MESSAGE, open.getStanza());
|
||||
}
|
||||
|
|
|
@ -69,7 +69,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.asString(outputProperties);
|
||||
|
||||
parser = PacketParserUtils.getParserFor(control);
|
||||
delayInfo = (DelayInformation) p.parseExtension(parser);
|
||||
delayInfo = (DelayInformation) p.parse(parser);
|
||||
|
||||
assertEquals("capulet.com", delayInfo.getFrom());
|
||||
assertEquals(date, delayInfo.getStamp());
|
||||
|
@ -85,7 +85,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.asString(outputProperties);
|
||||
|
||||
parser = PacketParserUtils.getParserFor(control);
|
||||
delayInfo = (DelayInformation) p.parseExtension(parser);
|
||||
delayInfo = (DelayInformation) p.parse(parser);
|
||||
|
||||
assertEquals("capulet.com", delayInfo.getFrom());
|
||||
assertEquals(date, delayInfo.getStamp());
|
||||
|
@ -109,7 +109,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.a("stamp", "2002-09-10T23:08:25.12Z")
|
||||
.asString(outputProperties);
|
||||
|
||||
delayInfo = (DelayInformation) p.parseExtension(PacketParserUtils.getParserFor(control));
|
||||
delayInfo = (DelayInformation) p.parse(PacketParserUtils.getParserFor(control));
|
||||
|
||||
GregorianCalendar cal = (GregorianCalendar) calendar.clone();
|
||||
cal.add(Calendar.MILLISECOND, 12);
|
||||
|
@ -122,7 +122,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.a("stamp", "2002-09-10T23:08:25Z")
|
||||
.asString(outputProperties);
|
||||
|
||||
delayInfo = (DelayInformation) p.parseExtension(PacketParserUtils.getParserFor(control));
|
||||
delayInfo = (DelayInformation) p.parse(PacketParserUtils.getParserFor(control));
|
||||
|
||||
assertEquals(calendar.getTime(), delayInfo.getStamp());
|
||||
|
||||
|
@ -133,7 +133,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.a("stamp", "2002-9-10T23:08:25Z")
|
||||
.asString(outputProperties);
|
||||
|
||||
delayInfo = (DelayInformation) p.parseExtension(PacketParserUtils.getParserFor(control));
|
||||
delayInfo = (DelayInformation) p.parse(PacketParserUtils.getParserFor(control));
|
||||
|
||||
assertEquals(calendar.getTime(), delayInfo.getStamp());
|
||||
}
|
||||
|
@ -152,7 +152,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.a("stamp", "20020910T23:08:25")
|
||||
.asString(outputProperties);
|
||||
|
||||
delayInfo = (DelayInformation) p.parseExtension(PacketParserUtils.getParserFor(control));
|
||||
delayInfo = (DelayInformation) p.parse(PacketParserUtils.getParserFor(control));
|
||||
|
||||
assertEquals(calendar.getTime(), delayInfo.getStamp());
|
||||
|
||||
|
@ -172,7 +172,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.a("stamp", dateFormat.format(dateInPast.getTime()))
|
||||
.asString(outputProperties);
|
||||
|
||||
delayInfo = (DelayInformation) p.parseExtension(PacketParserUtils.getParserFor(control));
|
||||
delayInfo = (DelayInformation) p.parse(PacketParserUtils.getParserFor(control));
|
||||
|
||||
assertEquals(dateInPast.getTime(), delayInfo.getStamp());
|
||||
|
||||
|
@ -183,7 +183,7 @@ public class DelayInformationTest extends InitExtensions {
|
|||
.a("stamp", "200868T09:16:20")
|
||||
.asString(outputProperties);
|
||||
|
||||
delayInfo = (DelayInformation) p.parseExtension(PacketParserUtils.getParserFor(control));
|
||||
delayInfo = (DelayInformation) p.parse(PacketParserUtils.getParserFor(control));
|
||||
Date controlDate = XmppDateTime.parseDate("2008-06-08T09:16:20.0Z");
|
||||
|
||||
assertEquals(controlDate, delayInfo.getStamp());
|
||||
|
|
|
@ -47,7 +47,7 @@ public class ForwardedTest {
|
|||
.asString(outputProperties);
|
||||
|
||||
parser = PacketParserUtils.getParserFor(control);
|
||||
fwd = (Forwarded) new ForwardedProvider().parseExtension(parser);
|
||||
fwd = (Forwarded) new ForwardedProvider().parse(parser);
|
||||
|
||||
// no delay in packet
|
||||
assertEquals(null, fwd.getDelayInformation());
|
||||
|
@ -71,6 +71,6 @@ public class ForwardedTest {
|
|||
.asString(outputProperties);
|
||||
|
||||
parser = PacketParserUtils.getParserFor(control);
|
||||
new ForwardedProvider().parseExtension(parser);
|
||||
new ForwardedProvider().parse(parser);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -40,7 +40,7 @@ public class XHTMLExtensionProviderTest {
|
|||
parser.next();
|
||||
|
||||
XHTMLExtensionProvider provider = new XHTMLExtensionProvider();
|
||||
PacketExtension extension = provider.parseExtension(parser);
|
||||
PacketExtension extension = provider.parse(parser, parser.getDepth());
|
||||
|
||||
assertThat(extension, instanceOf(XHTMLExtension.class));
|
||||
XHTMLExtension attachmentsInfo = (XHTMLExtension) extension;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue