public void createNodeToAllowComments(String blogPostId) { String nodeName = PublishCommentExtension.NODE + "/" + blogPostId; PubSubManager pubSubManager = PubSubManager.getInstance(XMPPSession.getInstance().getXMPPConnection()); try { // create node ConfigureForm configureForm = new ConfigureForm(DataForm.Type.submit); configureForm.setPublishModel(PublishModel.open); configureForm.setAccessModel(AccessModel.open); Node node = pubSubManager.createNode(nodeName, configureForm); // subscribe to comments String myJIDString = getUser().toString(); node.subscribe(myJIDString); } catch (SmackException.NoResponseException | XMPPException.XMPPErrorException | SmackException.NotConnectedException | InterruptedException e) { e.printStackTrace(); } }
protected LeafNode getRandomPubnode(PubSubManager pubMgr, boolean persistItems, boolean deliverPayload) throws XMPPException { ConfigureForm form = new ConfigureForm(FormType.submit); form.setPersistentItems(persistItems); form.setDeliverPayloads(deliverPayload); form.setAccessModel(AccessModel.open); return (LeafNode)pubMgr.createNode("/test/Pubnode" + System.currentTimeMillis(), form); }
protected PubSubManager getManager(int idx) { if (manager == null) { manager = new PubSubManager[getMaxConnections()]; for(int i=0; i<manager.length; i++) { manager[i] = new PubSubManager(getConnection(i), getService()); } } return manager[idx]; }
/** * Creates a new data handler. * @param connectionHandler The connection handler to be used for requests. * @param spaceHandler An instance of a space handler to be used for requesting space properties. */ public DataHandler(ConnectionHandler connectionHandler, SpaceHandler spaceHandler){ if (connectionHandler == null || spaceHandler == null){ throw new IllegalArgumentException("None of the Arguments may be null"); } this.connectionHandler = connectionHandler; this.isConnectionResetted = true; this.spaceHandler = spaceHandler; this.timeout = connectionHandler.getConfiguration().requestTimeout(); this.userWantedMode = Mode.OFFLINE; this.connection = this.connectionHandler.getXMPPConnection(); this.listeners = new ArrayList<DataObjectListener>(); this.handledSpaces = new ArrayList<Space>(); this.datawrapper = DataWrapper.getInstance(); this.pendingPayloadRequests = new HashMap<String, RequestFuture<List<PayloadItem<SimplePayload>>>>(); this.pendingPublishingRequests = new HashMap<String, RequestFuture<IQ>>(); this.pendingPersistenceServiceQueries = new HashMap<String, RequestFuture<IQ>>(); this.userInfo = this.connectionHandler.getCurrentUser(); this.dataObjectFilter = null; this.publishIdMap = new HashMap<String, String>(); this.pubsubServiceListeners = new HashMap<String, PacketListener>(); this.persistenceServiceListeners = new HashMap<String, PacketListener>(); this.pubsubManagers = new HashMap<String, PubSubManager>(); setPubSubPacketInterceptor(); setConnectionStatusListener(); }
/** * Retrieves a pubsub node from the pubsub service. * @param nodeId The id of the node to retrieve. * @param pubsubService JID of the pubsub service component handling the the node. * @return The pubsub node. * @throws UnknownEntityException No node with the given ID exists. */ protected Node getNode(String nodeId, String pubsubService) throws UnknownEntityException { if (!pubsubManagers.containsKey(pubsubService)) { registerPubsubService(pubsubService); } PubSubManager manager = pubsubManagers.get(pubsubService); try { return manager.getNode(nodeId); } catch(XMPPException e){ throw new UnknownEntityException("The node " + nodeId + " couldn't be retrieved.", e); } }
public PubSubManager getPubSubManager() { EntityBareJid myJIDString = getUser(); return PubSubManager.getInstance(mXMPPConnection, myJIDString); }
public Jid getPubSubService() throws XMPPException.XMPPErrorException, SmackException.NotConnectedException, InterruptedException, SmackException.NoResponseException { return PubSubManager.getPubSubService(getXMPPConnection()); }
protected PubSubManager getManager() { return getManager(0); }