Name: processfetch/testclient.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: | public class testclient {// {{{ |
| 23: | public static void main(String [] args) { |
| 24: | try { |
| 25: | Runtime.getRuntime().addShutdownHook(new clientShutdownThread(new client())); |
| 26: | } catch (Throwable t) { |
| 27: | System.out.println("Could not add Shutdown hook. "+t); |
| 28: | } |
| 29: | |
| 30: | try { |
| 31: | while (true) { Thread.currentThread().sleep(10000); } |
| 32: | } catch (InterruptedException ie) { } |
| 33: | System.exit(0); |
| 34: | } |
| 35: | }// }}} |
| 36: | |
| 37: | class clientShutdownThread extends Thread {// {{{ |
| 38: | private client mt = null; |
| 39: | |
| 40: | public clientShutdownThread(client mt) { |
| 41: | super(); |
| 42: | this.mt = mt; |
| 43: | mt.start(); |
| 44: | } |
| 45: | |
| 46: | public void run() { |
| 47: | mt.interrupt(); |
| 48: | System.out.println("Shutting down ..."); |
| 49: | } |
| 50: | }// }}} |
| 51: | |
| 52: | class client extends Thread { |
| 53: | private static MessageClient mc1; |
| 54: | private static MessageClient mc2; |
| 55: | |
| 56: | public static AdventureMessage mc1latestMessage; |
| 57: | public static AdventureMessage mc2latestMessage; |
| 58: | |
| 59: | AdventureMessage sentMessage; |
| 60: | |
| 61: | public void run() { |
| 62: | System.out.println("starting testclient"); |
| 63: | System.out.println("logging in to send test message..."); |
| 64: | mc1 = new MessageClient("adventure_processexecution","adventure_processexecution"); |
| 65: | |
| 66: | System.out.println("logged in"); |
| 67: | System.out.println("sending test message"); |
| 68: | String processReference="51cc50f7e4b0f6769ce8bd5a"; |
| 69: | mc1.login(); |
| 70: | |
| 71: | |
| 72: | //test 1, normal messages |
| 73: | |
| 74: | /* |
| 75: | //sending process id, receiving model |
| 76: | mc1.sendMessage(processReference,"[email protected]", true); |
| 77: | //wrong id |
| 78: | mc1.sendMessage("abcdwrongprocessid","[email protected]", true); |
| 79: | //empty id |
| 80: | mc1.sendMessage("","[email protected]", true); |
| 81: | |
| 82: | mc1.AddOnMessageEventListener(new OnMessageListener(){ |
| 83: | @Override |
| 84: | public void OnMessage(AdventureMessage message) { |
| 85: | System.out.println("recevingin response"); |
| 86: | System.out.println("[mc1] Http From: " + message.getXmppMessage().getFrom() + " To: " + message.getXmppMessage().getTo()); |
| 87: | if (message.getMessageBody() != null){ |
| 88: | System.out.println("message body: "+message.getMessageBody()); |
| 89: | } |
| 90: | |
| 91: | } |
| 92: | });*/ |
| 93: | |
| 94: | //test 2, sending http message with correct id |
| 95: | |
| 96: | List<PacketExtension> list = new ArrayList<PacketExtension>(); |
| 97: | |
| 98: | OperationExtension o = new OperationExtension(); |
| 99: | o.setAck(false); |
| 100: | o.setContent("GET"); |
| 101: | list.add(o); |
| 102: | |
| 103: | HeaderExtension h = new HeaderExtension(); |
| 104: | h.setName("myHeaderKey"); |
| 105: | h.setContent("myHeaderValue"); |
| 106: | list.add(h); |
| 107: | |
| 108: | HeaderExtension h2 = new HeaderExtension(); |
| 109: | h2.setName("anotherHeaderKey"); |
| 110: | h2.setContent("anotherHeaderValue"); |
| 111: | list.add(h2); |
| 112: | |
| 113: | PartExtension p = new PartExtension(); |
| 114: | // p3.setContentDisposition("riddl-data; name="excellent"; filename="result.txt""); |
| 115: | p.setContentTransferEncoding("binary"); |
| 116: | p.setContentType("text/plain"); |
| 117: | p.setContent(processReference); |
| 118: | list.add(p); |
| 119: | System.out.println("list: "+list); |
| 120: | mc1.sendHttpMessage("[email protected]", list); |
| 121: | /* |
| 122: | //sending wrong process id |
| 123: | |
| 124: | list = new ArrayList<PacketExtension>(); |
| 125: | |
| 126: | o = new OperationExtension(); |
| 127: | o.setAck(false); |
| 128: | o.setContent("GET"); |
| 129: | list.add(o); |
| 130: | PartExtension p2 = new PartExtension(); |
| 131: | // p3.setContentDisposition("riddl-data; name="excellent"; filename="result.txt""); |
| 132: | p2.setContentTransferEncoding("binary"); |
| 133: | p2.setContentType("text/plain"); |
| 134: | p2.setContent("abcd"); |
| 135: | list.add(p2); |
| 136: | System.out.println("list: "+list); |
| 137: | mc1.sendHttpMessage("[email protected]", list); |
| 138: | |
| 139: | |
| 140: | //sendin no/blank process id, wrong structure |
| 141: | |
| 142: | list = new ArrayList<PacketExtension>(); |
| 143: | o = new OperationExtension(); |
| 144: | o.setAck(false); |
| 145: | o.setContent("GET"); |
| 146: | list.add(o); |
| 147: | p2 = new PartExtension(); |
| 148: | p2.setContentTransferEncoding("binary"); |
| 149: | p2.setContentType("text/plain"); |
| 150: | list.add(p2); |
| 151: | System.out.println("list: "+list); |
| 152: | mc1.sendHttpMessage("[email protected]", list); |
| 153: | */ |
| 154: | |
| 155: | //receiving response to id: processmodel |
| 156: | mc1.AddOnHttpMessageEventListener(new OnHttpMessageListener(){ |
| 157: | @Override |
| 158: | public void OnHttpMessage(AdventureMessage message) { |
| 159: | System.out.println("http response incoming"); |
| 160: | System.out.println("[mc1] Http From: " + message.getXmppMessage().getFrom() + " To: " + message.getXmppMessage().getTo()); |
| 161: | if (message.getHeaders() != null) |
| 162: | for (HeaderExtension header : message.getHeaders()) |
| 163: | System.out.println("[mc1] Header: " + header.toXML()); |
| 164: | //TODO: parse list and parameters to receive http message |
| 165: | if (message.getParts() != null) |
| 166: | System.out.println("got some parts"); |
| 167: | for (PartExtension part : message.getParts()) |
| 168: | { |
| 169: | System.out.println("part: "+part); |
| 170: | System.out.println("[mc1] Part: " + part.toXML()); |
| 171: | if(part.getContent()!=null){ |
| 172: | String processModel=part.getContent(); |
| 173: | System.out.println("processModel: "+processModel); |
| 174: | } |
| 175: | else{ |
| 176: | System.out.println("no process id received"); |
| 177: | } |
| 178: | |
| 179: | } |
| 180: | |
| 181: | } |
| 182: | }); |
| 183: | |
| 184: | } |
| 185: | |
| 186: | } |
