Changeset 24891
- Timestamp:
- 2011-12-13T10:04:04+13:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/AbstractGS2FieldSearch.java
r24856 r24891 39 39 abstract public class AbstractGS2FieldSearch extends AbstractGS2TextSearch 40 40 { 41 42 41 // extra services offered by mgpp collections 43 42 protected static final String FIELD_QUERY_SERVICE = "FieldQuery"; 44 43 protected static final String ADVANCED_FIELD_QUERY_SERVICE = "AdvancedFieldQuery"; 44 protected static final String RAW_QUERY_SERVICE = "RawQuery"; 45 45 46 46 // extra parameters used … … 51 51 protected static final String SIMPLE_FIELD_PARAM = "simpleField"; 52 52 protected static final String ADVANCED_FIELD_PARAM = "complexField"; 53 54 protected static final String RAW_PARAM = "rawquery"; 53 55 54 56 // more params for field query … … 68 70 protected static final String SEARCH_TYPE_SIMPLE_FORM = "simpleform"; 69 71 protected static final String SEARCH_TYPE_ADVANCED_FORM = "advancedform"; 72 protected static final String SEARCH_TYPE_RAW = "raw"; 70 73 71 74 protected static final String DEFAULT_LEVEL_ELEM = "defaultLevel"; … … 77 80 protected static final int SIMPLE_QUERY = 1; 78 81 protected static final int ADVANCED_QUERY = 2; 82 protected static final int RAW_QUERY = 3; 79 83 80 84 protected String AND_OPERATOR = "&"; … … 90 94 protected boolean simple_form_search = false; 91 95 protected boolean advanced_form_search = false; 96 protected boolean raw_search = true; 92 97 93 98 static Logger logger = Logger.getLogger(org.greenstone.gsdl3.service.AbstractGS2FieldSearch.class.getName()); … … 166 171 this.advanced_form_search = true; 167 172 } 173 else if (type_name.equals(SEARCH_TYPE_RAW)) 174 { 175 this.raw_search = true; 176 } 168 177 } 169 178 } … … 242 251 } 243 252 253 if (this.raw_search) 254 { 255 Element rq_service = this.doc.createElement(GSXML.SERVICE_ELEM); 256 rq_service.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_QUERY); 257 rq_service.setAttribute(GSXML.NAME_ATT, RAW_QUERY_SERVICE); 258 this.short_service_info.appendChild(rq_service); 259 260 if (format_info != null) 261 { 262 this.format_info_map.put(RAW_QUERY_SERVICE, format_info); 263 } 264 } 265 244 266 return true; 245 267 } … … 249 271 // should we check that the service is actually on offer? presumably we wont get asked for services that we haven't advertised previously. 250 272 251 if (!service_id.equals(FIELD_QUERY_SERVICE) && !service_id.equals(ADVANCED_FIELD_QUERY_SERVICE) )273 if (!service_id.equals(FIELD_QUERY_SERVICE) && !service_id.equals(ADVANCED_FIELD_QUERY_SERVICE) && !service_id.equals(RAW_QUERY_SERVICE)) 252 274 { 253 275 return super.getServiceDescription(service_id, lang, subset); … … 295 317 296 318 } 297 else 319 else if (service_id.equals(ADVANCED_FIELD_QUERY_SERVICE)) 298 320 { 299 321 createParameter(LEVEL_PARAM, param_list, lang); … … 335 357 createParameter(FIELD_FIELD_PARAM, multiparam, lang); 336 358 359 } 360 else if (service_id.equals(RAW_QUERY_SERVICE)) 361 { 362 if (does_chunking) 363 { 364 createParameter(MAXDOCS_PARAM, param_list, lang); 365 } 366 if (does_paging) 367 { 368 createParameter(HITS_PER_PAGE_PARAM, param_list, lang); 369 createParameter(START_PAGE_PARAM, param_list, lang); 370 } 371 createParameter(RAW_PARAM, param_list, lang); 372 service.appendChild(param_list); 337 373 } 338 374 } … … 477 513 { 478 514 return processAnyQuery(request, ADVANCED_QUERY); 515 } 516 517 protected Element processRawQuery(Element request) 518 { 519 return processAnyQuery(request, RAW_QUERY); 479 520 } 480 521 … … 499 540 empty_query_test_param = FIELD_QUERY_PARAM; 500 541 break; 542 case RAW_QUERY: 543 service_name = RAW_QUERY_SERVICE; 544 empty_query_test_param = RAW_PARAM; 545 break; 501 546 default: 502 547 // should never get here
Note:
See TracChangeset
for help on using the changeset viewer.