Changeset 3819 for trunk/gsdl3/src/java
- Timestamp:
- 2003-03-10T10:51:06+13:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/src/java/org/greenstone/gsdl3/service/GS2Retrieve.java
r3798 r3819 26 26 // XML classes 27 27 import org.w3c.dom.Element; 28 import org.w3c.dom.NodeList; 28 29 29 30 // General Java classes … … 47 48 protected static final String DOCUMENT_CONTENT_RETRIEVE_SERVICE = "DocumentContentRetrieve"; 48 49 49 protected static final String ROOT_NODE = "root";50 protected static final String INTERIOR_NODE = "interior";51 protected static final String LEAF_NODE = "leaf";52 53 50 protected GDBMWrapper gdbm_src_ = null; 54 51 … … 57 54 protected GS2Retrieve() 58 55 { 59 System.out.println("Constructing GS2Retrieve...");60 56 gdbm_src_ = new GDBMWrapper(); 61 57 } … … 94 90 String gdbm_db_file = GSFile.GDBMDatabaseFile(site_home_, cluster_name_); 95 91 if (!gdbm_src_.openDatabase(gdbm_db_file, GDBMWrapper.READER)) { 96 System.err.println("Error: Could not open gdbmdatabase!");92 System.err.println("Error: Could not open GDBM database!"); 97 93 return false; 98 94 } … … 120 116 parent.setAttribute(GSXML.DOC_NODE_ID_ATT, parent_id); 121 117 if (OID.isTop(parent_id)) 122 parent.setAttribute(GSXML.DOC_NODE_TYPE_ATT, ROOT_NODE);118 parent.setAttribute(GSXML.DOC_NODE_TYPE_ATT, GSXML.NODE_TYPE_ROOT); 123 119 else 124 parent.setAttribute(GSXML.DOC_NODE_TYPE_ATT, INTERIOR_NODE);120 parent.setAttribute(GSXML.DOC_NODE_TYPE_ATT, GSXML.NODE_TYPE_INTERIOR); 125 121 126 122 return parent; … … 148 144 // Record if the node is a leaf node or an internal node 149 145 if (isLeafNode(child_id)) 150 child.setAttribute(GSXML.DOC_NODE_TYPE_ATT, LEAF_NODE);146 child.setAttribute(GSXML.DOC_NODE_TYPE_ATT, GSXML.NODE_TYPE_LEAF); 151 147 else 152 child.setAttribute(GSXML.DOC_NODE_TYPE_ATT, INTERIOR_NODE);148 child.setAttribute(GSXML.DOC_NODE_TYPE_ATT, GSXML.NODE_TYPE_INTERIOR); 153 149 } 154 150 } … … 201 197 if (param.getAttribute(GSXML.NAME_ATT) == "structure") { 202 198 String structure = GSXML.getValue(param); 203 System.out.println("Structure desired: " + structure);199 // System.out.println("Structure desired: " + structure); 204 200 205 201 // This is NOT locale sensitive … … 244 240 245 241 // Add the document to the list 242 // !! TO DO: This should probably be a documentNode rather than a document !! 246 243 Element doc = doc_.createElement(GSXML.DOCUMENT_ELEM); 247 244 doc_list.appendChild(doc); … … 252 249 current.setAttribute(GSXML.DOC_NODE_ID_ATT, doc_id); 253 250 if (OID.isTop(doc_id)) 254 current.setAttribute(GSXML.DOC_NODE_TYPE_ATT, ROOT_NODE);251 current.setAttribute(GSXML.DOC_NODE_TYPE_ATT, GSXML.NODE_TYPE_ROOT); 255 252 else if (isLeafNode(doc_id)) 256 current.setAttribute(GSXML.DOC_NODE_TYPE_ATT, LEAF_NODE);253 current.setAttribute(GSXML.DOC_NODE_TYPE_ATT, GSXML.NODE_TYPE_LEAF); 257 254 else 258 current.setAttribute(GSXML.DOC_NODE_TYPE_ATT, INTERIOR_NODE);255 current.setAttribute(GSXML.DOC_NODE_TYPE_ATT, GSXML.NODE_TYPE_INTERIOR); 259 256 260 257 // Ancestors: continually add parent nodes until the root is reached … … 357 354 358 355 // Get the documents 359 String[] doc_ids = GSXML.getDocumentNameList(content); 360 for (int i = 0; i < doc_ids.length; i++) { 361 String doc_id = doc_ids[i]; 356 Element request_doc_list = (Element) GSXML.getChildByTagName(content, GSXML.DOCUMENT_ELEM+GSXML.LIST_MODIFIER); 357 NodeList request_docs = request_doc_list.getChildNodes(); 358 for (int i = 0; i < request_docs.getLength(); i++) { 359 Element request_doc = (Element) request_docs.item(i); 360 String doc_id = request_doc.getAttribute(GSXML.DOC_NODE_ID_ATT); 362 361 System.out.println("Retrieving metadata for " + doc_id + "..."); 363 362 364 363 // Add the document to the list 365 Element doc = doc_.createElement(GSXML.DOCUMENT_ELEM); 366 doc_list.appendChild(doc); 367 doc.setAttribute(GSXML.NAME_ATT, doc_id); 364 Element doc_node = doc_.createElement(GSXML.DOC_NODE_ELEM); 365 doc_list.appendChild(doc_node); 366 doc_node.setAttribute(GSXML.DOC_NODE_ID_ATT, doc_id); 367 doc_node.setAttribute(GSXML.DOC_NODE_TYPE_ATT, 368 request_doc.getAttribute(GSXML.DOC_NODE_TYPE_ATT)); 368 369 369 370 // Add the requested metadata information 370 Element doc_meta_list = GSXML.addMetaList(doc_, doc );371 Element doc_meta_list = GSXML.addMetaList(doc_, doc_node); 371 372 DBInfo info = gdbm_src_.getInfo(doc_id); 372 373 for (int m = 0; m < metadata_list.size(); m++) {
Note:
See TracChangeset
for help on using the changeset viewer.