1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2025-09-09 18:29:45 +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:
Florian Schmaus 2019-05-06 22:06:13 +02:00
parent b3646abecd
commit 4133eb175c
414 changed files with 3855 additions and 2041 deletions

View file

@ -21,15 +21,14 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.carbons.packet.CarbonExtension;
import org.jivesoftware.smackx.carbons.packet.CarbonExtension.Direction;
import org.jivesoftware.smackx.forward.packet.Forwarded;
import org.jivesoftware.smackx.forward.provider.ForwardedProvider;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* This class implements the {@link ExtensionElementProvider} to parse
* carbon copied messages from a packet. It will return a {@link CarbonExtension} stanza extension.
@ -48,11 +47,11 @@ public class CarbonManagerProvider extends ExtensionElementProvider<CarbonExtens
boolean done = false;
while (!done) {
int eventType = parser.next();
if (eventType == XmlPullParser.START_TAG && parser.getName().equals("forwarded")) {
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.Event.START_ELEMENT && parser.getName().equals("forwarded")) {
fwd = FORWARDED_PROVIDER.parse(parser);
}
else if (eventType == XmlPullParser.END_TAG && dir == Direction.valueOf(parser.getName()))
else if (eventType == XmlPullParser.Event.END_ELEMENT && dir == Direction.valueOf(parser.getName()))
done = true;
}
if (fwd == null) {

View file

@ -42,6 +42,7 @@ import org.jivesoftware.smack.filter.StanzaExtensionFilter;
import org.jivesoftware.smack.filter.StanzaFilter;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements;
import org.jivesoftware.smackx.chat_markers.filter.ChatMarkersFilter;
import org.jivesoftware.smackx.chat_markers.filter.EligibleForChatMarkerFilter;

View file

@ -20,6 +20,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.chat_markers.ChatMarkersState;
/**

View file

@ -18,6 +18,7 @@ package org.jivesoftware.smackx.chat_markers.filter;
import org.jivesoftware.smack.filter.StanzaExtensionFilter;
import org.jivesoftware.smack.filter.StanzaFilter;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements;
/**

View file

@ -19,6 +19,7 @@ package org.jivesoftware.smackx.chat_markers.filter;
import org.jivesoftware.smack.filter.StanzaExtensionFilter;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smackx.chatstates.ChatState;
import org.jivesoftware.smackx.chatstates.ChatStateManager;

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.chat_markers.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.AcknowledgedExtension;
import org.xmlpull.v1.XmlPullParser;
/**
* Acknowledged extension provider class (XEP-0333).
*

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.chat_markers.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.DisplayedExtension;
import org.xmlpull.v1.XmlPullParser;
/**
* Displayed extension provider class (XEP-0333).
*

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.chat_markers.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.MarkableExtension;
import org.xmlpull.v1.XmlPullParser;
/**
* Markable extension provider class (XEP-0333).
*

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.chat_markers.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.ReceivedExtension;
import org.xmlpull.v1.XmlPullParser;
/**
* Received extension provider class (XEP-0333).
*

View file

@ -20,12 +20,11 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.csi.packet.ClientStateIndication;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class ClientStateIndicationFeatureProvider extends ExtensionElementProvider<ClientStateIndication.Feature> {
@Override

View file

@ -33,6 +33,7 @@ import org.jivesoftware.smack.packet.StanzaError;
import org.jivesoftware.smack.packet.StanzaError.Condition;
import org.jivesoftware.smack.packet.StanzaError.Type;
import org.jivesoftware.smack.util.RandomUtil;
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
import org.jivesoftware.smackx.dox.element.DnsIq;

View file

@ -21,10 +21,10 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smackx.dox.element.DnsIq;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.jivesoftware.smackx.dox.element.DnsIq;
public class DnsIqProvider extends IQProvider<DnsIq> {

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.eme.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.eme.element.ExplicitMessageEncryptionElement;
import org.xmlpull.v1.XmlPullParser;
public class ExplicitMessageEncryptionProvider extends ExtensionElementProvider<ExplicitMessageEncryptionElement> {
@Override

View file

@ -1,6 +1,6 @@
/**
*
* Copyright © 2017 Paul Schaub
* Copyright © 2017 Paul Schaub, 2019 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -20,18 +20,19 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hashes.HashManager;
import org.jivesoftware.smackx.hashes.element.HashElement;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Provider for HashElements.
*/
public class HashElementProvider extends ExtensionElementProvider<HashElement> {
public static final HashElementProvider INSTANCE = new HashElementProvider();
@Override
public HashElement parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException {
String algo = parser.getAttributeValue(null, HashElement.ATTR_ALGO);

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.hints.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.hints.element.MessageProcessingHint;
import org.xmlpull.v1.XmlPullParser;
public abstract class MessageProcessingHintProvider<H extends MessageProcessingHint> extends ExtensionElementProvider<H> {
@Override

View file

@ -22,14 +22,13 @@ import org.jivesoftware.smack.packet.NamedElement;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hoxt.packet.AbstractHttpOverXmpp;
import org.jivesoftware.smackx.shim.packet.HeadersExtension;
import org.jivesoftware.smackx.shim.provider.HeadersProvider;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Abstract parent for Req and Resp stanza providers.
*
@ -63,7 +62,7 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
protected HeadersExtension parseHeaders(XmlPullParser parser) throws IOException, XmlPullParserException, SmackParsingException {
HeadersExtension headersExtension = null;
/* We are either at start of headers, start of data or end of req/res */
if (parser.next() == XmlPullParser.START_TAG && parser.getName().equals(HeadersExtension.ELEMENT)) {
if (parser.next() == XmlPullParser.Event.START_ELEMENT && parser.getName().equals(HeadersExtension.ELEMENT)) {
headersExtension = HeadersProvider.INSTANCE.parse(parser);
parser.next();
}
@ -85,11 +84,11 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
boolean done = false;
AbstractHttpOverXmpp.Data data = null;
/* We are either at start of data or end of req/res */
if (parser.getEventType() == XmlPullParser.START_TAG) {
if (parser.getEventType() == XmlPullParser.Event.START_ELEMENT) {
while (!done) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
switch (parser.getName()) {
case ELEMENT_TEXT:
child = parseText(parser);
@ -118,7 +117,7 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
// other elements are not allowed
throw new IllegalArgumentException("unsupported child tag: " + parser.getName());
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getName().equals(ELEMENT_DATA)) {
done = true;
}
@ -134,15 +133,15 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
boolean done = false;
while (!done) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.END_TAG) {
if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getName().equals(ELEMENT_TEXT)) {
done = true;
} else {
throw new IllegalArgumentException("unexpected end tag of: " + parser.getName());
}
} else if (eventType == XmlPullParser.TEXT) {
} else if (eventType == XmlPullParser.Event.TEXT_CHARACTERS) {
text = parser.getText();
} else {
throw new IllegalArgumentException("unexpected eventType: " + eventType);
@ -159,13 +158,13 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
boolean startClosed = true;
while (!done) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if ((eventType == XmlPullParser.END_TAG) && parser.getName().equals(ELEMENT_XML)) {
if ((eventType == XmlPullParser.Event.END_ELEMENT) && parser.getName().equals(ELEMENT_XML)) {
done = true;
} else { // just write everything else as text
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (!startClosed) {
builder.append('>');
@ -175,7 +174,7 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
builder.append(parser.getName());
appendXmlAttributes(parser, builder);
startClosed = false;
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (startClosed) {
builder.append("</");
@ -185,7 +184,7 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
builder.append("/>");
startClosed = true;
}
} else if (eventType == XmlPullParser.TEXT) {
} else if (eventType == XmlPullParser.Event.TEXT_CHARACTERS) {
if (!startClosed) {
builder.append('>');
@ -223,16 +222,16 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
boolean done = false;
while (!done) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.END_TAG) {
if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getName().equals(ELEMENT_BASE_64)) {
done = true;
} else {
throw new IllegalArgumentException("unexpected end tag of: " + parser.getName());
}
} else if (eventType == XmlPullParser.TEXT) {
} else if (eventType == XmlPullParser.Event.TEXT_CHARACTERS) {
text = parser.getText();
} else {
throw new IllegalArgumentException("unexpected eventType: " + eventType);
@ -249,9 +248,9 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
boolean done = false;
while (!done) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.END_TAG) {
if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getName().equals(ELEMENT_CHUNKED_BASE_64)) {
done = true;
} else {
@ -270,9 +269,9 @@ public abstract class AbstractHttpOverXmppProvider<H extends AbstractHttpOverXmp
boolean done = false;
while (!done) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.END_TAG) {
if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getName().equals(ELEMENT_IBB)) {
done = true;
} else {

View file

@ -20,12 +20,11 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hoxt.packet.Base64BinaryChunk;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Stanza provider for base64 binary chunks.
*
@ -50,15 +49,15 @@ public class Base64BinaryChunkProvider extends ExtensionElementProvider<Base64Bi
boolean done = false;
while (!done) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.END_TAG) {
if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getName().equals(Base64BinaryChunk.ELEMENT_CHUNK)) {
done = true;
} else {
throw new IllegalArgumentException("unexpected end tag of: " + parser.getName());
}
} else if (eventType == XmlPullParser.TEXT) {
} else if (eventType == XmlPullParser.Event.TEXT_CHARACTERS) {
text = parser.getText();
} else {
throw new IllegalArgumentException("unexpected eventType: " + eventType);

View file

@ -21,13 +21,12 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hoxt.packet.HttpMethod;
import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppReq;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Req stanza provider.
*

View file

@ -20,13 +20,13 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hoxt.packet.AbstractHttpOverXmpp;
import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppResp;
import org.jivesoftware.smackx.shim.packet.HeadersExtension;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Resp stanza provider.
*

View file

@ -20,13 +20,12 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.httpfileupload.element.FileTooLargeError;
import org.jivesoftware.smackx.httpfileupload.element.FileTooLargeError_V0_2;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Provider for File Too Large error extension.
*
@ -41,10 +40,10 @@ public class FileTooLargeErrorProvider extends ExtensionElementProvider<FileTooL
Long maxFileSize = null;
outerloop: while (true) {
int event = parser.next();
XmlPullParser.Event event = parser.next();
switch (event) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
String name = parser.getName();
switch (name) {
case "max-file-size":
@ -52,11 +51,14 @@ public class FileTooLargeErrorProvider extends ExtensionElementProvider<FileTooL
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;
}
}

View file

@ -24,15 +24,14 @@ import java.util.Map;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.httpfileupload.HttpFileUploadManager;
import org.jivesoftware.smackx.httpfileupload.UploadService;
import org.jivesoftware.smackx.httpfileupload.element.Slot;
import org.jivesoftware.smackx.httpfileupload.element.Slot_V0_2;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Provider for Slot.
*
@ -53,10 +52,10 @@ public class SlotProvider extends IQProvider<Slot> {
PutElement_V0_4_Content putElementV04Content = null;
outerloop: while (true) {
int event = parser.next();
XmlPullParser.Event event = parser.next();
switch (event) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
String name = parser.getName();
switch (name) {
case "put": {
@ -89,11 +88,14 @@ public class SlotProvider extends IQProvider<Slot> {
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;
}
}
@ -115,9 +117,9 @@ public class SlotProvider extends IQProvider<Slot> {
Map<String, String> headers = null;
outerloop: while (true) {
int next = parser.next();
XmlPullParser.Event next = parser.next();
switch (next) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
String name = parser.getName();
switch (name) {
case "header":
@ -132,11 +134,14 @@ public class SlotProvider extends IQProvider<Slot> {
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;
}
}

View file

@ -22,6 +22,8 @@ import java.util.List;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.iot.control.element.IoTSetRequest;
import org.jivesoftware.smackx.iot.control.element.SetBoolData;
@ -30,19 +32,16 @@ import org.jivesoftware.smackx.iot.control.element.SetDoubleData;
import org.jivesoftware.smackx.iot.control.element.SetIntData;
import org.jivesoftware.smackx.iot.control.element.SetLongData;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class IoTSetRequestProvider extends IQProvider<IoTSetRequest> {
@Override
public IoTSetRequest parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException {
List<SetData> data = new ArrayList<>(4);
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
switch (name) {
case "bool": {
String valueName = parser.getAttributeValue(null, "name");
@ -74,11 +73,14 @@ public class IoTSetRequestProvider extends IQProvider<IoTSetRequest> {
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;
}
}
return new IoTSetRequest(data);

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.iot.control.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.control.element.IoTSetResponse;
import org.xmlpull.v1.XmlPullParser;
public class IoTSetResponseProvider extends IQProvider<IoTSetResponse> {
@Override

View file

@ -21,11 +21,10 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.data.element.IoTDataReadOutAccepted;
import org.xmlpull.v1.XmlPullParser;
public class IoTDataReadOutAcceptedProvider extends IQProvider<IoTDataReadOutAccepted> {
@Override

View file

@ -21,11 +21,10 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.data.element.IoTDataRequest;
import org.xmlpull.v1.XmlPullParser;
public class IoTDataRequestProvider extends IQProvider<IoTDataRequest> {
@Override

View file

@ -28,6 +28,8 @@ import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.parsing.SmackParsingException.SmackTextParseException;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.iot.data.element.IoTDataField;
import org.jivesoftware.smackx.iot.data.element.IoTFieldsExtension;
@ -37,8 +39,6 @@ import org.jivesoftware.smackx.iot.element.NodeInfo;
import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.jxmpp.util.XmppDateTime;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFieldsExtension> {
@ -50,10 +50,10 @@ public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFiel
boolean done = ParserUtils.getBooleanAttribute(parser, "done", false);
List<NodeElement> nodes = new ArrayList<>();
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
switch (name) {
case NodeElement.ELEMENT:
NodeElement node = parseNode(parser);
@ -61,11 +61,14 @@ public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFiel
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;
}
}
return new IoTFieldsExtension(seqNr, done, nodes);
@ -76,10 +79,10 @@ public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFiel
final NodeInfo nodeInfo = NodeInfoParser.parse(parser);
List<TimestampElement> timestampElements = new ArrayList<>();
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
switch (name){
case TimestampElement.ELEMENT:
TimestampElement timestampElement = parseTimestampElement(parser);
@ -87,11 +90,14 @@ public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFiel
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;
}
}
return new NodeElement(nodeInfo, timestampElements);
@ -108,10 +114,10 @@ public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFiel
}
List<IoTDataField> fields = new ArrayList<>();
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
IoTDataField field = null;
final String fieldName = parser.getAttributeValue(null, "name");
final String fieldValue = parser.getAttributeValue(null, "value");
@ -134,11 +140,14 @@ public class IoTFieldsExtensionProvider extends ExtensionElementProvider<IoTFiel
fields.add(field);
}
break;
case XmlPullParser.END_TAG:
case END_ELEMENT:
if (parser.getDepth() == initialDepth) {
break outerloop;
}
break;
default:
// Catch all for incomplete switch (MissingCasesInEnumSwitch) statement.
break;
}
}
return new TimestampElement(date, fields);

View file

@ -19,6 +19,7 @@ package org.jivesoftware.smackx.iot.discovery.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.discovery.element.IoTClaimed;
import org.jivesoftware.smackx.iot.element.NodeInfo;
@ -26,7 +27,6 @@ import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.jxmpp.jid.Jid;
import org.jxmpp.stringprep.XmppStringprepException;
import org.xmlpull.v1.XmlPullParser;
public class IoTClaimedProvider extends IQProvider<IoTClaimed> {

View file

@ -19,6 +19,7 @@ package org.jivesoftware.smackx.iot.discovery.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.discovery.element.IoTDisown;
import org.jivesoftware.smackx.iot.element.NodeInfo;
@ -26,7 +27,6 @@ import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.jxmpp.jid.Jid;
import org.jxmpp.stringprep.XmppStringprepException;
import org.xmlpull.v1.XmlPullParser;
public class IoTDisownProvider extends IQProvider<IoTDisown> {

View file

@ -18,13 +18,12 @@ package org.jivesoftware.smackx.iot.discovery.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.discovery.element.IoTDisowned;
import org.jivesoftware.smackx.iot.element.NodeInfo;
import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.xmlpull.v1.XmlPullParser;
public class IoTDisownedProvider extends IQProvider<IoTDisowned> {
@Override

View file

@ -23,15 +23,14 @@ import java.util.List;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.iot.discovery.element.IoTRegister;
import org.jivesoftware.smackx.iot.discovery.element.Tag;
import org.jivesoftware.smackx.iot.element.NodeInfo;
import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class IoTRegisterProvider extends IQProvider<IoTRegister> {
@Override
@ -40,8 +39,8 @@ public class IoTRegisterProvider extends IQProvider<IoTRegister> {
NodeInfo nodeInfo = NodeInfoParser.parse(parser);
List<Tag> tags = new ArrayList<>();
while (parser.getDepth() != initialDepth) {
int event = parser.next();
if (event != XmlPullParser.START_TAG) {
XmlPullParser.Event event = parser.next();
if (event != XmlPullParser.Event.START_ELEMENT) {
continue;
}
final String element = parser.getName();

View file

@ -21,6 +21,7 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.discovery.element.IoTRemove;
import org.jivesoftware.smackx.iot.element.NodeInfo;
@ -28,7 +29,6 @@ import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.jxmpp.jid.BareJid;
import org.jxmpp.jid.Jid;
import org.xmlpull.v1.XmlPullParser;
public class IoTRemoveProvider extends IQProvider<IoTRemove> {

View file

@ -18,13 +18,12 @@ package org.jivesoftware.smackx.iot.discovery.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.discovery.element.IoTRemoved;
import org.jivesoftware.smackx.iot.element.NodeInfo;
import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.xmlpull.v1.XmlPullParser;
public class IoTRemovedProvider extends IQProvider<IoTRemoved> {
@Override

View file

@ -18,13 +18,12 @@ package org.jivesoftware.smackx.iot.discovery.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.discovery.element.IoTUnregister;
import org.jivesoftware.smackx.iot.element.NodeInfo;
import org.jivesoftware.smackx.iot.parser.NodeInfoParser;
import org.xmlpull.v1.XmlPullParser;
public class IoTUnregisterProvider extends IQProvider<IoTUnregister> {
@Override

View file

@ -18,9 +18,9 @@ package org.jivesoftware.smackx.iot.parser;
import static org.jivesoftware.smack.util.StringUtils.isNullOrEmpty;
import org.jivesoftware.smackx.iot.element.NodeInfo;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.xmlpull.v1.XmlPullParser;
import org.jivesoftware.smackx.iot.element.NodeInfo;
public class NodeInfoParser {

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.iot.provisioning.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.provisioning.element.ClearCache;
import org.xmlpull.v1.XmlPullParser;
public class ClearCacheProvider extends IQProvider<ClearCache> {
@Override

View file

@ -18,11 +18,10 @@ package org.jivesoftware.smackx.iot.provisioning.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.provisioning.element.ClearCacheResponse;
import org.xmlpull.v1.XmlPullParser;
public class ClearCacheResponseProvider extends IQProvider<ClearCacheResponse> {
@Override

View file

@ -19,12 +19,12 @@ package org.jivesoftware.smackx.iot.provisioning.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.provisioning.element.Friend;
import org.jxmpp.jid.BareJid;
import org.jxmpp.stringprep.XmppStringprepException;
import org.xmlpull.v1.XmlPullParser;
public class FriendProvider extends ExtensionElementProvider<Friend> {

View file

@ -19,12 +19,12 @@ package org.jivesoftware.smackx.iot.provisioning.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.provisioning.element.IoTIsFriend;
import org.jxmpp.jid.Jid;
import org.jxmpp.stringprep.XmppStringprepException;
import org.xmlpull.v1.XmlPullParser;
public class IoTIsFriendProvider extends IQProvider<IoTIsFriend> {

View file

@ -19,13 +19,13 @@ package org.jivesoftware.smackx.iot.provisioning.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.provisioning.element.IoTIsFriendResponse;
import org.jxmpp.jid.BareJid;
import org.jxmpp.jid.Jid;
import org.jxmpp.stringprep.XmppStringprepException;
import org.xmlpull.v1.XmlPullParser;
public class IoTIsFriendResponseProvider extends IQProvider<IoTIsFriendResponse> {

View file

@ -19,12 +19,12 @@ package org.jivesoftware.smackx.iot.provisioning.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.iot.provisioning.element.Unfriend;
import org.jxmpp.jid.BareJid;
import org.jxmpp.stringprep.XmppStringprepException;
import org.xmlpull.v1.XmlPullParser;
public class UnfriendProvider extends ExtensionElementProvider<Unfriend> {

View file

@ -19,6 +19,7 @@ package org.jivesoftware.smackx.jingle_filetransfer.element;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.util.Objects;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.jingle.element.JingleContent;
/**

View file

@ -20,6 +20,7 @@ import java.io.File;
import java.util.Date;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.hashes.element.HashElement;
import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildElement;

View file

@ -1,6 +1,6 @@
/**
*
* Copyright © 2017 Paul Schaub
* Copyright © 2017 Paul Schaub, 2019 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -18,6 +18,7 @@ package org.jivesoftware.smackx.jingle_filetransfer.element;
import org.jivesoftware.smack.packet.NamedElement;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.hashes.element.HashElement;
/**
@ -29,14 +30,14 @@ public class Range implements NamedElement {
public static final String ATTR_OFFSET = "offset";
public static final String ATTR_LENGTH = "length";
private final int offset, length;
private final Integer offset, length;
private final HashElement hash;
/**
* Create a Range element with default values.
*/
public Range() {
this(0, -1, null);
this(null, null, null);
}
/**
@ -44,7 +45,7 @@ public class Range implements NamedElement {
* @param length length of the transmitted data in bytes.
*/
public Range(int length) {
this(0, length, null);
this(null, length, null);
}
/**
@ -62,7 +63,7 @@ public class Range implements NamedElement {
* @param length number of bytes that shall be transferred.
* @param hash hash of the bytes in the specified range.
*/
public Range(int offset, int length, HashElement hash) {
public Range(Integer offset, Integer length, HashElement hash) {
this.offset = offset;
this.length = length;
this.hash = hash;
@ -102,10 +103,11 @@ public class Range implements NamedElement {
public CharSequence toXML(org.jivesoftware.smack.packet.XmlEnvironment enclosingNamespace) {
XmlStringBuilder sb = new XmlStringBuilder(this);
if (offset > 0) {
// TODO: (Introduce and) use XmlStringBuilder.optXmlAttribute(name, Number).
if (offset != null) {
sb.attribute(ATTR_OFFSET, offset);
}
if (length > 0) {
if (length != null) {
sb.attribute(ATTR_LENGTH, length);
}

View file

@ -16,14 +16,14 @@
*/
package org.jivesoftware.smackx.jingle_filetransfer.provider;
import static org.xmlpull.v1.XmlPullParser.END_TAG;
import static org.xmlpull.v1.XmlPullParser.START_TAG;
import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hashes.element.HashElement;
import org.jivesoftware.smackx.hashes.provider.HashElementProvider;
import org.jivesoftware.smackx.jingle.element.JingleContent;
@ -31,9 +31,6 @@ import org.jivesoftware.smackx.jingle_filetransfer.element.Checksum;
import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild;
import org.jivesoftware.smackx.jingle_filetransfer.element.Range;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Provider for the Checksum element.
*/
@ -54,10 +51,11 @@ public class ChecksumProvider extends ExtensionElementProvider<Checksum> {
boolean go = true;
while (go) {
int tag = parser.nextTag();
XmlPullParser.TagEvent tag = parser.nextTag();
String n = parser.getText();
if (tag == START_TAG) {
switch (tag) {
case START_ELEMENT:
switch (n) {
case HashElement.ELEMENT:
hashElement = new HashElementProvider().parse(parser);
@ -70,7 +68,8 @@ public class ChecksumProvider extends ExtensionElementProvider<Checksum> {
int l = length == null ? -1 : Integer.parseInt(length);
range = new Range(o, l);
}
} else if (tag == END_TAG) {
break;
case END_ELEMENT:
switch (n) {
case Range.ELEMENT:
if (hashElement != null && range != null) {
@ -88,6 +87,7 @@ public class ChecksumProvider extends ExtensionElementProvider<Checksum> {
}
go = false;
}
break;
}
}
return new Checksum(creator, name, cb.build());

View file

@ -1,6 +1,6 @@
/**
*
* Copyright 2017 Paul Schaub
* Copyright 2017 Paul Schaub, 2019 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,15 +16,16 @@
*/
package org.jivesoftware.smackx.jingle_filetransfer.provider;
import static org.xmlpull.v1.XmlPullParser.END_TAG;
import static org.xmlpull.v1.XmlPullParser.START_TAG;
import java.io.IOException;
import java.text.ParseException;
import java.util.ArrayList;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hashes.element.HashElement;
import org.jivesoftware.smackx.hashes.provider.HashElementProvider;
import org.jivesoftware.smackx.jingle.element.JingleContentDescriptionChildElement;
@ -34,8 +35,6 @@ import org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChi
import org.jivesoftware.smackx.jingle_filetransfer.element.Range;
import org.jxmpp.util.XmppDateTime;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Provider for JingleContentDescriptionFileTransfer elements.
@ -46,20 +45,18 @@ public class JingleFileTransferProvider
@Override
public JingleFileTransfer parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException, SmackParsingException {
ArrayList<JingleContentDescriptionChildElement> payloads = new ArrayList<>();
boolean inRange = false;
JingleFileTransferChild.Builder builder = JingleFileTransferChild.getBuilder();
HashElement inRangeHash = null;
int offset = 0;
int length = -1;
String elementName;
while (true) {
int tag = parser.nextTag();
String elem = parser.getName();
XmlPullParser.TagEvent tag = parser.nextTag();
if (tag == START_TAG) {
switch (elem) {
switch (tag) {
case START_ELEMENT:
elementName = parser.getName();
switch (elementName) {
case JingleFileTransferChild.ELEM_DATE:
try {
builder.setDate(XmppDateTime.parseXEP0082Date(parser.nextText()));
@ -85,36 +82,20 @@ public class JingleFileTransferProvider
break;
case Range.ELEMENT:
inRange = true;
String offsetString = parser.getAttributeValue(null, Range.ATTR_OFFSET);
String lengthString = parser.getAttributeValue(null, Range.ATTR_LENGTH);
offset = (offsetString != null ? Integer.parseInt(offsetString) : 0);
length = (lengthString != null ? Integer.parseInt(lengthString) : -1);
Range range = parseRangeElement(parser);
builder.setRange(range);
if (parser.isEmptyElementTag()) {
inRange = false;
builder.setRange(new Range(offset, length));
}
break;
case HashElement.ELEMENT:
if (inRange) {
inRangeHash = new HashElementProvider().parse(parser);
} else {
builder.setHash(new HashElementProvider().parse(parser));
}
HashElement hashElement = HashElementProvider.INSTANCE.parse(parser);
builder.setHash(hashElement);
break;
}
} else if (tag == END_TAG) {
switch (elem) {
case Range.ELEMENT:
inRange = false;
builder.setRange(new Range(offset, length, inRangeHash));
inRangeHash = null;
break;
break;
case END_ELEMENT:
elementName = parser.getName();
switch (elementName) {
case JingleFileTransferChild.ELEMENT:
payloads.add(builder.build());
builder = JingleFileTransferChild.getBuilder();
@ -123,7 +104,42 @@ public class JingleFileTransferProvider
case JingleFileTransfer.ELEMENT:
return new JingleFileTransfer(payloads);
}
break;
}
}
}
public static Range parseRangeElement(XmlPullParser parser) throws IOException, XmlPullParserException, SmackParsingException {
final int initialDepth = parser.getDepth();
final Integer offset = ParserUtils.getIntegerAttribute(parser, Range.ATTR_OFFSET);
final Integer length = ParserUtils.getIntegerAttribute(parser, Range.ATTR_LENGTH);
HashElement hashElement = null;
outerloop: while (true) {
String element;
XmlPullParser.Event event = parser.next();
switch (event) {
case START_ELEMENT:
element = parser.getName();
switch (element) {
case HashElement.ELEMENT:
hashElement = HashElementProvider.INSTANCE.parse(parser);
break;
}
break;
case END_ELEMENT:
element = parser.getName();
if (element.equals(Range.ELEMENT) && parser.getDepth() == initialDepth) {
break outerloop;
}
break;
default:
// Catch all for incomplete switch (MissingCasesInEnumSwitch) statement.
break;
}
}
return new Range(offset, length, hashElement);
}
}

View file

@ -21,12 +21,11 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.json.packet.AbstractJsonPacketExtension;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public abstract class AbstractJsonExtensionProvider<J extends AbstractJsonPacketExtension> extends ExtensionElementProvider<J> {
@Override

View file

@ -22,14 +22,13 @@ import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.mam.element.MamFinIQ;
import org.jivesoftware.smackx.rsm.packet.RSMSet;
import org.jivesoftware.smackx.rsm.provider.RSMSetProvider;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MAM Fin IQ Provider class.
*
@ -48,18 +47,21 @@ public class MamFinIQProvider extends IQProvider<MamFinIQ> {
RSMSet rsmSet = null;
outerloop: while (true) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
if (parser.getName().equals(RSMSet.ELEMENT)) {
rsmSet = RSMSetProvider.INSTANCE.parse(parser);
}
break;
case XmlPullParser.END_TAG:
case END_ELEMENT:
if (parser.getDepth() == initialDepth) {
break outerloop;
}
break;
default:
// Catch all for incomplete switch (MissingCasesInEnumSwitch) statement.
break;
}
}

View file

@ -22,14 +22,14 @@ import java.util.List;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.mam.element.MamPrefsIQ;
import org.jivesoftware.smackx.mam.element.MamPrefsIQ.DefaultBehavior;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MAM Preferences IQ Provider class.
@ -58,10 +58,10 @@ public class MamPrefsIQProvider extends IQProvider<MamPrefsIQ> {
List<Jid> neverJids = null;
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
switch (name) {
case "always":
alwaysJids = iterateJids(parser);
@ -71,11 +71,14 @@ public class MamPrefsIQProvider extends IQProvider<MamPrefsIQ> {
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;
}
}
@ -88,10 +91,10 @@ public class MamPrefsIQProvider extends IQProvider<MamPrefsIQ> {
int initialDepth = parser.getDepth();
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
switch (name) {
case "jid":
parser.next();
@ -99,11 +102,14 @@ public class MamPrefsIQProvider extends IQProvider<MamPrefsIQ> {
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;
}
}

View file

@ -21,14 +21,13 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.mam.element.MamQueryIQ;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.jivesoftware.smackx.xdata.provider.DataFormProvider;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MAM Query IQ Provider class.
*
@ -47,22 +46,25 @@ public class MamQueryIQProvider extends IQProvider<MamQueryIQ> {
String node = parser.getAttributeValue("", "node");
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
switch (name) {
case DataForm.ELEMENT:
dataForm = DataFormProvider.INSTANCE.parse(parser);
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;
}
}

View file

@ -21,14 +21,13 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.forward.packet.Forwarded;
import org.jivesoftware.smackx.forward.provider.ForwardedProvider;
import org.jivesoftware.smackx.mam.element.MamElements.MamResultExtension;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MAM Result Provider class.
*
@ -46,21 +45,24 @@ public class MamResultProvider extends ExtensionElementProvider<MamResultExtensi
String id = parser.getAttributeValue("", "id");
outerloop: while (true) {
final int eventType = parser.next();
final XmlPullParser.Event eventType = parser.next();
final String name = parser.getName();
switch (eventType) {
case XmlPullParser.START_TAG:
case START_ELEMENT:
switch (name) {
case Forwarded.ELEMENT:
forwarded = ForwardedProvider.INSTANCE.parse(parser);
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;
}
}

View file

@ -16,9 +16,6 @@
*/
package org.jivesoftware.smackx.message_markup.provider;
import static org.xmlpull.v1.XmlPullParser.END_TAG;
import static org.xmlpull.v1.XmlPullParser.START_TAG;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashSet;
@ -28,15 +25,15 @@ import java.util.Set;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.message_markup.element.BlockQuoteElement;
import org.jivesoftware.smackx.message_markup.element.CodeBlockElement;
import org.jivesoftware.smackx.message_markup.element.ListElement;
import org.jivesoftware.smackx.message_markup.element.MarkupElement;
import org.jivesoftware.smackx.message_markup.element.SpanElement;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
public class MarkupElementProvider extends ExtensionElementProvider<MarkupElement> {
@Override
@ -51,11 +48,11 @@ public class MarkupElementProvider extends ExtensionElementProvider<MarkupElemen
List<ListElement.ListEntryElement> lis = new ArrayList<>();
while (true) {
int tag = parser.next();
XmlPullParser.Event tag = parser.next();
String name = parser.getName();
int start, end;
switch (tag) {
case START_TAG:
case START_ELEMENT:
switch (name) {
case BlockQuoteElement.ELEMENT:
start = ParserUtils.getIntegerAttributeOrThrow(parser, BlockQuoteElement.ATTR_START,
@ -109,7 +106,7 @@ public class MarkupElementProvider extends ExtensionElementProvider<MarkupElemen
}
break;
case END_TAG:
case END_ELEMENT:
switch (name) {
case SpanElement.ELEMENT:
markup.addSpan(spanStart, spanEnd, spanStyles);
@ -134,7 +131,11 @@ public class MarkupElementProvider extends ExtensionElementProvider<MarkupElemen
case MarkupElement.ELEMENT:
return markup.build();
}
break;
default:
// Catch all for incomplete switch (MissingCasesInEnumSwitch) statement.
break;
}
}
}

View file

@ -21,14 +21,14 @@ import java.util.HashMap;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.muclight.MUCLightAffiliation;
import org.jivesoftware.smackx.muclight.element.MUCLightElements.AffiliationsChangeExtension;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MUC Light Affiliations Change Provider class.
@ -45,9 +45,9 @@ public class MUCLightAffiliationsChangeProvider extends ExtensionElementProvider
String version = null;
outerloop: while (true) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("prev-version")) {
prevVersion = parser.nextText();
@ -64,7 +64,7 @@ public class MUCLightAffiliationsChangeProvider extends ExtensionElementProvider
affiliations.put(jid, mucLightAffiliation);
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == initialDepth) {
break outerloop;
}

View file

@ -21,14 +21,14 @@ import java.util.HashMap;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.muclight.MUCLightAffiliation;
import org.jivesoftware.smackx.muclight.element.MUCLightAffiliationsIQ;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MUC Light affiliations IQ provider class.
@ -44,9 +44,9 @@ public class MUCLightAffiliationsIQProvider extends IQProvider<MUCLightAffiliati
HashMap<Jid, MUCLightAffiliation> occupants = new HashMap<>();
outerloop: while (true) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("version")) {
version = parser.nextText();
@ -58,7 +58,7 @@ public class MUCLightAffiliationsIQProvider extends IQProvider<MUCLightAffiliati
occupants.put(JidCreate.from(parser.nextText()), affiliation);
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == initialDepth) {
break outerloop;
}

View file

@ -22,14 +22,14 @@ import java.util.HashMap;
import org.jivesoftware.smack.packet.IQ.Type;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.muclight.element.MUCLightBlockingIQ;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
import org.jxmpp.stringprep.XmppStringprepException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MUC Light blocking IQ provider class.
@ -45,9 +45,9 @@ public class MUCLightBlockingIQProvider extends IQProvider<MUCLightBlockingIQ> {
HashMap<Jid, Boolean> users = null;
outerloop: while (true) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("room")) {
rooms = parseBlocking(parser, rooms);
@ -57,7 +57,7 @@ public class MUCLightBlockingIQProvider extends IQProvider<MUCLightBlockingIQ> {
users = parseBlocking(parser, users);
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == initialDepth) {
break outerloop;
}

View file

@ -21,13 +21,12 @@ import java.util.HashMap;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.muclight.MUCLightRoomConfiguration;
import org.jivesoftware.smackx.muclight.element.MUCLightConfigurationIQ;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MUC Light configuration IQ provider class.
*
@ -44,9 +43,9 @@ public class MUCLightConfigurationIQProvider extends IQProvider<MUCLightConfigur
HashMap<String, String> customConfigs = null;
outerloop: while (true) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("version")) {
version = parser.nextText();
@ -61,7 +60,7 @@ public class MUCLightConfigurationIQProvider extends IQProvider<MUCLightConfigur
customConfigs.put(parser.getName(), parser.nextText());
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == initialDepth) {
break outerloop;
}

View file

@ -21,12 +21,11 @@ import java.util.HashMap;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.muclight.element.MUCLightElements.ConfigurationsChangeExtension;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MUC Light configurations change provider class.
*
@ -44,9 +43,9 @@ public class MUCLightConfigurationsChangeProvider extends ExtensionElementProvid
HashMap<String, String> customConfigs = null;
outerloop: while (true) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("prev-version")) {
prevVersion = parser.nextText();
@ -63,7 +62,7 @@ public class MUCLightConfigurationsChangeProvider extends ExtensionElementProvid
customConfigs.put(parser.getName(), parser.nextText());
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == initialDepth) {
break outerloop;
}

View file

@ -21,6 +21,8 @@ import java.util.HashMap;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.muclight.MUCLightAffiliation;
import org.jivesoftware.smackx.muclight.MUCLightRoomConfiguration;
@ -28,8 +30,6 @@ import org.jivesoftware.smackx.muclight.element.MUCLightInfoIQ;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* MUC Light info IQ provider class.
@ -48,9 +48,9 @@ public class MUCLightInfoIQProvider extends IQProvider<MUCLightInfoIQ> {
HashMap<Jid, MUCLightAffiliation> occupants = new HashMap<>();
outerloop: while (true) {
int eventType = parser.next();
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("version")) {
version = parser.nextText();
@ -62,7 +62,7 @@ public class MUCLightInfoIQProvider extends IQProvider<MUCLightInfoIQ> {
outerloop2: while (true) {
eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("roomname")) {
roomName = parser.nextText();
} else if (parser.getName().equals("subject")) {
@ -74,7 +74,7 @@ public class MUCLightInfoIQProvider extends IQProvider<MUCLightInfoIQ> {
customConfigs.put(parser.getName(), parser.nextText());
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == depth) {
break outerloop2;
}
@ -86,7 +86,7 @@ public class MUCLightInfoIQProvider extends IQProvider<MUCLightInfoIQ> {
occupants = iterateOccupants(parser);
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == initialDepth) {
break outerloop;
}
@ -101,14 +101,14 @@ public class MUCLightInfoIQProvider extends IQProvider<MUCLightInfoIQ> {
int depth = parser.getDepth();
outerloop: while (true) {
int eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("user")) {
MUCLightAffiliation affiliation = MUCLightAffiliation
.fromString(parser.getAttributeValue("", "affiliation"));
occupants.put(JidCreate.from(parser.nextText()), affiliation);
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == depth) {
break outerloop;
}

View file

@ -20,13 +20,13 @@ import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.push_notifications.element.PushNotificationsElements.RemoteDisablingExtension;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
/**
* Push Notifications Remote Disabling Provider class.
@ -43,8 +43,8 @@ public class RemoteDisablingProvider extends ExtensionElementProvider<RemoteDisa
String node = parser.getAttributeValue("", "node");
outerloop: while (true) {
int eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.Event.START_ELEMENT) {
if (parser.getName().equals("affiliation")) {
userJid = JidCreate.from(parser.getAttributeValue("", "jid"));
@ -53,7 +53,7 @@ public class RemoteDisablingProvider extends ExtensionElementProvider<RemoteDisa
return null;
}
}
} else if (eventType == XmlPullParser.END_TAG) {
} else if (eventType == XmlPullParser.Event.END_ELEMENT) {
if (parser.getDepth() == initialDepth) {
break outerloop;
}

View file

@ -23,6 +23,7 @@ import org.jivesoftware.smack.ConnectionCreationListener;
import org.jivesoftware.smack.Manager;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPConnectionRegistry;
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
public final class ReferenceManager extends Manager {

View file

@ -25,6 +25,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smack.util.Objects;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.reference.ReferenceManager;
import org.jxmpp.jid.BareJid;

View file

@ -26,10 +26,10 @@ import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.provider.ProviderManager;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smackx.reference.element.ReferenceElement;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.jivesoftware.smackx.reference.element.ReferenceElement;
public class ReferenceProvider extends ExtensionElementProvider<ReferenceElement> {
@ -53,8 +53,8 @@ public class ReferenceProvider extends ExtensionElementProvider<ReferenceElement
}
ExtensionElement child = null;
outerloop: while (true) {
int eventType = parser.next();
if (eventType == XmlPullParser.START_TAG) {
XmlPullParser.Event eventType = parser.next();
if (eventType == XmlPullParser.Event.START_ELEMENT) {
String elementName = parser.getName();
String namespace = parser.getNamespace();
ExtensionElementProvider<?> provider = ProviderManager.getExtensionProvider(elementName, namespace);
@ -62,7 +62,7 @@ public class ReferenceProvider extends ExtensionElementProvider<ReferenceElement
child = provider.parse(parser);
}
}
if (eventType == XmlPullParser.END_TAG) {
else if (eventType == XmlPullParser.Event.END_ELEMENT) {
break outerloop;
}
}

View file

@ -31,6 +31,7 @@ import org.jivesoftware.smack.filter.StanzaFilter;
import org.jivesoftware.smack.filter.ToTypeFilter;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.Stanza;
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
import org.jivesoftware.smackx.sid.element.OriginIdElement;

View file

@ -18,6 +18,7 @@ package org.jivesoftware.smackx.sid.element;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.sid.StableUniqueStanzaIdManager;
public class OriginIdElement extends StableAndUniqueIdElement {

View file

@ -18,6 +18,7 @@ package org.jivesoftware.smackx.sid.element;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.sid.StableUniqueStanzaIdManager;
public class StanzaIdElement extends StableAndUniqueIdElement {

View file

@ -18,9 +18,9 @@ package org.jivesoftware.smackx.sid.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smackx.sid.element.OriginIdElement;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.xmlpull.v1.XmlPullParser;
import org.jivesoftware.smackx.sid.element.OriginIdElement;
public class OriginIdProvider extends ExtensionElementProvider<OriginIdElement> {

View file

@ -18,9 +18,9 @@ package org.jivesoftware.smackx.sid.provider;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smackx.sid.element.StanzaIdElement;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.xmlpull.v1.XmlPullParser;
import org.jivesoftware.smackx.sid.element.StanzaIdElement;
public class StanzaIdProvider extends ExtensionElementProvider<StanzaIdElement> {

View file

@ -21,6 +21,7 @@ import java.util.WeakHashMap;
import org.jivesoftware.smack.Manager;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smackx.disco.ServiceDiscoveryManager;
public final class SpoilerManager extends Manager {

View file

@ -25,6 +25,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smack.util.XmlStringBuilder;
import org.jivesoftware.smackx.spoiler.SpoilerManager;
public class SpoilerElement implements ExtensionElement {

View file

@ -16,18 +16,15 @@
*/
package org.jivesoftware.smackx.spoiler.provider;
import static org.xmlpull.v1.XmlPullParser.END_TAG;
import static org.xmlpull.v1.XmlPullParser.TEXT;
import java.io.IOException;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.util.ParserUtils;
import org.jivesoftware.smackx.spoiler.element.SpoilerElement;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.jivesoftware.smackx.spoiler.element.SpoilerElement;
public class SpoilerProvider extends ExtensionElementProvider<SpoilerElement> {
@ -39,13 +36,16 @@ public class SpoilerProvider extends ExtensionElementProvider<SpoilerElement> {
String hint = null;
outerloop: while (true) {
int tag = parser.next();
XmlPullParser.Event tag = parser.next();
switch (tag) {
case TEXT:
case TEXT_CHARACTERS:
hint = parser.getText();
break;
case END_TAG:
case END_ELEMENT:
break outerloop;
default:
// Catch all for incomplete switch (MissingCasesInEnumSwitch) statement.
break;
}
}
return new SpoilerElement(lang, hint);

View file

@ -16,13 +16,13 @@
*/
package org.jivesoftware.smackx;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.List;
import org.jivesoftware.smack.experimental.ExperimentalInitializer;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class ExperimentalInitializerTest {

View file

@ -16,13 +16,15 @@
*/
package org.jivesoftware.smackx.carbons;
import static org.jivesoftware.smack.test.util.CharSequenceEquals.equalsCharSequence;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import java.util.Properties;
import org.jivesoftware.smack.test.util.SmackTestUtil;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.ExperimentalInitializerTest;
import org.jivesoftware.smackx.carbons.packet.CarbonExtension;
@ -30,8 +32,9 @@ import org.jivesoftware.smackx.carbons.provider.CarbonManagerProvider;
import org.jivesoftware.smackx.forward.packet.Forwarded;
import com.jamesmurty.utils.XMLBuilder;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
public class CarbonTest extends ExperimentalInitializerTest {
@ -65,10 +68,10 @@ public class CarbonTest extends ExperimentalInitializerTest {
assertEquals(null, fwd.getDelayInformation());
// check message
assertThat("romeo@montague.com", equalsCharSequence(fwd.getForwardedStanza().getFrom()));
assertEquals("romeo@montague.com", fwd.getForwardedStanza().getFrom().toString());
// check end of tag
assertEquals(XmlPullParser.END_TAG, parser.getEventType());
assertEquals(XmlPullParser.Event.END_ELEMENT, parser.getEventType());
assertEquals("sent", parser.getName());
}
@ -91,20 +94,19 @@ public class CarbonTest extends ExperimentalInitializerTest {
assertEquals(CarbonExtension.Direction.received, cc.getDirection());
// check end of tag
assertEquals(XmlPullParser.END_TAG, parser.getEventType());
assertEquals(XmlPullParser.Event.END_ELEMENT, parser.getEventType());
assertEquals("received", parser.getName());
}
@Test(expected = Exception.class)
public void carbonEmptyTest() throws Exception {
XmlPullParser parser;
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void carbonEmptyTest(SmackTestUtil.XmlPullParserKind parserKind) throws Exception {
String control;
control = XMLBuilder.create("sent")
.a("xmlns", "urn:xmpp:forwarded:0")
.asString(outputProperties);
parser = PacketParserUtils.getParserFor(control);
new CarbonManagerProvider().parse(parser);
assertThrows(IOException.class, () -> SmackTestUtil.parse(control, CarbonManagerProvider.class, parserKind));
}
}

View file

@ -16,18 +16,19 @@
*/
package org.jivesoftware.smackx.chat_markers;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.StreamOpen;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.AcknowledgedExtension;
import org.jivesoftware.smackx.chat_markers.provider.AcknowledgedProvider;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
public class AcknowledgedExtensionTest {
@ -41,18 +42,18 @@ public class AcknowledgedExtensionTest {
Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
message.setStanzaId("message-2");
message.addExtension(new ChatMarkersElements.AcknowledgedExtension("message-1"));
Assert.assertEquals(acknowledgedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
assertEquals(acknowledgedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
}
@Test
public void checkDisplayedProvider() throws Exception {
XmlPullParser parser = PacketParserUtils.getParserFor(acknowledgedExtension);
AcknowledgedExtension acknowledgedExtension1 = new AcknowledgedProvider().parse(parser);
Assert.assertEquals("message-1", acknowledgedExtension1.getId());
assertEquals("message-1", acknowledgedExtension1.getId());
Message message = PacketParserUtils.parseStanza(acknowledgedMessageStanza);
AcknowledgedExtension acknowledgedExtension2 = AcknowledgedExtension.from(message);
Assert.assertEquals("message-1", acknowledgedExtension2.getId());
assertEquals("message-1", acknowledgedExtension2.getId());
}
}

View file

@ -16,18 +16,19 @@
*/
package org.jivesoftware.smackx.chat_markers;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.StreamOpen;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.DisplayedExtension;
import org.jivesoftware.smackx.chat_markers.provider.DisplayedProvider;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
public class DisplayedExtensionTest {
@ -41,18 +42,18 @@ public class DisplayedExtensionTest {
Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
message.setStanzaId("message-2");
message.addExtension(new ChatMarkersElements.DisplayedExtension("message-1"));
Assert.assertEquals(displayedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
assertEquals(displayedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
}
@Test
public void checkDisplayedProvider() throws Exception {
XmlPullParser parser = PacketParserUtils.getParserFor(displayedExtension);
DisplayedExtension displayedExtension1 = new DisplayedProvider().parse(parser);
Assert.assertEquals("message-1", displayedExtension1.getId());
assertEquals("message-1", displayedExtension1.getId());
Message message = PacketParserUtils.parseStanza(displayedMessageStanza);
DisplayedExtension displayedExtension2 = DisplayedExtension.from(message);
Assert.assertEquals("message-1", displayedExtension2.getId());
assertEquals("message-1", displayedExtension2.getId());
}
}

View file

@ -16,17 +16,18 @@
*/
package org.jivesoftware.smackx.chat_markers;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.MarkableExtension;
import org.jivesoftware.smackx.chat_markers.provider.MarkableProvider;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
public class MarkableExtensionTest {
@ -42,18 +43,18 @@ public class MarkableExtensionTest {
message.setStanzaId("message-1");
message.setBody("My lord, dispatch; read o'er these articles.");
message.addExtension(ChatMarkersElements.MarkableExtension.INSTANCE);
Assert.assertEquals(markableMessageStanza, message.toXML().toString());
assertEquals(markableMessageStanza, message.toXML().toString());
}
@Test
public void checkMarkableProvider() throws Exception {
XmlPullParser parser = PacketParserUtils.getParserFor(markableExtension);
MarkableExtension markableExtension1 = new MarkableProvider().parse(parser);
Assert.assertEquals(markableExtension, markableExtension1.toXML().toString());
assertEquals(markableExtension, markableExtension1.toXML().toString());
Message message = PacketParserUtils.parseStanza(markableMessageStanza);
MarkableExtension markableExtension2 = MarkableExtension.from(message);
Assert.assertEquals(markableExtension, markableExtension2.toXML().toString());
assertEquals(markableExtension, markableExtension2.toXML().toString());
}
}

View file

@ -16,18 +16,19 @@
*/
package org.jivesoftware.smackx.chat_markers;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.StreamOpen;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements;
import org.jivesoftware.smackx.chat_markers.element.ChatMarkersElements.ReceivedExtension;
import org.jivesoftware.smackx.chat_markers.provider.ReceivedProvider;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.impl.JidCreate;
import org.xmlpull.v1.XmlPullParser;
public class ReceivedExtensionTest {
@ -41,18 +42,18 @@ public class ReceivedExtensionTest {
Message message = new Message(JidCreate.from("northumberland@shakespeare.lit/westminster"));
message.setStanzaId("message-2");
message.addExtension(new ChatMarkersElements.ReceivedExtension("message-1"));
Assert.assertEquals(receivedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
assertEquals(receivedMessageStanza, message.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
}
@Test
public void checkReceivedProvider() throws Exception {
XmlPullParser parser = PacketParserUtils.getParserFor(receivedExtension);
ReceivedExtension receivedExtension1 = new ReceivedProvider().parse(parser);
Assert.assertEquals("message-1", receivedExtension1.getId());
assertEquals("message-1", receivedExtension1.getId());
Message message = PacketParserUtils.parseStanza(receivedMessageStanza);
ReceivedExtension receivedExtension2 = ReceivedExtension.from(message);
Assert.assertEquals("message-1", receivedExtension2.getId());
assertEquals("message-1", receivedExtension2.getId());
}
}

View file

@ -23,7 +23,7 @@ import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smackx.colors.ConsistentColor.Deficiency;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class ConsistentColorsTest extends SmackTestSuite {

View file

@ -26,9 +26,10 @@ import java.util.List;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smackx.eme.element.ExplicitMessageEncryptionElement;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class ExplicitMessageEncryptionElementTest extends SmackTestSuite {

View file

@ -1,6 +1,6 @@
/**
*
* Copyright 2017 Florian Schmaus
* Copyright 2017-2019 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,14 +16,19 @@
*/
package org.jivesoftware.smackx.eme.provider;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.test.util.TestUtils;
import java.io.IOException;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.test.util.SmackTestUtil;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.eme.element.ExplicitMessageEncryptionElement;
import org.jivesoftware.smackx.eme.element.ExplicitMessageEncryptionElement.ExplicitMessageEncryptionProtocol;
import org.junit.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
public class ExplicitMessageEncryptionProviderTest {
@ -34,15 +39,19 @@ public class ExplicitMessageEncryptionProviderTest {
private static final String UNKNOWN_EME_ELEMENT = "<encryption xmlns='urn:xmpp:eme:0' namespace='" + UNKNOWN_NAMESPACE
+ "' name='" + UNKNOWN_NAME + "'/>";
@Test
public void testParseOxEmeElement() throws Exception {
ExplicitMessageEncryptionElement eme = TestUtils.parseExtensionElement(OX_EME_ELEMENT);
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void testParseOxEmeElement(SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
ExplicitMessageEncryptionElement eme = SmackTestUtil.parse(OX_EME_ELEMENT, ExplicitMessageEncryptionProvider.class, parserKind);
assertEquals(ExplicitMessageEncryptionProtocol.openpgpV0, eme.getProtocol());
}
@Test
public void testParseUnknownEmeElement() throws Exception {
ExplicitMessageEncryptionElement eme = TestUtils.parseExtensionElement(UNKNOWN_EME_ELEMENT);
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void testParseUnknownEmeElement(SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
ExplicitMessageEncryptionElement eme = SmackTestUtil.parse(UNKNOWN_EME_ELEMENT, ExplicitMessageEncryptionProvider.class, parserKind);
assertEquals(UNKNOWN_NAMESPACE, eme.getEncryptionNamespace());
assertEquals(UNKNOWN_NAME, eme.getName());
}

View file

@ -20,7 +20,7 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertFalse;
import static junit.framework.TestCase.assertTrue;
import static org.jivesoftware.smackx.hashes.HashManager.ALGORITHM.SHA_256;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.test.util.TestUtils;
@ -29,7 +29,7 @@ import org.jivesoftware.smack.util.StringUtils;
import org.jivesoftware.smackx.hashes.element.HashElement;
import org.jivesoftware.smackx.hashes.provider.HashElementProvider;
import org.junit.Test;
import org.junit.jupiter.api.Test;
/**
* Test toXML and parse of HashElement and HashElementProvider.

View file

@ -21,7 +21,7 @@ import static junit.framework.TestCase.assertEquals;
import org.jivesoftware.smack.test.util.SmackTestSuite;
import org.jivesoftware.smack.util.StringUtils;
import org.junit.Test;
import org.junit.jupiter.api.Test;
/**
* Test HashManager functionality.

View file

@ -16,15 +16,20 @@
*/
package org.jivesoftware.smackx.hoxt.provider;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.parsing.SmackParsingException;
import org.jivesoftware.smack.test.util.SmackTestUtil;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.hoxt.packet.AbstractHttpOverXmpp;
import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppReq;
@ -32,8 +37,9 @@ import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppResp;
import org.jivesoftware.smackx.shim.packet.Header;
import org.jivesoftware.smackx.shim.packet.HeadersExtension;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
/**
* Tests correct headers and data parsing in 'req' and 'resp' elements.
@ -84,8 +90,10 @@ public class AbstractHttpOverXmppProviderTest {
checkHeaders(body.getHeaders(), expectedHeaders);
}
@Test
public void isTextDataParsedCorrectly() throws Exception {
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void isTextDataParsedCorrectly(SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
String expectedText = "@prefix dc: <http://purl.org/dc/elements/1.1/>."
+ "@base <http://clayster.com/>."
+ "<xep> dc:title \"HTTP over XMPP\";"
@ -103,12 +111,14 @@ public class AbstractHttpOverXmppProviderTest {
+ "</text></data></resp>";
AbstractHttpOverXmpp.Text text = (AbstractHttpOverXmpp.Text) parseAbstractBody(
string, "resp").getData().getChild();
string, "resp", parserKind).getData().getChild();
assertEquals(expectedText, text.getText());
}
@Test
public void isXmlDataParsedCorrectly() throws Exception {
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void isXmlDataParsedCorrectly(SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
String expectedXml = "<sparql><head><variable name=\"title\"/><variable name=\"creator\"/>" // no xmlns here
+ "</head><results><result>"
+ "<binding name=\"title\">"
@ -137,12 +147,14 @@ public class AbstractHttpOverXmppProviderTest {
+ encodedXml
+ "</xml></data></resp>";
AbstractHttpOverXmpp.Xml xmlProviderValue = (AbstractHttpOverXmpp.Xml) parseAbstractBody(
string, "resp").getData().getChild();
string, "resp", parserKind).getData().getChild();
assertEquals(expectedXml, xmlProviderValue.getText());
}
@Test
public void isBase64DataParsedCorrectly() throws Exception {
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void isBase64DataParsedCorrectly(SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
String base64Data = "iVBORw0KGgoAAAANSUhEUgAAASwAAAGQCAYAAAAUdV17AAAAAXNSR0 ... tVWJd+e+y1AAAAABJRU5ErkJggg==";
String string = "<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>"
+ "<headers xmlns='http://jabber.org/protocol/shim'><header name='Server'>Clayster</header></headers>"
@ -150,12 +162,14 @@ public class AbstractHttpOverXmppProviderTest {
+ base64Data
+ "</base64></data></resp>";
AbstractHttpOverXmpp.Base64 base64ProviderValue = (AbstractHttpOverXmpp.Base64) parseAbstractBody(
string, "resp").getData().getChild();
string, "resp", parserKind).getData().getChild();
assertEquals(base64Data, base64ProviderValue.getText());
}
@Test
public void isChunkedBase64DataParsedCorrectly() throws Exception {
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void isChunkedBase64DataParsedCorrectly(SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
String streamId = "Stream0001";
String chunkBase64Data = " <chunkedBase64 streamId='" + streamId + "'/>";
String string = "<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>"
@ -164,12 +178,14 @@ public class AbstractHttpOverXmppProviderTest {
+ chunkBase64Data
+ "</data></resp>";
AbstractHttpOverXmpp.ChunkedBase64 chunkedBase64Value = (AbstractHttpOverXmpp.ChunkedBase64) parseAbstractBody(
string, "resp").getData().getChild();
string, "resp", parserKind).getData().getChild();
assertEquals(streamId, chunkedBase64Value.getStreamId());
}
@Test
public void isIbbDataParsedCorrectly() throws Exception {
@ParameterizedTest
@EnumSource(SmackTestUtil.XmlPullParserKind.class)
public void isIbbDataParsedCorrectly(SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
String sid = "Stream0002";
String ibbData = " <ibb sid='" + sid + "'/>";
String string = "<resp xmlns='urn:xmpp:http' version='1.1' statusCode='200' statusMessage='OK'>"
@ -178,14 +194,16 @@ public class AbstractHttpOverXmppProviderTest {
+ ibbData
+ "</data></resp>";
AbstractHttpOverXmpp.Ibb ibbValue = (AbstractHttpOverXmpp.Ibb) parseAbstractBody(
string, "resp").getData().getChild();
string, "resp", parserKind).getData().getChild();
assertEquals(sid, ibbValue.getSid());
}
// TODO The method name makes no sense after the HOXT re-design, change to parseHttpOverXmppResp()
private static HttpOverXmppResp parseAbstractBody(String string, String tag) throws Exception {
private static HttpOverXmppResp parseAbstractBody(String string, String tag,
SmackTestUtil.XmlPullParserKind parserKind)
throws XmlPullParserException, IOException, SmackParsingException {
HttpOverXmppRespProvider provider = new HttpOverXmppRespProvider();
XmlPullParser parser = PacketParserUtils.getParserFor(string, tag);
XmlPullParser parser = SmackTestUtil.getParserFor(string, tag, parserKind);
IQ iq = provider.parse(parser);
assertTrue(iq instanceof HttpOverXmppResp);

View file

@ -16,17 +16,17 @@
*/
package org.jivesoftware.smackx.hoxt.provider;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.hoxt.packet.Base64BinaryChunk;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
import org.junit.jupiter.api.Test;
/**
* Tests correct parsing of 'chunk' elements in Message stanza.

View file

@ -16,17 +16,17 @@
*/
package org.jivesoftware.smackx.hoxt.provider;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.hoxt.packet.HttpMethod;
import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppReq;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
import org.junit.jupiter.api.Test;
public class HttpOverXmppReqProviderTest {

View file

@ -16,17 +16,17 @@
*/
package org.jivesoftware.smackx.hoxt.provider;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.hoxt.packet.HttpOverXmppResp;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
import org.junit.jupiter.api.Test;
/**
* Tests correct attribute parsing in 'resp' element.

View file

@ -16,10 +16,11 @@
*/
package org.jivesoftware.smackx.httpfileupload;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smackx.httpfileupload.element.FileTooLargeError;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class FileTooLargeErrorCreateTest {
private static final String fileTooLargeErrorExtensionExample
@ -31,8 +32,8 @@ public class FileTooLargeErrorCreateTest {
public void checkFileTooLargeErrorExtensionCreation() {
FileTooLargeError fileTooLargeError = new FileTooLargeError(20000);
Assert.assertEquals(20000, fileTooLargeError.getMaxFileSize());
Assert.assertEquals(fileTooLargeErrorExtensionExample, fileTooLargeError.toXML().toString());
assertEquals(20000, fileTooLargeError.getMaxFileSize());
assertEquals(fileTooLargeErrorExtensionExample, fileTooLargeError.toXML().toString());
}

View file

@ -17,14 +17,14 @@
package org.jivesoftware.smackx.httpfileupload;
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.io.IOException;
import java.net.URL;
import org.jivesoftware.smackx.httpfileupload.element.Slot;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.xml.sax.SAXException;
public class SlotCreateTest {
@ -39,9 +39,9 @@ public class SlotCreateTest {
Slot slot = new Slot(new URL("https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my_juliet.png"),
new URL("https://download.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my_juliet.png"));
Assert.assertEquals(new URL("https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my_juliet.png"),
assertEquals(new URL("https://upload.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my_juliet.png"),
slot.getPutUrl());
Assert.assertEquals(new URL("https://download.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my_juliet.png"),
assertEquals(new URL("https://download.montague.tld/4a771ac1-f0b2-4a4a-9700-f2a26fa2bb67/my_juliet.png"),
slot.getGetUrl());
assertXMLEqual(testSlot, slot.getChildElementXML().toString());

View file

@ -17,13 +17,14 @@
package org.jivesoftware.smackx.httpfileupload;
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import java.io.IOException;
import org.jivesoftware.smackx.httpfileupload.element.SlotRequest;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.JidTestUtil;
import org.xml.sax.SAXException;
@ -46,9 +47,9 @@ public class SlotRequestCreateTest {
public void checkSlotRequestCreation() throws SAXException, IOException {
SlotRequest slotRequest = new SlotRequest(JidTestUtil.DOMAIN_BARE_JID_1, "my_juliet.png", 23456, "image/jpeg");
Assert.assertEquals("my_juliet.png", slotRequest.getFilename());
Assert.assertEquals(23456, slotRequest.getSize());
Assert.assertEquals("image/jpeg", slotRequest.getContentType());
assertEquals("my_juliet.png", slotRequest.getFilename());
assertEquals(23456, slotRequest.getSize());
assertEquals("image/jpeg", slotRequest.getContentType());
assertXMLEqual(testRequest, slotRequest.getChildElementXML().toString());
}
@ -57,20 +58,22 @@ public class SlotRequestCreateTest {
public void checkSlotRequestCreationWithoutContentType() throws SAXException, IOException {
SlotRequest slotRequest = new SlotRequest(JidTestUtil.DOMAIN_BARE_JID_1, "my_romeo.png", 52523);
Assert.assertEquals("my_romeo.png", slotRequest.getFilename());
Assert.assertEquals(52523, slotRequest.getSize());
Assert.assertEquals(null, slotRequest.getContentType());
assertEquals("my_romeo.png", slotRequest.getFilename());
assertEquals(52523, slotRequest.getSize());
assertEquals(null, slotRequest.getContentType());
assertXMLEqual(testRequestWithoutContentType, slotRequest.getChildElementXML().toString());
}
@Test(expected = IllegalArgumentException.class)
@Test
public void checkSlotRequestCreationNegativeSize() {
new SlotRequest(JidTestUtil.DOMAIN_BARE_JID_1, "my_juliet.png", -23456, "image/jpeg");
assertThrows(IllegalArgumentException.class, () ->
new SlotRequest(JidTestUtil.DOMAIN_BARE_JID_1, "my_juliet.png", -23456, "image/jpeg"));
}
@Test(expected = IllegalArgumentException.class)
@Test
public void checkSlotRequestCreationZeroSize() {
new SlotRequest(JidTestUtil.DOMAIN_BARE_JID_1, "my_juliet.png", 0, "image/jpeg");
assertThrows(IllegalArgumentException.class, () ->
new SlotRequest(JidTestUtil.DOMAIN_BARE_JID_1, "my_juliet.png", 0, "image/jpeg"));
}
}

View file

@ -16,13 +16,14 @@
*/
package org.jivesoftware.smackx.httpfileupload.provider;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smackx.httpfileupload.element.FileTooLargeError;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class FileTooLargeErrorProviderTest {
@ -52,9 +53,9 @@ public class FileTooLargeErrorProviderTest {
public void checkSlotErrorFileToLarge() throws Exception {
IQ fileTooLargeErrorIQ = PacketParserUtils.parseStanza(slotErrorFileToLarge);
Assert.assertEquals(IQ.Type.error, fileTooLargeErrorIQ.getType());
assertEquals(IQ.Type.error, fileTooLargeErrorIQ.getType());
FileTooLargeError fileTooLargeError = FileTooLargeError.from(fileTooLargeErrorIQ);
Assert.assertEquals(20000, fileTooLargeError.getMaxFileSize());
assertEquals(20000, fileTooLargeError.getMaxFileSize());
}
}

View file

@ -17,7 +17,7 @@
package org.jivesoftware.smackx.httpfileupload.provider;
import static org.custommonkey.xmlunit.XMLAssert.assertXMLEqual;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.net.MalformedURLException;
import java.net.URL;
@ -28,7 +28,7 @@ import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smackx.httpfileupload.element.Slot;
import org.jivesoftware.smackx.httpfileupload.element.Slot_V0_2;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class SlotProviderTest {

View file

@ -16,7 +16,7 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import java.util.Date;
@ -26,7 +26,7 @@ import org.jivesoftware.smackx.mam.MamManager.MamQueryArgs;
import org.jivesoftware.smackx.mam.element.MamElements;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.JidTestUtil;
import org.jxmpp.util.XmppDateTime;

View file

@ -16,17 +16,21 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IQ.Type;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.mam.element.MamFinIQ;
import org.jivesoftware.smackx.mam.provider.MamFinIQProvider;
import org.jivesoftware.smackx.rsm.packet.RSMSet;
import org.junit.Assert;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
import org.junit.jupiter.api.Test;
public class MamFinProviderTest extends MamTest {
@ -39,13 +43,13 @@ public class MamFinProviderTest extends MamTest {
XmlPullParser parser = PacketParserUtils.getParserFor(exmapleMamFinXml);
MamFinIQ mamFinIQ = new MamFinIQProvider().parse(parser);
Assert.assertFalse(mamFinIQ.isComplete());
Assert.assertTrue(mamFinIQ.isStable());
Assert.assertNull(mamFinIQ.getQueryId());
assertFalse(mamFinIQ.isComplete());
assertTrue(mamFinIQ.isStable());
assertNull(mamFinIQ.getQueryId());
RSMSet rsmSet = mamFinIQ.getRSMSet();
Assert.assertEquals(rsmSet.getAfter(), "09af3-cc343-b409f");
Assert.assertEquals(rsmSet.getMax(), 10);
assertEquals(rsmSet.getAfter(), "09af3-cc343-b409f");
assertEquals(rsmSet.getMax(), 10);
}
@Test
@ -64,13 +68,13 @@ public class MamFinProviderTest extends MamTest {
IQ iq = PacketParserUtils.parseStanza(IQ_LIMITED_RESULTS_EXAMPLE);
MamFinIQ mamFinIQ = (MamFinIQ) iq;
Assert.assertEquals(mamFinIQ.getType(), Type.result);
assertEquals(mamFinIQ.getType(), Type.result);
Assert.assertTrue(mamFinIQ.isComplete());
Assert.assertEquals(mamFinIQ.getRSMSet().getCount(), 16);
Assert.assertEquals(mamFinIQ.getRSMSet().getFirst(), "23452-4534-1");
Assert.assertEquals(mamFinIQ.getRSMSet().getFirstIndex(), 0);
Assert.assertEquals(mamFinIQ.getRSMSet().getLast(), "390-2342-22");
assertTrue(mamFinIQ.isComplete());
assertEquals(mamFinIQ.getRSMSet().getCount(), 16);
assertEquals(mamFinIQ.getRSMSet().getFirst(), "23452-4534-1");
assertEquals(mamFinIQ.getRSMSet().getFirstIndex(), 0);
assertEquals(mamFinIQ.getRSMSet().getLast(), "390-2342-22");
}
}

View file

@ -16,18 +16,20 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.List;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.mam.element.MamPrefsIQ;
import org.jivesoftware.smackx.mam.provider.MamPrefsIQProvider;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.Jid;
import org.xmlpull.v1.XmlPullParser;
public class MamPrefIQProviderTest extends MamTest {
@ -52,20 +54,20 @@ public class MamPrefIQProviderTest extends MamTest {
XmlPullParser parser1 = PacketParserUtils.getParserFor(exampleMamPrefsIQ1);
MamPrefsIQ mamPrefIQ1 = new MamPrefsIQProvider().parse(parser1);
Assert.assertEquals(IQ.Type.set, mamPrefIQ1.getType());
Assert.assertEquals(mamPrefIQ1.getAlwaysJids().get(0).toString(), "romeo@montague.lit");
Assert.assertEquals(mamPrefIQ1.getNeverJids().get(0).toString(), "montague@montague.lit");
assertEquals(IQ.Type.set, mamPrefIQ1.getType());
assertEquals(mamPrefIQ1.getAlwaysJids().get(0).toString(), "romeo@montague.lit");
assertEquals(mamPrefIQ1.getNeverJids().get(0).toString(), "montague@montague.lit");
XmlPullParser parser2 = PacketParserUtils.getParserFor(exampleMamPrefsIQ2);
MamPrefsIQ mamPrefIQ2 = new MamPrefsIQProvider().parse(parser2);
Assert.assertEquals(IQ.Type.set, mamPrefIQ2.getType());
Assert.assertEquals(mamPrefIQ2.getAlwaysJids().get(0).toString(), "romeo@montague.lit");
Assert.assertEquals(mamPrefIQ2.getAlwaysJids().get(1).toString(), "montague@montague.lit");
Assert.assertTrue(mamPrefIQ2.getNeverJids().isEmpty());
assertEquals(IQ.Type.set, mamPrefIQ2.getType());
assertEquals(mamPrefIQ2.getAlwaysJids().get(0).toString(), "romeo@montague.lit");
assertEquals(mamPrefIQ2.getAlwaysJids().get(1).toString(), "montague@montague.lit");
assertTrue(mamPrefIQ2.getNeverJids().isEmpty());
XmlPullParser parser3 = PacketParserUtils.getParserFor(exampleMamPrefsIQ3);
MamPrefsIQ mamPrefIQ3 = new MamPrefsIQProvider().parse(parser3);
Assert.assertEquals(IQ.Type.set, mamPrefIQ3.getType());
assertEquals(IQ.Type.set, mamPrefIQ3.getType());
}
@Test
@ -77,10 +79,10 @@ public class MamPrefIQProviderTest extends MamTest {
List<Jid> alwaysJids = mamPrefsIQ.getAlwaysJids();
List<Jid> neverJids = mamPrefsIQ.getNeverJids();
Assert.assertEquals(alwaysJids.size(), 1);
Assert.assertEquals(neverJids.size(), 2);
Assert.assertEquals(alwaysJids.get(0).toString(), "romeo@montague.lit");
Assert.assertEquals(neverJids.get(1).toString(), "montague@montague.lit");
assertEquals(alwaysJids.size(), 1);
assertEquals(neverJids.size(), 2);
assertEquals(alwaysJids.get(0).toString(), "romeo@montague.lit");
assertEquals(neverJids.get(1).toString(), "montague@montague.lit");
}
}

View file

@ -16,6 +16,10 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.util.ArrayList;
import java.util.List;
@ -27,8 +31,7 @@ import org.jivesoftware.smackx.mam.element.MamQueryIQ;
import org.jivesoftware.smackx.xdata.FormField;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class MamQueryIQProviderTest {
@ -54,35 +57,35 @@ public class MamQueryIQProviderTest {
IQ iq1 = PacketParserUtils.parseStanza(exampleMamQueryIQ1);
MamQueryIQ mamQueryIQ1 = (MamQueryIQ) iq1;
Assert.assertEquals(mamQueryIQ1.getType(), Type.set);
Assert.assertEquals(mamQueryIQ1.getQueryId(), "test");
assertEquals(mamQueryIQ1.getType(), Type.set);
assertEquals(mamQueryIQ1.getQueryId(), "test");
DataForm dataForm1 = (DataForm) mamQueryIQ1.getExtension(DataForm.NAMESPACE);
Assert.assertEquals(dataForm1.getType(), DataForm.Type.submit);
assertEquals(dataForm1.getType(), DataForm.Type.submit);
List<FormField> fields1 = dataForm1.getFields();
Assert.assertEquals(fields1.get(0).getType(), FormField.Type.hidden);
Assert.assertEquals(fields1.get(1).getType(), FormField.Type.text_single);
Assert.assertEquals(fields1.get(1).getValues().get(0).toString(), "Where arth thou, my Juliet?");
Assert.assertEquals(fields1.get(2).getValues().get(0).toString(), "{http://jabber.org/protocol/mood}mood/lonely");
assertEquals(fields1.get(0).getType(), FormField.Type.hidden);
assertEquals(fields1.get(1).getType(), FormField.Type.text_single);
assertEquals(fields1.get(1).getValues().get(0).toString(), "Where arth thou, my Juliet?");
assertEquals(fields1.get(2).getValues().get(0).toString(), "{http://jabber.org/protocol/mood}mood/lonely");
// example2
IQ iq2 = PacketParserUtils.parseStanza(exampleMamQueryIQ2);
MamQueryIQ mamQueryIQ2 = (MamQueryIQ) iq2;
Assert.assertEquals(mamQueryIQ2.getType(), Type.result);
Assert.assertNull(mamQueryIQ2.getQueryId());
assertEquals(mamQueryIQ2.getType(), Type.result);
assertNull(mamQueryIQ2.getQueryId());
DataForm dataForm2 = (DataForm) mamQueryIQ2.getExtension(DataForm.NAMESPACE);
Assert.assertEquals(dataForm2.getType(), DataForm.Type.form);
assertEquals(dataForm2.getType(), DataForm.Type.form);
List<FormField> fields2 = dataForm2.getFields();
Assert.assertEquals(fields2.get(0).getValues().get(0).toString(), "urn:xmpp:mam:1");
Assert.assertTrue(fields2.get(0).getValues().size() == 1);
Assert.assertEquals(fields2.get(1).getType(), FormField.Type.jid_single);
Assert.assertEquals(fields2.get(2).getType(), FormField.Type.text_single);
Assert.assertEquals(fields2.get(2).getValues(), new ArrayList<>());
Assert.assertEquals(fields2.get(4).getVariable(), "urn:example:xmpp:free-text-search");
assertEquals(fields2.get(0).getValues().get(0).toString(), "urn:xmpp:mam:1");
assertTrue(fields2.get(0).getValues().size() == 1);
assertEquals(fields2.get(1).getType(), FormField.Type.jid_single);
assertEquals(fields2.get(2).getType(), FormField.Type.text_single);
assertEquals(fields2.get(2).getValues(), new ArrayList<>());
assertEquals(fields2.get(4).getVariable(), "urn:example:xmpp:free-text-search");
}
}

View file

@ -16,20 +16,21 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.util.PacketParserUtils;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smackx.forward.packet.Forwarded;
import org.jivesoftware.smackx.mam.element.MamElements.MamResultExtension;
import org.jivesoftware.smackx.mam.provider.MamResultProvider;
import org.junit.Assert;
import org.junit.Test;
import org.xmlpull.v1.XmlPullParser;
import org.junit.jupiter.api.Test;
public class MamResultProviderTest {
@ -51,20 +52,20 @@ public class MamResultProviderTest {
XmlPullParser parser = PacketParserUtils.getParserFor(exampleMamResultXml);
MamResultExtension mamResultExtension = new MamResultProvider().parse(parser);
Assert.assertEquals(mamResultExtension.getQueryId(), "f27");
Assert.assertEquals(mamResultExtension.getId(), "28482-98726-73623");
assertEquals(mamResultExtension.getQueryId(), "f27");
assertEquals(mamResultExtension.getId(), "28482-98726-73623");
GregorianCalendar calendar = new GregorianCalendar(2010, 7 - 1, 10, 23, 8, 25);
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = calendar.getTime();
Forwarded forwarded = mamResultExtension.getForwarded();
Assert.assertEquals(forwarded.getDelayInformation().getStamp(), date);
assertEquals(forwarded.getDelayInformation().getStamp(), date);
Message message = (Message) forwarded.getForwardedStanza();
Assert.assertEquals(message.getFrom().toString(), "romeo@montague.lit/orchard");
Assert.assertEquals(message.getTo().toString(), "juliet@capulet.lit/balcony");
Assert.assertEquals(message.getBody(),
assertEquals(message.getFrom().toString(), "romeo@montague.lit/orchard");
assertEquals(message.getTo().toString(), "juliet@capulet.lit/balcony");
assertEquals(message.getBody(),
"Call me but love, and I'll be new baptized; Henceforth I never will be Romeo.");
}
@ -73,20 +74,20 @@ public class MamResultProviderTest {
Message message = PacketParserUtils.parseStanza(exampleResultMessage);
MamResultExtension mamResultExtension = MamResultExtension.from(message);
Assert.assertEquals(mamResultExtension.getQueryId(), "f27");
Assert.assertEquals(mamResultExtension.getId(), "28482-98726-73623");
assertEquals(mamResultExtension.getQueryId(), "f27");
assertEquals(mamResultExtension.getId(), "28482-98726-73623");
GregorianCalendar calendar = new GregorianCalendar(2010, 7 - 1, 10, 23, 8, 25);
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
Date date = calendar.getTime();
Forwarded forwarded = mamResultExtension.getForwarded();
Assert.assertEquals(forwarded.getDelayInformation().getStamp(), date);
assertEquals(forwarded.getDelayInformation().getStamp(), date);
Message forwardedMessage = (Message) forwarded.getForwardedStanza();
Assert.assertEquals(forwardedMessage.getFrom().toString(), "witch@shakespeare.lit");
Assert.assertEquals(forwardedMessage.getTo().toString(), "macbeth@shakespeare.lit");
Assert.assertEquals(forwardedMessage.getBody(), "Hail to thee");
assertEquals(forwardedMessage.getFrom().toString(), "witch@shakespeare.lit");
assertEquals(forwardedMessage.getTo().toString(), "macbeth@shakespeare.lit");
assertEquals(forwardedMessage.getBody(), "Hail to thee");
}
}

View file

@ -25,16 +25,16 @@ import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smackx.InitExtensions;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.Before;
import org.junit.jupiter.api.BeforeAll;
public class MamTest extends InitExtensions {
protected XMPPConnection connection;
protected String queryId;
protected MamManager mamManager;
protected static XMPPConnection connection;
protected static String queryId;
protected static MamManager mamManager;
@Before
public void setup() {
@BeforeAll
public static void setup() {
// mock connection
connection = new DummyConnection();

View file

@ -16,6 +16,8 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StreamOpen;
@ -23,8 +25,7 @@ import org.jivesoftware.smackx.mam.element.MamQueryIQ;
import org.jivesoftware.smackx.rsm.packet.RSMSet;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class PagingTest extends MamTest {
@ -44,9 +45,9 @@ public class PagingTest extends MamTest {
mamQueryIQ.setType(IQ.Type.set);
mamQueryIQ.addExtension(rsmSet);
Assert.assertEquals(mamQueryIQ.getDataForm(), dataForm);
Assert.assertEquals(mamQueryIQ.getDataForm().getFields().get(0).getValues().get(0).toString(), "urn:xmpp:mam:1");
Assert.assertEquals(mamQueryIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), pagingStanza);
assertEquals(mamQueryIQ.getDataForm(), dataForm);
assertEquals(mamQueryIQ.getDataForm().getFields().get(0).getValues().get(0).toString(), "urn:xmpp:mam:1");
assertEquals(mamQueryIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), pagingStanza);
}
}

View file

@ -16,6 +16,8 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.ArrayList;
import java.util.List;
@ -25,8 +27,7 @@ import org.jivesoftware.smackx.mam.element.MamElements;
import org.jivesoftware.smackx.mam.element.MamPrefsIQ;
import org.jivesoftware.smackx.mam.element.MamPrefsIQ.DefaultBehavior;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.Jid;
import org.jxmpp.jid.impl.JidCreate;
@ -43,7 +44,7 @@ public class PreferencesTest {
public void checkRetrievePrefsStanza() throws Exception {
MamPrefsIQ mamPrefIQ = new MamPrefsIQ();
mamPrefIQ.setStanzaId("sarasa");
Assert.assertEquals(mamPrefIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), retrievePrefsStanzaExample);
assertEquals(mamPrefIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), retrievePrefsStanzaExample);
}
@Test
@ -57,7 +58,7 @@ public class PreferencesTest {
MamPrefsIQ mamPrefIQ = new MamPrefsIQ(alwaysJids, neverJids, DefaultBehavior.roster);
mamPrefIQ.setStanzaId("sarasa");
Assert.assertEquals(mamPrefIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), updatePrefsStanzaExample);
assertEquals(mamPrefIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), updatePrefsStanzaExample);
}
}

View file

@ -16,6 +16,8 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.TimeZone;
@ -32,8 +34,7 @@ import org.jivesoftware.smackx.mam.element.MamElements.MamResultExtension;
import org.jivesoftware.smackx.mam.element.MamQueryIQ;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
import org.jxmpp.jid.impl.JidCreate;
public class QueryArchiveTest extends MamTest {
@ -56,7 +57,7 @@ public class QueryArchiveTest extends MamTest {
MamQueryIQ mamQueryIQ = new MamQueryIQ(queryId, dataForm);
mamQueryIQ.setType(IQ.Type.set);
mamQueryIQ.setStanzaId("sarasa");
Assert.assertEquals(mamQueryIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), mamSimpleQueryIQ);
assertEquals(mamQueryIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), mamSimpleQueryIQ);
}
@Test
@ -82,18 +83,18 @@ public class QueryArchiveTest extends MamTest {
message.addExtension(new MamResultExtension("g27", "34482-21985-73620", forwarded));
// FIXME: The order of assertEquals is reversed, fix it by switching it.
Assert.assertEquals(message.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), mamQueryResultExample);
assertEquals(message.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), mamQueryResultExample);
MamResultExtension mamResultExtension = MamResultExtension.from(message);
Assert.assertEquals(mamResultExtension.getId(), "34482-21985-73620");
Assert.assertEquals(mamResultExtension.getForwarded().getDelayInformation().getStamp(), date);
assertEquals(mamResultExtension.getId(), "34482-21985-73620");
assertEquals(mamResultExtension.getForwarded().getDelayInformation().getStamp(), date);
Message resultMessage = (Message) mamResultExtension.getForwarded().getForwardedStanza();
Assert.assertEquals(resultMessage.getFrom(), JidCreate.from("coven@chat.shakespeare.lit/firstwitch"));
Assert.assertEquals(resultMessage.getStanzaId(), "162BEBB1-F6DB-4D9A-9BD8-CFDCC801A0B2");
Assert.assertEquals(resultMessage.getType(), Type.chat);
Assert.assertEquals(resultMessage.getBody(), "Thrice the brinded cat hath mew.");
assertEquals(resultMessage.getFrom(), JidCreate.from("coven@chat.shakespeare.lit/firstwitch"));
assertEquals(resultMessage.getStanzaId(), "162BEBB1-F6DB-4D9A-9BD8-CFDCC801A0B2");
assertEquals(resultMessage.getType(), Type.chat);
assertEquals(resultMessage.getBody(), "Thrice the brinded cat hath mew.");
}
}

View file

@ -1,6 +1,6 @@
/**
*
* Copyright 2016 Fernando Ramirez, 2018 Florian Schmaus
* Copyright 2016 Fernando Ramirez, 2018-2019 Florian Schmaus
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -16,6 +16,8 @@
*/
package org.jivesoftware.smackx.mam;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.StreamOpen;
@ -24,8 +26,7 @@ import org.jivesoftware.smackx.mam.element.MamElements;
import org.jivesoftware.smackx.mam.element.MamQueryIQ;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class ResultsLimitTest extends MamTest {
@ -36,7 +37,6 @@ public class ResultsLimitTest extends MamTest {
@Test
public void checkResultsLimit() throws Exception {
DataForm dataForm = getNewMamForm();
MamQueryIQ mamQueryIQ = new MamQueryIQ(queryId, dataForm);
mamQueryIQ.setType(IQ.Type.set);
@ -44,7 +44,7 @@ public class ResultsLimitTest extends MamTest {
MamQueryArgs mamQueryArgs = MamQueryArgs.builder().setResultPageSize(10).build();
mamQueryArgs.maybeAddRsmSet(mamQueryIQ);
Assert.assertEquals(mamQueryIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString(), resultsLimitStanza);
assertEquals(resultsLimitStanza, mamQueryIQ.toXML(StreamOpen.CLIENT_NAMESPACE).toString());
}
}

View file

@ -17,7 +17,7 @@
package org.jivesoftware.smackx.mam;
import static org.jivesoftware.smack.test.util.XmlUnitUtils.assertXmlSimilar;
import static org.junit.Assert.assertEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import org.jivesoftware.smack.packet.StreamOpen;
@ -27,7 +27,7 @@ import org.jivesoftware.smackx.mam.element.MamQueryIQ;
import org.jivesoftware.smackx.xdata.FormField;
import org.jivesoftware.smackx.xdata.packet.DataForm;
import org.junit.Test;
import org.junit.jupiter.api.Test;
public class RetrieveFormFieldsTest extends MamTest {

Some files were not shown because too many files have changed in this diff Show more