Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.apache.vysper.demo.pubsub.client;
- import org.jivesoftware.smack.XMPPConnection;
- import org.jivesoftware.smack.XMPPException;
- import org.jivesoftware.smackx.pubsub.AccessModel;
- import org.jivesoftware.smackx.pubsub.ConfigureForm;
- import org.jivesoftware.smackx.pubsub.FormType;
- import org.jivesoftware.smackx.pubsub.Item;
- import org.jivesoftware.smackx.pubsub.ItemPublishEvent;
- import org.jivesoftware.smackx.pubsub.LeafNode;
- import org.jivesoftware.smackx.pubsub.Node;
- import org.jivesoftware.smackx.pubsub.PubSubManager;
- import org.jivesoftware.smackx.pubsub.SimplePayload;
- import org.jivesoftware.smackx.pubsub.listener.ItemEventListener;
- public class PubsubHelloWorld {
- public static void main(String[] args) {
- PubsubHelloWorld pshw = new PubsubHelloWorld();
- try {
- pshw.run();
- } catch (XMPPException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- private void run() throws XMPPException {
- ConfigureForm form = new ConfigureForm(FormType.submit);
- form.setPersistentItems(false);
- form.setDeliverPayloads(true);
- form.setAccessModel(AccessModel.open);
- PubSubManager manager = new PubSubManager(createConnection(),
- "myserver");
- Node myNode = manager.createNode("TestNode", form);
- SimplePayload payload = new SimplePayload("book", "pubsub:test:book",
- "<book xmlns='pubsub:test:book'><title>Lord of the Rings</title></book>");
- Item item = new Item(payload.getElementName()); // , payload);
- // Required to recieve the events being published
- myNode.addItemEventListener(getMyEventHandler());
- // Publish item
- ((LeafNode) myNode).publish(item);
- }
- private ItemEventListener getMyEventHandler() {
- // TODO Auto-generated method stub
- return new ItemEventListener<Item>() {
- public void handlePublishedItems(ItemPublishEvent<Item> arg0) {
- // TODO Auto-generated method stub
- }
- };
- }
- private XMPPConnection createConnection() throws XMPPException {
- // Create a connection to the XMPP server.
- XMPPConnection con = new XMPPConnection("localhost");
- con.getSASLAuthentication().supportSASLMechanism("PLAIN", 0);
- con.connect();
- // Most servers require you to login before performing other tasks.
- con.login("[email protected]", "password1");
- return con;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment