Changeset 28966 for main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/DocumentBasket.java
- Timestamp:
- 2014-04-10T14:39:33+12:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/service/DocumentBasket.java
r25635 r28966 27 27 import java.util.Iterator; 28 28 29 import org.w3c.dom.Document; 29 30 import org.w3c.dom.Element; 30 31 import org.w3c.dom.NodeList; … … 35 36 import org.greenstone.gsdl3.util.GSPath; 36 37 import org.greenstone.gsdl3.util.UserContext; 38 import org.greenstone.gsdl3.util.XMLConverter; 37 39 38 40 import java.net.InetAddress; … … 115 117 116 118 // set up short_service_info_ - for now just has name and type 117 Element add_service = this.d oc.createElement(GSXML.SERVICE_ELEM);119 Element add_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM); 118 120 add_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 119 121 add_service.setAttribute(GSXML.NAME_ATT, ADD_ITEM_SERVICE); … … 121 123 122 124 // set up short_service_info_ - for now just has name and type 123 Element disp_service = this.d oc.createElement(GSXML.SERVICE_ELEM);125 Element disp_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM); 124 126 disp_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 125 127 disp_service.setAttribute(GSXML.NAME_ATT, DISPLAY_ITEMS_SERVICE); … … 127 129 128 130 // set up short_service_info_ - for now just has name and type 129 Element num_service = this.d oc.createElement(GSXML.SERVICE_ELEM);131 Element num_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM); 130 132 num_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 131 133 num_service.setAttribute(GSXML.NAME_ATT, ITEM_NUM_SERVICE); … … 133 135 134 136 // set up short_service_info_ - for now just has name and type 135 Element delete_service = this.d oc.createElement(GSXML.SERVICE_ELEM);137 Element delete_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM); 136 138 delete_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 137 139 delete_service.setAttribute(GSXML.NAME_ATT, DELETE_ITEMS_SERVICE); … … 139 141 140 142 // set up short_service_info_ - for now just has name and type 141 Element deleteone_service = this.d oc.createElement(GSXML.SERVICE_ELEM);143 Element deleteone_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM); 142 144 deleteone_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 143 145 deleteone_service.setAttribute(GSXML.NAME_ATT, DELETE_ITEM_SERVICE); … … 145 147 146 148 // set up short_service_info_ - for now just has name and type 147 Element deleteall_service = this.d oc.createElement(GSXML.SERVICE_ELEM);149 Element deleteall_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM); 148 150 deleteall_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 149 151 deleteall_service.setAttribute(GSXML.NAME_ATT, CLEAR_ITEMS_SERVICE); … … 151 153 152 154 // set up short_service_info_ - for now just has name and type 153 Element merge_service = this.d oc.createElement(GSXML.SERVICE_ELEM);155 Element merge_service = this.desc_doc.createElement(GSXML.SERVICE_ELEM); 154 156 merge_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 155 157 merge_service.setAttribute(GSXML.NAME_ATT, MERGE_ITEM_SERVICE); … … 160 162 161 163 /** returns a specific service description */ 162 protected Element getServiceDescription(String service_id, String lang, String subset)164 protected Element getServiceDescription(Document doc, String service_id, String lang, String subset) 163 165 { 164 166 if (service_id.equals(ADD_ITEM_SERVICE)) 165 167 { 166 Element add_service = this.doc.createElement(GSXML.SERVICE_ELEM);168 Element add_service = doc.createElement(GSXML.SERVICE_ELEM); 167 169 add_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 168 170 add_service.setAttribute(GSXML.NAME_ATT, ADD_ITEM_SERVICE); … … 172 174 { 173 175 174 Element disp_service = this.doc.createElement(GSXML.SERVICE_ELEM);176 Element disp_service = doc.createElement(GSXML.SERVICE_ELEM); 175 177 disp_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 176 178 disp_service.setAttribute(GSXML.NAME_ATT, DISPLAY_ITEMS_SERVICE); … … 181 183 { 182 184 183 Element num_service = this.doc.createElement(GSXML.SERVICE_ELEM);185 Element num_service = doc.createElement(GSXML.SERVICE_ELEM); 184 186 num_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 185 187 num_service.setAttribute(GSXML.NAME_ATT, ITEM_NUM_SERVICE); … … 190 192 { 191 193 192 Element del_service = this.doc.createElement(GSXML.SERVICE_ELEM);194 Element del_service = doc.createElement(GSXML.SERVICE_ELEM); 193 195 del_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 194 196 del_service.setAttribute(GSXML.NAME_ATT, DELETE_ITEMS_SERVICE); … … 199 201 { 200 202 201 Element clear_service = this.doc.createElement(GSXML.SERVICE_ELEM);203 Element clear_service = doc.createElement(GSXML.SERVICE_ELEM); 202 204 clear_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 203 205 clear_service.setAttribute(GSXML.NAME_ATT, CLEAR_ITEMS_SERVICE); … … 208 210 { 209 211 210 Element delone_service = this.doc.createElement(GSXML.SERVICE_ELEM);212 Element delone_service = doc.createElement(GSXML.SERVICE_ELEM); 211 213 delone_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 212 214 delone_service.setAttribute(GSXML.NAME_ATT, DELETE_ITEM_SERVICE); … … 215 217 if (service_id.equals(MERGE_ITEM_SERVICE)) 216 218 { 217 Element merge_service = this.doc.createElement(GSXML.SERVICE_ELEM);219 Element merge_service = doc.createElement(GSXML.SERVICE_ELEM); 218 220 merge_service.setAttribute(GSXML.TYPE_ATT, "gather"); // what?? 219 221 merge_service.setAttribute(GSXML.NAME_ATT, MERGE_ITEM_SERVICE); … … 229 231 //System.err.println("DOCSMAP = " + docsMap); 230 232 // Create a new (empty) result message 231 Element result = this.doc.createElement(GSXML.RESPONSE_ELEM); 233 Document result_doc = XMLConverter.newDOM(); 234 Element result = result_doc.createElement(GSXML.RESPONSE_ELEM); 232 235 233 236 // Get the parameters of the request … … 261 264 Item newItem = generateItem(collection, item); 262 265 items.put(item, newItem); 263 result.appendChild(newItem.wrapIntoElement( ));266 result.appendChild(newItem.wrapIntoElement(result_doc)); 264 267 } 265 268 } … … 270 273 items.put(item, newItem); 271 274 docsMap.put(collection, items); 272 result.appendChild(newItem.wrapIntoElement( ));275 result.appendChild(newItem.wrapIntoElement(result_doc)); 273 276 } 274 277 … … 423 426 { 424 427 Hashtable<String, Hashtable<String, Item>> docsMap = updateDocMap(request); 425 426 Element result = this.doc.createElement(GSXML.RESPONSE_ELEM);428 Document result_doc = XMLConverter.newDOM(); 429 Element result = result_doc.createElement(GSXML.RESPONSE_ELEM); 427 430 428 431 // Get the parameters of the request … … 451 454 452 455 // Create a new (empty) result message 453 Element result = this.doc.createElement(GSXML.RESPONSE_ELEM); 456 Document result_doc = XMLConverter.newDOM(); 457 Element result = result_doc.createElement(GSXML.RESPONSE_ELEM); 454 458 455 459 // Get the parameters of the request … … 509 513 510 514 // Create a new (empty) result message 511 Element result = this.doc.createElement(GSXML.RESPONSE_ELEM); 515 Document result_doc = XMLConverter.newDOM(); 516 Element result = result_doc.createElement(GSXML.RESPONSE_ELEM); 512 517 513 518 // Get the parameters of the request … … 560 565 561 566 // Create a new (empty) result message 562 Element result = this.doc.createElement(GSXML.RESPONSE_ELEM); 567 Document result_doc = XMLConverter.newDOM(); 568 Element result = result_doc.createElement(GSXML.RESPONSE_ELEM); 563 569 564 570 int size = 0; … … 574 580 { 575 581 Item item = (Item) values.next(); 576 result.appendChild(item.wrapIntoElement( ));577 } 578 } 579 580 Element selement = this.doc.createElement("size");582 result.appendChild(item.wrapIntoElement(result_doc)); 583 } 584 } 585 586 Element selement = result_doc.createElement("size"); 581 587 selement.setAttribute("value", size + ""); 582 588 result.appendChild(selement); … … 585 591 } 586 592 587 593 private Element getDocumentMetadata(String to, UserContext userContext, Iterator<String> ids) 588 594 { 589 595 590 596 // Build a request to obtain some document metadata 591 Element dm_message = this.doc.createElement(GSXML.MESSAGE_ELEM); 592 Element dm_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 597 Document msg_doc = XMLConverter.newDOM(); 598 Element dm_message = msg_doc.createElement(GSXML.MESSAGE_ELEM); 599 Element dm_request = GSXML.createBasicRequest(msg_doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 593 600 dm_message.appendChild(dm_request); 594 601 … … 599 606 meta_names.add("Date"); 600 607 601 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);608 Element param_list = msg_doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 602 609 603 610 Element param = null; … … 606 613 { 607 614 String name = i.next(); 608 param = this.doc.createElement(GSXML.PARAM_ELEM);615 param = msg_doc.createElement(GSXML.PARAM_ELEM); 609 616 param_list.appendChild(param); 610 617 param.setAttribute(GSXML.NAME_ATT, "metadata"); … … 615 622 616 623 // create the doc node list for the metadata request 617 Element dm_doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);624 Element dm_doc_list = msg_doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 618 625 dm_request.appendChild(dm_doc_list); 619 626 … … 621 628 { 622 629 // Add the documentNode to the list 623 Element dm_doc_node = this.doc.createElement(GSXML.DOC_NODE_ELEM);630 Element dm_doc_node = msg_doc.createElement(GSXML.DOC_NODE_ELEM); 624 631 dm_doc_list.appendChild(dm_doc_node); 625 632 dm_doc_node.setAttribute(GSXML.NODE_ID_ATT, ids.next()); … … 634 641 635 642 // Create a new (empty) result message 636 Element result = this.doc.createElement(GSXML.RESPONSE_ELEM); 643 Document result_doc = XMLConverter.newDOM(); 644 Element result = result_doc.createElement(GSXML.RESPONSE_ELEM); 637 645 638 646 Iterator<String> keys = docsMap.keySet().iterator(); … … 644 652 Iterator itemItr = items.values().iterator(); 645 653 646 Element collectionNode = this.doc.createElement("documentList");654 Element collectionNode = result_doc.createElement("documentList"); 647 655 collectionNode.setAttribute("name", collection); 648 656 result.appendChild(collectionNode); … … 651 659 { 652 660 Item item = (Item) itemItr.next(); 653 Element itemElement = this.doc.createElement("item");661 Element itemElement = result_doc.createElement("item"); 654 662 655 663 collectionNode.appendChild(itemElement); … … 698 706 } 699 707 700 public Element wrapIntoElement( )708 public Element wrapIntoElement(Document doc) 701 709 { 702 710 Element itemElement = doc.createElement("item");
Note:
See TracChangeset
for help on using the changeset viewer.