Node node; try { node = getNode(id);
@Test(expected = SmackException.class) public void getConfigFormWithTimeout() throws XMPPException, SmackException, InterruptedException { ThreadedDummyConnection con = new ThreadedDummyConnection(); PubSubManager mgr = new PubSubManager(con, PubSubManagerTest.DUMMY_PUBSUB_SERVICE); DiscoverInfo info = new DiscoverInfo(); Identity ident = new Identity("pubsub", null, "leaf"); info.addIdentity(ident); con.addIQReply(info); Node node = mgr.getNode("princely_musings"); SmackConfiguration.setDefaultReplyTimeout(100); con.setTimeout(); node.getNodeConfiguration(); }
@Test public void getConfigFormWithInsufficientPrivileges() throws XMPPException, SmackException, IOException, InterruptedException { ThreadedDummyConnection con = ThreadedDummyConnection.newInstance(); PubSubManager mgr = new PubSubManager(con, PubSubManagerTest.DUMMY_PUBSUB_SERVICE); DiscoverInfo info = new DiscoverInfo(); info.setType(Type.result); info.setFrom(PubSubManagerTest.DUMMY_PUBSUB_SERVICE); Identity ident = new Identity("pubsub", null, "leaf"); info.addIdentity(ident); con.addIQReply(info); Node node = mgr.getNode("princely_musings"); PubSub errorIq = new PubSub(); errorIq.setType(Type.error); errorIq.setFrom(PubSubManagerTest.DUMMY_PUBSUB_SERVICE); StanzaError.Builder error = StanzaError.getBuilder(Condition.forbidden); errorIq.setError(error); con.addIQReply(errorIq); try { node.getNodeConfiguration(); fail(); } catch (XMPPErrorException e) { Assert.assertEquals(StanzaError.Type.AUTH, e.getStanzaError().getType()); } }
/** * * @param nodeName - node name * @param s - subscription */ public synchronized void unsubscribeFromNode(String nodeName, Subscription s) { try { LeafNode node = (LeafNode)manager.getNode(nodeName); node.unsubscribe(s.getJid(), s.getId()); } catch (XMPPException e) { logger.error("XMPP Error unsubscribing from XMPP pubsub node: " + e); } catch (Exception e) { logger.error("Error unsubscribing from XMPP pubsub node: " + e); } }
/** * * @param nodeName - path to node * @param listener - listener * @return - subscription */ public synchronized Subscription subscribeToNode(String nodeName, ItemEventListener<?> listener) { try { LeafNode node = (LeafNode)manager.getNode(nodeName); node.addItemEventListener(listener); return node.subscribe(xmppCon.getUser()); } catch (XMPPException e) { logger.error("XMPP Error subscribing to XMPP pubsub node: " + e); } catch (Exception e) { logger.error("Error subscribing to XMPP pubsub node: " + e); } return null; }
/** * Delete specified node * @param nodepath - path to node */ public synchronized void deleteNode(String nodepath) { if ((xmppCon == null) || (!xmppCon.isConnected())) login(); logger.info("Deleting node " + nodepath); try { Node n = manager.getNode(nodepath); if ((n != null) && (n instanceof LeafNode)){ LeafNode ln = (LeafNode)n; ln.deleteAllItems(); } else logger.info("Unable to delete items of node " + nodepath); manager.deleteNode(nodepath); } catch (XMPPException e) { logger.error("Error deleting node: " + e); } }
/** * {@inheritDoc} */ @Override public List<PayloadItem> getItems(String nodeName) { try { Node pubSubNode = getManager().getNode(nodeName); if (pubSubNode instanceof LeafNode) { LeafNode leafPubSubNode = (LeafNode) pubSubNode; return leafPubSubNode.getItems(); } } catch (XMPPException | InterruptedException | NoResponseException | NotConnectedException | NotAPubSubNodeException e) { logger.error( "Failed to fetch PubSub items of: " + nodeName + ", reason: " + e); } return null; }
if (it.getNode().equalsIgnoreCase(nodePath)) { return (LeafNode)manager.getNode(nodePath);
/** * Delete all nodes */ public synchronized void deleteAllNodes() { if ((xmppCon == null) || (!xmppCon.isConnected())) login(); try { DiscoverItems dItems = manager.discoverNodes(null); Iterator<DiscoverItems.Item> iItems = dItems.getItems(); while(iItems.hasNext()) { DiscoverItems.Item it = iItems.next(); logger.debug("Deleting node " + it.getNode()); try { Node n = manager.getNode(it.getNode()); if ((n != null) && (n instanceof LeafNode)){ LeafNode ln = (LeafNode)n; ln.deleteAllItems(); } else logger.info("Unable to delete items of node " + it.getNode()); manager.deleteNode(it.getNode()); } catch (XMPPException e) { logger.error("Error deleting node: " + e); } } } catch (XMPPException e) { logger.error("Error deleting nodes: " + e); } }
Node pubSubNode = manager.getNode(node); EntityFullJid ourJid = getOurJid();
Node pubSubNode = manager.getNode(node); if (!isSubscribed(getOurJid(), pubSubNode))