From 81bd244b3e60cc722abad5539f28beabcdbf47f6 Mon Sep 17 00:00:00 2001 From: Sergey Ponomarev Date: Thu, 30 Jul 2026 10:01:50 +0300 Subject: [PATCH] refactor: use buildPresenceFrom() --- .../src/main/java/org/jivesoftware/MainWindow.java | 1 - .../spark/ui/conferences/ConferenceServices.java | 6 +----- .../spark/ui/status/CustomMessages.java | 8 ++------ .../jivesoftware/spark/ui/status/StatusBar.java | 14 +++----------- .../sparkimpl/plugin/gateways/GatewayButton.java | 6 +----- .../sparkimpl/plugin/gateways/GatewayPlugin.java | 6 +----- .../sparkimpl/plugin/gateways/GatewayTabItem.java | 6 +----- .../privacy/list/PrivacyPresenceHandler.java | 5 +---- .../sparkimpl/plugin/systray/SysTrayPlugin.java | 5 +---- .../sparkimpl/profile/VCardEditor.java | 6 +----- .../spark/plugin/apple/ApplePlugin.java | 6 +----- .../org/jivesoftware/fastpath/FastpathPlugin.java | 7 +------ .../sparkimpl/plugin/phone/PhonePlugin.java | 2 +- .../sparkplugin/ui/call/CallManager.java | 6 +++--- 14 files changed, 18 insertions(+), 66 deletions(-) diff --git a/core/src/main/java/org/jivesoftware/MainWindow.java b/core/src/main/java/org/jivesoftware/MainWindow.java index ab1b60c06..0ae08e8cd 100644 --- a/core/src/main/java/org/jivesoftware/MainWindow.java +++ b/core/src/main/java/org/jivesoftware/MainWindow.java @@ -258,7 +258,6 @@ public final class MainWindow extends ChatFrame { Presence byePresence = StanzaBuilder.buildPresence() .ofType(Presence.Type.unavailable) .setStatus(reason) - .setPriority(-1) .build(); try { diff --git a/core/src/main/java/org/jivesoftware/spark/ui/conferences/ConferenceServices.java b/core/src/main/java/org/jivesoftware/spark/ui/conferences/ConferenceServices.java index 0485bd99b..898bc6573 100644 --- a/core/src/main/java/org/jivesoftware/spark/ui/conferences/ConferenceServices.java +++ b/core/src/main/java/org/jivesoftware/spark/ui/conferences/ConferenceServices.java @@ -88,11 +88,7 @@ public class ConferenceServices implements InvitationListener { } GroupChatRoom groupChatRoom = (GroupChatRoom) room; EntityBareJid jid = groupChatRoom.getMultiUserChat().getRoom(); - final Presence p = StanzaBuilder.buildPresence() - .ofType(presence.getType()) - .setStatus(presence.getStatus()) - .setPriority(presence.getPriority()) - .setMode(presence.getMode()) + Presence p = StanzaBuilder.buildPresenceFrom(presence, (String) null) .to(jid) .build(); try { diff --git a/core/src/main/java/org/jivesoftware/spark/ui/status/CustomMessages.java b/core/src/main/java/org/jivesoftware/spark/ui/status/CustomMessages.java index 9465823cb..d8cbe146e 100644 --- a/core/src/main/java/org/jivesoftware/spark/ui/status/CustomMessages.java +++ b/core/src/main/java/org/jivesoftware/spark/ui/status/CustomMessages.java @@ -491,11 +491,9 @@ public class CustomMessages { StatusItem item = statusBar.getStatusItem(getType()); Presence oldPresence = item.getPresence(); - Presence presence = StanzaBuilder.buildPresence() - .ofType(oldPresence.getType()) + Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null) .setStatus(getStatus()) .setPriority(getPriority()) - .setMode(oldPresence.getMode()) .build(); SparkManager.getSessionManager().changePresence(presence); @@ -528,11 +526,9 @@ public class CustomMessages { // Update current status. StatusItem item = statusBar.getStatusItem(getType()); Presence oldPresence = item.getPresence(); - Presence presence = StanzaBuilder.buildPresence() - .ofType(oldPresence.getType()) + Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null) .setStatus(getStatus()) .setPriority(getPriority()) - .setMode(oldPresence.getMode()) .build(); SparkManager.getSessionManager().changePresence(presence); diff --git a/core/src/main/java/org/jivesoftware/spark/ui/status/StatusBar.java b/core/src/main/java/org/jivesoftware/spark/ui/status/StatusBar.java index 5361892e3..605521543 100644 --- a/core/src/main/java/org/jivesoftware/spark/ui/status/StatusBar.java +++ b/core/src/main/java/org/jivesoftware/spark/ui/status/StatusBar.java @@ -110,11 +110,8 @@ public class StatusBar extends JPanel implements VCardListener { //setBorder(BorderFactory.createLineBorder(new Color(197, 213, 230), 1)); SparkManager.getSessionManager().addPresenceListener(presence -> { - Presence statusPresence = StanzaBuilder.buildPresence() - .ofType(presence.getType()) + Presence statusPresence = StanzaBuilder.buildPresenceFrom(presence, (String) null) .setStatus(StringUtils.modifyWildcards(presence.getStatus())) - .setPriority(presence.getPriority()) - .setMode(presence.getMode()) .build(); changeAvailability(statusPresence); @@ -247,11 +244,9 @@ public class StatusBar extends JPanel implements VCardListener { SwingWorker worker = new SwingWorker() { @Override public Object construct() { - Presence presence = StanzaBuilder.buildPresence() - .ofType(si.getPresence().getType()) + Presence presence = StanzaBuilder.buildPresenceFrom(si.getPresence(), (String) null) .setStatus(customStatus) .setPriority(customItem.getPriority()) - .setMode(si.getPresence().getMode()) .build(); return changePresence(presence); } @@ -575,11 +570,8 @@ public class StatusBar extends JPanel implements VCardListener { JOptionPane.showMessageDialog(null, Res.getString("dialog.invisible.privacy.lists.not.supported")); } - Presence copyPresence = StanzaBuilder.buildPresence() - .ofType(presence.getType()) + Presence copyPresence = StanzaBuilder.buildPresenceFrom(presence, (String)null) .setStatus(isNewPresenceInvisible ? null : presence.getStatus()) - .setPriority(presence.getPriority()) - .setMode(presence.getMode()) .build(); if (PresenceManager.areEqual(getCurrentPresence(), copyPresence)) { return presence.getStatus(); diff --git a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayButton.java b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayButton.java index b2348ce30..d59cafc01 100644 --- a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayButton.java +++ b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayButton.java @@ -77,11 +77,7 @@ public class GatewayButton extends JPanel implements GatewayItem { boolean autoJoin = TransportUtils.autoJoinService(transport.getXMPPServiceDomain()); if (autoJoin) { Presence oldPresence = statusBar.getPresence(); - Presence presence = StanzaBuilder.buildPresence() - .ofType(oldPresence.getType()) - .setStatus(oldPresence.getStatus()) - .setPriority(oldPresence.getPriority()) - .setMode(oldPresence.getMode()) + Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null) .to(transport.getXMPPServiceDomain()) .build(); try diff --git a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayPlugin.java b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayPlugin.java index a8da6a2b6..a376f4830 100644 --- a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayPlugin.java +++ b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayPlugin.java @@ -289,11 +289,7 @@ public class GatewayPlugin implements Plugin, ContactItemHandler { return; } // Create new presence - Presence p = StanzaBuilder.buildPresence() - .ofType(presence.getType()) - .setStatus(presence.getStatus()) - .setPriority(presence.getPriority()) - .setMode(presence.getMode()) + Presence p = StanzaBuilder.buildPresenceFrom(presence, (String) null) .to(transport.getXMPPServiceDomain()) .build(); try diff --git a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayTabItem.java b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayTabItem.java index fbd5fa93d..deb72d8aa 100644 --- a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayTabItem.java +++ b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/gateways/GatewayTabItem.java @@ -103,11 +103,7 @@ public class GatewayTabItem extends CollapsiblePane implements GatewayItem { .getXMPPServiceDomain()); if (autoJoin) { Presence oldPresence = statusBar.getPresence(); - Presence presence = StanzaBuilder.buildPresence() - .ofType(oldPresence.getType()) - .setStatus(oldPresence.getStatus()) - .setPriority(oldPresence.getPriority()) - .setMode(oldPresence.getMode()) + Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null) .to(transport.getXMPPServiceDomain()) .build(); try diff --git a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/privacy/list/PrivacyPresenceHandler.java b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/privacy/list/PrivacyPresenceHandler.java index 23200bcf8..ed4e8dddf 100644 --- a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/privacy/list/PrivacyPresenceHandler.java +++ b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/privacy/list/PrivacyPresenceHandler.java @@ -51,11 +51,8 @@ public class PrivacyPresenceHandler implements SparkPrivacyItemListener { public void sendRealPresenceTo(Jid jid) throws SmackException.NotConnectedException { Presence presence = SparkManager.getWorkspace().getStatusBar().getPresence(); - Presence pack = StanzaBuilder.buildPresence() - .ofType(presence.getType()) - .setStatus(presence.getStatus()) + Presence pack = StanzaBuilder.buildPresenceFrom(presence, (String) null) .setPriority(1) - .setMode(presence.getMode()) .to(jid) .build(); try { diff --git a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/systray/SysTrayPlugin.java b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/systray/SysTrayPlugin.java index 8207047cc..6bc5378f0 100644 --- a/core/src/main/java/org/jivesoftware/sparkimpl/plugin/systray/SysTrayPlugin.java +++ b/core/src/main/java/org/jivesoftware/sparkimpl/plugin/systray/SysTrayPlugin.java @@ -22,7 +22,6 @@ import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; import javax.swing.AbstractAction; import javax.swing.Action; @@ -229,11 +228,9 @@ public class SysTrayPlugin implements Plugin, NativeHandler, ChatStateListener { @Override public void actionPerformed(ActionEvent e) { Presence oldPresence = statusItem.getPresence(); - Presence presence = StanzaBuilder.buildPresence() - .ofType(oldPresence.getType()) + Presence presence = StanzaBuilder.buildPresenceFrom(oldPresence, (String) null) .setStatus(customItem.getStatus()) .setPriority(customItem.getPriority()) - .setMode(oldPresence.getMode()) .build(); SparkManager.getSessionManager().changePresence(presence); diff --git a/core/src/main/java/org/jivesoftware/sparkimpl/profile/VCardEditor.java b/core/src/main/java/org/jivesoftware/sparkimpl/profile/VCardEditor.java index fde202806..1ecf67ffd 100644 --- a/core/src/main/java/org/jivesoftware/sparkimpl/profile/VCardEditor.java +++ b/core/src/main/java/org/jivesoftware/sparkimpl/profile/VCardEditor.java @@ -320,11 +320,7 @@ public class VCardEditor { // Notify users on avatar change if (avatarBytes != null) { Presence presence = SparkManager.getWorkspace().getStatusBar().getPresence(); - Presence newPresence = StanzaBuilder.buildPresence() - .ofType(presence.getType()) - .setStatus(presence.getStatus()) - .setPriority(presence.getPriority()) - .setMode(presence.getMode()) + Presence newPresence = StanzaBuilder.buildPresenceFrom(presence, (String) null) .build(); // Change my own presence diff --git a/plugins/apple/src/main/java/com/jivesoftware/spark/plugin/apple/ApplePlugin.java b/plugins/apple/src/main/java/com/jivesoftware/spark/plugin/apple/ApplePlugin.java index c179bef44..0dfb17900 100644 --- a/plugins/apple/src/main/java/com/jivesoftware/spark/plugin/apple/ApplePlugin.java +++ b/plugins/apple/src/main/java/com/jivesoftware/spark/plugin/apple/ApplePlugin.java @@ -257,7 +257,6 @@ public class ApplePlugin implements Plugin, NativeHandler { .setPriority(0) .setMode(p.getMode()) .build(); - SparkManager.getSessionManager().changePresence(newPresence); } } @@ -281,11 +280,8 @@ public class ApplePlugin implements Plugin, NativeHandler { Presence presence = workspace.getStatusBar().getStatusItem(Res.getString("available")) .getPresence(); - Presence newPresence = StanzaBuilder.buildPresence() - .ofType(presence.getType()) - .setStatus(presence.getStatus()) + Presence newPresence = StanzaBuilder.buildPresenceFrom(presence, (String) null) .setPriority(previousPriority != -1 ? previousPriority : presence.getPriority()) - .setMode(presence.getMode()) .build(); SparkManager.getSessionManager().changePresence(newPresence); diff --git a/plugins/fastpath/src/main/java/org/jivesoftware/fastpath/FastpathPlugin.java b/plugins/fastpath/src/main/java/org/jivesoftware/fastpath/FastpathPlugin.java index 716d626b4..f85533eda 100644 --- a/plugins/fastpath/src/main/java/org/jivesoftware/fastpath/FastpathPlugin.java +++ b/plugins/fastpath/src/main/java/org/jivesoftware/fastpath/FastpathPlugin.java @@ -24,7 +24,6 @@ import org.jivesoftware.smack.XMPPConnection; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.packet.Presence; import org.jivesoftware.smack.packet.StanzaBuilder; -import org.jivesoftware.smackx.disco.packet.DiscoverItems; import org.jivesoftware.smackx.workgroup.agent.Agent; import org.jivesoftware.smackx.workgroup.agent.AgentSession; import org.jivesoftware.smackx.workgroup.user.Workgroup; @@ -299,11 +298,7 @@ public class FastpathPlugin implements Plugin, ConnectionListener { // Send actual presence to workgroup. final Presence actualPresence = SparkManager.getWorkspace().getStatusBar().getPresence(); - Presence toWorkgroupPresence = StanzaBuilder.buildPresence() - .ofType(actualPresence.getType()) - .setStatus(actualPresence.getStatus()) - .setPriority(actualPresence.getPriority()) - .setMode(actualPresence.getMode()) + Presence toWorkgroupPresence = StanzaBuilder.buildPresenceFrom(actualPresence, (String) null) .to(workgroup) .build(); try { diff --git a/plugins/phone/src/main/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java b/plugins/phone/src/main/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java index d12251662..033bc14e6 100644 --- a/plugins/phone/src/main/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java +++ b/plugins/phone/src/main/java/org/jivesoftware/sparkimpl/plugin/phone/PhonePlugin.java @@ -267,7 +267,7 @@ public class PhonePlugin implements Plugin { // Send "on the phone" presence onPhonePresence = StanzaBuilder.buildPresence() .ofType(Presence.Type.available) - .setStatus("On the phone") + .setStatus(Res.getString("status.on.phone")) .setPriority(1) .setMode(Presence.Mode.away) .build(); diff --git a/plugins/sip/src/main/java/org/jivesoftware/sparkplugin/ui/call/CallManager.java b/plugins/sip/src/main/java/org/jivesoftware/sparkplugin/ui/call/CallManager.java index 13c79150b..ac58e109b 100644 --- a/plugins/sip/src/main/java/org/jivesoftware/sparkplugin/ui/call/CallManager.java +++ b/plugins/sip/src/main/java/org/jivesoftware/sparkplugin/ui/call/CallManager.java @@ -211,14 +211,14 @@ public class CallManager implements InterlocutorListener { Presence current = SparkManager.getWorkspace().getStatusBar().getPresence(); // Set offline presence if necessary. - if (offPhonePresence == null || !(current.getType().equals(Presence.Type.available) && current.getStatus().equals("On the phone") && current.getMode().equals(Presence.Mode.away))) { + if (offPhonePresence == null || !(current.getType().equals(Presence.Type.available) && current.getStatus().equals(Res.getString("status.on.phone")) && current.getMode().equals(Presence.Mode.away))) { offPhonePresence = current; } // Send on phone presence Presence onPhonePresence = StanzaBuilder.buildPresence() .ofType(Presence.Type.available) - .setStatus("On the phone") + .setStatus(Res.getString("status.on.phone")) .setPriority(1) .setMode(Presence.Mode.away) .build(); @@ -324,7 +324,7 @@ public class CallManager implements InterlocutorListener { // Set user to available when all phone calls are hung up. Presence availablePresence = StanzaBuilder.buildPresence() .ofType(Presence.Type.available) - .setStatus("Online") + .setStatus(Res.getString("status.online")) .setPriority(1) .setMode(Presence.Mode.available) .build();