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:
}// }}}