mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-15 20:12:04 +01:00
Add PubSubManager.getInstanceFor() just like all other Managers
and deprecate PubSubManager.getInstance().
This commit is contained in:
parent
99bf8316f5
commit
d97fb126a1
8 changed files with 40 additions and 14 deletions
|
@ -124,7 +124,7 @@ public final class GeoLocationManager extends Manager {
|
||||||
|
|
||||||
private LeafNode getNode()
|
private LeafNode getNode()
|
||||||
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException, NotALeafNodeException {
|
throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException, NotALeafNodeException {
|
||||||
return PubSubManager.getInstance(connection()).getOrCreateLeafNode(GeoLocation.NAMESPACE);
|
return PubSubManager.getInstanceFor(connection()).getOrCreateLeafNode(GeoLocation.NAMESPACE);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -147,7 +147,7 @@ public final class MoodManager extends Manager {
|
||||||
throws SmackException.NotLoggedInException, InterruptedException, PubSubException.NotALeafNodeException,
|
throws SmackException.NotLoggedInException, InterruptedException, PubSubException.NotALeafNodeException,
|
||||||
XMPPException.XMPPErrorException, SmackException.NotConnectedException, SmackException.NoResponseException {
|
XMPPException.XMPPErrorException, SmackException.NotConnectedException, SmackException.NoResponseException {
|
||||||
if (pubSubManager == null) {
|
if (pubSubManager == null) {
|
||||||
pubSubManager = PubSubManager.getInstance(getAuthenticatedConnectionOrThrow(), connection().getUser().asBareJid());
|
pubSubManager = PubSubManager.getInstanceFor(getAuthenticatedConnectionOrThrow(), connection().getUser().asBareJid());
|
||||||
}
|
}
|
||||||
|
|
||||||
LeafNode node = pubSubManager.getOrCreateLeafNode(MOOD_NODE);
|
LeafNode node = pubSubManager.getOrCreateLeafNode(MOOD_NODE);
|
||||||
|
|
|
@ -120,7 +120,7 @@ public final class PepManager extends Manager {
|
||||||
// TODO Add filter to check if from supports PubSub as per xep163 2 2.4
|
// TODO Add filter to check if from supports PubSub as per xep163 2 2.4
|
||||||
connection.addSyncStanzaListener(packetListener, FROM_BARE_JID_WITH_EVENT_EXTENSION_FILTER);
|
connection.addSyncStanzaListener(packetListener, FROM_BARE_JID_WITH_EVENT_EXTENSION_FILTER);
|
||||||
|
|
||||||
pepPubSubManager = PubSubManager.getInstance(connection, null);
|
pepPubSubManager = PubSubManager.getInstanceFor(connection, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public PubSubManager getPepPubSubManager() {
|
public PubSubManager getPepPubSubManager() {
|
||||||
|
|
|
@ -88,7 +88,9 @@ public final class PubSubManager extends Manager {
|
||||||
* @param connection
|
* @param connection
|
||||||
* @return the default PubSub manager.
|
* @return the default PubSub manager.
|
||||||
*/
|
*/
|
||||||
public static PubSubManager getInstance(XMPPConnection connection) {
|
// CHECKSTYLE:OFF:RegexpSingleline
|
||||||
|
public static PubSubManager getInstanceFor(XMPPConnection connection) {
|
||||||
|
// CHECKSTYLE:ON:RegexpSingleline
|
||||||
DomainBareJid pubSubService = null;
|
DomainBareJid pubSubService = null;
|
||||||
if (connection.isAuthenticated()) {
|
if (connection.isAuthenticated()) {
|
||||||
try {
|
try {
|
||||||
|
@ -110,7 +112,7 @@ public final class PubSubManager extends Manager {
|
||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return getInstance(connection, pubSubService);
|
return getInstanceFor(connection, pubSubService);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -121,7 +123,9 @@ public final class PubSubManager extends Manager {
|
||||||
* @param pubSubService the PubSub service, may be <code>null</code>.
|
* @param pubSubService the PubSub service, may be <code>null</code>.
|
||||||
* @return a PubSub manager for the connection and service.
|
* @return a PubSub manager for the connection and service.
|
||||||
*/
|
*/
|
||||||
public static PubSubManager getInstance(XMPPConnection connection, BareJid pubSubService) {
|
// CHECKSTYLE:OFF:RegexpSingleline
|
||||||
|
public static PubSubManager getInstanceFor(XMPPConnection connection, BareJid pubSubService) {
|
||||||
|
// CHECKSTYLE:ON:RegexpSingleline
|
||||||
if (pubSubService != null && connection.isAuthenticated() && connection.getUser().asBareJid().equals(pubSubService)) {
|
if (pubSubService != null && connection.isAuthenticated() && connection.getUser().asBareJid().equals(pubSubService)) {
|
||||||
// PEP service.
|
// PEP service.
|
||||||
pubSubService = null;
|
pubSubService = null;
|
||||||
|
@ -147,6 +151,28 @@ public final class PubSubManager extends Manager {
|
||||||
return pubSubManager;
|
return pubSubManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deprecated.
|
||||||
|
*
|
||||||
|
* @deprecated use {@link #getInstanceFor(XMPPConnection)} instead.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
// TODO: Remove in Smack 4.5.
|
||||||
|
public static PubSubManager getInstance(XMPPConnection connection) {
|
||||||
|
return getInstanceFor(connection);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Deprecated.
|
||||||
|
*
|
||||||
|
* @deprecated use {@link #getInstanceFor(XMPPConnection, BareJid)} instead.
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
// TODO: Remove in Smack 4.5.
|
||||||
|
public static PubSubManager getInstance(XMPPConnection connection, BareJid pubSubService) {
|
||||||
|
return getInstanceFor(connection, pubSubService);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a pubsub manager associated to the specified connection where
|
* Create a pubsub manager associated to the specified connection where
|
||||||
* the pubsub requests require a specific to address for packets.
|
* the pubsub requests require a specific to address for packets.
|
||||||
|
|
|
@ -125,7 +125,7 @@ public class OmemoManagerSetupHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void cleanUpPubSub(OmemoManager omemoManager) {
|
public static void cleanUpPubSub(OmemoManager omemoManager) {
|
||||||
PubSubManager pm = PubSubManager.getInstance(omemoManager.getConnection(),omemoManager.getOwnJid());
|
PubSubManager pm = PubSubManager.getInstanceFor(omemoManager.getConnection(),omemoManager.getOwnJid());
|
||||||
try {
|
try {
|
||||||
omemoManager.requestDeviceListUpdateFor(omemoManager.getOwnJid());
|
omemoManager.requestDeviceListUpdateFor(omemoManager.getOwnJid());
|
||||||
} catch (SmackException.NotConnectedException | InterruptedException | SmackException.NoResponseException | PubSubException.NotALeafNodeException | XMPPException.XMPPErrorException e) {
|
} catch (SmackException.NotConnectedException | InterruptedException | SmackException.NoResponseException | PubSubException.NotALeafNodeException | XMPPException.XMPPErrorException e) {
|
||||||
|
|
|
@ -42,7 +42,7 @@ public class PubSubIntegrationTest extends AbstractSmackIntegrationTest {
|
||||||
if (pubSubService == null) {
|
if (pubSubService == null) {
|
||||||
throw new TestNotPossibleException("No PubSub service found");
|
throw new TestNotPossibleException("No PubSub service found");
|
||||||
}
|
}
|
||||||
pubSubManagerOne = PubSubManager.getInstance(conOne, pubSubService);
|
pubSubManagerOne = PubSubManager.getInstanceFor(conOne, pubSubService);
|
||||||
if (!pubSubManagerOne.canCreateNodesAndPublishItems()) {
|
if (!pubSubManagerOne.canCreateNodesAndPublishItems()) {
|
||||||
throw new TestNotPossibleException("PubSub service does not allow node creation");
|
throw new TestNotPossibleException("PubSub service does not allow node creation");
|
||||||
}
|
}
|
||||||
|
|
|
@ -556,7 +556,7 @@ public abstract class OmemoService<T_IdKeyPair, T_IdKey, T_PreKey, T_SigPreKey,
|
||||||
XMPPException.XMPPErrorException, PubSubException.NotALeafNodeException,
|
XMPPException.XMPPErrorException, PubSubException.NotALeafNodeException,
|
||||||
PubSubException.NotAPubSubNodeException {
|
PubSubException.NotAPubSubNodeException {
|
||||||
|
|
||||||
PubSubManager pm = PubSubManager.getInstance(connection, contactsDevice.getJid());
|
PubSubManager pm = PubSubManager.getInstanceFor(connection, contactsDevice.getJid());
|
||||||
LeafNode node = pm.getLeafNode(contactsDevice.getBundleNodeName());
|
LeafNode node = pm.getLeafNode(contactsDevice.getBundleNodeName());
|
||||||
|
|
||||||
if (node == null) {
|
if (node == null) {
|
||||||
|
@ -584,7 +584,7 @@ public abstract class OmemoService<T_IdKeyPair, T_IdKey, T_PreKey, T_SigPreKey,
|
||||||
static void publishBundle(XMPPConnection connection, OmemoDevice userDevice, OmemoBundleElement bundle)
|
static void publishBundle(XMPPConnection connection, OmemoDevice userDevice, OmemoBundleElement bundle)
|
||||||
throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException,
|
throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException,
|
||||||
SmackException.NoResponseException {
|
SmackException.NoResponseException {
|
||||||
PubSubManager pm = PubSubManager.getInstance(connection, connection.getUser().asBareJid());
|
PubSubManager pm = PubSubManager.getInstanceFor(connection, connection.getUser().asBareJid());
|
||||||
pm.tryToPublishAndPossibleAutoCreate(userDevice.getBundleNodeName(), new PayloadItem<>(bundle));
|
pm.tryToPublishAndPossibleAutoCreate(userDevice.getBundleNodeName(), new PayloadItem<>(bundle));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -606,7 +606,7 @@ public abstract class OmemoService<T_IdKeyPair, T_IdKey, T_PreKey, T_SigPreKey,
|
||||||
SmackException.NotConnectedException, XMPPException.XMPPErrorException,
|
SmackException.NotConnectedException, XMPPException.XMPPErrorException,
|
||||||
PubSubException.NotAPubSubNodeException {
|
PubSubException.NotAPubSubNodeException {
|
||||||
|
|
||||||
PubSubManager pm = PubSubManager.getInstance(connection, contact);
|
PubSubManager pm = PubSubManager.getInstanceFor(connection, contact);
|
||||||
String nodeName = OmemoConstants.PEP_NODE_DEVICE_LIST;
|
String nodeName = OmemoConstants.PEP_NODE_DEVICE_LIST;
|
||||||
LeafNode node = pm.getLeafNode(nodeName);
|
LeafNode node = pm.getLeafNode(nodeName);
|
||||||
|
|
||||||
|
@ -636,7 +636,7 @@ public abstract class OmemoService<T_IdKeyPair, T_IdKey, T_PreKey, T_SigPreKey,
|
||||||
throws InterruptedException, XMPPException.XMPPErrorException, SmackException.NotConnectedException,
|
throws InterruptedException, XMPPException.XMPPErrorException, SmackException.NotConnectedException,
|
||||||
SmackException.NoResponseException {
|
SmackException.NoResponseException {
|
||||||
|
|
||||||
PubSubManager.getInstance(connection, connection.getUser().asBareJid())
|
PubSubManager.getInstanceFor(connection, connection.getUser().asBareJid())
|
||||||
.tryToPublishAndPossibleAutoCreate(OmemoConstants.PEP_NODE_DEVICE_LIST, new PayloadItem<>(deviceList));
|
.tryToPublishAndPossibleAutoCreate(OmemoConstants.PEP_NODE_DEVICE_LIST, new PayloadItem<>(deviceList));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -204,7 +204,7 @@ public class OpenPgpPubSubUtil {
|
||||||
public static PublicKeysListElement fetchPubkeysList(XMPPConnection connection, BareJid contact)
|
public static PublicKeysListElement fetchPubkeysList(XMPPConnection connection, BareJid contact)
|
||||||
throws InterruptedException, XMPPException.XMPPErrorException, SmackException.NoResponseException,
|
throws InterruptedException, XMPPException.XMPPErrorException, SmackException.NoResponseException,
|
||||||
PubSubException.NotALeafNodeException, SmackException.NotConnectedException, PubSubException.NotAPubSubNodeException {
|
PubSubException.NotALeafNodeException, SmackException.NotConnectedException, PubSubException.NotAPubSubNodeException {
|
||||||
PubSubManager pm = PubSubManager.getInstance(connection, contact);
|
PubSubManager pm = PubSubManager.getInstanceFor(connection, contact);
|
||||||
|
|
||||||
LeafNode node = getLeafNode(pm, PEP_NODE_PUBLIC_KEYS);
|
LeafNode node = getLeafNode(pm, PEP_NODE_PUBLIC_KEYS);
|
||||||
List<PayloadItem<PublicKeysListElement>> list = node.getItems(1);
|
List<PayloadItem<PublicKeysListElement>> list = node.getItems(1);
|
||||||
|
@ -274,7 +274,7 @@ public class OpenPgpPubSubUtil {
|
||||||
public static PubkeyElement fetchPubkey(XMPPConnection connection, BareJid contact, OpenPgpV4Fingerprint v4_fingerprint)
|
public static PubkeyElement fetchPubkey(XMPPConnection connection, BareJid contact, OpenPgpV4Fingerprint v4_fingerprint)
|
||||||
throws InterruptedException, XMPPException.XMPPErrorException, PubSubException.NotAPubSubNodeException,
|
throws InterruptedException, XMPPException.XMPPErrorException, PubSubException.NotAPubSubNodeException,
|
||||||
PubSubException.NotALeafNodeException, SmackException.NotConnectedException, SmackException.NoResponseException {
|
PubSubException.NotALeafNodeException, SmackException.NotConnectedException, SmackException.NoResponseException {
|
||||||
PubSubManager pm = PubSubManager.getInstance(connection, contact);
|
PubSubManager pm = PubSubManager.getInstanceFor(connection, contact);
|
||||||
String nodeName = PEP_NODE_PUBLIC_KEY(v4_fingerprint);
|
String nodeName = PEP_NODE_PUBLIC_KEY(v4_fingerprint);
|
||||||
|
|
||||||
LeafNode node = getLeafNode(pm, nodeName);
|
LeafNode node = getLeafNode(pm, nodeName);
|
||||||
|
|
Loading…
Reference in a new issue