Changeset 28382
- Timestamp:
- 2013-10-10T17:21:30+13:00 (11 years ago)
- Location:
- main/trunk/greenstone3/src/java/org/greenstone/gsdl3
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/Action.java
r27998 r28382 24 24 /** the system set up variables */ 25 25 protected HashMap<String, Object> config_params = null; 26 /** container Document to create XML Nodes */27 protected Document doc = null;26 27 28 28 /** a converter class to parse XML and create Docs */ 29 29 protected XMLConverter converter = null; … … 39 39 { 40 40 this.converter = new XMLConverter(); 41 this.doc = this.converter.newDOM();42 41 } 43 42 … … 193 192 } 194 193 195 protected Element createMetadataParamList( HashSet<String> metadata_names)196 { 197 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);194 protected Element createMetadataParamList(Document doc, HashSet<String> metadata_names) 195 { 196 Element param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 198 197 199 198 Element param = null; … … 202 201 { 203 202 String name = i.next(); 204 param = this.doc.createElement(GSXML.PARAM_ELEM);203 param = doc.createElement(GSXML.PARAM_ELEM); 205 204 param_list.appendChild(param); 206 205 param.setAttribute(GSXML.NAME_ATT, "metadata"); … … 240 239 protected void addSiteMetadata(Element element, UserContext userContext) 241 240 { 241 Document doc = element.getOwnerDocument(); 242 242 243 //ADD SITE METADATA 243 Element metadata_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext);244 Element metadata_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext); 244 245 //create a hashmap of params 245 246 HashMap subset_params = new HashMap(1); 246 247 subset_params.put(GSXML.SUBSET_PARAM, GSXML.METADATA_ELEM + GSXML.LIST_MODIFIER); 247 248 //create the element to put the params in 248 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);249 Element param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 249 250 //put them in 250 GSXML.addParametersToList( this.doc, param_list, subset_params);251 GSXML.addParametersToList(doc, param_list, subset_params); 251 252 metadata_request.appendChild(param_list); 252 253 //create the message 253 Element metadata_message = this.doc.createElement(GSXML.MESSAGE_ELEM);254 Element metadata_message = doc.createElement(GSXML.MESSAGE_ELEM); 254 255 metadata_message.appendChild(metadata_request); 255 256 //get response … … 263 264 protected void addInterfaceOptions(Element elem) 264 265 { 265 Element documentOptionList = this.doc.createElement("interfaceOptions"); 266 Document doc = elem.getOwnerDocument(); 267 268 Element documentOptionList = doc.createElement("interfaceOptions"); 266 269 for (Object key : this.config_params.keySet()) 267 270 { 268 Element option = this.doc.createElement("option");271 Element option = doc.createElement("option"); 269 272 option.setAttribute(GSXML.NAME_ATT, (String) key); 270 273 option.setAttribute(GSXML.VALUE_ATT, this.config_params.get(key).toString()); … … 276 279 protected Element getFormatInfo(String to, UserContext userContext) 277 280 { 278 Element mr_format_message = this.doc.createElement(GSXML.MESSAGE_ELEM); 279 Element mr_format_request = GSXML.createBasicRequest(this.doc, GSXML.REQUEST_TYPE_FORMAT, to, userContext); 281 // Eclipse call hierarchy shows the element returned from this method is 282 // subsequently used in a 'importNode'. For this reason it is safe here 283 // for call up our own document DOM. 284 // 285 // If this pattern changes for any reason, then the DOM will need to be 286 // passed in as a parameter 287 288 Document doc = this.converter.newDOM(); 289 290 Element mr_format_message = doc.createElement(GSXML.MESSAGE_ELEM); 291 Element mr_format_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_FORMAT, to, userContext); 280 292 mr_format_message.appendChild(mr_format_request); 281 293 -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/AppletAction.java
r26133 r28382 25 25 26 26 Element message = this.converter.nodeToElement(message_node); 27 27 Document doc = message.getOwnerDocument(); 28 28 29 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 29 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);30 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);30 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 31 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 31 32 result.appendChild(page_response); 32 33 … … 62 63 // we are processing stuff for the applet send a message to the service, type="query", and take out the something element, and return that as our result - the applet must take xml 63 64 64 Element mr_message = this.doc.createElement(GSXML.MESSAGE_ELEM);65 Element mr_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);65 Element mr_message = doc.createElement(GSXML.MESSAGE_ELEM); 66 Element mr_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 66 67 mr_message.appendChild(mr_request); 67 68 // just append all the params for now - should filter out unneeded ones 68 mr_request.appendChild( this.doc.importNode(cgi_param_list, true));69 mr_request.appendChild(doc.importNode(cgi_param_list, true)); 69 70 70 71 // process the request … … 80 81 // get the applet description, and the collection info if a collection is specified 81 82 82 Element mr_message = this.doc.createElement(GSXML.MESSAGE_ELEM);83 Element applet_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext);83 Element mr_message = doc.createElement(GSXML.MESSAGE_ELEM); 84 Element applet_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext); 84 85 mr_message.appendChild(applet_request); 85 86 … … 89 90 String path = GSPath.appendLink(GSXML.RESPONSE_ELEM, GSXML.SERVICE_ELEM); 90 91 //path = GSPath.appendLink(path, GSXML.APPLET_ELEM); 91 Element service_elem = (Element) this.doc.importNode(GSXML.getNodeByPath(mr_response, path), true);92 Element service_elem = (Element) doc.importNode(GSXML.getNodeByPath(mr_response, path), true); 92 93 Element applet_elem = (Element) GSXML.getChildByTagName(service_elem, GSXML.APPLET_ELEM); 93 94 // must handle any params that have values that are not -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/BrowseAction.java
r26026 r28382 12 12 import org.greenstone.gsdl3.util.OID; 13 13 import org.greenstone.gsdl3.util.UserContext; 14 import org.w3c.dom.Document; 14 15 import org.w3c.dom.Element; 15 16 import org.w3c.dom.Node; … … 29 30 public Node process(Node message_node) 30 31 { 31 32 32 Element message = this.converter.nodeToElement(message_node); 33 33 Document doc = message.getOwnerDocument(); 34 34 35 // get the request - assume only one 35 36 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 36 37 37 38 // the result 38 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);39 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 39 40 Element response = classifierBrowse(request); 40 41 result.appendChild(response); … … 44 45 protected Element classifierBrowse(Element request) 45 46 { 46 47 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM); 47 Document doc = request.getOwnerDocument(); 48 49 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 48 50 49 51 // extract the params from the cgi-request, and check that we have a coll specified … … 75 77 // this should be cached somehow later on. 76 78 77 Element info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);78 Element info_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext);79 Element info_message = doc.createElement(GSXML.MESSAGE_ELEM); 80 Element info_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext); 79 81 info_message.appendChild(info_request); 80 82 81 83 // also get the format stuff now if there is some 82 Element format_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_FORMAT, to, userContext);84 Element format_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_FORMAT, to, userContext); 83 85 info_message.appendChild(format_request); 84 86 // process the requests … … 92 94 93 95 Element service_description = (Element) GSXML.getChildByTagName(service_response, GSXML.SERVICE_ELEM); 94 page_response.appendChild( this.doc.importNode(service_description, true));96 page_response.appendChild(doc.importNode(service_description, true)); 95 97 96 98 //append site metadata … … 137 139 GSXSLT.mergeFormatElements(this_format, global_format_elem, false); 138 140 } 139 Element new_format = GSXML.duplicateWithNewName( this.doc, this_format, GSXML.FORMAT_ELEM, false);141 Element new_format = GSXML.duplicateWithNewName(doc, this_format, GSXML.FORMAT_ELEM, false); 140 142 // set teh format type 141 143 new_format.setAttribute(GSXML.TYPE_ATT, "browse"); … … 158 160 logger.info("extracted meta names, " + metadata_names.toString()); 159 161 // get the browse structure for the selected node 160 Element classify_message = this.doc.createElement(GSXML.MESSAGE_ELEM);161 Element classify_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);162 Element classify_message = doc.createElement(GSXML.MESSAGE_ELEM); 163 Element classify_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 162 164 classify_message.appendChild(classify_request); 163 165 164 166 //Create a parameter list to specify the required structure information 165 167 // for now, always get ancestors and children 166 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);168 Element param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 167 169 classify_request.appendChild(param_list); 168 Element param = this.doc.createElement(GSXML.PARAM_ELEM);170 Element param = doc.createElement(GSXML.PARAM_ELEM); 169 171 param_list.appendChild(param); 170 172 param.setAttribute(GSXML.NAME_ATT, "structure"); 171 173 param.setAttribute(GSXML.VALUE_ATT, "ancestors"); 172 param = this.doc.createElement(GSXML.PARAM_ELEM);174 param = doc.createElement(GSXML.PARAM_ELEM); 173 175 param_list.appendChild(param); 174 176 param.setAttribute(GSXML.NAME_ATT, "structure"); … … 176 178 if (get_siblings) 177 179 { 178 param = this.doc.createElement(GSXML.PARAM_ELEM);180 param = doc.createElement(GSXML.PARAM_ELEM); 179 181 param_list.appendChild(param); 180 182 param.setAttribute(GSXML.NAME_ATT, "structure"); … … 183 185 184 186 // put the classifier node into a classifier node list 185 Element classifier_list = this.doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER);186 Element classifier = this.doc.createElement(GSXML.CLASS_NODE_ELEM);187 Element classifier_list = doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER); 188 Element classifier = doc.createElement(GSXML.CLASS_NODE_ELEM); 187 189 classifier.setAttribute(GSXML.NODE_ID_ATT, classifier_node); 188 190 classifier_list.appendChild(classifier); … … 205 207 206 208 // add the classifier node as the page classifier 207 Element page_classifier = GSXML.duplicateWithNewName( this.doc, cl_structure, GSXML.CLASSIFIER_ELEM, true);209 Element page_classifier = GSXML.duplicateWithNewName(doc, cl_structure, GSXML.CLASSIFIER_ELEM, true); 208 210 page_response.appendChild(page_classifier); 209 211 page_classifier.setAttribute(GSXML.NAME_ATT, top_id); … … 212 214 // then for each document node 213 215 214 Element metadata_message = this.doc.createElement(GSXML.MESSAGE_ELEM);216 Element metadata_message = doc.createElement(GSXML.MESSAGE_ELEM); 215 217 216 218 boolean did_classifier = false; … … 225 227 { 226 228 did_classifier = true; 227 Element cl_meta_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to + "MetadataRetrieve", userContext);229 Element cl_meta_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to + "MetadataRetrieve", userContext); 228 230 metadata_message.appendChild(cl_meta_request); 229 231 230 Element new_cl_nodes_list = this.doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER);232 Element new_cl_nodes_list = doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER); 231 233 cl_meta_request.appendChild(new_cl_nodes_list); 232 234 … … 234 236 { 235 237 236 Element cl = this.doc.createElement(GSXML.CLASS_NODE_ELEM);238 Element cl = doc.createElement(GSXML.CLASS_NODE_ELEM); 237 239 cl.setAttribute(GSXML.NODE_ID_ATT, ((Element) cl_nodes.item(c)).getAttribute(GSXML.NODE_ID_ATT)); 238 240 new_cl_nodes_list.appendChild(cl); … … 245 247 if (metadata_names.isEmpty()) 246 248 { 247 cl_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);248 Element p = this.doc.createElement(GSXML.PARAM_ELEM);249 cl_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 250 Element p = doc.createElement(GSXML.PARAM_ELEM); 249 251 cl_param_list.appendChild(p); 250 252 p.setAttribute(GSXML.NAME_ATT, "metadata"); … … 253 255 else 254 256 { 255 cl_param_list = createMetadataParamList( metadata_names);257 cl_param_list = createMetadataParamList(doc,metadata_names); 256 258 } 257 259 … … 267 269 { 268 270 did_documents = true; 269 Element doc_meta_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, GSPath.appendLink(collection, "DocumentMetadataRetrieve"), userContext);271 Element doc_meta_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, GSPath.appendLink(collection, "DocumentMetadataRetrieve"), userContext); 270 272 metadata_message.appendChild(doc_meta_request); 271 273 272 Element doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);274 Element doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 273 275 doc_meta_request.appendChild(doc_list); 274 276 … … 276 278 { 277 279 278 Element d = this.doc.createElement(GSXML.DOC_NODE_ELEM);280 Element d = doc.createElement(GSXML.DOC_NODE_ELEM); 279 281 d.setAttribute(GSXML.NODE_ID_ATT, ((Element) doc_nodes.item(c)).getAttribute(GSXML.NODE_ID_ATT)); 280 282 doc_list.appendChild(d); … … 282 284 283 285 // create and add in the param list - add all for now 284 Element doc_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);285 Element p = this.doc.createElement(GSXML.PARAM_ELEM);286 Element doc_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 287 Element p = doc.createElement(GSXML.PARAM_ELEM); 286 288 doc_param_list.appendChild(p); 287 289 p.setAttribute(GSXML.NAME_ATT, "metadata"); -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/DepositorAction.java
r28202 r28382 43 43 { 44 44 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 45 45 Document doc = request.getOwnerDocument(); 46 46 47 UserContext uc = new UserContext((Element) request); 47 48 String currentUsername = uc.getUsername(); 48 49 49 Element responseMessage = this.doc.createElement(GSXML.MESSAGE_ELEM);50 Element response = GSXML.createBasicResponse( this.doc, this.getClass().getSimpleName());50 Element responseMessage = doc.createElement(GSXML.MESSAGE_ELEM); 51 Element response = GSXML.createBasicResponse(doc, this.getClass().getSimpleName()); 51 52 responseMessage.appendChild(response); 52 53 … … 226 227 formContainer.appendChild(callToPage); 227 228 228 Element cachedValueElement = this.doc.createElement("cachedValues");229 Element cachedValueElement = doc.createElement("cachedValues"); 229 230 response.appendChild(cachedValueElement); 230 231 try … … 232 233 for (int i = pageNum; i > 0; i--) 233 234 { 234 Element page = this.doc.createElement("pageCache");235 Element page = doc.createElement("pageCache"); 235 236 page.setAttribute("pageNum", "" + i); 236 237 String cachedValues = database.getUserData(currentUsername, "DE___" + collection + "___" + i + "___CACHED_VALUES"); 237 238 if (cachedValues != null) 238 239 { 239 page.appendChild( this.doc.createTextNode(cachedValues));240 page.appendChild(doc.createTextNode(cachedValues)); 240 241 cachedValueElement.appendChild(page); 241 242 } … … 287 288 { 288 289 ex.printStackTrace(); 289 GSXML.addError( this.doc, responseMessage, "Failed to copy the deposited file into the collection.");290 GSXML.addError(doc, responseMessage, "Failed to copy the deposited file into the collection."); 290 291 return responseMessage; 291 292 } … … 331 332 } 332 333 333 Element buildMessage = this.doc.createElement(GSXML.MESSAGE_ELEM);334 Element buildRequest = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, "ImportCollection", uc);334 Element buildMessage = doc.createElement(GSXML.MESSAGE_ELEM); 335 Element buildRequest = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, "ImportCollection", uc); 335 336 buildMessage.appendChild(buildRequest); 336 337 337 Element paramListElem = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);338 Element paramListElem = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 338 339 buildRequest.appendChild(paramListElem); 339 340 340 Element collectionParam = this.doc.createElement(GSXML.PARAM_ELEM);341 Element collectionParam = doc.createElement(GSXML.PARAM_ELEM); 341 342 paramListElem.appendChild(collectionParam); 342 343 collectionParam.setAttribute(GSXML.NAME_ATT, GSXML.COLLECTION_ATT); 343 344 collectionParam.setAttribute(GSXML.VALUE_ATT, collection); 344 345 345 Element documentsParam = this.doc.createElement(GSXML.PARAM_ELEM);346 Element documentsParam = doc.createElement(GSXML.PARAM_ELEM); 346 347 paramListElem.appendChild(documentsParam); 347 348 documentsParam.setAttribute(GSXML.NAME_ATT, "documents"); … … 350 351 Element buildResponseMessage = (Element) this.mr.process(buildMessage); 351 352 352 response.appendChild( this.doc.importNode(buildResponseMessage, true));353 response.appendChild(doc.importNode(buildResponseMessage, true)); 353 354 } 354 355 } … … 364 365 else 365 366 { 366 Element depositorPage = this.doc.createElement("depositorPage");367 Element depositorPage = doc.createElement("depositorPage"); 367 368 response.appendChild(depositorPage); 368 369 369 Element collList = getCollectionsInSite( );370 depositorPage.appendChild( this.doc.importNode(collList, true));370 Element collList = getCollectionsInSite(doc); 371 depositorPage.appendChild(doc.importNode(collList, true)); 371 372 } 372 373 … … 374 375 } 375 376 376 public Element getCollectionsInSite( )377 public Element getCollectionsInSite(Document doc) 377 378 { 378 Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);379 Element request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", new UserContext());379 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 380 Element request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, "", new UserContext()); 380 381 message.appendChild(request); 381 382 Element responseMessage = (Element) this.mr.process(message); -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/DocumentAction.java
r28258 r28382 82 82 83 83 Element message = this.converter.nodeToElement(message_node); 84 84 Document doc = message.getOwnerDocument(); 85 85 86 // the response 86 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);87 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);87 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 88 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 88 89 result.appendChild(page_response); 89 90 … … 174 175 // the_document is where all the doc info - structure and metadata etc 175 176 // is added into, to be returned in the page 176 Element the_document = this.doc.createElement(GSXML.DOCUMENT_ELEM);177 Element the_document = doc.createElement(GSXML.DOCUMENT_ELEM); 177 178 page_response.appendChild(the_document); 178 179 179 180 // create a basic doc list containing the current node 180 Element basic_doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);181 Element current_doc = this.doc.createElement(GSXML.DOC_NODE_ELEM);181 Element basic_doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 182 Element current_doc = doc.createElement(GSXML.DOC_NODE_ELEM); 182 183 basic_doc_list.appendChild(current_doc); 183 184 if (document_id != null) … … 207 208 208 209 // Create a parameter list to specify the required structure information 209 Element ds_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);210 Element ds_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 210 211 211 212 if (service_params != null) 212 213 { 213 GSXML.addParametersToList( this.doc, ds_param_list, service_params);214 GSXML.addParametersToList(doc, ds_param_list, service_params); 214 215 } 215 216 … … 223 224 if (expand_contents) 224 225 { 225 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);226 ds_param = doc.createElement(GSXML.PARAM_ELEM); 226 227 ds_param_list.appendChild(ds_param); 227 228 ds_param.setAttribute(GSXML.NAME_ATT, "structure"); … … 230 231 231 232 // get the info needed for paged naviagtion 232 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);233 ds_param = doc.createElement(GSXML.PARAM_ELEM); 233 234 ds_param_list.appendChild(ds_param); 234 235 ds_param.setAttribute(GSXML.NAME_ATT, "info"); 235 236 ds_param.setAttribute(GSXML.VALUE_ATT, "numSiblings"); 236 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);237 ds_param = doc.createElement(GSXML.PARAM_ELEM); 237 238 ds_param_list.appendChild(ds_param); 238 239 ds_param.setAttribute(GSXML.NAME_ATT, "info"); 239 240 ds_param.setAttribute(GSXML.VALUE_ATT, "numChildren"); 240 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);241 ds_param = doc.createElement(GSXML.PARAM_ELEM); 241 242 ds_param_list.appendChild(ds_param); 242 243 ds_param.setAttribute(GSXML.NAME_ATT, "info"); … … 245 246 if (get_siblings) 246 247 { 247 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);248 ds_param = doc.createElement(GSXML.PARAM_ELEM); 248 249 ds_param_list.appendChild(ds_param); 249 250 ds_param.setAttribute(GSXML.NAME_ATT, "structure"); … … 257 258 if (expand_contents) 258 259 { 259 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);260 ds_param = doc.createElement(GSXML.PARAM_ELEM); 260 261 ds_param_list.appendChild(ds_param); 261 262 ds_param.setAttribute(GSXML.NAME_ATT, "structure"); … … 265 266 { 266 267 // get the info needed for table of contents 267 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);268 ds_param = doc.createElement(GSXML.PARAM_ELEM); 268 269 ds_param_list.appendChild(ds_param); 269 270 ds_param.setAttribute(GSXML.NAME_ATT, "structure"); 270 271 ds_param.setAttribute(GSXML.VALUE_ATT, "ancestors"); 271 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);272 ds_param = doc.createElement(GSXML.PARAM_ELEM); 272 273 ds_param_list.appendChild(ds_param); 273 274 ds_param.setAttribute(GSXML.NAME_ATT, "structure"); … … 275 276 if (get_siblings) 276 277 { 277 ds_param = this.doc.createElement(GSXML.PARAM_ELEM);278 ds_param = doc.createElement(GSXML.PARAM_ELEM); 278 279 ds_param_list.appendChild(ds_param); 279 280 ds_param.setAttribute(GSXML.NAME_ATT, "structure"); … … 292 293 293 294 // Build a request to obtain the document structure 294 Element ds_message = this.doc.createElement(GSXML.MESSAGE_ELEM);295 Element ds_message = doc.createElement(GSXML.MESSAGE_ELEM); 295 296 String to = GSPath.appendLink(collection, "DocumentStructureRetrieve");// Hard-wired? 296 Element ds_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);297 Element ds_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 297 298 ds_message.appendChild(ds_request); 298 299 ds_request.appendChild(ds_param_list); … … 316 317 if (ds_response_struct_info != null) 317 318 { 318 the_document.appendChild( this.doc.importNode(ds_response_struct_info, true));319 the_document.appendChild(doc.importNode(ds_response_struct_info, true)); 319 320 } 320 321 path = GSPath.appendLink(GSXML.RESPONSE_ELEM, GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); … … 329 330 for (int i = 0; i < structs.getLength(); i++) 330 331 { 331 the_document.appendChild( this.doc.importNode(structs.item(i), true));332 the_document.appendChild(doc.importNode(structs.item(i), true)); 332 333 } 333 334 } … … 335 336 { 336 337 // no structure nodes, so put in a dummy doc node 337 Element doc_node = this.doc.createElement(GSXML.DOC_NODE_ELEM);338 Element doc_node = doc.createElement(GSXML.DOC_NODE_ELEM); 338 339 if (document_id != null) 339 340 { … … 353 354 // should think about this more 354 355 // no structure request, so just put in a dummy doc node 355 Element doc_node = this.doc.createElement(GSXML.DOC_NODE_ELEM);356 Element doc_node = doc.createElement(GSXML.DOC_NODE_ELEM); 356 357 if (document_id != null) 357 358 { … … 367 368 368 369 // Build a request to obtain some document metadata 369 Element dm_message = this.doc.createElement(GSXML.MESSAGE_ELEM);370 Element dm_message = doc.createElement(GSXML.MESSAGE_ELEM); 370 371 String to = GSPath.appendLink(collection, "DocumentMetadataRetrieve"); // Hard-wired? 371 Element dm_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);372 Element dm_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 372 373 dm_message.appendChild(dm_request); 373 374 // Create a parameter list to specify the required metadata information … … 390 391 } 391 392 392 Element dm_param_list = createMetadataParamList( meta_names);393 Element dm_param_list = createMetadataParamList(doc,meta_names); 393 394 if (service_params != null) 394 395 { 395 GSXML.addParametersToList( this.doc, dm_param_list, service_params);396 GSXML.addParametersToList(doc, dm_param_list, service_params); 396 397 } 397 398 … … 399 400 400 401 // create the doc node list for the metadata request 401 Element dm_doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);402 Element dm_doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 402 403 dm_request.appendChild(dm_doc_list); 403 404 … … 410 411 411 412 // Add the documentNode to the list 412 Element dm_doc_node = this.doc.createElement(GSXML.DOC_NODE_ELEM);413 Element dm_doc_node = doc.createElement(GSXML.DOC_NODE_ELEM); 413 414 dm_doc_list.appendChild(dm_doc_node); 414 415 dm_doc_node.setAttribute(GSXML.NODE_ID_ATT, doc_node_id); … … 418 419 // we also want a metadata request to the top level document to get 419 420 // assocfilepath - this could be cached too 420 Element doc_meta_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);421 Element doc_meta_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 421 422 dm_message.appendChild(doc_meta_request); 422 Element doc_meta_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);423 Element doc_meta_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 423 424 if (service_params != null) 424 425 { 425 GSXML.addParametersToList( this.doc, doc_meta_param_list, service_params);426 GSXML.addParametersToList(doc, doc_meta_param_list, service_params); 426 427 } 427 428 428 429 doc_meta_request.appendChild(doc_meta_param_list); 429 Element doc_param = this.doc.createElement(GSXML.PARAM_ELEM);430 Element doc_param = doc.createElement(GSXML.PARAM_ELEM); 430 431 doc_meta_param_list.appendChild(doc_param); 431 432 doc_param.setAttribute(GSXML.NAME_ATT, "metadata"); … … 433 434 434 435 // create the doc node list for the metadata request 435 Element doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);436 Element doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 436 437 doc_meta_request.appendChild(doc_list); 437 438 438 Element doc_node = this.doc.createElement(GSXML.DOC_NODE_ELEM);439 Element doc_node = doc.createElement(GSXML.DOC_NODE_ELEM); 439 440 // the node we want is the root document node 440 441 if (document_id != null) … … 472 473 473 474 // Build a request to obtain some document content 474 Element dc_message = this.doc.createElement(GSXML.MESSAGE_ELEM);475 Element dc_message = doc.createElement(GSXML.MESSAGE_ELEM); 475 476 to = GSPath.appendLink(collection, "DocumentContentRetrieve"); // Hard-wired? 476 Element dc_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);477 Element dc_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 477 478 dc_message.appendChild(dc_request); 478 479 479 480 // Create a parameter list to specify the request parameters - empty for now 480 Element dc_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);481 Element dc_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 481 482 if (service_params != null) 482 483 { 483 GSXML.addParametersToList( this.doc, dc_param_list, service_params);484 GSXML.addParametersToList(doc, dc_param_list, service_params); 484 485 } 485 486 … … 518 519 content = highlightQueryTerms(request, (Element) content); 519 520 } 520 doc_nodes.item(i).appendChild( this.doc.importNode(content, true));521 doc_nodes.item(i).appendChild(doc.importNode(content, true)); 521 522 } 522 523 //GSXML.mergeMetadataLists(doc_nodes.item(i), dm_response_docs.item(i)); … … 561 562 String enrich_service = (String) params.get(GSParams.SERVICE); 562 563 // send a message to the service 563 Element enrich_message = this.doc.createElement(GSXML.MESSAGE_ELEM);564 Element enrich_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, enrich_service, userContext);564 Element enrich_message = doc.createElement(GSXML.MESSAGE_ELEM); 565 Element enrich_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, enrich_service, userContext); 565 566 enrich_message.appendChild(enrich_request); 566 567 // check for parameters … … 568 569 if (e_service_params != null) 569 570 { 570 Element enrich_pl = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);571 GSXML.addParametersToList( this.doc, enrich_pl, e_service_params);571 Element enrich_pl = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 572 GSXML.addParametersToList(doc, enrich_pl, e_service_params); 572 573 enrich_request.appendChild(enrich_pl); 573 574 } 574 Element e_doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);575 Element e_doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 575 576 enrich_request.appendChild(e_doc_list); 576 e_doc_list.appendChild( this.doc.importNode(dc_response_doc, true));577 e_doc_list.appendChild(doc.importNode(dc_response_doc, true)); 577 578 578 579 Node enrich_response = this.mr.process(enrich_message); … … 595 596 596 597 dummy_node.setAttribute(GSXML.NODE_ID_ATT, modified_doc_id); 597 dummy_node.appendChild( this.doc.importNode(dc_response_doc_content, true));598 dummy_node.appendChild(doc.importNode(dc_response_doc_content, true)); 598 599 // hack for simple type 599 600 if (document_type.equals(GSXML.DOC_TYPE_SIMPLE)) … … 630 631 if (dn_id.equals(modified_doc_id)) 631 632 { 632 dn.appendChild( this.doc.importNode(dc_response_doc_content, true));633 dn.appendChild(doc.importNode(dc_response_doc_content, true)); 633 634 break; 634 635 } … … 663 664 protected boolean getBackgroundData(Element page_response, String collection, UserContext userContext) 664 665 { 665 666 Document doc = page_response.getOwnerDocument(); 667 666 668 // create a message to process - contains requests for the collection 667 669 // description, the format element, the enrich services on offer 668 670 // these could all be cached 669 Element info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);671 Element info_message = doc.createElement(GSXML.MESSAGE_ELEM); 670 672 String path = GSPath.appendLink(collection, "DocumentContentRetrieve"); 671 673 // the format request - ignore for now, where does this request go to?? 672 Element format_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_FORMAT, path, userContext);674 Element format_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_FORMAT, path, userContext); 673 675 info_message.appendChild(format_request); 674 676 … … 677 679 if (provide_annotations) 678 680 { 679 Element enrich_services_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext);681 Element enrich_services_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext); 680 682 enrich_services_request.setAttribute(GSXML.INFO_ATT, "serviceList"); 681 683 info_message.appendChild(enrich_services_request); … … 699 701 // set the format type 700 702 format_elem.setAttribute(GSXML.TYPE_ATT, "display"); 701 page_response.appendChild( this.doc.importNode(format_elem, true));703 page_response.appendChild(doc.importNode(format_elem, true)); 702 704 } 703 705 … … 707 709 708 710 // a new message for the mr 709 Element enrich_message = this.doc.createElement(GSXML.MESSAGE_ELEM);711 Element enrich_message = doc.createElement(GSXML.MESSAGE_ELEM); 710 712 NodeList e_services = services_resp.getElementsByTagName(GSXML.SERVICE_ELEM); 711 713 boolean service_found = false; … … 714 716 if (((Element) e_services.item(j)).getAttribute(GSXML.TYPE_ATT).equals("enrich")) 715 717 { 716 Element s = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, ((Element) e_services.item(j)).getAttribute(GSXML.NAME_ATT), userContext);718 Element s = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, ((Element) e_services.item(j)).getAttribute(GSXML.NAME_ATT), userContext); 717 719 enrich_message.appendChild(s); 718 720 service_found = true; … … 724 726 725 727 NodeList e_responses = enrich_response.getElementsByTagName(GSXML.RESPONSE_ELEM); 726 Element service_list = this.doc.createElement(GSXML.SERVICE_ELEM + GSXML.LIST_MODIFIER);728 Element service_list = doc.createElement(GSXML.SERVICE_ELEM + GSXML.LIST_MODIFIER); 727 729 for (int i = 0; i < e_responses.getLength(); i++) 728 730 { 729 731 Element e_resp = (Element) e_responses.item(i); 730 Element e_service = (Element) this.doc.importNode(GSXML.getChildByTagName(e_resp, GSXML.SERVICE_ELEM), true);732 Element e_service = (Element) doc.importNode(GSXML.getChildByTagName(e_resp, GSXML.SERVICE_ELEM), true); 731 733 e_service.setAttribute(GSXML.NAME_ATT, e_resp.getAttribute(GSXML.FROM_ATT)); 732 734 service_list.appendChild(e_service); … … 741 743 protected String getDocumentType(Element basic_doc_list, String collection, UserContext userContext, Element page_response) 742 744 { 743 Element ds_message = this.doc.createElement(GSXML.MESSAGE_ELEM); 745 Document doc = basic_doc_list.getOwnerDocument(); 746 747 Element ds_message = doc.createElement(GSXML.MESSAGE_ELEM); 744 748 String to = GSPath.appendLink(collection, "DocumentStructureRetrieve");// Hard-wired? 745 Element ds_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);749 Element ds_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 746 750 ds_message.appendChild(ds_request); 747 751 748 752 // Create a parameter list to specify the required structure information 749 Element ds_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);750 Element ds_param = this.doc.createElement(GSXML.PARAM_ELEM);753 Element ds_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 754 Element ds_param = doc.createElement(GSXML.PARAM_ELEM); 751 755 ds_param_list.appendChild(ds_param); 752 756 ds_param.setAttribute(GSXML.NAME_ATT, "info"); … … 787 791 protected Element highlightQueryTerms(Element request, Element dc_response_doc_content) 788 792 { 793 Document doc = request.getOwnerDocument(); 794 789 795 // do the query again to get term info 790 796 Element cgi_param_list = (Element) GSXML.getChildByTagName(request, GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); … … 806 812 String to = GSPath.appendLink(collection, service_name); 807 813 808 Element mr_query_message = this.doc.createElement(GSXML.MESSAGE_ELEM);809 Element mr_query_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);814 Element mr_query_message = doc.createElement(GSXML.MESSAGE_ELEM); 815 Element mr_query_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 810 816 mr_query_message.appendChild(mr_query_request); 811 817 … … 813 819 HashMap service_params = (HashMap) params.get("s1"); 814 820 815 Element query_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);816 GSXML.addParametersToList( this.doc, query_param_list, service_params);821 Element query_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 822 GSXML.addParametersToList(doc, query_param_list, service_params); 817 823 mr_query_request.appendChild(query_param_list); 818 824 … … 969 975 } 970 976 971 return highlightQueryTermsInternal( content, query_term_variants, phrase_query_term_variants_hierarchy);977 return highlightQueryTermsInternal(doc, content, query_term_variants, phrase_query_term_variants_hierarchy); 972 978 } 973 979 … … 975 981 * Highlights query terms in a piece of text. 976 982 */ 977 private Element highlightQueryTermsInternal( String content, HashSet<String> query_term_variants, ArrayList<ArrayList<HashSet<String>>> phrase_query_term_variants_hierarchy)983 private Element highlightQueryTermsInternal(Document doc, String content, HashSet<String> query_term_variants, ArrayList<ArrayList<HashSet<String>>> phrase_query_term_variants_hierarchy) 978 984 { 979 985 // Convert the content string to an array of characters for speed … … 1122 1128 1123 1129 // Now add the annotation tags into the document at the correct points 1124 Element content_element = this.doc.createElement(GSXML.NODE_CONTENT_ELEM);1130 Element content_element = doc.createElement(GSXML.NODE_CONTENT_ELEM); 1125 1131 1126 1132 int last_wrote = 0; … … 1134 1140 { 1135 1141 String preceding_text = new String(content_characters, last_wrote, (highlight_start - last_wrote)); 1136 content_element.appendChild( this.doc.createTextNode(preceding_text));1142 content_element.appendChild(doc.createTextNode(preceding_text)); 1137 1143 } 1138 1144 … … 1141 1147 { 1142 1148 String highlight_text = new String(content_characters, highlight_start, (highlight_end - highlight_start)); 1143 Element annotation_element = GSXML.createTextElement( this.doc, "annotation", highlight_text);1149 Element annotation_element = GSXML.createTextElement(doc, "annotation", highlight_text); 1144 1150 annotation_element.setAttribute("type", "query_term"); 1145 1151 content_element.appendChild(annotation_element); … … 1152 1158 { 1153 1159 String remaining_text = new String(content_characters, last_wrote, (content_characters.length - last_wrote)); 1154 content_element.appendChild( this.doc.createTextNode(remaining_text));1160 content_element.appendChild(doc.createTextNode(remaining_text)); 1155 1161 } 1156 1162 -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/FormatAction.java
r25635 r28382 41 41 42 42 Element message = this.converter.nodeToElement(message_node); 43 43 Document doc = message.getOwnerDocument(); 44 44 45 // assume only one request 45 46 Element request = (Element)GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); … … 51 52 HashMap<String, Serializable> params = GSXML.extractParams(cgi_param_list, false); 52 53 53 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);54 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 54 55 55 56 String coll = (String)params.get(GSParams.COLLECTION); //SYSTEM_CLUSTER); … … 62 63 } 63 64 64 Element mr_request_message = this.doc.createElement(GSXML.MESSAGE_ELEM);65 Element mr_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_FORMAT_STRING, to, userContext);65 Element mr_request_message = doc.createElement(GSXML.MESSAGE_ELEM); 66 Element mr_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_FORMAT_STRING, to, userContext); 66 67 67 68 mr_request.setAttribute("service", service); … … 74 75 String format_string = (String)params.get("data"); 75 76 76 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);77 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 77 78 78 79 Iterator<String> it = params.keySet().iterator(); … … 80 81 if(subaction.equals("saveDocument")) 81 82 { 82 Element format = this.doc.createElement(GSXML.FORMAT_STRING_ELEM);83 Element format = doc.createElement(GSXML.FORMAT_STRING_ELEM); 83 84 try{ 84 85 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); … … 88 89 Node n1 = d.getFirstChild(); 89 90 90 Element format_statement = (Element) this.doc.importNode(n1, true);91 Element format_statement = (Element) doc.importNode(n1, true); 91 92 format.appendChild(format_statement); 92 93 mr_request.appendChild(format); … … 126 127 transformed = ((Document)transformed).getDocumentElement(); 127 128 128 Element format = this.doc.createElement(GSXML.FORMAT_STRING_ELEM);129 format.appendChild( this.doc.importNode(transformed,true));129 Element format = doc.createElement(GSXML.FORMAT_STRING_ELEM); 130 format.appendChild(doc.importNode(transformed,true)); 130 131 mr_request.appendChild(format); 131 132 logger.error("Transformed: "+transformed); … … 145 146 Node response_message = this.mr.process(mr_request_message); 146 147 147 result.appendChild(GSXML.duplicateWithNewName( this.doc, (Element)GSXML.getChildByTagName(response_message, GSXML.RESPONSE_ELEM), GSXML.RESPONSE_ELEM, true));148 result.appendChild(GSXML.duplicateWithNewName(doc, (Element)GSXML.getChildByTagName(response_message, GSXML.RESPONSE_ELEM), GSXML.RESPONSE_ELEM, true)); 148 149 return result; 149 150 -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/GS2BrowseAction.java
r26508 r28382 12 12 import org.greenstone.gsdl3.util.OID; 13 13 import org.greenstone.gsdl3.util.UserContext; 14 import org.w3c.dom.Document; 14 15 import org.w3c.dom.Element; 15 16 import org.w3c.dom.Node; … … 29 30 public Node process(Node message_node) 30 31 { 31 32 32 Element message = this.converter.nodeToElement(message_node); 33 33 Document doc = message.getOwnerDocument(); 34 34 35 // get the request - assume only one 35 36 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 36 37 37 38 // the result 38 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);39 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 39 40 Element response = classifierBrowse(request); 40 41 result.appendChild(response); … … 44 45 protected Element classifierBrowse(Element request) 45 46 { 46 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM); 47 Document doc = request.getOwnerDocument(); 48 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 47 49 48 50 // extract the params from the cgi-request, and check that we have a coll specified … … 72 74 // this should be cached somehow later on. 73 75 74 Element info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);75 Element info_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext);76 Element info_message = doc.createElement(GSXML.MESSAGE_ELEM); 77 Element info_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext); 76 78 info_message.appendChild(info_request); 77 79 78 80 // also get the format stuff now if there is some 79 Element format_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_FORMAT, to, userContext);81 Element format_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_FORMAT, to, userContext); 80 82 info_message.appendChild(format_request); 81 83 // process the requests … … 89 91 90 92 Element service_description = (Element) GSXML.getChildByTagName(service_response, GSXML.SERVICE_ELEM); 91 page_response.appendChild( this.doc.importNode(service_description, true));93 page_response.appendChild(doc.importNode(service_description, true)); 92 94 93 95 //append site metadata … … 139 141 } 140 142 141 Element new_format = GSXML.duplicateWithNewName( this.doc, this_format, GSXML.FORMAT_ELEM, false);143 Element new_format = GSXML.duplicateWithNewName(doc, this_format, GSXML.FORMAT_ELEM, false); 142 144 extractMetadataNames(new_format, doc_meta_names, class_meta_names); 143 145 … … 164 166 165 167 // get the browse structure for the selected node 166 Element classify_message = this.doc.createElement(GSXML.MESSAGE_ELEM);167 Element classify_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);168 Element classify_message = doc.createElement(GSXML.MESSAGE_ELEM); 169 Element classify_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 168 170 classify_message.appendChild(classify_request); 169 171 170 172 //Create a parameter list to specify the required structure information 171 173 // for now, always get ancestors and children 172 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);174 Element param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 173 175 classify_request.appendChild(param_list); 174 Element param = this.doc.createElement(GSXML.PARAM_ELEM);176 Element param = doc.createElement(GSXML.PARAM_ELEM); 175 177 param_list.appendChild(param); 176 178 param.setAttribute(GSXML.NAME_ATT, "structure"); 177 179 param.setAttribute(GSXML.VALUE_ATT, "ancestors"); 178 param = this.doc.createElement(GSXML.PARAM_ELEM);180 param = doc.createElement(GSXML.PARAM_ELEM); 179 181 param_list.appendChild(param); 180 182 param.setAttribute(GSXML.NAME_ATT, "structure"); … … 183 185 if (get_descendants) 184 186 { 185 param = this.doc.createElement(GSXML.PARAM_ELEM);187 param = doc.createElement(GSXML.PARAM_ELEM); 186 188 param_list.appendChild(param); 187 189 param.setAttribute(GSXML.NAME_ATT, "structure"); … … 191 193 192 194 // put the classifier node into a classifier node list 193 Element classifier_list = this.doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER);194 Element classifier = this.doc.createElement(GSXML.CLASS_NODE_ELEM);195 Element classifier_list = doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER); 196 Element classifier = doc.createElement(GSXML.CLASS_NODE_ELEM); 195 197 classifier.setAttribute(GSXML.NODE_ID_ATT, classifier_node); 196 198 classifier_list.appendChild(classifier); … … 233 235 if (firstChildIsClassifierNode) 234 236 { 235 Element childStructure = getClassifierStructureFromID( classifier_node + ".1", request, collection, service_name);237 Element childStructure = getClassifierStructureFromID(doc, classifier_node + ".1", request, collection, service_name); 236 238 237 239 Element replacementElem = null; … … 266 268 else 267 269 { 268 Element childStructure = getClassifierStructureFromID( OID.getTop(classifier_node), request, collection, service_name);270 Element childStructure = getClassifierStructureFromID(doc, OID.getTop(classifier_node), request, collection, service_name); 269 271 270 272 String[] idParts = classifier_node.split("\\."); … … 305 307 Element page_classifier = null; 306 308 // add the single classifier node as the page classifier 307 page_classifier = GSXML.duplicateWithNewName( this.doc, cl_structure, GSXML.CLASSIFIER_ELEM, true);309 page_classifier = GSXML.duplicateWithNewName(doc, cl_structure, GSXML.CLASSIFIER_ELEM, true); 308 310 page_response.appendChild(page_classifier); 309 311 page_classifier.setAttribute(GSXML.NAME_ATT, top_id); … … 312 314 // then for each document node 313 315 314 Element metadata_message = this.doc.createElement(GSXML.MESSAGE_ELEM);316 Element metadata_message = doc.createElement(GSXML.MESSAGE_ELEM); 315 317 316 318 boolean did_classifier = false; … … 325 327 { 326 328 did_classifier = true; 327 Element cl_meta_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to + "MetadataRetrieve", userContext);329 Element cl_meta_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to + "MetadataRetrieve", userContext); 328 330 metadata_message.appendChild(cl_meta_request); 329 331 330 Element new_cl_nodes_list = this.doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER);332 Element new_cl_nodes_list = doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER); 331 333 cl_meta_request.appendChild(new_cl_nodes_list); 332 334 … … 334 336 { 335 337 336 Element cl = this.doc.createElement(GSXML.CLASS_NODE_ELEM);338 Element cl = doc.createElement(GSXML.CLASS_NODE_ELEM); 337 339 cl.setAttribute(GSXML.NODE_ID_ATT, ((Element) cl_nodes.item(c)).getAttribute(GSXML.NODE_ID_ATT)); 338 340 new_cl_nodes_list.appendChild(cl); … … 342 344 // should be based on info sent in from the recept, and the 343 345 // format stuff 344 Element cl_param_list = createMetadataParamList( class_meta_names);346 Element cl_param_list = createMetadataParamList(doc,class_meta_names); 345 347 cl_meta_request.appendChild(cl_param_list); 346 348 … … 354 356 { 355 357 did_documents = true; 356 Element doc_meta_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, GSPath.appendLink(collection, "DocumentMetadataRetrieve"), userContext);358 Element doc_meta_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, GSPath.appendLink(collection, "DocumentMetadataRetrieve"), userContext); 357 359 metadata_message.appendChild(doc_meta_request); 358 360 359 Element doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);361 Element doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 360 362 doc_meta_request.appendChild(doc_list); 361 363 … … 363 365 { 364 366 365 Element d = this.doc.createElement(GSXML.DOC_NODE_ELEM);367 Element d = doc.createElement(GSXML.DOC_NODE_ELEM); 366 368 d.setAttribute(GSXML.NODE_ID_ATT, ((Element) doc_nodes.item(c)).getAttribute(GSXML.NODE_ID_ATT)); 367 369 doc_list.appendChild(d); … … 369 371 370 372 // create and add in the param list - add all for now 371 Element doc_param_list = createMetadataParamList(doc _meta_names);373 Element doc_param_list = createMetadataParamList(doc,doc_meta_names); 372 374 doc_meta_request.appendChild(doc_param_list); 373 375 … … 431 433 } 432 434 433 private Element getClassifierStructureFromID( String id, Element request, String collection, String service_name)435 private Element getClassifierStructureFromID(Document doc, String id, Element request, String collection, String service_name) 434 436 { 435 437 UserContext userContext = new UserContext(request); 436 438 String to = GSPath.appendLink(collection, service_name); 437 439 438 Element firstClassifierNodeChildrenMessage = this.doc.createElement(GSXML.MESSAGE_ELEM);439 Element firstClassifierNodeChildrenRequest = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);440 Element firstClassifierNodeChildrenMessage = doc.createElement(GSXML.MESSAGE_ELEM); 441 Element firstClassifierNodeChildrenRequest = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 440 442 firstClassifierNodeChildrenMessage.appendChild(firstClassifierNodeChildrenRequest); 441 443 442 Element paramList = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);444 Element paramList = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 443 445 firstClassifierNodeChildrenRequest.appendChild(paramList); 444 446 445 Element ancestorParam = this.doc.createElement(GSXML.PARAM_ELEM);447 Element ancestorParam = doc.createElement(GSXML.PARAM_ELEM); 446 448 paramList.appendChild(ancestorParam); 447 449 ancestorParam.setAttribute(GSXML.NAME_ATT, "structure"); 448 450 ancestorParam.setAttribute(GSXML.VALUE_ATT, "ancestors"); 449 451 450 Element childrenParam = this.doc.createElement(GSXML.PARAM_ELEM);452 Element childrenParam = doc.createElement(GSXML.PARAM_ELEM); 451 453 paramList.appendChild(childrenParam); 452 454 childrenParam.setAttribute(GSXML.NAME_ATT, "structure"); 453 455 childrenParam.setAttribute(GSXML.VALUE_ATT, "children"); 454 456 455 Element classifierToGetList = this.doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER);456 Element classifierToGet = this.doc.createElement(GSXML.CLASS_NODE_ELEM);457 Element classifierToGetList = doc.createElement(GSXML.CLASS_NODE_ELEM + GSXML.LIST_MODIFIER); 458 Element classifierToGet = doc.createElement(GSXML.CLASS_NODE_ELEM); 457 459 classifierToGet.setAttribute(GSXML.NODE_ID_ATT, id); 458 460 classifierToGetList.appendChild(classifierToGet); -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/GeneralAction.java
r28202 r28382 31 31 { 32 32 Element message = this.converter.nodeToElement(message_node); 33 33 Document doc = message.getOwnerDocument(); 34 34 35 // the result 35 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);36 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);36 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 37 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 37 38 result.appendChild(page_response); 38 39 … … 87 88 { 88 89 //do the request 89 Element mr_query_message = this.doc.createElement(GSXML.MESSAGE_ELEM);90 Element mr_query_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);90 Element mr_query_message = doc.createElement(GSXML.MESSAGE_ELEM); 91 Element mr_query_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 91 92 92 93 if (request_type.equals("s")) … … 102 103 if (service_params != null) 103 104 { 104 param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);105 GSXML.addParametersToList( this.doc, param_list, service_params);105 param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 106 GSXML.addParametersToList(doc, param_list, service_params); 106 107 mr_query_request.appendChild(param_list); 107 108 } … … 110 111 if (userInformation != null) 111 112 { 112 mr_query_request.appendChild( this.doc.importNode(userInformation, true));113 mr_query_request.appendChild(doc.importNode(userInformation, true)); 113 114 } 114 115 mr_query_request.setAttribute("remoteAddress", request.getAttribute("remoteAddress")); … … 134 135 135 136 // request the service info for the selected service - should be cached 136 Element mr_info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);137 Element mr_info_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext);137 Element mr_info_message = doc.createElement(GSXML.MESSAGE_ELEM); 138 Element mr_info_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext); 138 139 mr_info_message.appendChild(mr_info_request); 139 140 Element mr_info_response = (Element) this.mr.process(mr_info_message); … … 145 146 if (desNode != null) 146 147 { 147 page_response.appendChild((Element) this.doc.importNode(desNode, true));148 page_response.appendChild((Element) doc.importNode(desNode, true)); 148 149 } 149 150 -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/NoCollQueryAction.java
r25635 r28382 38 38 39 39 Element message = this.converter.nodeToElement(message_node); 40 40 Document doc = message.getOwnerDocument(); 41 41 42 // get the request - assume there is only one 42 43 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 43 44 44 45 // create the return message 45 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);46 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 46 47 // for now we only have one type of query - subaction not used 47 48 Element response = basicQuery(request); 48 result.appendChild( this.doc.importNode(response, true));49 result.appendChild(doc.importNode(response, true)); 49 50 return result; 50 51 } … … 52 53 /** 53 54 * a generic query handler this gets the service description, does the query 54 * (just passes all t ehparams to the service, then gets the titles for any55 * (just passes all the params to the service, then gets the titles for any 55 56 * results 56 57 */ 57 58 protected Element basicQuery(Element request) 58 59 { 59 60 60 // the result 61 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM); 61 Document doc = request.getOwnerDocument(); 62 63 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 62 64 63 65 // extract the params from the cgi-request, and check that we have a coll specified … … 72 74 // the only info we need to return is the collection list cos the xslt does teh rest 73 75 74 Element coll_list = getCollectionList( userContext);75 page_response.appendChild( this.doc.importNode(coll_list, true));76 Element coll_list = getCollectionList(doc, userContext); 77 page_response.appendChild(doc.importNode(coll_list, true)); 76 78 return page_response; 77 79 … … 89 91 { 90 92 logger.error("no collections were specified!"); 91 Element coll_list = getCollectionList( userContext);92 page_response.appendChild( this.doc.importNode(coll_list, true));93 Element coll_list = getCollectionList(doc,userContext); 94 page_response.appendChild(doc.importNode(coll_list, true)); 93 95 return page_response; 94 96 } … … 100 102 return page_response; 101 103 } 102 Element query_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);103 GSXML.addParametersToList( this.doc, query_param_list, service_params);104 Element query_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 105 GSXML.addParametersToList(doc, query_param_list, service_params); 104 106 105 107 // we will do a query for each coll 106 108 String[] colls = query_coll_list.split(","); 107 109 108 Element mr_query_message = this.doc.createElement(GSXML.MESSAGE_ELEM);110 Element mr_query_message = doc.createElement(GSXML.MESSAGE_ELEM); 109 111 110 112 for (int i = 0; i < colls.length; i++) 111 113 { 112 114 String to = GSPath.appendLink(colls[i], service_name); 113 Element mr_query_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);115 Element mr_query_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 114 116 mr_query_message.appendChild(mr_query_request); 115 117 mr_query_request.appendChild(query_param_list.cloneNode(true)); … … 121 123 122 124 // get the Title metadata for each node - need Node title and root title 123 Element mr_meta_message = this.doc.createElement(GSXML.MESSAGE_ELEM);125 Element mr_meta_message = doc.createElement(GSXML.MESSAGE_ELEM); 124 126 NodeList responses = mr_query_response.getElementsByTagName(GSXML.RESPONSE_ELEM); 125 127 for (int j = 0; j < responses.getLength(); j++) … … 130 132 String coll_name = extractCollName(((Element) responses.item(j)).getAttribute(GSXML.FROM_ATT)); 131 133 String path = GSPath.appendLink(coll_name, "DocumentMetadataRetrieve"); 132 Element mr_meta_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, path, userContext);134 Element mr_meta_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, path, userContext); 133 135 mr_meta_message.appendChild(mr_meta_request); 134 mr_meta_request.appendChild( this.doc.importNode(document_list, true));136 mr_meta_request.appendChild(doc.importNode(document_list, true)); 135 137 // metadata params 136 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);137 Element param = GSXML.createParameter( this.doc, "metadata", "Title");138 Element param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 139 Element param = GSXML.createParameter(doc, "metadata", "Title"); 138 140 param_list.appendChild(param); 139 param = GSXML.createParameter( this.doc, "metadata", "root_Title");141 param = GSXML.createParameter(doc, "metadata", "root_Title"); 140 142 param_list.appendChild(param); 141 143 mr_meta_request.appendChild(param_list); … … 148 150 149 151 // the result 150 Element result_doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);152 Element result_doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 151 153 page_response.appendChild(result_doc_list); 152 154 … … 182 184 } 183 185 184 protected Element getCollectionList( UserContext userContext)186 protected Element getCollectionList(Document doc, UserContext userContext) 185 187 { 186 188 187 189 // first, get the message router info 188 Element coll_list_message = this.doc.createElement(GSXML.MESSAGE_ELEM);189 Element coll_list_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext);190 Element coll_list_message = doc.createElement(GSXML.MESSAGE_ELEM); 191 Element coll_list_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext); 190 192 coll_list_message.appendChild(coll_list_request); 191 193 Element coll_list_response = (Element) this.mr.process(coll_list_message); … … 199 201 NodeList colls = coll_list_response.getElementsByTagName(GSXML.COLLECTION_ELEM); 200 202 201 Element coll_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);202 Element param = GSXML.createParameter( this.doc, GSXML.SUBSET_PARAM, GSXML.DISPLAY_TEXT_ELEM + GSXML.LIST_MODIFIER);203 Element coll_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 204 Element param = GSXML.createParameter(doc, GSXML.SUBSET_PARAM, GSXML.DISPLAY_TEXT_ELEM + GSXML.LIST_MODIFIER); 203 205 coll_param_list.appendChild(param); 204 206 // we will send all the requests in a single message 205 Element metadata_message = this.doc.createElement(GSXML.MESSAGE_ELEM);207 Element metadata_message = doc.createElement(GSXML.MESSAGE_ELEM); 206 208 for (int i = 0; i < colls.getLength(); i++) 207 209 { … … 209 211 String name = c.getAttribute(GSXML.NAME_ATT); 210 212 211 Element metadata_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, name, userContext);213 Element metadata_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, name, userContext); 212 214 metadata_request.appendChild(coll_param_list.cloneNode(true)); 213 215 metadata_message.appendChild(metadata_request); -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/PageAction.java
r27617 r28382 10 10 import org.greenstone.gsdl3.util.UserContext; 11 11 import org.greenstone.util.GlobalProperties; 12 import org.w3c.dom.Document; 12 13 import org.w3c.dom.Element; 13 14 import org.w3c.dom.Node; … … 26 27 { 27 28 Element message = this.converter.nodeToElement(message_node); 29 Document doc = message.getOwnerDocument(); 30 28 31 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 29 32 Element paramList = (Element) GSXML.getChildByTagName(request, GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); … … 44 47 page_name = HOME_PAGE; 45 48 } 46 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);49 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 47 50 Element response; 48 51 if (page_name.equals(HOME_PAGE)) … … 66 69 } 67 70 68 Element formatMessage = this.doc.createElement(GSXML.MESSAGE_ELEM);69 Element formatRequest = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_FORMAT, collection, new UserContext(request));71 Element formatMessage = doc.createElement(GSXML.MESSAGE_ELEM); 72 Element formatRequest = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_FORMAT, collection, new UserContext(request)); 70 73 formatMessage.appendChild(formatRequest); 71 74 Element formatResponseMessage = (Element) this.mr.process(formatMessage); … … 78 81 } 79 82 80 result.appendChild( this.doc.importNode(response, true));83 result.appendChild(doc.importNode(response, true)); 81 84 logger.debug("page action result: " + this.converter.getPrettyString(result)); 82 85 … … 86 89 protected Element homePage(Element request) 87 90 { 91 Document doc = request.getOwnerDocument(); 92 88 93 UserContext userContext = new UserContext(request); 89 94 // first, get the message router info 90 Element info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);91 Element coll_list_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext);95 Element info_message = doc.createElement(GSXML.MESSAGE_ELEM); 96 Element coll_list_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, "", userContext); 92 97 info_message.appendChild(coll_list_request); 93 98 Element info_response_message = (Element) this.mr.process(info_message); … … 113 118 if (colls.getLength() > 0) 114 119 { 115 sendMultipleRequests( colls, null, GSXML.REQUEST_TYPE_DESCRIBE, userContext);120 sendMultipleRequests(doc, colls, null, GSXML.REQUEST_TYPE_DESCRIBE, userContext); 116 121 } 117 122 } … … 124 129 if (services.getLength() > 0) 125 130 { 126 sendMultipleRequests( services, null, GSXML.REQUEST_TYPE_DESCRIBE, userContext);131 sendMultipleRequests(doc, services, null, GSXML.REQUEST_TYPE_DESCRIBE, userContext); 127 132 } 128 133 } … … 135 140 if (clusters.getLength() > 0) 136 141 { 137 sendMultipleRequests( clusters, null, GSXML.REQUEST_TYPE_DESCRIBE, userContext);142 sendMultipleRequests(doc, clusters, null, GSXML.REQUEST_TYPE_DESCRIBE, userContext); 138 143 139 144 } … … 149 154 protected Element aboutPage(Element request) 150 155 { 156 Document doc = request.getOwnerDocument(); 157 151 158 UserContext userContext = new UserContext(request); 152 159 // extract the params from the cgi-request, … … 159 166 logger.error("about page requested with no collection or cluster specified!"); 160 167 // return an empty response 161 Element response = this.doc.createElement(GSXML.RESPONSE_ELEM);168 Element response = doc.createElement(GSXML.RESPONSE_ELEM); 162 169 addSiteMetadata(response, userContext); 163 170 addInterfaceOptions(response); … … 166 173 167 174 // get the collection or cluster description 168 Element coll_about_message = this.doc.createElement(GSXML.MESSAGE_ELEM);169 170 Element coll_about_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, coll_name, userContext);175 Element coll_about_message = doc.createElement(GSXML.MESSAGE_ELEM); 176 177 Element coll_about_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, coll_name, userContext); 171 178 coll_about_message.appendChild(coll_about_request); 172 179 Element coll_about_response = (Element) this.mr.process(coll_about_message); … … 213 220 if (services.getLength() > 0) 214 221 { 215 sendMultipleRequests( services, coll_name, GSXML.REQUEST_TYPE_DESCRIBE, userContext);222 sendMultipleRequests(doc, services, coll_name, GSXML.REQUEST_TYPE_DESCRIBE, userContext); 216 223 } 217 224 … … 231 238 protected Element unknownPage(Element request) 232 239 { 240 Document doc = request.getOwnerDocument(); 241 233 242 UserContext userContext = new UserContext(request); 234 243 String page_name = request.getAttribute(GSXML.SUBACTION_ATT); … … 242 251 { 243 252 // just return an empty response 244 Element response = this.doc.createElement(GSXML.RESPONSE_ELEM);253 Element response = doc.createElement(GSXML.RESPONSE_ELEM); 245 254 addSiteMetadata(response, userContext); 246 255 addInterfaceOptions(response); … … 252 261 // if there is a service specified should we get the service description instead?? 253 262 // get the collection or cluster description 254 Element coll_about_message = this.doc.createElement(GSXML.MESSAGE_ELEM);255 256 Element coll_about_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, coll_name, userContext);263 Element coll_about_message = doc.createElement(GSXML.MESSAGE_ELEM); 264 265 Element coll_about_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, coll_name, userContext); 257 266 coll_about_message.appendChild(coll_about_request); 258 267 … … 269 278 } 270 279 271 protected boolean sendMultipleRequests( NodeList items, String path_prefix, String request_type, UserContext userContext)280 protected boolean sendMultipleRequests(Document doc, NodeList items, String path_prefix, String request_type, UserContext userContext) 272 281 { 273 282 // we will send all the requests in a single message 274 Element message = this.doc.createElement(GSXML.MESSAGE_ELEM);283 Element message = doc.createElement(GSXML.MESSAGE_ELEM); 275 284 for (int i = 0; i < items.getLength(); i++) 276 285 { … … 281 290 path = GSPath.appendLink(path_prefix, path); 282 291 } 283 Element request = GSXML.createBasicRequest( this.doc, request_type, path, userContext);292 Element request = GSXML.createBasicRequest(doc, request_type, path, userContext); 284 293 message.appendChild(request); 285 294 } … … 317 326 protected Element gli4gs3Page(Element request) 318 327 { 328 Document doc = request.getOwnerDocument(); 329 319 330 String lang = request.getAttribute(GSXML.LANG_ATT); 320 331 String uid = request.getAttribute(GSXML.USER_ID_ATT); 321 332 322 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);323 324 Element applet_elem = this.doc.createElement("Applet");333 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 334 335 Element applet_elem = doc.createElement("Applet"); 325 336 page_response.appendChild(applet_elem); 326 337 applet_elem.setAttribute("ARCHIVE", "SignedGatherer.jar"); … … 329 340 applet_elem.setAttribute("HEIGHT", "50"); 330 341 applet_elem.setAttribute("WIDTH", "380"); 331 Element gwcgi_param_elem = this.doc.createElement("PARAM");342 Element gwcgi_param_elem = doc.createElement("PARAM"); 332 343 gwcgi_param_elem.setAttribute("name", "gwcgi"); 333 344 String library_name = GlobalProperties.getGSDL3WebAddress(); … … 335 346 applet_elem.appendChild(gwcgi_param_elem); 336 347 337 Element gsdl3_param_elem = this.doc.createElement("PARAM");348 Element gsdl3_param_elem = doc.createElement("PARAM"); 338 349 gsdl3_param_elem.setAttribute("name", "gsdl3"); 339 350 gsdl3_param_elem.setAttribute("value", "true"); -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/ProcessAction.java
r25635 r28382 21 21 public Node process(Node message_node) 22 22 { 23 24 23 Element message = this.converter.nodeToElement(message_node); 25 24 Document doc = message.getOwnerDocument(); 25 26 26 // the result 27 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);28 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);27 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 28 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 29 29 result.appendChild(page_response); 30 30 … … 70 70 // if rt=s or rt=r, do the request 71 71 72 Element mr_query_message = this.doc.createElement(GSXML.MESSAGE_ELEM);72 Element mr_query_message = doc.createElement(GSXML.MESSAGE_ELEM); 73 73 String request_type_att; 74 74 Element param_list = null; … … 76 76 { // status 77 77 request_type_att = GSXML.REQUEST_TYPE_STATUS; 78 param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);79 Element param = this.doc.createElement(GSXML.PARAM_ELEM);78 param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 79 Element param = doc.createElement(GSXML.PARAM_ELEM); 80 80 param.setAttribute(GSXML.NAME_ATT, GSParams.PROCESS_ID); 81 81 param.setAttribute(GSXML.VALUE_ATT, (String) params.get(GSParams.PROCESS_ID)); … … 89 89 if (service_params != null) 90 90 { 91 param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);92 GSXML.addParametersToList( this.doc, param_list, service_params);91 param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 92 GSXML.addParametersToList(doc, param_list, service_params); 93 93 } 94 94 95 95 } 96 Element mr_query_request = GSXML.createBasicRequest( this.doc, request_type_att, to, userContext);96 Element mr_query_request = GSXML.createBasicRequest(doc, request_type_att, to, userContext); 97 97 if (param_list != null) 98 98 { … … 112 112 // else append the contents of the response to the page - just the status elem for now 113 113 Element status = (Element) GSXML.getChildByTagName(result_response, GSXML.STATUS_ELEM); 114 page_response.appendChild( this.doc.importNode(status, true));114 page_response.appendChild(doc.importNode(status, true)); 115 115 } 116 116 … … 118 118 119 119 // request the service info for the selected service - should be cached 120 Element mr_info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);121 Element mr_info_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext);120 Element mr_info_message = doc.createElement(GSXML.MESSAGE_ELEM); 121 Element mr_info_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext); 122 122 mr_info_message.appendChild(mr_info_request); 123 123 Element mr_info_response = (Element) this.mr.process(mr_info_message); … … 125 125 String path = GSXML.RESPONSE_ELEM; 126 126 path = GSPath.appendLink(path, GSXML.SERVICE_ELEM); 127 Element description = (Element) this.doc.importNode(GSXML.getNodeByPath(mr_info_response, path), true);127 Element description = (Element) doc.importNode(GSXML.getNodeByPath(mr_info_response, path), true); 128 128 129 129 page_response.appendChild(description); … … 134 134 protected Element getServiceParamList(Element cgi_param_list) 135 135 { 136 137 Element new_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 136 Document doc = cgi_param_list.getOwnerDocument(); 137 138 Element new_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 138 139 Element param; 139 140 NodeList cgi_params = cgi_param_list.getChildNodes(); … … 147 148 } 148 149 // else add it in to the list 149 new_param_list.appendChild( this.doc.importNode(p, true));150 new_param_list.appendChild(doc.importNode(p, true)); 150 151 } 151 152 return new_param_list; -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/QueryAction.java
r27145 r28382 11 11 import org.greenstone.gsdl3.util.GSXSLT; 12 12 import org.greenstone.gsdl3.util.UserContext; 13 import org.w3c.dom.Document; 13 14 import org.w3c.dom.Element; 14 15 import org.w3c.dom.Node; … … 26 27 public Node process(Node message_node) 27 28 { 28 29 29 Element message = this.converter.nodeToElement(message_node); 30 30 Document doc = message.getOwnerDocument(); 31 31 32 // get the request - assume there is only one 32 33 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 33 34 34 35 // create the return message 35 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);36 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 36 37 Element response = basicQuery(request); 37 result.appendChild( this.doc.importNode(response, true));38 result.appendChild(doc.importNode(response, true)); 38 39 return result; 39 40 } … … 47 48 { 48 49 // the result 49 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM); 50 Document doc = request.getOwnerDocument(); 51 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 50 52 51 53 // extract the params from the cgi-request, and check that we have a coll specified … … 75 77 format_elem.setAttribute(GSXML.TYPE_ATT, "search"); 76 78 // for now just add to the response 77 page_response.appendChild( this.doc.importNode(format_elem, true));79 page_response.appendChild(doc.importNode(format_elem, true)); 78 80 79 81 if (request_type.indexOf("d") != -1) 80 82 { 81 83 // we have been asked for the service description 82 Element mr_info_message = this.doc.createElement(GSXML.MESSAGE_ELEM);83 Element mr_info_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext);84 Element mr_info_message = doc.createElement(GSXML.MESSAGE_ELEM); 85 Element mr_info_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_DESCRIBE, to, userContext); 84 86 mr_info_message.appendChild(mr_info_request); 85 87 … … 90 92 Element service_response = (Element) GSXML.getChildByTagName(mr_info_response, GSXML.RESPONSE_ELEM); 91 93 92 Element service_description = (Element) this.doc.importNode(GSXML.getChildByTagName(service_response, GSXML.SERVICE_ELEM), true);94 Element service_description = (Element) doc.importNode(GSXML.getChildByTagName(service_response, GSXML.SERVICE_ELEM), true); 93 95 page_response.appendChild(service_description); 94 96 } … … 114 116 115 117 // create the query request 116 Element mr_query_message = this.doc.createElement(GSXML.MESSAGE_ELEM);117 Element mr_query_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);118 Element mr_query_message = doc.createElement(GSXML.MESSAGE_ELEM); 119 Element mr_query_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 118 120 mr_query_message.appendChild(mr_query_request); 119 121 120 Element query_param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);121 GSXML.addParametersToList( this.doc, query_param_list, service_params);122 Element query_param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 123 GSXML.addParametersToList(doc, query_param_list, service_params); 122 124 mr_query_request.appendChild(query_param_list); 123 125 … … 144 146 else 145 147 { // add it into the page response 146 page_response.appendChild( this.doc.importNode(query_result_metadata_list, true));148 page_response.appendChild(doc.importNode(query_result_metadata_list, true)); 147 149 } 148 150 … … 154 156 else 155 157 { // add it into the page response 156 page_response.appendChild( this.doc.importNode(query_term_info_list, true));158 page_response.appendChild(doc.importNode(query_term_info_list, true)); 157 159 } 158 160 … … 164 166 else 165 167 { // add it into the page response 166 page_response.appendChild( this.doc.importNode(facet_list, true));168 page_response.appendChild(doc.importNode(facet_list, true)); 167 169 } 168 170 … … 173 175 { 174 176 // add in a dummy doc node list - used by the display. need to think about this 175 page_response.appendChild( this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER));177 page_response.appendChild(doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER)); 176 178 //append site metadata 177 179 addSiteMetadata(page_response, userContext); … … 186 188 logger.error("have already found metadata!"); 187 189 // append the doc list to the result 188 page_response.appendChild( this.doc.importNode(document_list, true));190 page_response.appendChild(doc.importNode(document_list, true)); 189 191 //append site metadata 190 192 addSiteMetadata(page_response, userContext); … … 203 205 204 206 // paging of the results is done here - we filter the list to remove unwanted entries before retrieving metadata 205 Element filtered_doc_list = filterDocList( params, service_params, document_list);207 Element filtered_doc_list = filterDocList(doc, params, service_params, document_list); 206 208 207 209 // do the metadata request on the filtered list 208 Element mr_metadata_message = this.doc.createElement(GSXML.MESSAGE_ELEM);210 Element mr_metadata_message = doc.createElement(GSXML.MESSAGE_ELEM); 209 211 to = "DocumentMetadataRetrieve"; 210 212 if (collection != null) … … 212 214 to = GSPath.prependLink(to, collection); 213 215 } 214 Element mr_metadata_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);216 Element mr_metadata_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 215 217 mr_metadata_message.appendChild(mr_metadata_request); 216 218 … … 228 230 } 229 231 230 Element dm_param_list = createMetadataParamList( metadata_names);232 Element dm_param_list = createMetadataParamList(doc,metadata_names); 231 233 232 234 mr_metadata_request.appendChild(dm_param_list); … … 246 248 if (query_result_document_list != null) 247 249 { 248 page_response.appendChild( this.doc.importNode(query_result_document_list, true));250 page_response.appendChild(doc.importNode(query_result_document_list, true)); 249 251 } 250 252 … … 257 259 258 260 /** this filters out some of the doc results for result paging */ 259 protected Element filterDocList( HashMap<String, Serializable> params, HashMap service_params, Element orig_doc_list)261 protected Element filterDocList(Document doc, HashMap<String, Serializable> params, HashMap service_params, Element orig_doc_list) 260 262 { 261 263 … … 265 267 { 266 268 // the service is doing the paging, so we want to display all of the returned docs(???) 267 // return (Element) this.doc.importNode(orig_doc_list, true);269 // return (Element)doc.importNode(orig_doc_list, true); 268 270 // try hitsPerPage in the globle param 269 271 hits_pp = (String) params.get("hitsPerPage"); … … 285 287 if (hits == -1) 286 288 { // all 287 return (Element) this.doc.importNode(orig_doc_list, true);289 return (Element) doc.importNode(orig_doc_list, true); 288 290 } 289 291 NodeList result_docs = orig_doc_list.getElementsByTagName(GSXML.DOC_NODE_ELEM); … … 293 295 { 294 296 // too few docs to do paging 295 return (Element) this.doc.importNode(orig_doc_list, true);297 return (Element) doc.importNode(orig_doc_list, true); 296 298 } 297 299 298 300 // now we need our own doc list 299 Element result_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);301 Element result_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 300 302 301 303 String start_p = (String) service_params.get("startPage"); … … 335 337 for (int i = start_from; i <= end_at; i++) 336 338 { 337 result_list.appendChild( this.doc.importNode(result_docs.item(i), true));339 result_list.appendChild(doc.importNode(result_docs.item(i), true)); 338 340 } 339 341 -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/RSSAction.java
r27087 r28382 4 4 5 5 // XML classes 6 import org.w3c.dom.Document; 6 7 import org.w3c.dom.Node; 7 8 import org.w3c.dom.Element; … … 26 27 public Node process(Node message_node) 27 28 { 28 29 29 Element message = this.converter.nodeToElement(message_node); 30 30 Document doc = message.getOwnerDocument(); 31 31 32 // assume only one request 32 33 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); … … 45 46 // this should be cached somehow later on. 46 47 47 Element mr_request_message = this.doc.createElement(GSXML.MESSAGE_ELEM);48 Element rss_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);48 Element mr_request_message = doc.createElement(GSXML.MESSAGE_ELEM); 49 Element rss_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 49 50 mr_request_message.appendChild(rss_request); 50 51 … … 58 59 addInterfaceOptions(rss_response); 59 60 60 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);61 result.appendChild( this.doc.importNode(rss_response, true));61 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 62 result.appendChild(doc.importNode(rss_response, true)); 62 63 return result; 63 64 -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/SystemAction.java
r25636 r28382 4 4 5 5 // XML classes 6 import org.w3c.dom.Document; 6 7 import org.w3c.dom.Node; 7 8 import org.w3c.dom.Element; … … 28 29 public Node process(Node message_node) 29 30 { 30 31 31 Element message = this.converter.nodeToElement(message_node); 32 32 Document doc = message.getOwnerDocument(); 33 33 34 // assume only one request 34 35 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); … … 40 41 HashMap<String, Serializable> params = GSXML.extractParams(cgi_param_list, false); 41 42 42 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);43 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 43 44 44 45 String coll = (String) params.get(GSParams.SYSTEM_CLUSTER); … … 50 51 } 51 52 52 Element mr_request_message = this.doc.createElement(GSXML.MESSAGE_ELEM);53 Element mr_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_SYSTEM, to, userContext);53 Element mr_request_message = doc.createElement(GSXML.MESSAGE_ELEM); 54 Element mr_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_SYSTEM, to, userContext); 54 55 mr_request_message.appendChild(mr_request); 55 56 56 Element system = this.doc.createElement(GSXML.SYSTEM_ELEM);57 Element system = doc.createElement(GSXML.SYSTEM_ELEM); 57 58 mr_request.appendChild(system); 58 59 … … 109 110 // for now just have an error 110 111 logger.error("bad subaction type"); 111 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);112 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 112 113 result.appendChild(page_response); 113 114 … … 118 119 Node response_message = this.mr.process(mr_request_message); 119 120 120 Element response = GSXML.duplicateWithNewName( this.doc, (Element) GSXML.getChildByTagName(response_message, GSXML.RESPONSE_ELEM), GSXML.RESPONSE_ELEM, true);121 Element response = GSXML.duplicateWithNewName(doc, (Element) GSXML.getChildByTagName(response_message, GSXML.RESPONSE_ELEM), GSXML.RESPONSE_ELEM, true); 121 122 addSiteMetadata(response, userContext); 122 123 addInterfaceOptions(response); -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/action/XMLDocumentAction.java
r25635 r28382 28 28 public Node process(Node message_node) 29 29 { 30 31 30 Element message = this.converter.nodeToElement(message_node); 32 31 Document doc = message.getOwnerDocument(); 32 33 33 // get the request - assume there is only one 34 34 Element request = (Element) GSXML.getChildByTagName(message, GSXML.REQUEST_ELEM); 35 35 36 36 // create the return message 37 Element result = this.doc.createElement(GSXML.MESSAGE_ELEM);38 Element page_response = this.doc.createElement(GSXML.RESPONSE_ELEM);37 Element result = doc.createElement(GSXML.MESSAGE_ELEM); 38 Element page_response = doc.createElement(GSXML.RESPONSE_ELEM); 39 39 result.appendChild(page_response); 40 40 … … 75 75 76 76 // make the request to the collection 77 Element mr_message = this.doc.createElement(GSXML.MESSAGE_ELEM);77 Element mr_message = doc.createElement(GSXML.MESSAGE_ELEM); 78 78 79 Element ret_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);79 Element ret_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 80 80 mr_message.appendChild(ret_request); 81 81 82 Element doc_list = this.doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER);82 Element doc_list = doc.createElement(GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER); 83 83 ret_request.appendChild(doc_list); 84 Element doc = this.doc.createElement(GSXML.DOC_NODE_ELEM);85 doc .setAttribute(GSXML.NODE_ID_ATT, doc_name);86 doc_list.appendChild(doc );84 Element docelem = doc.createElement(GSXML.DOC_NODE_ELEM); 85 docelem.setAttribute(GSXML.NODE_ID_ATT, doc_name); 86 doc_list.appendChild(docelem); 87 87 88 88 // also add in a request for the Title metadata 89 89 to = GSPath.appendLink(collection, "DocumentMetadataRetrieve"); 90 Element meta_request = GSXML.createBasicRequest( this.doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext);90 Element meta_request = GSXML.createBasicRequest(doc, GSXML.REQUEST_TYPE_PROCESS, to, userContext); 91 91 // copy the doc list 92 92 meta_request.appendChild(doc_list.cloneNode(true)); 93 93 // add in a metadata param 94 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER);94 Element param_list = doc.createElement(GSXML.PARAM_ELEM + GSXML.LIST_MODIFIER); 95 95 meta_request.appendChild(param_list); 96 Element param = GSXML.createParameter( this.doc, "metadata", "root_Title");96 Element param = GSXML.createParameter(doc, "metadata", "root_Title"); 97 97 param_list.appendChild(param); 98 98 … … 103 103 String[] links = { GSXML.RESPONSE_ELEM, GSXML.DOC_NODE_ELEM + GSXML.LIST_MODIFIER, GSXML.DOC_NODE_ELEM }; 104 104 String path = GSPath.createPath(links); 105 Element doc_node = (Element) this.doc.importNode(GSXML.getNodeByPath(ret_response, path), true);105 Element doc_node = (Element) doc.importNode(GSXML.getNodeByPath(ret_response, path), true); 106 106 page_response.appendChild(doc_node); 107 107 … … 114 114 if (meta_list != null) 115 115 { 116 doc_node.appendChild( this.doc.importNode(meta_list, true));116 doc_node.appendChild(doc.importNode(meta_list, true)); 117 117 } 118 118 return result; -
main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/XMLConverter.java
r26168 r28382 266 266 267 267 /** creates a new empty DOM Document */ 268 public staticDocument newDOM()268 public Document newDOM() 269 269 { 270 270 Document doc = new DocumentImpl();
Note:
See TracChangeset
for help on using the changeset viewer.