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 if(msg == null) return;
15 Session ses = Session.findCachedSession(msg.getThread());
18 /** inbound client request, create a new server session */
22 /** parse the JSON message body, which should result in a list of OpenSRF messages */
26 msgList = new JSONReader(msg.getBody()).readArray();
27 } catch(JSONException e) {
33 Iterator itr = msgList.iterator();
35 OSRFObject obj = null;
36 long start = new Date().getTime();
38 while(itr.hasNext()) {
40 /** Construct a Message object from the generic OSRFObject returned from parsing */
41 obj = (OSRFObject) itr.next();
46 obj.getInt("threadTrace"),
47 obj.getString("type"),
53 /** LOG the duration */
56 public static void processOSRFMessage(Session ses, Message msg) {
57 if( ses instanceof ClientSession )
58 processResponse((ClientSession) ses, msg);
60 processRequest((ServerSession) ses, msg);
63 public static void processResponse(ClientSession session, Message msg) {
64 if(msg.RESULT.equals(msg.getType())) {
65 session.pushResponse(msg);
70 public static void processRequest(ServerSession session, Message msg) {