2 import org.opensrf.net.xmpp.XMPPMessage;
3 import org.opensrf.util.*;
6 import java.util.Iterator;
11 public static void processXMPPMessage(XMPPMessage msg) {
13 Session ses = Session.findCachedSession(msg.getThread());
16 /** inbound client request, create a new server session */
20 /** parse the JSON message body, which should result in a list of OpenSRF messages */
24 msgList = new JSONReader(msg.getBody()).readArray();
25 } catch(JSONException e) {
30 Iterator itr = msgList.iterator();
32 OSRFObject obj = null;
33 long start = new Date().getTime();
35 while(itr.hasNext()) {
36 /** Construct a Message object from the generic OSRFObject returned from parsing */
37 obj = (OSRFObject) itr.next();
38 processOSRFMessage(ses,
40 ((Integer) obj.get("threadTrace")).intValue(),
41 (Message.Type) obj.get("type"),
45 /** LOG the duration */
48 public static void processOSRFMessage(Session ses, Message msg) {
49 if( ses instanceof ClientSession )
50 processServerResponse((ClientSession) ses, msg);
52 processClientRequest((ServerSession) ses, msg);
55 public static void processServerResponse(ClientSession session, Message msg) {
58 public static void processClientRequest(ServerSession session, Message msg) {