Changeset 16688
- Timestamp:
- 2008-08-08T13:23:59+12:00 (16 years ago)
- Location:
- greenstone3/trunk/src/java/org/greenstone/gsdl3
- Files:
-
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
greenstone3/trunk/src/java/org/greenstone/gsdl3/Library2.java
r10296 r16688 24 24 import org.w3c.dom.Document; 25 25 import org.w3c.dom.Element; 26 import org.w3c.dom.Node; 26 27 27 28 import java.io.BufferedReader; … … 112 113 System.out.println("*********************"); 113 114 System.out.println(converter.getPrettyString(xml_message)); 114 Elementxml_result = recept.process(xml_message);115 Node xml_result = recept.process(xml_message); 115 116 return this.converter.getPrettyString(xml_result); 116 117 } -
greenstone3/trunk/src/java/org/greenstone/gsdl3/LibraryServlet.java
r16515 r16688 498 498 //GSXML.printXMLNode(xml_message); 499 499 500 Node xml_result = this.recept.process ToPage(xml_message);500 Node xml_result = this.recept.process(xml_message); 501 501 encodeURLs (xml_result, response); 502 502 out.println (this.converter.getPrettyString (xml_result)); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/OAIServer.java
r14227 r16688 285 285 xml_message.appendChild(xml_request); 286 286 287 Elementxml_result = this.recept.process (xml_message);287 Node xml_result = this.recept.process (xml_message); 288 288 if (xml_result == null) { 289 289 logger.info("xml_result is null"); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/SOAPServerlocalsite.java
r10322 r16688 24 24 import org.greenstone.gsdl3.util.GSFile; 25 25 import org.greenstone.gsdl3.util.GSXML; 26 import org.greenstone.gsdl3.util.XMLConverter; 26 27 import org.w3c.dom.Element; 28 import org.w3c.dom.Node; 27 29 import java.io.File; 28 30 … … 42 44 protected String site_name = "localsite"; 43 45 46 protected XMLConverter converter = null; 47 44 48 /** The no-args constructor */ 45 49 public SOAPServerlocalsite() { 50 51 converter = new XMLConverter(); 52 46 53 String gsdl3_home = GlobalProperties.getGSDL3Home(); 47 54 if (gsdl3_home == null || gsdl3_home.equals("")) { … … 74 81 } 75 82 Element new_req = GSXML.duplicateWithNewName(req.getOwnerDocument(), req, tag_name, true); 76 Element r = mr.process(new_req); 83 Node n = mr.process(new_req); 84 Element r = converter.nodeToElement(n); 77 85 // add the namespace back on 78 86 //Element new_res = r; -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/Action.java
r13270 r16688 62 62 return null; 63 63 } 64 Element result = process(message_doc.getDocumentElement());64 Node result = process(message_doc); 65 65 return this.converter.getString(result); 66 66 } 67 67 68 68 /** the main process method - must be implemented in subclass */ 69 abstract public Element process(Elementxml_in);69 abstract public Node process(Node xml_in); 70 70 71 71 /** tell the param class what its arguments are -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/AppletAction.java
r14226 r16688 19 19 static Logger logger = Logger.getLogger(org.greenstone.gsdl3.action.AppletAction.class.getName()); 20 20 21 public Element process (Element message) {21 public Node process (Node message_node) { 22 22 23 Element message = this.converter.nodeToElement(message_node); 24 23 25 Element request = (Element)GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 24 26 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/BrowseAction.java
r13270 r16688 26 26 27 27 /** process the request */ 28 public Element process (Element message) { 28 public Node process (Node message_node) { 29 30 Element message = this.converter.nodeToElement(message_node); 29 31 30 32 // get the request - assume only one -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/DocumentAction.java
r14525 r16688 67 67 return true; 68 68 } 69 public Element process (Element message)69 public Node process (Node message_node) 70 70 { 71 71 // for now, no subaction eventually we may want to have subactions such as text assoc or something ? 72 72 73 Element message = this.converter.nodeToElement(message_node); 74 73 75 // the response 74 76 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM); … … 441 443 e_doc_list.appendChild(this.doc.importNode(dc_response_doc, true)); 442 444 443 Elementenrich_response = this.mr.process(enrich_message);445 Node enrich_response = this.mr.process(enrich_message); 444 446 445 447 String [] links = {GSXML.RESPONSE_ELEM, GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER, GSXML.DOC_NODE_ELEM, GSXML.NODE_CONTENT_ELEM}; … … 554 556 } 555 557 if (service_found) { 556 Element enrich_response = this.mr.process(enrich_message);557 558 Element enrich_response = (Element)this.mr.process(enrich_message); 559 558 560 NodeList e_responses = enrich_response.getElementsByTagName(GSXML.RESPONSE_ELEM); 559 561 Element service_list = this.doc.createElement(GSXML.SERVICE_ELEM + GSXML.LIST_MODIFIER); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/GS2BrowseAction.java
r13568 r16688 24 24 25 25 /** process the request */ 26 public Element process (Element message) { 26 public Node process (Node message_node) { 27 28 Element message = this.converter.nodeToElement(message_node); 27 29 28 30 // get the request - assume only one -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/GeneralAction.java
r14421 r16688 11 11 12 12 /** process a request */ 13 public Element process (Element message) { 13 public Node process (Node message_node) { 14 15 Element message = this.converter.nodeToElement(message_node); 14 16 15 17 // the result -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/NoCollQueryAction.java
r14226 r16688 26 26 /** process - processes a request. 27 27 */ 28 public Element process (Element message) { 28 public Node process (Node message_node) { 29 30 Element message = this.converter.nodeToElement(message_node); 29 31 30 32 // get the request - assume there is only one -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/PageAction.java
r14642 r16688 23 23 public static final String GLI4GS3_PAGE="gli4gs3"; 24 24 25 public Element process (Element message) { 26 27 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 28 // the page name is the subaction 29 String page_name = request.getAttribute(GSXML.SUBACTION_ATT); 30 if (page_name.equals("")) { // if no page specified, assume home page 31 page_name = HOME_PAGE; 32 } 33 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM); 34 Element response; 35 if (page_name.equals(HOME_PAGE)) { 36 response = homePage(request); 25 public Node process (Node message_node) { 26 27 Element message = this.converter.nodeToElement(message_node); 28 29 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 30 // the page name is the subaction 31 String page_name = request.getAttribute(GSXML.SUBACTION_ATT); 32 if (page_name.equals("")) { // if no page specified, assume home page 33 page_name = HOME_PAGE; 34 } 35 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM); 36 Element response; 37 if (page_name.equals(HOME_PAGE)) { 38 response = homePage(request); 37 39 //} else if (page_name.equals(ABOUT_PAGE)) { 38 39 40 } else if (page_name.equals(ABOUT_PAGE) || page_name.equals(PREFS_PAGE)) { 41 response = aboutPage(request); 40 42 //}else if (page_name.equals(PREFS_PAGE)) { 41 42 43 44 45 46 47 48 49 50 51 52 53 } 54 43 //response = prefsPage(request); 44 } else if (page_name.equals(GLI4GS3_PAGE)){ 45 response = gli4gs3Page(request); 46 }else { // unknown page 47 48 logger.error("unknown page specified!"); 49 response = unknownPage(request); 50 } 51 52 result.appendChild(this.doc.importNode(response, true)); 53 logger.debug("page action result: "+this.converter.getPrettyString(result)); 54 return result; 55 } 56 55 57 56 58 protected Element homePage(Element request) { -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/ProcessAction.java
r8801 r16688 17 17 18 18 /** process a request */ 19 public Element process (Element message) { 19 public Node process (Node message_node) { 20 21 Element message = this.converter.nodeToElement(message_node); 20 22 21 23 // the result -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/QueryAction.java
r14947 r16688 27 27 /** process - processes a request. 28 28 */ 29 public Element process (Element message) { 29 public Node process (Node message_node) { 30 31 Element message = this.converter.nodeToElement(message_node); 30 32 31 33 // get the request - assume there is only one -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/SystemAction.java
r13270 r16688 20 20 21 21 /** process a request */ 22 public Element process (Element message) {22 public Node process (Node message_node) { 23 23 24 Element message = this.converter.nodeToElement(message_node); 25 24 26 // assume only one request 25 27 Element request = (Element)GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); … … 77 79 } 78 80 79 Elementresponse_message = this.mr.process(mr_request_message);81 Node response_message = this.mr.process(mr_request_message); 80 82 81 83 result.appendChild(GSXML.duplicateWithNewName(this.doc, (Element)GSXML.getChildByTagName(response_message, GSXML.RESPONSE_ELEM), GSXML.RESPONSE_ELEM, true)); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/action/XMLDocumentAction.java
r6300 r16688 24 24 /** process - processes a request. 25 25 */ 26 public Element process (Element message) {26 public Node process (Node message_node) { 27 27 28 Element message = this.converter.nodeToElement(message_node); 29 28 30 // get the request - assume there is only one 29 31 Element request = (Element)GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); … … 86 88 mr_message.appendChild(meta_request); 87 89 88 Element ret_response = this.mr.process(mr_message);90 Element ret_response = (Element)this.mr.process(mr_message); 89 91 String [] links = {GSXML.RESPONSE_ELEM, GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER, GSXML.DOC_NODE_ELEM}; 90 92 String path = GSPath.createPath(links); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/collection/ServiceCluster.java
r15945 r16688 372 372 373 373 Document doc = this.converter.getDOM(in); 374 Element e = doc.getDocumentElement(); 375 376 Element res = process(e); 374 375 Node res = process(doc); 377 376 return this.converter.getString(res); 378 377 … … 382 381 * 383 382 */ 384 public Element process(Element message) { 383 public Node process(Node message_node) { 384 385 Element message = this.converter.nodeToElement(message_node); 385 386 386 387 NodeList requests = message.getElementsByTagName(GSXML.REQUEST_ELEM); … … 428 429 Element single_message = mess_doc.createElement(GSXML.MESSAGE_ELEM); 429 430 single_message.appendChild(request); 430 Elementresponse_message = ((ModuleInterface)this.service_map.get(service)).process(single_message);431 Node response_message = ((ModuleInterface)this.service_map.get(service)).process(single_message); 431 432 if (response_message != null) { 432 433 Element response = (Element) GSXML.getChildByTagName(response_message, GSXML.RESPONSE_ELEM); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/comms/Communicator.java
r9874 r16688 61 61 62 62 public String process(String xml_in) { 63 Element e = converter_.getDOM(xml_in).getDocumentElement();64 Node result = process( e);63 Node n = converter_.getDOM(xml_in); 64 Node result = process(n); 65 65 return converter_.getString(result); 66 66 } 67 67 68 abstract public Element process(Element xml_in);68 abstract public Node process(Node xml_in_node); 69 69 } -
greenstone3/trunk/src/java/org/greenstone/gsdl3/comms/SOAPCommunicator.java
r13270 r16688 56 56 private Call call_ = null; 57 57 58 /** The no-args constructor */ 59 public SOAPCommunicator() { 60 58 protected XMLConverter converter_ = null; 59 60 /** The no-args constructor */ 61 public SOAPCommunicator() { 62 converter_ = new XMLConverter(); 61 63 } 62 64 … … 94 96 } 95 97 96 public Element process(Element message) {98 public Node process(Node message_node) { 97 99 100 Element message = converter_.nodeToElement(message_node); 101 98 102 NodeList requests = message.getElementsByTagName(GSXML.REQUEST_ELEM); 99 103 if (requests.getLength()==0) { … … 159 163 message = "<message><request type=\"describe\" to=\"\" lang=\"en\"/></message>"; 160 164 Element request_elem = converter.getDOM(message).getDocumentElement(); 161 Elementresponse = comm.process(request_elem);165 Node response = comm.process(request_elem); 162 166 163 167 logger.error("response was "+converter.getPrettyString(response)); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/core/DefaultReceptionist.java
r13959 r16688 68 68 coll_about_message.appendChild(coll_about_request); 69 69 70 Elementcoll_about_response_message = this.mr.process(coll_about_message);70 Node coll_about_response_message = this.mr.process(coll_about_message); 71 71 Element coll_about_response = (Element)GSXML.getChildByTagName(coll_about_response_message, GSXML.RESPONSE_ELEM); 72 72 if (coll_about_response == null) { -
greenstone3/trunk/src/java/org/greenstone/gsdl3/core/MessageRouter.java
r15944 r16688 205 205 Document doc = this.converter.getDOM(xml_in); 206 206 207 Element result = process(doc.getDocumentElement());207 Node result = process(doc); 208 208 return this.converter.getString(result); 209 209 } … … 216 216 * @see Element 217 217 */ 218 public Element process(Element message) { 219 218 public Node process(Node message_node) { 219 220 Element message = this.converter.nodeToElement(message_node); 221 220 222 // check that its a correct message tag 221 223 if (!message.getTagName().equals(GSXML.MESSAGE_ELEM)) { … … 737 739 738 740 // process the message 739 Element info_response = comm.process(info_request); 741 Node info_response_node = comm.process(info_request); 742 Element info_response = converter.nodeToElement(info_response_node); 743 740 744 if (info_response == null) { 741 745 return false; -
greenstone3/trunk/src/java/org/greenstone/gsdl3/core/ModuleInterface.java
r9874 r16688 19 19 package org.greenstone.gsdl3.core; 20 20 21 import org.w3c.dom. Element;21 import org.w3c.dom.Node; 22 22 23 23 /** … … 27 27 * it takes a String of XML, and returns a String of XML 28 28 * 29 * the more efficient process method uses DOM ElementNodes instead29 * the more efficient process method uses DOM Nodes instead 30 30 * of Strings - this avoids parsing the XML at each module 31 31 * … … 45 45 46 46 /** 47 * Process an XML request - as a DOM model Element47 * Process an XML request - as a DOM model Node 48 48 * 49 49 * @param xml_in the request to process 50 50 * @return the response - contains any error messages 51 * @see org.w3c.dom. Element51 * @see org.w3c.dom.Node 52 52 */ 53 abstract public Element process(Elementxml_in);53 abstract public Node process(Node xml_in); 54 54 55 55 /** -
greenstone3/trunk/src/java/org/greenstone/gsdl3/core/OAIReceptionist.java
r14211 r16688 83 83 public String process(String xml_in) { 84 84 85 Element message = this.converter.getDOM(xml_in).getDocumentElement();86 Element page = process(message);85 Node message_node = this.converter.getDOM(xml_in); 86 Node page = process(message_node); 87 87 return this.converter.getString(page); 88 88 } 89 89 90 //Compose a message element used to send back to the OAIServer servlet. 90 91 //This method is only used within OAIReceptionist … … 97 98 * if something goes wrong, it returns null - 98 99 */ 99 public Element process(Element message) {100 public Node process(Node message_node) { 100 101 logger.error("OAIReceptionist received request"); 102 103 Element message = this.converter.nodeToElement(message_node); 101 104 logger.error(this.converter.getString(message)); 105 102 106 // check that its a correct message tag 103 107 if (!message.getTagName().equals(GSXML.MESSAGE_ELEM)) { … … 145 149 request.setAttribute(OAIXML.TYPE, OAIXML.OAI_SET_LIST); 146 150 request.setAttribute(OAIXML.TO, ""); 147 Element msg_elem= mr.process(message);148 149 if (msg_ elem== null) {150 logger.error("returned msg_ elemfrom mr is null");151 Node msg_node = mr.process(message); 152 153 if (msg_node == null) { 154 logger.error("returned msg_node from mr is null"); 151 155 return null; 152 156 } 153 Element resp = (Element)GSXML.getChildByTagName(msg_ elem, OAIXML.RESPONSE);157 Element resp = (Element)GSXML.getChildByTagName(msg_node, OAIXML.RESPONSE); 154 158 Element coll_list = (Element)GSXML.getChildByTagName(resp, OAIXML.COLLECTION_LIST); 155 159 if (coll_list == null) { … … 411 415 coll_name = full_name.substring(full_name.indexOf(":") + 1); 412 416 req.setAttribute(OAIXML.TO, coll_name + "/" + verb); 413 Element e = mr.process(msg); 417 Node n = mr.process(msg); 418 Element e = converter.nodeToElement(n); 414 419 result = collectAll(result, e, verb, OAIXML.HEADER); 415 420 … … 420 425 } else { 421 426 req.setAttribute(OAIXML.TO, coll_name + "/" + verb); 422 result = mr.process(msg); 427 Node result_node = mr.process(msg); 428 result = converter.nodeToElement(result_node); 423 429 } 424 430 … … 606 612 req.setAttribute(OAIXML.TO, coll_name + "/" + verb); 607 613 //logger.info(GSXML.xmlNodeToString(req)); 608 Element e = mr.process(msg); 614 Node n = mr.process(msg); 615 Element e = converter.nodeToElement(n); 609 616 result = collectAll(result, e, verb, OAIXML.RECORD); 610 617 … … 615 622 } else { 616 623 req.setAttribute(OAIXML.TO, coll_name + "/" + verb); 617 result = mr.process(msg); 624 625 Node result_node = mr.process(msg); 626 result = converter.nodeToElement(result_node); 618 627 } 619 628 … … 791 800 792 801 //Now send the request to the message router to process 793 return mr.process(msg); 802 Node result_node = mr.process(msg); 803 return converter.nodeToElement(result_node); 794 804 } 795 805 } … … 955 965 956 966 //Now send the request to the message router to process 957 return mr.process(msg); 967 Node result_node = mr.process(msg); 968 return converter.nodeToElement(result_node); 958 969 } 959 970 } -
greenstone3/trunk/src/java/org/greenstone/gsdl3/core/Receptionist.java
r16648 r16688 130 130 } 131 131 132 133 132 134 public String process(String xml_in) { 133 135 134 Element message = this.converter.getDOM(xml_in).getDocumentElement(); 135 Node page = process(message); 136 return this.converter.getString(page); 137 } 138 139 public Element process(Element message) { 140 Node node = processToPage(message); 141 142 short nodeType = node.getNodeType(); 143 144 if (nodeType == Node.DOCUMENT_NODE) { 145 Document docNode = (Document)node; 146 return docNode.getDocumentElement() ; 147 } 148 else if (nodeType == Node.ELEMENT_NODE) { 149 return (Element)node; 150 } 151 else { 152 System.err.println("Receptionist.process was not returned a document node"); 153 return null; 154 } 155 } 156 157 158 159 160 /** process using strings - just calls process using Elements */ 161 public String processToPage(String xml_in) { 162 163 Element message = this.converter.getDOM(xml_in).getDocumentElement(); 164 Node page = processToPage(message); 136 Node message_node = this.converter.getDOM(xml_in); 137 Node page = process(message_node); 165 138 return this.converter.getString(page); 166 139 } … … 170 143 * if something goes wrong, it returns null - 171 144 * TODO: return a suitable message to the user */ 172 public Node processToPage(Element message) { 145 public Node process(Node message_node) { 146 147 Element message = this.converter.nodeToElement(message_node); 173 148 174 149 // get the request out of the message - assume that there is only one … … 225 200 //logger.info(a+" mesa=" + this.converter.getPrettyString(message)); 226 201 // get the page data from the action 227 Elementaction_response = a.process(message);202 Node action_response = a.process(message); 228 203 229 204 boolean response_only=false; -
greenstone3/trunk/src/java/org/greenstone/gsdl3/service/CrossCollectionSearch.java
r13978 r16688 23 23 24 24 import org.w3c.dom.Element; 25 import org.w3c.dom.Node; 25 26 import org.w3c.dom.NodeList; 26 27 … … 176 177 query_request.appendChild(new_param_list); 177 178 new_param_list.appendChild(this.doc.importNode(GSXML.getNamedElement(param_list, GSXML.PARAM_ELEM, GSXML.NAME_ATT, QUERY_PARAM), true)); 178 Element query_result = this.router.process(query_message);179 Element query_result = (Element)this.router.process(query_message); 179 180 180 181 // gather up the data from each response … … 353 354 } 354 355 355 Element meta_result = this.router.process(meta_request_message); 356 Node meta_result_node = this.router.process(meta_request_message); 357 Element meta_result = this.converter.nodeToElement(meta_result_node); 356 358 357 359 // now need to put the doc nodes back in the right order -
greenstone3/trunk/src/java/org/greenstone/gsdl3/service/GS2Construct.java
r13270 r16688 308 308 } 309 309 request.appendChild(command); 310 Elementresponse = this.router.process(message); // at the moment, get no info in response so ignore it310 Node response = this.router.process(message); // at the moment, get no info in response so ignore it 311 311 Text t; 312 312 String[] args={coll_name}; -
greenstone3/trunk/src/java/org/greenstone/gsdl3/service/ModuleWrapper.java
r13270 r16688 226 226 * @see org.w3c.dom.Element 227 227 */ 228 public Element process(ElementxmlIn) {228 public Node process(Node xmlIn) { 229 229 throw new Error("Not implmented yet. Should be faked by stringizing the node."); 230 230 } -
greenstone3/trunk/src/java/org/greenstone/gsdl3/service/ServiceRack.java
r14528 r16688 171 171 return null; 172 172 } 173 Element res = process(doc.getDocumentElement());173 Node res = process(doc); 174 174 return this.converter.getString(res); 175 175 … … 178 178 /** process an XML request in DOM form 179 179 * 180 * @param xml_in the Elementnode containing the request180 * @param message the Node node containing the request 181 181 * should be <message> 182 * @return an Elementwith the result XML183 * @see Element182 * @return an Node with the result XML 183 * @see Node/Element 184 184 */ 185 public Element process(Element message) { 185 public Node process(Node message_node) { 186 187 Element message = this.converter.nodeToElement(message_node); 186 188 187 189 NodeList requests = message.getElementsByTagName(GSXML.REQUEST_ELEM); -
greenstone3/trunk/src/java/org/greenstone/gsdl3/util/XMLConverter.java
r16374 r16688 22 22 import org.w3c.dom.Document; 23 23 import org.w3c.dom.DocumentType; 24 import org.w3c.dom.Element; 24 25 import org.w3c.dom.Node; 25 26 import org.w3c.dom.NodeList; … … 81 82 this.parser.setEntityResolver(er); 82 83 } 83 84 85 86 public Element nodeToElement(Node node) 87 { 88 short nodeType = node.getNodeType(); 89 90 if (nodeType == Node.DOCUMENT_NODE) { 91 Document docNode = (Document)node; 92 return docNode.getDocumentElement() ; 93 } 94 else if (nodeType == Node.ELEMENT_NODE) { 95 return (Element)node; 96 } 97 else { 98 System.err.println("Expecting Document or Element node type but got " + node.getNodeName()); 99 System.err.println("Returning null"); 100 return null; 101 } 102 } 103 84 104 /** returns a DOM Document */ 85 105 public Document getDOM(String in) {
Note:
See TracChangeset
for help on using the changeset viewer.