- Timestamp:
- 2017-09-21T11:17:43+12:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/resources/java/QBRSOAPServer.java.in
r26123 r31978 86 86 87 87 /** Container Document to create XML Nodes */ 88 protected Document doc=null;88 // protected Document doc=null; 89 89 /** A converter class to parse XML and create Docs */ 90 protected XMLConverter converter=null;90 // protected XMLConverter converter=null; 91 91 92 92 /** The Logger for this class */ 93 private static Logger LOG = Logger.getLogger(QBRSOAPServer@[email protected]);93 private static Logger LOG = Logger.getLogger(org.greenstone.gsdl3.QBRSOAPServer@[email protected]()); 94 94 95 95 /** Error message loading helpFile. Remains at "" if everything is fine */ … … 161 161 return; 162 162 } 163 this.converter = new XMLConverter();164 this.doc = this.converter.newDOM();163 //this.converter = new XMLConverter(); 164 //this.doc = this.converter.newDOM(); 165 165 166 166 mr = new MessageRouter(); … … 262 262 String subsetOption, String validSubsetOptions) 263 263 { 264 Document doc = XMLConverter.newDOM(); 264 265 // Create message element: <message></message> 265 Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);266 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 266 267 // <message><request lang="en" to="" type="describe" uid="" /></message> 268 UserContext uc = new UserContext(); 269 uc.setLanguage(lang); 270 uc.setUserID(""); 271 267 272 Element request = GSXML.createBasicRequest( 268 this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, new UserContext(lang, ""));273 doc, GSXML.REQUEST_TYPE_DESCRIBE, to, uc); 269 274 270 275 // Check if only a subset of this Module Interface's data is asked … … 279 284 // else, append <paramList> 280 285 // <param name="subset" value="subsetOption" /></paramList> 281 Element paramList = this.doc.createElement(286 Element paramList = doc.createElement( 282 287 GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 283 288 // append <param name="subset" value=paramValue /> … … 286 291 // or GSXML.SYSTEM_SUBSET_ATT. It's the first one probably. 287 292 paramList.appendChild(GSXML.createParameter( 288 this.doc, GSXML.SUBSET_PARAM, subsetOption));293 doc, GSXML.SUBSET_PARAM, subsetOption)); 289 294 request.appendChild(paramList); 290 295 } … … 312 317 public String query(String collection, String service, 313 318 String lang, Map nameToValsMap) 314 { 319 { 320 Document doc = XMLConverter.newDOM(); 315 321 // <paramList></paramList> 316 Element paramList = this.doc.createElement(322 Element paramList = doc.createElement( 317 323 GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 318 324 // <param>s: creating parameters of (name, value) pairs … … 324 330 String value = (String)entry.getValue(); 325 331 paramList.appendChild(GSXML.createParameter( 326 this.doc, name, value)); 327 } 328 329 Element message = this.doc.createElement(GSXML.MESSAGE_ELEM); 332 doc, name, value)); 333 } 334 335 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 336 UserContext uc = new UserContext(); 337 uc.setLanguage(lang); 338 uc.setUserID(""); 339 330 340 Element request = GSXML.createBasicRequest( 331 this.doc, GSXML.REQUEST_TYPE_PROCESS,332 collection+"/"+service, new UserContext(lang, ""));341 doc, GSXML.REQUEST_TYPE_PROCESS, 342 collection+"/"+service, uc); 333 343 334 344 request.appendChild(paramList); … … 359 369 //System.out.println(queryDescription); 360 370 361 Document doc = this.converter.getDOM(queryDescription);371 Document doc = XMLConverter.getDOM(queryDescription); 362 372 NodeList nl = doc.getElementsByTagName( 363 373 GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); … … 408 418 String collection, String lang, String[] docNodeIDs) 409 419 { 420 Document doc = XMLConverter.newDOM(); 410 421 // creating <documentNodeList></documentNodeList> 411 Element docNodeList = this.doc.createElement(422 Element docNodeList = doc.createElement( 412 423 GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER); 413 424 414 425 // creating subelements: <documentNode nodeID="..." /> 415 426 for(int i = 0; i < docNodeIDs.length; i++) { 416 Element docNode = this.doc.createElement(GSXML.DOC_NODE_ELEM);427 Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM); 417 428 docNode.setAttribute(GSXML.NODE_ID_ATT, docNodeIDs[i]); 418 429 docNodeList.appendChild(docNode); … … 420 431 421 432 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 433 UserContext uc = new UserContext(); 434 uc.setLanguage(lang); 435 uc.setUserID(""); 436 422 437 Element request = GSXML.createBasicRequest( 423 438 doc, GSXML.REQUEST_TYPE_PROCESS, 424 collection+"/DocumentContentRetrieve", new UserContext(lang, ""));439 collection+"/DocumentContentRetrieve", uc); 425 440 426 441 // create an empty <paramlist /> element (as example in manual) … … 470 485 String[] docNodeIDs, String[] structure, String[] info) 471 486 { 487 Document doc = XMLConverter.newDOM(); 472 488 // creating subelements: <documentNode nodeID="..." /> 473 Element docNodeList = this.doc.createElement(489 Element docNodeList = doc.createElement( 474 490 GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER); 475 491 for(int i = 0; i < docNodeIDs.length; i++) { 476 Element docNode = this.doc.createElement(GSXML.DOC_NODE_ELEM);492 Element docNode = doc.createElement(GSXML.DOC_NODE_ELEM); 477 493 docNode.setAttribute(GSXML.NODE_ID_ATT, docNodeIDs[i]); 478 494 docNodeList.appendChild(docNode); … … 480 496 481 497 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 498 UserContext uc = new UserContext(); 499 uc.setLanguage(lang); 500 uc.setUserID(""); 501 482 502 Element request = GSXML.createBasicRequest( 483 503 doc, GSXML.REQUEST_TYPE_PROCESS, 484 collection+"/DocumentStructureRetrieve", new UserContext(lang, ""));504 collection+"/DocumentStructureRetrieve", uc); 485 505 486 506 // Create the <paramlist></paramlist> element of param elements, … … 496 516 if(structureOptions.indexOf(structure[i]) != -1) { 497 517 paramList.appendChild(GSXML.createParameter( 498 this.doc, "structure", structure[i]));518 doc, "structure", structure[i])); 499 519 } 500 520 } … … 504 524 if(structureInfoOptions.indexOf(info[i]) != -1) { 505 525 paramList.appendChild(GSXML.createParameter( 506 this.doc, "info", info[i]));526 doc, "info", info[i])); 507 527 } 508 528 } … … 612 632 String[] nodeIDs, String[] metaNames, final String NODE_ELEM) 613 633 { 634 Document doc = XMLConverter.newDOM(); 614 635 // create the <paramlist></paramlist> element of param elements: 615 636 // <param name="metadata" value = "metaName[i]"> 616 Element metadataParamList = this.doc.createElement(637 Element metadataParamList = doc.createElement( 617 638 GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 618 639 for(int i = 0; i < metaNames.length; i++) { 619 640 metadataParamList.appendChild(GSXML.createParameter( 620 this.doc, GSXML.METADATA_ELEM, metaNames[i]));641 doc, GSXML.METADATA_ELEM, metaNames[i])); 621 642 } 622 643 623 644 // creating subelements: <documentNode nodeID="..." /> 624 645 // or <classifierNode nodeID="..." /> 625 Element nodeList = this.doc.createElement(646 Element nodeList = doc.createElement( 626 647 NODE_ELEM+GSXML.LIST_MODIFIER); 627 648 for(int i = 0; i < nodeIDs.length; i++) { 628 Element docNode = this.doc.createElement(NODE_ELEM);649 Element docNode = doc.createElement(NODE_ELEM); 629 650 docNode.setAttribute(GSXML.NODE_ID_ATT, nodeIDs[i]); 630 651 nodeList.appendChild(docNode); … … 632 653 633 654 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 655 UserContext uc = new UserContext(); 656 uc.setLanguage(lang); 657 uc.setUserID(""); 658 634 659 Element request = GSXML.createBasicRequest(doc, 635 GSXML.REQUEST_TYPE_PROCESS, to, new UserContext(lang, ""));660 GSXML.REQUEST_TYPE_PROCESS, to, uc); 636 661 637 662 request.appendChild(metadataParamList); … … 688 713 if(browseService.equals("")) 689 714 browseService = "ClassifierBrowse"; 690 715 716 Document doc = XMLConverter.newDOM(); 691 717 // Create message element: <message></message> 692 Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);718 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 693 719 // <message><request lang="en" to="" type="process" uid="" /></message> 694 Element request = GSXML.createBasicRequest(this.doc, 695 GSXML.REQUEST_TYPE_PROCESS, collection+"/"+browseService, new UserContext(lang, "")); 720 UserContext uc = new UserContext(); 721 uc.setLanguage(lang); 722 uc.setUserID(""); 723 724 Element request = GSXML.createBasicRequest(doc, 725 GSXML.REQUEST_TYPE_PROCESS, collection+"/"+browseService, uc); 696 726 697 727 // <param name="structure" value = "structureParams[i]"> 698 Element paramList = this.doc.createElement(728 Element paramList = doc.createElement( 699 729 GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 700 730 for(int i = 0; i < structureParams.length; i++) { … … 702 732 if(structureOptions.indexOf(structureParams[i]) != -1) { 703 733 paramList.appendChild(GSXML.createParameter( 704 this.doc, "structure", structureParams[i]));734 doc, "structure", structureParams[i])); 705 735 } 706 736 } … … 710 740 if(structureInfoOptions.indexOf(infoParams[i]) != -1) { 711 741 paramList.appendChild(GSXML.createParameter( 712 this.doc, "info", infoParams[i]));742 doc, "info", infoParams[i])); 713 743 } 714 744 } … … 718 748 // <classifier nodeID="CLy" /></classifierNodeList> 719 749 // where CLx and CLy are given in the parameter classifierNodeIDs 720 Element classifierNodeList = this.doc.createElement(750 Element classifierNodeList = doc.createElement( 721 751 GSXML.CLASS_NODE_ELEM+GSXML.LIST_MODIFIER); 722 752 for(int i = 0; i < classifierNodeIDs.length; i++) { 723 Element classifier = this.doc.createElement(GSXML.CLASS_NODE_ELEM);753 Element classifier = doc.createElement(GSXML.CLASS_NODE_ELEM); 724 754 classifier.setAttribute(GSXML.NODE_ID_ATT, classifierNodeIDs[i]); 725 755 classifierNodeList.appendChild(classifier); … … 742 772 if(LOG.isDebugEnabled()) { // or LOG.isEnabledFor(Level.DEBUG). 743 773 // Testing for this improves efficiency 744 LOG.debug( this.converter.getPrettyString(message));774 LOG.debug(XMLConverter.getPrettyString(message)); 745 775 } 746 776 747 777 // Let the messagerouter process the request message and get the response 748 Element response = XMLConverter.nodeToElement(mr.process(message));778 Element response = GSXML.nodeToElement(mr.process(message)); 749 779 // won't be null except when Node returned is not an element 750 780 // otherwise, MR always returns some response 751 781 752 782 // Return it as a String formatted for display 753 String responseMsg = this.converter.getPrettyString(response);783 String responseMsg = XMLConverter.getPrettyString(response); 754 784 // this.converter.getString(response); 755 785
Note:
See TracChangeset
for help on using the changeset viewer.