source: trunk/java-client/org/nzdl/gsdl/util/NzdlCorbaFactory.java@ 2077

Last change on this file since 2077 was 2077, checked in by say1, 23 years ago

started work on the Java server. still many hacks.

  • Property svn:keywords set to Author Date Id Revision
File size: 9.6 KB
Line 
1
2package org.nzdl.util;
3
4import java.util.*;
5import org.nzdl.service.NzdlQuery;
6import org.nzdl.corba.gsdlInterface.*;
7import org.nzdl.util.NzdlConstants;
8
9public final class NzdlCorbaFactory {
10
11
12 private NzdlCorbaFactory() {}
13
14 public static corbatext_t toCorbaText(String _text) {
15 int len = _text.length();
16 short[] shorts = new short[len];
17 for (int i=0; i<len; i++) {
18 shorts[i] = (short)_text.charAt(i);
19 }
20 short encoding = 0;
21 corbatext_t corba_t = new corbatext_t(shorts, encoding, len);
22 return corba_t;
23 }
24
25 public static String toString(corbatext_t _text) {
26 // System.out.println("NzdlCorbaFactory.toString() called length = " + _text.text.length +
27 // " ecnoding = " + _text.encoding +
28 // " reported length = " + _text.length);
29 StringBuffer text = new StringBuffer(1000);
30 for (int j=0; j<_text.text.length; j++) {
31 text.append((char)_text.text[j]);
32 }
33 return text.toString();
34 }
35
36 public static corbaComErrorHolder createComErrorHolder() {
37 corbaComErrorHolder err
38 = new corbaComErrorHolder( corbaComError.from_int(0) );
39 return err;
40 }
41
42 public static corbatext_tarrayHolder createCorbaTextArrayHolder() {
43 corbatext_t [] array = {};
44 corbatext_tarrayHolder arrayHolder = new corbatext_tarrayHolder( array );
45 return arrayHolder;
46 }
47
48 public static Set toSet( corbatext_t [] _configLines ) {
49 HashSet set = new HashSet();
50 for (int i=0; i<_configLines.length; i++) {
51 set.add(NzdlCorbaFactory.toString(_configLines[i]));
52 }
53 return set;
54 }
55
56 public static corbatext_t [] toCorbaTextArray( Set _configLines ) {
57 Object [] lines = _configLines.toArray();
58 corbatext_t [] array = new corbatext_t[ lines.length ];
59 for (int i=0; i<lines.length; i++) {
60 array[i] = toCorbaText( (String)lines[i] );
61 }
62 return array;
63 }
64
65 public static corbaColInfoResponseHolder createColInfoResponseHolder() {
66 corbaShortColInfo shortInfo = new corbaShortColInfo();
67 shortInfo.name = toCorbaText("");
68 shortInfo.host = toCorbaText("");
69 corbaColInfoResponse response = new corbaColInfoResponse();
70 response.shoftInfo = shortInfo; // shoft !! typo in corba interface !!
71 response.isPublic = false;
72 response.isBeta = false;
73 response.buildDate = 0;
74 response.ccsCols = new corbatext_t[0];
75 response.languages = new corbatext_t[0];
76 response.numDocs = 0;
77 response.numWords = 0;
78 response.numBytes = 0;
79 response.collectionMeta = new corbatext_tmap(new corbatext_t[0],new corbatext_t[0]);
80 response.format = new corbatext_tmap(new corbatext_t[0],new corbatext_t[0]);
81 response.building = new corbatext_tmap(new corbatext_t[0],new corbatext_t[0]);
82 response.httpdomain = toCorbaText("");
83 response.httpprefix = toCorbaText("");
84 response.receptionist = toCorbaText("");
85 corbaColInfoResponseHolder responseHolder
86 = new corbaColInfoResponseHolder(response);
87 return responseHolder;
88 }
89
90 public static corbaFilterRequest
91 createQueryFilterRequest( String _term, String _type, int _numOfHits ) {
92 return createQueryFilterRequest( _term,
93 _type,
94 NzdlConstants.DEFAULT_CASE_FOLDING,
95 NzdlConstants.DEFAULT_STEMMING,
96 String.valueOf(NzdlConstants.DEFAULT_START_RESULTS),
97 String.valueOf(_numOfHits),
98 String.valueOf(NzdlConstants.DEFAULT_MAX_DOCS)
99 );
100 }
101
102 public static corbaFilterRequest
103 createQueryFilterRequest( NzdlQuery _query ) {
104 return createQueryFilterRequest( _query.getQueryTerm(),
105 _query.getQueryType(),
106 _query.getCaseFolding(),
107 _query.getStemming(),
108 String.valueOf(_query.getStartResults()),
109 String.valueOf(_query.getEndResults()),
110 String.valueOf(_query.getMaxDocs())
111 );
112 }
113
114 public static corbaFilterRequest
115 createQueryFilterRequest( String _term, String _type, String _case,
116 String _stem, String _startHit, String _endHit, String _maxDocs ) {
117
118 corbaFilterRequest queryFilter = new corbaFilterRequest();
119 queryFilter.filter = toCorbaText("QueryFilter");
120
121 queryFilter.filterOptions = new corbaOptionValue[8];
122 queryFilter.filterOptions[0]
123 = new corbaOptionValue(toCorbaText("Term"),
124 toCorbaText(_term));
125 queryFilter.filterOptions[1]
126 = new corbaOptionValue(toCorbaText("QueryType"),
127 toCorbaText(_type));
128 queryFilter.filterOptions[2]
129 = new corbaOptionValue(toCorbaText("Casefold"),
130 toCorbaText(_case));
131 queryFilter.filterOptions[3]
132 = new corbaOptionValue(toCorbaText("Stem"),
133 toCorbaText(_stem));
134 queryFilter.filterOptions[4]
135 = new corbaOptionValue(toCorbaText("StartResults"),
136 toCorbaText(_startHit));
137 queryFilter.filterOptions[5]
138 = new corbaOptionValue(toCorbaText("EndResults"),
139 toCorbaText(_endHit));
140 queryFilter.filterOptions[6]
141 = new corbaOptionValue(toCorbaText("Maxdocs"),
142 toCorbaText(_maxDocs));
143
144 queryFilter.filterOptions[7]
145 = new corbaOptionValue(toCorbaText("MatchMode"),
146 toCorbaText("all"));
147
148 queryFilter.docSet = new corbatext_t[0];
149 int resultOptions = NzdlConstants.FROID|NzdlConstants.FRtermFreq|NzdlConstants.FRranking;
150 queryFilter.filterResultOptions = resultOptions;
151 queryFilter.requestParams = toCorbaText("");
152 queryFilter.refParams = toCorbaText("");
153 queryFilter.fields = new corbatext_t[0];
154 queryFilter.getParents = false;
155 return queryFilter;
156 }
157
158 public static corbaFilterRequest createBrowseFilterRequest(String _docID, String _metaTag) {
159
160 corbaFilterRequest browseFilter = new corbaFilterRequest();
161 browseFilter.filter = toCorbaText("BrowseFilter");
162
163 browseFilter.filterOptions = new corbaOptionValue[1];
164 browseFilter.filterOptions[0]
165 = new corbaOptionValue(toCorbaText("ParentNode"),
166 toCorbaText(_docID));
167
168 browseFilter.docSet = new corbatext_t[0];
169 int resultOptions = NzdlConstants.FROID|NzdlConstants.FRmetadata;
170 browseFilter.filterResultOptions = resultOptions;
171 browseFilter.requestParams = toCorbaText("");
172 browseFilter.refParams = toCorbaText("");
173 browseFilter.fields = new corbatext_t[1];
174 browseFilter.fields[0] = toCorbaText(_metaTag);
175 browseFilter.getParents = false;
176 return browseFilter;
177 }
178
179 public static corbaFilterRequest createBrowseFilterRequest( String _docID ) {
180 corbaFilterRequest browseFilter = new corbaFilterRequest();
181 browseFilter.filter = toCorbaText("BrowseFilter");
182 browseFilter.filterOptions = new corbaOptionValue[1];
183 browseFilter.filterOptions[0]
184 = new corbaOptionValue(toCorbaText("ParentNode"),
185 toCorbaText(_docID));
186 browseFilter.docSet = new corbatext_t[0];
187 int resultOptions = NzdlConstants.FROID;
188 browseFilter.filterResultOptions = resultOptions;
189 browseFilter.requestParams = toCorbaText("");
190 browseFilter.refParams = toCorbaText("");
191 browseFilter.fields = new corbatext_t[0];
192 browseFilter.getParents = false;
193 return browseFilter;
194 }
195
196 public static corbaFilterRequest createMetaDataFilterRequest( String _docID, String _metaTag ) {
197 corbaFilterRequest nullFilter = new corbaFilterRequest();
198 nullFilter.filter = toCorbaText("NullFilter");
199 nullFilter.filterOptions = new corbaOptionValue[0];
200 nullFilter.docSet = new corbatext_t[1];
201 nullFilter.docSet[0] = toCorbaText(_docID);
202 int resultOptions = NzdlConstants.FRmetadata;
203 nullFilter.filterResultOptions = resultOptions;
204 nullFilter.requestParams = toCorbaText("");
205 nullFilter.refParams = toCorbaText("");
206 nullFilter.fields = new corbatext_t[1];
207 nullFilter.fields[0] = toCorbaText(_metaTag);
208 nullFilter.getParents = false;
209 return nullFilter;
210 }
211
212 public static corbaFilterRequest createMetaDataFilterRequest( List _docIDs, String _metaTag ) {
213 corbaFilterRequest nullFilter = new corbaFilterRequest();
214 nullFilter.filter = toCorbaText("NullFilter");
215 nullFilter.filterOptions = new corbaOptionValue[0];
216 // we will request the meta data for all documents in _docIDs set
217 nullFilter.docSet = new corbatext_t[_docIDs.size()];
218 int i=0;
219 for (ListIterator itr = _docIDs.listIterator(); itr.hasNext(); ) {
220 nullFilter.docSet[i] = toCorbaText( (String)itr.next() );
221 i++;
222 }
223 int resultOptions = NzdlConstants.FRmetadata;
224 nullFilter.filterResultOptions = resultOptions;
225 nullFilter.requestParams = toCorbaText("");
226 nullFilter.refParams = toCorbaText("");
227 nullFilter.fields = new corbatext_t[1];
228 // this is the meta (_metaTag) data we need
229 nullFilter.fields[0] = toCorbaText(_metaTag);
230 nullFilter.getParents = false;
231 return nullFilter;
232 }
233
234 public static corbaFilterResponseHolder createFilterResponseHolder() {
235 corbaFilterResponse responseFilter = new corbaFilterResponse();
236 responseFilter.numDocs = 0;
237 responseFilter.isApprox = corbaIsApprox.from_int(0);
238 responseFilter.termInfo = new corbaTermInfo[0];
239 responseFilter.docInfo = new corbaResultDocInfo[0];
240 return new corbaFilterResponseHolder(responseFilter);
241 }
242
243 public static corbaDocRequestHolder createDocRequestHolder( String _docID ) {
244 corbaDocRequest docRequest
245 = new corbaDocRequest( toCorbaText( _docID ), toCorbaText(""), toCorbaText("") );
246 return new corbaDocRequestHolder(docRequest);
247 }
248
249 public static corbaDocResponseHolder createDocResponseHolder( ) {
250 corbaDocResponse docResponse = new corbaDocResponse( toCorbaText("") );
251 return new corbaDocResponseHolder( docResponse );
252 }
253
254}
255
256
257
258
259
Note: See TracBrowser for help on using the repository browser.