implemented client bootstrap. created a status object to model connection statuses...
[OpenSRF.git] / src / java / org / opensrf / ClientSession.java
index 09cfce1..27935ab 100644 (file)
@@ -8,6 +8,7 @@ import java.util.Random;
 import java.util.Arrays;
 
 import org.opensrf.util.*;
+import org.opensrf.net.xmpp.*;
 
 
 /**
@@ -111,7 +112,7 @@ public class ClientSession extends Session {
      */
     public void pushResponse(Message msg) {
 
-        Request req = requests.get(new Integer(msg.getId()));
+        Request req = findRequest(msg.getId());
         if(req == null) {
             /** LOG that we've received a result to a non-existant request */
             return;
@@ -128,11 +129,52 @@ public class ClientSession extends Session {
         );
     }
 
+    public Request findRequest(int reqId) {
+        return requests.get(new Integer(reqId));
+    }
+
     /**
      * Removes a request for this session's request set
      */
     public void cleanupRequest(int reqId) {
         requests.remove(new Integer(reqId));
     }
+
+     public void setRequestComplete(int reqId) {
+        Request req = findRequest(reqId);
+        if(req == null) return;
+        req.setComplete();
+    }
+
+
+    /**
+     * Connects to the OpenSRF network so that client sessions may communicate.
+     * @param configFile The OpenSRF config file 
+     * @param configContext Where in the XML document the config chunk lives.  This
+     * allows an OpenSRF client config chunk to live in XML files where other config
+     * information lives.
+     */
+    /*
+    public static void bootstrap(String configFile, String configContext) 
+            throws ConfigException, SessionException  {
+
+        Config config = new Config(configContext);
+        config.parse(configFile);
+        Config.setConfig(config);
+
+        String username = Config.getString("/username");
+        String passwd = Config.getString("/passwd");
+        String host = (String) Config.getFirst("/domains/domain");
+        int port = Config.getInt("/port");
+
+        try {
+            XMPPSession xses = new XMPPSession(host, port);
+            xses.connect(username, passwd, "test-java");
+            XMPPSession.setGlobalSession(xses);
+        } catch(XMPPException e) {
+            throw new SessionException("Unable to bootstrap client", e);
+        }
+    }
+    */
 }