1
2
3
4
5
6
7
8
9
10
11 package net.kwfgrid.gwes.xmldbclient;
12
13 import org.apache.axis2.AxisFault;
14
15 import javax.activation.DataHandler;
16 import java.rmi.RemoteException;
17
18
19
20
21
22
23
24 public class RemoteQuery implements QueryInterface {
25
26 private QueryServiceStub stub;
27
28 public RemoteQuery(String serviceUrl) throws RemoteException {
29 try {
30 stub = new QueryServiceStub(serviceUrl);
31 } catch (AxisFault axisFault) {
32 throw new RemoteException("Axis fault when connecting to "+serviceUrl+": "+axisFault,axisFault);
33 }
34 }
35
36 public String connect(String userId, String password) throws RemoteException {
37 QueryServiceStub.Connect params = new QueryServiceStub.Connect();
38 params.setUserId(userId);
39 params.setPassword(password);
40 return stub.connect(params).getConnectReturn();
41 }
42
43 public String[] retrieve(String sessionId, int start, int howmany, boolean indent, boolean xinclude, String highlight) throws RemoteException {
44 QueryServiceStub.Retrieve params = new QueryServiceStub.Retrieve();
45 params.setSessionId(sessionId);
46 params.setStart(start);
47 params.setHowmany(howmany);
48 params.setIndent(indent);
49 params.setXinclude(xinclude);
50 params.setHighlight(highlight);
51 return stub.retrieve(params).getRetrieveReturn();
52 }
53
54 public void disconnect(String sessionId) throws RemoteException {
55 QueryServiceStub.Disconnect params = new QueryServiceStub.Disconnect();
56 params.setSessionId(sessionId);
57 stub.disconnect(params);
58 }
59
60 public DataHandler getResourceData(String sessionId, String path, boolean indent, boolean xinclude, boolean processXSLPI) throws RemoteException {
61 QueryServiceStub.GetResourceData params = new QueryServiceStub.GetResourceData();
62 params.setSessionId(sessionId);
63 params.setPath(path);
64 params.setIndent(indent);
65 params.setXinclude(xinclude);
66 params.setProcessXSLPI(processXSLPI);
67 return stub.getResourceData(params).getGetResourceDataReturn();
68 }
69
70 public QueryServiceStub.QueryResponse xquery(String sessionId, DataHandler xquery) throws RemoteException {
71 QueryServiceStub.Xquery params = new QueryServiceStub.Xquery();
72 params.setSessionId(sessionId);
73 params.setXquery(xquery);
74 return stub.xquery(params).getXqueryReturn();
75 }
76
77 public QueryServiceStub.Base64BinaryArray retrieveData(String sessionId, int start, int howmany, boolean indent, boolean xinclude, String highlight) throws RemoteException {
78 QueryServiceStub.RetrieveData params = new QueryServiceStub.RetrieveData();
79 params.setSessionId(sessionId);
80 params.setStart(start);
81 params.setHowmany(howmany);
82 params.setIndent(indent);
83 params.setXinclude(xinclude);
84 params.setHighlight(highlight);
85 return stub.retrieveData(params).getRetrieveDataReturn();
86 }
87
88 public String[] retrieveByDocument(String sessionId, int start, int howmany, String path, boolean indent, boolean xinclude, String highlight) throws RemoteException {
89 QueryServiceStub.RetrieveByDocument params = new QueryServiceStub.RetrieveByDocument();
90 params.setSessionId(sessionId);
91 params.setStart(start);
92 params.setHowmany(howmany);
93 params.setPath(path);
94 params.setIndent(indent);
95 params.setXinclude(xinclude);
96 params.setHighlight(highlight);
97 return stub.retrieveByDocument(params).getRetrieveByDocumentReturn();
98 }
99
100 public QueryServiceStub.Collection listCollection(String sessionId, String path) throws RemoteException {
101 QueryServiceStub.ListCollection params = new QueryServiceStub.ListCollection();
102 params.setSessionId(sessionId);
103 params.setPath(path);
104 return stub.listCollection(params).getListCollectionReturn();
105 }
106
107 public String getResource(String sessionId, String path, boolean indent, boolean xinclude) throws RemoteException {
108 QueryServiceStub.GetResource params = new QueryServiceStub.GetResource();
109 params.setSessionId(sessionId);
110 params.setPath(path);
111 params.setIndent(indent);
112 params.setXinclude(xinclude);
113 return stub.getResource(params).getGetResourceReturn();
114 }
115
116 public QueryServiceStub.QueryResponse query(String sessionId, String xquery) throws RemoteException {
117 QueryServiceStub.Query params = new QueryServiceStub.Query();
118 params.setSessionId(sessionId);
119 params.setXpath(xquery);
120 return stub.query(params).getQueryReturn();
121 }
122
123 }