Changeset 4030 for trunk/gsdl3/src/java/org/greenstone/gsdl3/action
- Timestamp:
- 2003-03-28T13:28:11+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/src/java/org/greenstone/gsdl3/action/DocumentAction.java
r4023 r4030 184 184 } 185 185 186 // we also want a metadata request to the top level document to get 187 // assocfilepath - this could be cached too 188 Element doc_meta_request = GSXML.createBasicRequest(doc_, GSXML.REQUEST_TYPE_PROCESS, to, lang); 189 dm_message.appendChild(doc_meta_request); 190 Element doc_meta_param_list = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 191 doc_meta_request.appendChild(doc_meta_param_list); 192 Element doc_param = doc_.createElement(GSXML.PARAM_ELEM); 193 doc_meta_param_list.appendChild(doc_param); 194 doc_param.setAttribute(GSXML.NAME_ATT, "metadata"); 195 doc_param.setAttribute(GSXML.VALUE_ATT, "assocfilepath"); 196 197 // create the doc node list for the metadata request 198 Element doc_list = doc_.createElement(GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER); 199 doc_meta_request.appendChild(doc_list); 200 201 Element doc_node = doc_.createElement(GSXML.DOC_NODE_ELEM); 202 // teh node we want is the root document node 203 doc_node.setAttribute(GSXML.NODE_ID_ATT, document_name+".rt"); 204 doc_list.appendChild(doc_node); 186 205 // System.out.println("(DocumentAction) Metadata request:\n" + converter_.getString(dm_request)); 187 206 Element dm_response_message = (Element) mr_.process(dm_message); … … 196 215 GSXML.mergeMetadataLists(doc_nodes.item(i), dm_response_docs.item(i)); 197 216 } 198 217 // get teh top level do metadata out 218 Element doc_meta_response = (Element)dm_response_message.getElementsByTagName(GSXML.RESPONSE_ELEM).item(1); 219 Element doc_meta_list = (Element)GSXML.getNodeByPath(doc_meta_response, "documentNodeList/documentNode/metadataList"); 220 the_document.appendChild(doc_.importNode(doc_meta_list, true)); 199 221 200 222 // Build a request to obtain some document content … … 227 249 Element enrich_pl = getServiceParamList(cgi_paramList); 228 250 enrich_request.appendChild(enrich_pl); 229 Element doc_list = doc_.createElement(GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);230 enrich_request.appendChild( doc_list);231 doc_list.appendChild(doc_.importNode(dc_response_doc, true));251 Element e_doc_list = doc_.createElement(GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER); 252 enrich_request.appendChild(e_doc_list); 253 e_doc_list.appendChild(doc_.importNode(dc_response_doc, true)); 232 254 233 255 Element enrich_response = mr_.process(enrich_message); … … 235 257 String [] links = {GSXML.RESPONSE_ELEM, GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER, GSXML.DOC_NODE_ELEM, GSXML.NODE_CONTENT_ELEM}; 236 258 path = GSPath.createPath(links); 237 System.out.println("enrich path = "+path);238 239 //appendLink(GSXML.RESPONSE_ELEM, GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);240 //path = GSPath.appendLink(GSXML.DOC_NODE_ELEM241 259 dc_response_doc_content = (Element)GSXML.getNodeByPath(enrich_response, path); 242 260 } … … 248 266 // Merge the document content with the metadata and structure information 249 267 for (int i = 0; i < doc_nodes.getLength(); i++) { 250 Node doc_node = doc_nodes.item(i); 251 Node doc_node_id = doc_node.getAttributes().getNamedItem(GSXML.NODE_ID_ATT); 252 String dc_doc_id = doc_node_id.getNodeValue(); 253 if (dc_doc_id.equals(modified_doc_id)) { 254 doc_node.appendChild(doc_.importNode(dc_response_doc_content, true)); 268 Node dn = doc_nodes.item(i); 269 String dn_id = ((Element)dn).getAttribute(GSXML.NODE_ID_ATT); 270 if (dn_id.equals(modified_doc_id)) { 271 dn.appendChild(doc_.importNode(dc_response_doc_content, true)); 255 272 break; 256 273 }
Note:
See TracChangeset
for help on using the changeset viewer.