SPARK-2355: Migrate to new Smack API

This commit is contained in:
Sergey Ponomarev
2025-10-14 19:20:36 +03:00
committed by Guus der Kinderen
parent 010a33ac67
commit d960a54d3a
23 changed files with 83 additions and 44 deletions

View File

@ -19,6 +19,7 @@ import org.jivesoftware.resource.Res;
import org.jivesoftware.resource.Default;
import org.jivesoftware.resource.SparkRes;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.XmlElement;
import org.jivesoftware.smack.roster.Roster;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smackx.muc.packet.MUCUser;
@ -135,8 +136,8 @@ public class PresenceManager {
}
public static String getJidFromMUCPresence(Presence presence) {
Collection<ExtensionElement> extensions = presence.getExtensions();
for (ExtensionElement extension : extensions) {
Collection<XmlElement> extensions = presence.getExtensions();
for (XmlElement extension : extensions) {
if (extension instanceof MUCUser) {
final MUCUser mucUser = (MUCUser) extension;
Jid fullJid = mucUser.getItem().getJid();

View File

@ -18,7 +18,7 @@ package org.jivesoftware.spark.plugin;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.provider.ExtensionElementProvider;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.provider.IqProvider;
import org.jivesoftware.smack.provider.ProviderManager;
import org.jivesoftware.smack.xml.SmackXmlParser;
import org.jivesoftware.smack.xml.XmlPullParser;
@ -139,7 +139,7 @@ public class PluginClassLoader extends URLClassLoader {
try {
// Add the provider to the map.
Class<?> provider = this.loadClass(className);
if (IQProvider.class.isAssignableFrom(provider)) {
if (IqProvider.class.isAssignableFrom(provider)) {
ProviderManager.addIQProvider(elementName, namespace, provider.newInstance());
}
else if (IQ.class.isAssignableFrom(provider)) {

View File

@ -484,10 +484,10 @@ public class RosterDialog implements ActionListener {
for (DomainBareJid search : _usersearchservice) {
ReportedData data;
UserSearchManager usersearchManager = new UserSearchManager(
UserSearchManager usersearchManager = UserSearchManager.getInstanceFor(
SparkManager.getConnection());
DataForm f = usersearchManager.getSearchForm(search);
DataForm f = usersearchManager.getSearchForm(search).getDataForm();
FillableForm answer = new FillableForm(f);
answer.setAnswer("Name", true);

View File

@ -18,14 +18,18 @@ package org.jivesoftware.sparkimpl.plugin.gateways;
import org.jivesoftware.smack.*;
import org.jivesoftware.smack.filter.StanzaIdFilter;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IqData;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
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.spark.SparkManager;
import org.jxmpp.JxmppContext;
import org.jxmpp.jid.DomainBareJid;
import java.io.IOException;
import java.text.ParseException;
/**
*/
@ -81,14 +85,14 @@ public class Gateway extends IQ {
*
* @author Derek DeMoro
*/
public static class Provider extends IQProvider<Gateway> {
public static class Provider extends IqProvider<Gateway> {
public Provider() {
super();
}
@Override
public Gateway parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment)
public Gateway parse(XmlPullParser parser, int i, IqData iqData, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext)
throws IOException, XmlPullParserException {
Gateway version = new Gateway();

View File

@ -19,6 +19,7 @@ import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.iqprivate.packet.PrivateData;
import org.jivesoftware.smackx.iqprivate.provider.PrivateDataProvider;
import org.jxmpp.JxmppContext;
import org.jxmpp.jid.DomainBareJid;
import org.jxmpp.jid.impl.JidCreate;
@ -87,7 +88,7 @@ public class GatewayPrivateData implements PrivateData {
}
@Override
public PrivateData parsePrivateData(XmlPullParser parser) throws IOException, XmlPullParserException {
public PrivateData parsePrivateData(XmlPullParser parser, JxmppContext jxmppContext) throws XmlPullParserException, IOException {
GatewayPrivateData data = new GatewayPrivateData();
boolean done = false;

View File

@ -20,6 +20,7 @@ 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.jxmpp.JxmppContext;
import javax.xml.namespace.QName;
import java.io.IOException;
@ -74,7 +75,7 @@ public class Features implements ExtensionElement {
}
@Override
public Features parse( XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException {
public Features parse( XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException {
Features features = new Features();
boolean done = false;
while (!done) {

View File

@ -24,6 +24,7 @@ import org.jivesoftware.smackx.iqprivate.packet.PrivateData;
import org.jivesoftware.smackx.iqprivate.provider.PrivateDataProvider;
import org.jivesoftware.spark.SparkManager;
import org.jivesoftware.spark.util.log.Log;
import org.jxmpp.JxmppContext;
import java.io.IOException;
@ -113,7 +114,7 @@ public class PrivateNotes implements PrivateData {
}
@Override
public PrivateData parsePrivateData(XmlPullParser parser) throws XmlPullParserException, IOException {
public PrivateData parsePrivateData(XmlPullParser parser, JxmppContext jxmppContext) throws XmlPullParserException, IOException {
boolean done = false;
while (!done) {
XmlPullParser.Event eventType = parser.next();

View File

@ -29,6 +29,7 @@ import org.jivesoftware.smackx.iqprivate.packet.PrivateData;
import org.jivesoftware.smackx.iqprivate.provider.PrivateDataProvider;
import org.jivesoftware.spark.util.ModelUtil;
import org.jivesoftware.spark.util.log.Log;
import org.jxmpp.JxmppContext;
/**
* @author Derek DeMoro
@ -120,7 +121,7 @@ public class Tasks implements PrivateData {
}
@Override
public PrivateData parsePrivateData(XmlPullParser parser) throws XmlPullParserException, IOException {
public PrivateData parsePrivateData(XmlPullParser parser, JxmppContext jxmppContext) throws XmlPullParserException, IOException {
boolean done = false;
while (!done) {
XmlPullParser.Event eventType = parser.next();

View File

@ -28,6 +28,7 @@ import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smack.packet.StanzaError;
import org.jivesoftware.smack.packet.XmlElement;
import org.jivesoftware.smack.provider.ProviderManager;
import org.jivesoftware.smack.xml.SmackXmlParser;
import org.jivesoftware.smack.xml.XmlPullParser;

View File

@ -18,12 +18,15 @@ package org.jivesoftware.sparkimpl.profile.ext;
import org.jivesoftware.smack.packet.ExtensionElement;
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.jxmpp.JxmppContext;
import javax.xml.namespace.QName;
import java.io.IOException;
import java.text.ParseException;
/**
* XEP-0008: IQ-Based Avatars
@ -66,7 +69,7 @@ public class JabberAvatarExtension implements ExtensionElement {
}
@Override
public JabberAvatarExtension parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment)
public JabberAvatarExtension parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext)
throws XmlPullParserException, IOException {
final JabberAvatarExtension result = new JabberAvatarExtension();

View File

@ -21,6 +21,7 @@ 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.jxmpp.JxmppContext;
import javax.xml.namespace.QName;
import java.io.IOException;
@ -68,7 +69,7 @@ public class VCardUpdateExtension implements ExtensionElement {
}
@Override
public VCardUpdateExtension parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment)
public VCardUpdateExtension parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext)
throws XmlPullParserException, IOException {
final VCardUpdateExtension result = new VCardUpdateExtension();

View File

@ -62,13 +62,13 @@ public class SearchForm extends JPanel {
throw new IllegalStateException(e);
}
searchManager = new UserSearchManager(SparkManager.getConnection());
searchManager = UserSearchManager.getInstanceFor(SparkManager.getConnection());
setLayout(new GridBagLayout());
// Load searchForm
try {
searchForm = searchManager.getSearchForm(serviceName);
searchForm = searchManager.getSearchForm(serviceName).getDataForm();
}
catch (XMPPException | SmackException | InterruptedException e) {
Log.error("Unable to load search services.", e);
@ -77,7 +77,6 @@ public class SearchForm extends JPanel {
return;
}
searchManager = new UserSearchManager(SparkManager.getConnection());
questionForm = new DataFormUI(searchForm);
questionForm.setBorder(BorderFactory.createTitledBorder(Res.getString("group.search.form")));

View File

@ -89,7 +89,7 @@ public class UserSearchForm extends JPanel {
this.searchServices = searchServices;
searchManager = new UserSearchManager(SparkManager.getConnection());
searchManager = UserSearchManager.getInstanceFor(SparkManager.getConnection());
addSearchServices();
@ -168,7 +168,7 @@ public class UserSearchForm extends JPanel {
public Object construct() {
try {
DomainBareJid serviceJid = JidCreate.domainBareFrom(serviceName);
newForm = searchManager.getSearchForm(serviceJid);
newForm = searchManager.getSearchForm(serviceJid).getDataForm();
}
catch (XMPPException | SmackException | XmppStringprepException | InterruptedException e) {
// Nothing to do

View File

@ -20,6 +20,7 @@ import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jivesoftware.smackx.iqprivate.packet.PrivateData;
import org.jivesoftware.smackx.iqprivate.provider.PrivateDataProvider;
import org.jxmpp.JxmppContext;
import java.io.IOException;
import java.util.HashMap;
@ -31,7 +32,7 @@ public class SettingsDataProvider implements PrivateDataProvider {
}
@Override
public PrivateData parsePrivateData(XmlPullParser parser) throws XmlPullParserException, IOException
public PrivateData parsePrivateData(XmlPullParser parser, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
Map<String,String> map = new HashMap<>();
parser.getEventType();
@ -47,4 +48,4 @@ public class SettingsDataProvider implements PrivateDataProvider {
return new SettingsData(map);
}
}
}

View File

@ -18,12 +18,16 @@ package org.jivesoftware.sparkimpl.updater;
import org.jivesoftware.Spark;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IqData;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
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.jxmpp.JxmppContext;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
public class SparkVersion extends IQ {
@ -116,14 +120,14 @@ public class SparkVersion extends IQ {
*
* @author Derek DeMoro
*/
public static class Provider extends IQProvider<SparkVersion> {
public static class Provider extends IqProvider<SparkVersion> {
public Provider() {
super();
}
@Override
public SparkVersion parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException{
public SparkVersion parse(XmlPullParser parser, int i, IqData iqData, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException{
SparkVersion version = new SparkVersion();
boolean done = false;

View File

@ -16,10 +16,12 @@
package org.jivesoftware.spark.plugin.fileupload;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IqData;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.provider.IqProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jxmpp.JxmppContext;
import java.io.IOException;
@ -57,14 +59,15 @@ public class UploadRequest extends IQ
return buf;
}
public static class Provider extends IQProvider<UploadRequest>
public static class Provider extends IqProvider<UploadRequest>
{
public Provider()
{
super();
}
public UploadRequest parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public UploadRequest parse(XmlPullParser parser, int i, IqData iqData, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final UploadRequest uploadRequest = new UploadRequest();

View File

@ -16,10 +16,12 @@
package org.jivesoftware.spark.plugin.ofmeet;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IqData;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.provider.IqProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jxmpp.JxmppContext;
import java.io.IOException;
@ -55,14 +57,15 @@ public class QueryRequest extends IQ
return buf;
}
public static class Provider extends IQProvider<QueryRequest>
public static class Provider extends IqProvider<QueryRequest>
{
public Provider()
{
super();
}
public QueryRequest parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public QueryRequest parse(XmlPullParser parser, int i, IqData iqData, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final QueryRequest queryRequest = new QueryRequest();

View File

@ -20,6 +20,7 @@ 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.jxmpp.JxmppContext;
import javax.xml.namespace.QName;
import java.io.IOException;
@ -72,7 +73,8 @@ public class GameForfeit implements ExtensionElement {
public static class Provider extends ExtensionElementProvider<GameForfeit>
{
public GameForfeit parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public GameForfeit parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final GameForfeit gameForfeit = new GameForfeit();
boolean done = false;

View File

@ -20,6 +20,7 @@ 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.jxmpp.JxmppContext;
import javax.xml.namespace.QName;
import java.io.IOException;
@ -100,7 +101,9 @@ public class GameMove implements ExtensionElement {
public static class Provider extends ExtensionElementProvider<GameMove>
{
public GameMove parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public GameMove parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final GameMove gameMove = new GameMove();
boolean done = false;

View File

@ -16,10 +16,12 @@
package org.jivesoftware.game.reversi;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IqData;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.provider.IqProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jxmpp.JxmppContext;
import java.io.IOException;
import java.util.Random;
@ -103,14 +105,15 @@ public class GameOffer extends IQ
return buf;
}
public static class Provider extends IQProvider<GameOffer>
public static class Provider extends IqProvider<GameOffer>
{
public Provider()
{
super();
}
public GameOffer parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public GameOffer parse(XmlPullParser parser, int i, IqData iqData, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final GameOffer gameOffer = new GameOffer();

View File

@ -15,14 +15,16 @@
*/
package tic.tac.toe.packet;
import java.io.IOException;
import java.util.Random;
import org.jivesoftware.smack.packet.IQ;
import org.jivesoftware.smack.packet.IqData;
import org.jivesoftware.smack.packet.XmlEnvironment;
import org.jivesoftware.smack.provider.IQProvider;
import org.jivesoftware.smack.provider.IqProvider;
import org.jivesoftware.smack.xml.XmlPullParser;
import org.jivesoftware.smack.xml.XmlPullParserException;
import org.jxmpp.JxmppContext;
import java.io.IOException;
import java.util.Random;
/**
* The Game Offer Packet
@ -94,14 +96,15 @@ public class GameOfferPacket extends IQ {
buf.append( "</" + ELEMENT_NAME + ">" );
return buf;
}
public static class Provider extends IQProvider<GameOfferPacket>
public static class Provider extends IqProvider<GameOfferPacket>
{
public Provider()
{
super();
}
public GameOfferPacket parse(XmlPullParser parser, int i, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public GameOfferPacket parse(XmlPullParser parser, int i, IqData iqData, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final GameOfferPacket gameOffer = new GameOfferPacket();

View File

@ -5,6 +5,7 @@ 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.jxmpp.JxmppContext;
import javax.xml.namespace.QName;
import java.io.IOException;
@ -65,7 +66,8 @@ public class InvalidMove implements ExtensionElement {
public static class Provider extends ExtensionElementProvider<InvalidMove>
{
public InvalidMove parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public InvalidMove parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final InvalidMove gameMove = new InvalidMove();
boolean done = false;

View File

@ -20,6 +20,7 @@ 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.jxmpp.JxmppContext;
import javax.xml.namespace.QName;
import java.io.IOException;
@ -85,7 +86,8 @@ public class MovePacket implements ExtensionElement {
public static class Provider extends ExtensionElementProvider<MovePacket>
{
public MovePacket parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment) throws XmlPullParserException, IOException
@Override
public MovePacket parse(XmlPullParser parser, int initialDepth, XmlEnvironment xmlEnvironment, JxmppContext jxmppContext) throws XmlPullParserException, IOException
{
final MovePacket gameMove = new MovePacket();
boolean done = false;