SPARK-2355: Use getExtension(Class) and hasExtension(Class)

This commit is contained in:
Sergey Ponomarev
2025-10-04 20:54:48 +03:00
committed by Guus der Kinderen
parent efda43bf5d
commit dc0f625f25
19 changed files with 31 additions and 41 deletions

View File

@ -81,8 +81,7 @@ public class GUI extends JPanel implements Observer{
@Override
public void processPacket(Stanza stanza) {
MovePacket move = (MovePacket) stanza.getExtension(
MovePacket.ELEMENT_NAME, MovePacket.NAMESPACE);
MovePacket move = stanza.getExtension(MovePacket.class);
if (move.getGameID() == _gameID) {
boolean opponentMadeHit = _gameboard.placeBomb(move.getPositionX(), move.getPositionY());

View File

@ -41,9 +41,10 @@ import org.jivesoftware.smack.SmackException;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;
import org.jivesoftware.smack.packet.Message;
import org.jivesoftware.smack.packet.ExtensionElement;
import org.jivesoftware.smack.packet.Presence;
import org.jivesoftware.smackx.muc.MultiUserChat;
import org.jivesoftware.smackx.workgroup.packet.QueueOverview;
import org.jivesoftware.smackx.workgroup.packet.WorkgroupInformation;
import org.jivesoftware.smackx.xdata.FormField;
import org.jivesoftware.smackx.xdata.form.FillableForm;
import org.jivesoftware.smackx.xdata.form.FilledForm;
@ -269,11 +270,9 @@ public class WorkgroupManager {
public void handleContactItem(final ContactItem contactItem) {
Presence presence = contactItem.getPresence();
// TODO It probably can be WorkgroupInformation.class but it has namespace http://jabber.org/protocol/workgroup
boolean hasWorkgroup = presence.hasExtension("workgroup", "http://jivesoftware.com/protocol/workgroup");
boolean hasNotifyQueue = presence.hasExtension("notify-queue", "http://jabber.org/protocol/workgroup");
boolean hasNotifyQueue = presence.hasExtension(QueueOverview.class);
if (!hasWorkgroup && !hasNotifyQueue) {
return;
}
@ -404,7 +403,7 @@ public class WorkgroupManager {
public boolean handleInvitation(final XMPPConnection conn, final MultiUserChat room, final EntityBareJid inviter, final String reason, final String password, final Message message) {
invites.add(inviter);
if (message.hasExtension("workgroup", "http://jabber.org/protocol/workgroup")) {
if (message.hasExtension(WorkgroupInformation.class)) {
Localpart workgroupName = inviter.getLocalpart();
GroupChatRoom groupChatRoom = ConferenceUtils.enterRoomOnSameThread(workgroupName, room.getRoom(), null, password);

View File

@ -614,7 +614,7 @@ public class Workpane {
return true;
}
else if (message != null) {
MetaData metaDataExt = message.getExtension(MetaData.ELEMENT_NAME, MetaData.NAMESPACE);
MetaData metaDataExt = message.getExtension(MetaData.class);
if (metaDataExt != null) {
Map<String, List<String>> metadata = metaDataExt.getMetaData();
List<String> values = new ArrayList<>();

View File

@ -186,7 +186,7 @@ public final class AgentConversations extends JPanel implements ChangeListener {
@Override
public void presenceChanged(Presence presence) {
EntityBareJid agentJID = presence.getFrom().asEntityBareJidOrThrow();
AgentStatus agentStatus = presence.getExtension("agent-status", "http://jabber.org/protocol/workgroup");
AgentStatus agentStatus = presence.getExtension(AgentStatus.class);
if (agentStatus != null) {
List<AgentStatus.ChatInfo> list = agentStatus.getCurrentChats();
@ -231,7 +231,7 @@ public final class AgentConversations extends JPanel implements ChangeListener {
for (EntityBareJid agent : agentRoster.getAgents()) {
Presence presence = agentRoster.getPresence(agent);
if (presence.isAvailable()) {
AgentStatus agentStatus = presence.getExtension("agent-status", "http://jabber.org/protocol/workgroup");
AgentStatus agentStatus = presence.getExtension(AgentStatus.class);
if (agentStatus != null) {
counter += agentStatus.getCurrentChats().size();
}

View File

@ -73,7 +73,7 @@ public class ChatViewer extends JPanel {
if (stanza instanceof Message) {
Message message = (Message) stanza;
String from = message.getFrom().getResourceOrThrow().toString();
DelayInformation delayInformation = message.getExtension("delay", "urn:xmpp:delay");
DelayInformation delayInformation = message.getExtension(DelayInformation.class);
Date stamp = null;
if (delayInformation != null) {
stamp = delayInformation.getStamp();

View File

@ -170,8 +170,7 @@ public final class CurrentActivity extends JPanel {
@Override
public void presenceChanged(Presence presence) {
BareJid agentJID = presence.getFrom().asBareJid();
AgentStatus agentStatus = presence.getExtension("agent-status", "http://jabber.org/protocol/workgroup");
AgentStatus agentStatus = presence.getExtension(AgentStatus.class);
if (agentStatus != null) {
List<ChatInfo> list = agentStatus.getCurrentChats();

View File

@ -124,7 +124,7 @@ public class InvitationPane {
transcriptAlert.add(new JLabel(), new GridBagConstraints(2, 5, 1, 1, 0.0, 1.0, GridBagConstraints.SOUTH, GridBagConstraints.NONE, new Insets(2, 2, 2, 2), 0, 0));
MetaData metaDataExt = message.getExtension(MetaData.ELEMENT_NAME, MetaData.NAMESPACE);
MetaData metaDataExt = message.getExtension(MetaData.class);
if (metaDataExt != null) {
metadata = metaDataExt.getMetaData();
}

View File

@ -209,7 +209,7 @@ public final class OnlineAgents extends JPanel {
return FpRes.getString("message.user.not.logged.in");
}
AgentStatus agentStatus = presence.getExtension("agent-status", "http://jabber.org/protocol/workgroup");
AgentStatus agentStatus = presence.getExtension(AgentStatus.class);
List<AgentStatus.ChatInfo> list = agentStatus.getCurrentChats();
// Add new ones.

View File

@ -93,7 +93,7 @@ public class ReversiPanel extends JPanel {
if (connection != null) {
gameMoveListener = stanza -> {
GameMove move = stanza.getExtension(GameMove.ELEMENT_NAME, GameMove.NAMESPACE);
GameMove move = stanza.getExtension(GameMove.class);
// If this is a move for the current game.
if (move.getGameID() == gameID) {
int position = move.getPosition();

View File

@ -86,9 +86,7 @@ public class GamePanel extends JPanel {
add(_playerdisplay, BorderLayout.SOUTH);
_connection.addAsyncStanzaListener(stanza -> {
MovePacket move = stanza.getExtension(
MovePacket.ELEMENT_NAME, MovePacket.NAMESPACE);
MovePacket move = stanza.getExtension(MovePacket.class);
if (move.getGameID() == _gameID) {
if (_gameboard.isValidMove(getYourMark(), move.getPositionX(), move.getPositionY())) {
_gameboardpanel.placeMark(getYourMark(), move.getPositionX(), move.getPositionY());
@ -109,7 +107,7 @@ public class GamePanel extends JPanel {
}, new StanzaExtensionFilter(MovePacket.ELEMENT_NAME, MovePacket.NAMESPACE));
_connection.addAsyncStanzaListener(stanza -> {
//InvalidMove im = (InvalidMove)packet.getExtension(InvalidMove.ELEMENT_NAME, InvalidMove.NAMESPACE);
//InvalidMove im = packet.getExtension(InvalidMove.class);
ChatRoom cr = SparkManager.getChatManager().getChatRoom(_opponent.asEntityBareJid());
cr.getTranscriptWindow().insertCustomText("You seem to be Cheating\n" +
"You placed a wrong Move", true, false, Color.red);