Changeset 6516
- Timestamp:
- 2004-01-15T16:59:57+13:00 (20 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/src/java/org/greenstone/gsdl3/util/SQLQuery.java
r6357 r6516 28 28 } 29 29 30 public String MGNum2OID( intmg_num) {30 public String MGNum2OID(String mg_num) { 31 31 System.out.println("converting mg num to oid "+mg_num); 32 32 // get doc id and meta id … … 53 53 } catch (java.sql.SQLException e) { 54 54 55 System.err.println(" something went wrong with sql getting doc_id and meta_id: "+e.getMessage());55 System.err.println("SQLQuery.MGNum2OID() Error: "+e.getMessage()); 56 56 return null; 57 57 } … … 76 76 } catch (java.sql.SQLException e) { 77 77 78 System.err.println(" something went wrong with sql getting division label: "+e.getMessage());78 System.err.println("SQLQuery.MGNum2OID() Error: "+e.getMessage()); 79 79 return null; 80 80 } … … 82 82 ///ystem.out.println("short label = "+short_label); 83 83 84 System.out.println("final doc_id = "+ doc_id+"."+short_label);85 return doc_id+"."+short_label;86 } 87 88 public intOID2MGNum(String oid) {89 84 System.out.println("final doc_id = "+GS3OID.createOID(doc_id, short_label)); 85 return GS3OID.createOID(doc_id, short_label); 86 } 87 88 public String OID2MGNum(String oid) { 89 System.out.println("converting oid "+oid+" to mg num"); 90 90 String id = getDocumentMetadata(oid, "gsdl3.mgseqno"); 91 91 System.out.println("mg id = "+id); 92 return Integer.parseInt(id);92 return id; 93 93 94 94 } … … 97 97 public String getClassifierMetadata(String oid, String full_meta_name) { 98 98 99 if (full_meta_name.equals("Title") ) {99 if (full_meta_name.equals("Title") || full_meta_name.equals("numleafdocs")) { 100 100 // get the description 101 String query = "select "+ GSSQL.DESCRIPTION+ 101 String field_name=""; 102 if (full_meta_name.equals("Title")) { 103 field_name = GSSQL.DESCRIPTION; 104 } else { 105 field_name = GSSQL.NUM_LEAF_DOCUMENTS; 106 } 107 108 String query = "select "+ field_name+ 102 109 " from " + GSSQL.CLASSIFIER_TABLE + 103 110 " where " + GSSQL.CLASSIFIER_ID + GSSQL.EQUALS_QUOTE + oid + GSSQL.QUOTE + … … 110 117 results = connection.getResultSet(); 111 118 results.first(); 112 value = results.getString( GSSQL.DESCRIPTION);119 value = results.getString(field_name); 113 120 } catch (java.sql.SQLException e) { 114 121 115 System.err.println(" something went wrong with sql"+e.getMessage());122 System.err.println("SQLQuery.getClassifierMetadata() Error: "+e.getMessage()); 116 123 return null; 117 124 } 118 125 return value; 119 126 120 } else if (full_meta_name.equals("numleafdocs")) { 121 // get the number of documents 122 return "2"; 123 124 } else return null; 125 126 } 127 127 } else return null; 128 129 } 130 131 public ArrayList getDocumentChildren(String oid) { 132 133 ArrayList children = new ArrayList(); 134 String doc_id = oid; 135 String section_id = "All"; // if we are just passed a doc id 136 if (!GS3OID.isDocTop(oid)) { 137 doc_id = GS3OID.getDocID(oid); 138 section_id = GS3OID.getSectionLabel(oid); 139 } 140 System.out.println("getDocChildren: oid = "+oid+", doc id = "+doc_id+", sec id ="+section_id); 141 // int sep_index = oid.indexOf("."); 142 // if (sep_index != -1) { 143 // doc_id = oid.substring(0, sep_index); 144 // section_id = oid.substring(sep_index+1); 145 // } 146 147 // get the division ref for this section 148 String query = "select "+GSSQL.DIVISION_REF + 149 " from "+GSSQL.DIVISION_TABLE+ 150 " where "+GSSQL.DOCUMENT_ID+GSSQL.EQUALS_QUOTE+doc_id+GSSQL.QUOTE+ 151 " and "+GSSQL.SHORT_LABEL+GSSQL.EQUALS_QUOTE+section_id+GSSQL.QUOTE+ 152 GSSQL.END; 153 154 connection.execute(query); 155 ResultSet results = null; 156 String div_ref = null; 157 try { 158 results = connection.getResultSet(); 159 results.first(); 160 div_ref = results.getString(GSSQL.DIVISION_REF); 161 } catch (java.sql.SQLException e) { 162 163 System.err.println("SQLQuery.getDocumentChildren() Error1: "+e.getMessage()); 164 return null; 165 } 166 167 // now get the list of children 168 query = "select "+GSSQL.SHORT_LABEL + 169 " from "+GSSQL.DIVISION_TABLE+ 170 " where "+ GSSQL.DOCUMENT_ID+GSSQL.EQUALS_QUOTE+doc_id+GSSQL.QUOTE+ 171 " and "+GSSQL.PARENT_TYPE+GSSQL.EQUALS_QUOTE+GSSQL.DIVISION+GSSQL.QUOTE+ 172 " and "+GSSQL.PARENT_REF+GSSQL.EQUALS_QUOTE+div_ref+GSSQL.QUOTE+ 173 GSSQL.END; 174 connection.execute(query); 175 results = null; 176 try { 177 results = connection.getResultSet(); 178 while (results.next()) { 179 String id = results.getString(GSSQL.SHORT_LABEL); 180 children.add(GS3OID.createOID(doc_id, id)); 181 } 182 } catch (java.sql.SQLException e) { 183 184 System.err.println("SQLQuery.getDocumentChildren() Error2: "+e.getMessage()); 185 return null; 186 } 187 188 return children; 189 190 } 191 192 public boolean documentHasChildren(String oid) { 193 // for now, use getChildren, but can we do this a better way?? 194 ArrayList children = getDocumentChildren(oid); 195 if (children==null || children.size()==0) { 196 return false; 197 } 198 return true; 199 200 } 128 201 public ArrayList getClassifierChildren(String oid) { 129 202 … … 131 204 132 205 String query = "select "+ GSSQL.CLASSIFIER_ID + 133 " from " + GSSQL.CLASSIFIER_TABLE + 134 " where " + GSSQL.PARENT_ID + GSSQL.EQUALS_QUOTE + oid + GSSQL.QUOTE + 135 GSSQL.END; 206 " from " + GSSQL.CLASSIFIER_TABLE + 207 " where " + GSSQL.PARENT_ID + GSSQL.EQUALS_QUOTE + oid + GSSQL.QUOTE + 208 " and " + GSSQL.NUM_LEAF_DOCUMENTS + GSSQL.NOT+GSSQL.EQUALS_QUOTE+ "0"+GSSQL.QUOTE + 209 GSSQL.END; 136 210 137 211 connection.execute(query); … … 145 219 } catch (java.sql.SQLException e) { 146 220 147 System.err.println(" something went wrong with sql"+e.getMessage());221 System.err.println("SQLQuery.getClassifierChildren Error: "+e.getMessage()); 148 222 return null; 149 223 } … … 151 225 } 152 226 153 154 227 public ArrayList getClassifierDocChildren(String oid) { 228 System.out.println("in getclassifierdocchildren"); 155 229 ArrayList children = new ArrayList(); 156 230 157 231 String query = "select "+ GSSQL.CLASS_DOCUMENT_TABLE+GSSQL.DOT+ GSSQL.DOCUMENT_ID+ 158 232 " from " + GSSQL.CLASSIFIER_TABLE + GSSQL.COMMA+GSSQL.CLASS_DOCUMENT_TABLE+ 159 " where " + GSSQL.CLASSIFIER_TABLE +GSSQL.DOT+ GSSQL. PARENT_ID + GSSQL.EQUALS_QUOTE + oid + GSSQL.QUOTE +233 " where " + GSSQL.CLASSIFIER_TABLE +GSSQL.DOT+ GSSQL.CLASSIFIER_ID + GSSQL.EQUALS_QUOTE + oid + GSSQL.QUOTE + 160 234 " and " + GSSQL.CLASSIFIER_TABLE +GSSQL.DOT+ GSSQL.CLASSIFIER_REF+GSSQL.EQUALS+GSSQL.CLASS_DOCUMENT_TABLE+GSSQL.DOT+ GSSQL.CLASSIFIER_REF+ 161 GSSQL.END; 162 235 " order by "+GSSQL.CLASS_DOCUMENT_TABLE+GSSQL.DOT+GSSQL.DOCUMENT_ORDER+ 236 GSSQL.END; 237 System.out.println("query="+query); 163 238 connection.execute(query); 164 239 ResultSet results = null; … … 171 246 } catch (java.sql.SQLException e) { 172 247 173 System.err.println(" something went wrong with sql: "+e.getMessage());248 System.err.println("SQLQuery.getClassifierDocChildren() Error: "+e.getMessage()); 174 249 return null; 175 250 } … … 183 258 String doc_id = oid; 184 259 String section_id = "All"; // if we are just passed a doc id 185 int sep_index = oid.indexOf("."); 186 if (sep_index != -1) { 187 doc_id = oid.substring(0, sep_index); 188 section_id = oid.substring(sep_index+1); 189 } 260 if (!GS3OID.isDocTop(oid)) { 261 doc_id = GS3OID.getDocID(oid); 262 section_id = GS3OID.getSectionLabel(oid); 263 } 264 // int sep_index = oid.indexOf("."); 265 // if (sep_index != -1) { 266 // doc_id = oid.substring(0, sep_index); 267 // section_id = oid.substring(sep_index+1); 268 // } 190 269 191 270 System.out.println("get meta for "+oid+", doc id = "+doc_id+"sec id = "+section_id); … … 210 289 } catch (java.sql.SQLException e) { 211 290 212 System.err.println(" something went wrong with sql"+e.getMessage());291 System.err.println("SQLQuery.getDocumentMetadata() Error: "+e.getMessage()); 213 292 return null; 214 293 } … … 216 295 217 296 // now get the list of namespace refs for the right namespace 218 sep_index = full_meta_name.indexOf('.');297 int sep_index = full_meta_name.indexOf('.'); 219 298 String meta_ns = "gsdl3"; 220 299 String meta_name = full_meta_name; … … 248 327 } catch (java.sql.SQLException e) { 249 328 250 System.err.println(" somethings went wrong with sql"+e.getMessage());329 System.err.println("SQLQuery.getDocumentMetadata() Error: "+e.getMessage()); 251 330 return null; 252 331 } … … 259 338 self.setDatabase("gs3test"); 260 339 System.out.println("getting oid for mg num 3"); 261 String oid = self.MGNum2OID( 3);340 String oid = self.MGNum2OID("stx.3"); 262 341 System.out.println("oid was "+oid); 263 342 … … 270 349 271 350 System.out.println("converting back to mg, oid "+oid); 272 intid = self.OID2MGNum(oid);351 String id = self.OID2MGNum(oid); 273 352 System.out.println(""+id); 274 353 275 354 System.out.println("getting oid for mg num 8"); 276 oid = self.MGNum2OID( 8);355 oid = self.MGNum2OID("stx.8"); 277 356 System.out.println("oid was "+oid); 278 357
Note:
See TracChangeset
for help on using the changeset viewer.