Changeset 30411 for gs3-extensions/audioDB/trunk/src
- Timestamp:
- 2016-03-16T20:50:45+13:00 (8 years ago)
- Location:
- gs3-extensions/audioDB/trunk/src/src/java/org/greenstone/gsdl3
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/audioDB/trunk/src/src/java/org/greenstone/gsdl3/service/AbstractGS2AudioSearch.java
r26060 r30411 120 120 121 121 // replaces default AbstractSearch version with one tied to database 122 gs_doc_db = new BasicDocumentDatabase(this.doc, 123 database_type,this.site_home, 124 this.cluster_name, 125 this.index_stem); 122 gs_doc_db = new BasicDocumentDatabase(database_type,this.site_home, 123 this.cluster_name, 124 this.index_stem); 126 125 if (!gs_doc_db.isValid()) { 127 126 logger.error("Failed to open Document Database."); -
gs3-extensions/audioDB/trunk/src/src/java/org/greenstone/gsdl3/service/GS2AudioDBSearch.java
r24398 r30411 67 67 synchronized(this.audiodb_src) { 68 68 // Create a new (empty) result message ('doc' is in ServiceRack.java) 69 Element result = this.doc.createElement (GSXML.RESPONSE_ELEM); 69 Document result_doc = XMLConverter.newDOM(); 70 Element result = result_doc.createElement (GSXML.RESPONSE_ELEM); 70 71 71 72 // Rather than QUERY_SERVICE use "TextQuery" … … 109 110 if (docs.isEmpty()) { 110 111 // something has gone wrong 111 GSXML.addError ( this.doc,result, "Couldn't query the audioDB database", GSXML.ERROR_TYPE_SYSTEM);112 GSXML.addError (result, "Couldn't query the audioDB database", GSXML.ERROR_TYPE_SYSTEM); 112 113 return result; 113 114 } … … 120 121 121 122 // Create a metadata list to store information about the query results 122 Element metadata_list = this.doc.createElement (GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER);123 Element metadata_list = result_doc.createElement (GSXML.METADATA_ELEM+GSXML.LIST_MODIFIER); 123 124 result.appendChild (metadata_list); 124 125 125 126 // Add a metadata element specifying the number of matching documents 126 127 // because the total number is just the number returned, use numDocsReturned, not numDocsMatched 127 GSXML.addMetadata ( this.doc,metadata_list, "numDocsReturned", ""+totalDocs);128 GSXML.addMetadata (metadata_list, "numDocsReturned", ""+totalDocs); 128 129 // add a metadata item to specify what actual query was done - eg if stuff was stripped out etc. and then we can use the query later, cos we don't know which parameter was the query 129 GSXML.addMetadata ( this.doc,metadata_list, "query", query);130 GSXML.addMetadata (metadata_list, "query", query); 130 131 131 132 if (docs.size () > 0) { 132 133 // Create a document list to store the matching documents, and add them 133 Element document_list = this.doc.createElement (GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER);134 Element document_list = result_doc.createElement (GSXML.DOC_NODE_ELEM+GSXML.LIST_MODIFIER); 134 135 result.appendChild (document_list); 135 136 for (int d = 0; d < docs.size (); d++) { … … 140 141 String offsets = adb_doc.getOffsetList(); 141 142 142 Element doc_node = createDocNode ( doc_id, Double.toString (rank));143 Element doc_node = createDocNode (result_doc, doc_id, Double.toString (rank)); 143 144 doc_node.setAttribute("frameOffset", offsets); 144 145 … … 148 149 149 150 // Create an empty term list as a place holder for the term information 150 Element term_list = this.doc.createElement (GSXML.TERM_ELEM+GSXML.LIST_MODIFIER);151 Element term_list = result_doc.createElement (GSXML.TERM_ELEM+GSXML.LIST_MODIFIER); 151 152 result.appendChild (term_list); 152 153 -
gs3-extensions/audioDB/trunk/src/src/java/org/greenstone/gsdl3/util/AudioDBWrapper.java
r26290 r30411 117 117 int num_matches_within_track = 6; 118 118 119 String cmd = "audioDB" 120 + " -d " + "'" + full_adb_filename + "'" 121 + " -Q nsequence" 122 + " -p " + offset_ 123 + " -n " + num_matches_within_track 124 + " -l " + length_ 125 + " -r " + max_docs_ 126 + " -f " + "'" + full_chr12_filename + "'"; 127 128 System.err.println("**** cmd = " + cmd); 119 String [] cmd_array = new String[] { 120 "audioDB", 121 "-d", full_adb_filename, 122 "-Q", "nsequence", 123 "-p", String.format("%d",offset_), 124 "-n", String.format("%d",num_matches_within_track), 125 "-l", String.format("%d",length_), 126 "-r", String.format("%d",max_docs_), 127 "-f", full_chr12_filename 128 }; 129 130 System.err.println("**** cmd_array = " + String.join(" ", cmd_array)); 129 131 130 132 Runtime runtime = Runtime.getRuntime(); 131 133 try { 132 Process audioDB_proc = runtime.exec(cmd); 134 Process audioDB_proc = runtime.exec(cmd_array); 135 //int exitVal = audioDB_proc.waitFor(); 136 //System.err.println("*** exit status = " + exitVal); 137 133 138 InputStream ais = audioDB_proc.getInputStream(); 134 139 InputStreamReader aisr = new InputStreamReader(ais); … … 169 174 if (line_count>1) { 170 175 // struck new top-level entry => store vector vals for previous block 176 171 177 first_entry = addQueryResult(first_entry,root_doc_id,rankVector,offsetVector); 172 178 // and now reset vectors to empty to be ready for next chain of values
Note:
See TracChangeset
for help on using the changeset viewer.