Name: instantiation/test/java/InstantiationTest.java
| 1: | import java.util.ArrayList; |
| 2: | import java.util.Date; |
| 3: | import java.util.List; |
| 4: | import java.io.*; |
| 5: | |
| 6: | import adventure.messagerouting.AdventureMessage; |
| 7: | import adventure.messagerouting.C; |
| 8: | import adventure.messagerouting.MessageClient; |
| 9: | import adventure.messagerouting.exceptions.MessageRoutingException; |
| 10: | import adventure.messagerouting.interfaces.OnAuthErrorListener; |
| 11: | import adventure.messagerouting.interfaces.OnErrorListener; |
| 12: | import adventure.messagerouting.interfaces.OnHttpMessageListener; |
| 13: | import adventure.messagerouting.interfaces.OnMessageListener; |
| 14: | import adventure.messagerouting.XmppExtensions.HeaderExtension; |
| 15: | import adventure.messagerouting.XmppExtensions.OkExtension; |
| 16: | import adventure.messagerouting.XmppExtensions.OperationExtension; |
| 17: | import adventure.messagerouting.XmppExtensions.PartExtension; |
| 18: | import org.jivesoftware.smack.packet.Message; |
| 19: | import org.jivesoftware.smack.packet.Packet; |
| 20: | import org.jivesoftware.smack.packet.PacketExtension; |
| 21: | |
| 22: | class MessageTest extends Thread { |
| 23: | private static MessageClient mc1; |
| 24: | private static MessageClient mc2; |
| 25: | |
| 26: | public static AdventureMessage mc1latestMessage; |
| 27: | public static AdventureMessage mc2latestMessage; |
| 28: | |
| 29: | AdventureMessage sentMessage; |
| 30: | |
| 31: | public void run() { |
| 32: | mc1 = new MessageClient("adventure_gateway_uvi_java","adventure_gateway_uvi_java"); |
| 33: | mc1.AddOnHttpMessageEventListener(new OnHttpMessageListener(){ |
| 34: | @Override |
| 35: | public void OnHttpMessage(AdventureMessage message) { |
| 36: | System.out.println("[mc1] Http From: " + message.getXmppMessage().getFrom() + " To: " + message.getXmppMessage().getTo()); |
| 37: | if (message.getOperation() != null) |
| 38: | System.out.println("[mc1] Operation: " + message.getOperation().toXML()); |
| 39: | if (message.getOk() != null) |
| 40: | System.out.println("[mc1] OK: " + message.getOk().toXML()); |
| 41: | if (message.getParts() != null) |
| 42: | for (PartExtension part : message.getParts()) |
| 43: | System.out.println("[mc1] Part: " + part.toXML()); |
| 44: | if (message.getHeaders() != null) |
| 45: | for (HeaderExtension header : message.getHeaders()) |
| 46: | System.out.println("[mc1] Header: " + header.toXML()); |
| 47: | //get the additional XML Objects via for(PacketExtension p:message.getXmppMessage().getExtensions()) |
| 48: | // and cast them to PartExtension and OperationExtension (or use convenience functions in ADVENTURE Message) |
| 49: | mc1latestMessage = message; |
| 50: | System.out.println("[mc1] something: " + mc1latestMessage); |
| 51: | } |
| 52: | }); |
| 53: | mc1.login(); |
| 54: | |
| 55: | List<PacketExtension> list = new ArrayList<PacketExtension>(); |
| 56: | |
| 57: | OperationExtension o = new OperationExtension(); |
| 58: | o.setAck(true); |
| 59: | o.setContent("POST"); |
| 60: | list.add(o); |
| 61: | |
| 62: | PartExtension p3 = new PartExtension(); |
| 63: | p3.setContentId("xml"); |
| 64: | p3.setContentType("application/xml"); |
| 65: | |
| 66: | String fileName = "description.xml"; |
| 67: | StringBuffer contents = new StringBuffer(); |
| 68: | try { |
| 69: | String line = null; |
| 70: | FileReader fileReader = new FileReader(fileName); |
| 71: | BufferedReader bufferedReader = new BufferedReader(fileReader); |
| 72: | |
| 73: | while((line = bufferedReader.readLine()) != null) { |
| 74: | contents.append(line); |
| 75: | } |
| 76: | bufferedReader.close(); |
| 77: | } catch(FileNotFoundException ex) { |
| 78: | System.out.println("Unable to open file '" + fileName + "'"); |
| 79: | } catch(IOException ex) { |
| 80: | System.out.println( "Error reading file '" + fileName + "'"); |
| 81: | } |
| 82: | p3.setContent(contents.toString()); |
| 83: | |
| 84: | PartExtension p4 = new PartExtension(); |
| 85: | p4.setContentId("targetmode"); |
| 86: | p4.setContent("ready"); |
| 87: | |
| 88: | list.add(p3); |
| 89: | list.add(p4); |
| 90: | |
| 91: | mc1.sendHttpMessage("[email protected]", list); |
| 92: | } |
| 93: | |
| 94: | } |
| 95: | |
| 96: | class ShutdownThread extends Thread {// {{{ |
| 97: | private MessageTest mt = null; |
| 98: | |
| 99: | public ShutdownThread(MessageTest mt) { |
| 100: | super(); |
| 101: | this.mt = mt; |
| 102: | mt.start(); |
| 103: | } |
| 104: | |
| 105: | public void run() { |
| 106: | mt.interrupt(); |
| 107: | System.out.println("Shutting down ..."); |
| 108: | } |
| 109: | }// }}} |
| 110: | |
| 111: | public class InstantiationTest {// {{{ |
| 112: | public static void main(String [] args) { |
| 113: | try { |
| 114: | Runtime.getRuntime().addShutdownHook(new ShutdownThread(new MessageTest())); |
| 115: | } catch (Throwable t) { |
| 116: | System.out.println("Could not add Shutdown hook."); |
| 117: | } |
| 118: | |
| 119: | try { |
| 120: | while (true) { Thread.currentThread().sleep(10000); } |
| 121: | } catch (InterruptedException ie) { } |
| 122: | System.exit(0); |
| 123: | } |
| 124: | }// }}} |
