Skip to content

Commit 091a17e

Browse files
author
Lloyd Watkin
committed
Send notifications
1 parent 49961dd commit 091a17e

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

  • src/main/java/org/buddycloud/channelserver/packetprocessor/iq/namespace/pubsub/set

src/main/java/org/buddycloud/channelserver/packetprocessor/iq/namespace/pubsub/set/NodeDelete.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package org.buddycloud.channelserver.packetprocessor.iq.namespace.pubsub.set;
22

3+
import java.util.ArrayList;
34
import java.util.Collection;
45
import java.util.concurrent.BlockingQueue;
56

@@ -19,10 +20,12 @@
1920
import org.xmpp.packet.Packet;
2021
import org.xmpp.packet.PacketError;
2122
import org.xmpp.resultsetmanagement.ResultSet;
23+
import org.xmpp.resultsetmanagement.ResultSetImpl;
2224

2325
public class NodeDelete extends PubSubElementProcessorAbstract {
2426

2527
private static final String NODE_REG_EX = "^/user/[^@]+@[^/]+/[^/]+$";
28+
private ResultSet<NodeSubscription> subscriptions;
2629

2730
public NodeDelete(BlockingQueue<Packet> outQueue, ChannelManager channelManager) {
2831
setChannelManager(channelManager);
@@ -52,13 +55,21 @@ public void process(Element elm, JID actorJID, IQ reqIQ, Element rsm) throws Exc
5255
outQueue.put(response);
5356
return;
5457
}
58+
getNodeListeners();
5559
deleteNode();
5660
sendNotifications();
5761
}
5862

59-
private void sendNotifications() throws NodeStoreException {
63+
private void getNodeListeners() {
64+
try {
65+
subscriptions = channelManager.getNodeSubscriptionListeners(node);
66+
} catch (NodeStoreException e) {
67+
subscriptions = new ResultSetImpl<NodeSubscription>(new ArrayList<NodeSubscription>());
68+
}
69+
}
70+
71+
private void sendNotifications() throws NodeStoreException {
6072
try {
61-
ResultSet<NodeSubscription> subscriptions = channelManager.getNodeSubscriptionListeners(node);
6273
Message notification = createNotificationMessage();
6374
if (subscriptions != null) {
6475
for (NodeSubscription subscription : subscriptions) {

0 commit comments

Comments
 (0)