Guest User

Untitled

a guest
Jun 1st, 2010
508
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.28 KB | None | 0 0
  1. package org.apache.vysper.demo.pubsub.client;
  2.  
  3. import org.jivesoftware.smack.XMPPConnection;
  4. import org.jivesoftware.smack.XMPPException;
  5. import org.jivesoftware.smackx.pubsub.AccessModel;
  6. import org.jivesoftware.smackx.pubsub.ConfigureForm;
  7. import org.jivesoftware.smackx.pubsub.FormType;
  8. import org.jivesoftware.smackx.pubsub.Item;
  9. import org.jivesoftware.smackx.pubsub.ItemPublishEvent;
  10. import org.jivesoftware.smackx.pubsub.LeafNode;
  11. import org.jivesoftware.smackx.pubsub.Node;
  12. import org.jivesoftware.smackx.pubsub.PubSubManager;
  13. import org.jivesoftware.smackx.pubsub.SimplePayload;
  14. import org.jivesoftware.smackx.pubsub.listener.ItemEventListener;
  15.  
  16. public class PubsubHelloWorld {
  17. public static void main(String[] args) {
  18. PubsubHelloWorld pshw = new PubsubHelloWorld();
  19.  
  20. try {
  21. pshw.run();
  22. } catch (XMPPException e) {
  23. // TODO Auto-generated catch block
  24. e.printStackTrace();
  25. }
  26. }
  27.  
  28. private void run() throws XMPPException {
  29. ConfigureForm form = new ConfigureForm(FormType.submit);
  30. form.setPersistentItems(false);
  31. form.setDeliverPayloads(true);
  32. form.setAccessModel(AccessModel.open);
  33.  
  34. PubSubManager manager = new PubSubManager(createConnection(),
  35. "myserver");
  36. Node myNode = manager.createNode("TestNode", form);
  37.  
  38. SimplePayload payload = new SimplePayload("book", "pubsub:test:book",
  39. "<book xmlns='pubsub:test:book'><title>Lord of the Rings</title></book>");
  40.  
  41. Item item = new Item(payload.getElementName()); // , payload);
  42.  
  43. // Required to recieve the events being published
  44. myNode.addItemEventListener(getMyEventHandler());
  45.  
  46. // Publish item
  47. ((LeafNode) myNode).publish(item);
  48. }
  49.  
  50. private ItemEventListener getMyEventHandler() {
  51. // TODO Auto-generated method stub
  52. return new ItemEventListener<Item>() {
  53.  
  54. public void handlePublishedItems(ItemPublishEvent<Item> arg0) {
  55. // TODO Auto-generated method stub
  56.  
  57. }
  58. };
  59. }
  60.  
  61. private XMPPConnection createConnection() throws XMPPException {
  62. // Create a connection to the XMPP server.
  63. XMPPConnection con = new XMPPConnection("localhost");
  64. con.getSASLAuthentication().supportSASLMechanism("PLAIN", 0);
  65. con.connect();
  66.  
  67. // Most servers require you to login before performing other tasks.
  68. con.login("[email protected]", "password1");
  69.  
  70. return con;
  71. }
  72. }
Advertisement
Add Comment
Please, Sign In to add comment