implemented client bootstrap. created a status object to model connection statuses...
[OpenSRF.git] / src / java / org / opensrf / test / TestClient.java
1 package org.opensrf.test;
2 import org.opensrf.*;
3 import org.opensrf.util.*;
4 import java.util.Map;
5 import java.util.Date;
6 import java.util.List;
7 import java.util.ArrayList;
8 import java.io.PrintStream;
9
10
11 public class TestClient {
12     public static void main(String args[]) throws Exception {
13         
14         PrintStream out = System.out;
15         String service;
16         String method;
17
18         try {
19             Sys.bootstrapClient(args[0], "/config/opensrf");
20             service = args[1];
21             method = args[2];
22         } catch(ArrayIndexOutOfBoundsException e) {
23             out.println( "usage: org.opensrf.test.TestClient "+
24                 "<osrfConfigFile> <service> <method> [<JSONparam1>, <JSONparam2>]");
25             return;
26         }
27
28         /** build the client session and send the request */
29         ClientSession session = new ClientSession(service);
30         List<Object> params = new ArrayList<Object>();
31         JSONReader reader;
32
33         for(int i = 3; i < args.length; i++) /* add the params */
34             params.add(new JSONReader(args[i]).read());
35
36         Request request = session.request(method, params);
37
38         Result result;
39         long start = new Date().getTime();
40         while( (result = request.recv(60000)) != null ) {
41             out.println("status = " + result.getStatus());
42             out.println("status code = " + result.getStatusCode());
43             out.println("result JSON: " + new JSONWriter(result.getContent()).write());
44         }
45         out.println("Request took: " + (new Date().getTime() - start));
46     }
47 }
48
49
50