Changeset 6357


Ignore:
Timestamp:
2004-01-06T17:03:24+13:00 (20 years ago)
Author:
kjdon
Message:

fixed a bug and added retrieval for some classification stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl3/src/java/org/greenstone/gsdl3/util/SQLQuery.java

    r6303 r6357  
    66import java.sql.ResultSet;
    77import java.sql.SQLException;
     8
     9import java.util.ArrayList;
     10
    811public class SQLQuery {
    912    GS3SQLConnection connection = null;
     
    2629
    2730    public String MGNum2OID(int mg_num) {
     31    System.out.println("converting mg num to oid "+mg_num);
    2832    // get doc id and meta id
    2933    String query = "select "+
     
    4953    } catch (java.sql.SQLException e) {
    5054
    51         System.err.println("somethings went wrong with sql "+e.getMessage());
     55        System.err.println("something went wrong with sql getting doc_id and meta_id: "+e.getMessage());
    5256        return null;
    5357    }
     
    6064        " where "+GSSQL.DIVISION_METADATA_TABLE+GSSQL.DOT+GSSQL.METADATA_ID+GSSQL.EQUALS_QUOTE+meta_id+GSSQL.QUOTE+
    6165        " and "+GSSQL.DIVISION_METADATA_TABLE+GSSQL.DOT+GSSQL.DOCUMENT_ID+GSSQL.EQUALS_QUOTE+doc_id+GSSQL.QUOTE+
     66        " and "+GSSQL.DIVISION_METADATA_TABLE+GSSQL.DOT+GSSQL.DIVISION_REF+GSSQL.EQUALS+GSSQL.DIVISION_TABLE+GSSQL.DOT+GSSQL.DIVISION_REF+
    6267        GSSQL.END;
    6368
     
    7176    } catch (java.sql.SQLException e) {
    7277
    73         System.err.println("somethings went wrong with sql "+e.getMessage());
    74         return null;
    75     }
    76 
    77     System.out.println("short label = "+short_label);
    78 
    79     System.out.println("doc_id = "+doc_id+"."+short_label);
     78        System.err.println("something went wrong with sql getting division label: "+e.getMessage());
     79        return null;
     80    }
     81
     82    ///ystem.out.println("short label = "+short_label);
     83
     84    System.out.println("final doc_id = "+doc_id+"."+short_label);
    8085    return doc_id+"."+short_label;
    8186    }
     
    8388    public int OID2MGNum(String oid) {
    8489   
    85     String id = getMetadata(oid, "gsdl3.mgseqno");
     90    String id = getDocumentMetadata(oid, "gsdl3.mgseqno");
    8691    System.out.println("mg id = "+id);
    8792    return Integer.parseInt(id);
     
    8994    }
    9095
    91     public String getMetadata(String oid, String full_meta_name) {
     96    // classifier metadata is not actually metadata
     97    public String getClassifierMetadata(String oid, String full_meta_name) {
     98
     99    if (full_meta_name.equals("Title")) {
     100        // get the description
     101        String query = "select "+ GSSQL.DESCRIPTION+
     102        " from " + GSSQL.CLASSIFIER_TABLE +
     103        " where " + GSSQL.CLASSIFIER_ID + GSSQL.EQUALS_QUOTE + oid + GSSQL.QUOTE +
     104        GSSQL.END;
     105       
     106        connection.execute(query);
     107        ResultSet results = null;
     108        String value = null;
     109        try {
     110        results = connection.getResultSet();
     111        results.first();
     112        value = results.getString(GSSQL.DESCRIPTION);
     113        } catch (java.sql.SQLException e) {
     114       
     115        System.err.println("something went wrong with sql "+e.getMessage());
     116        return null;
     117        }
     118        return value;
     119 
     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   
     128    public ArrayList getClassifierChildren(String oid) {
     129
     130    ArrayList children = new ArrayList();
     131
     132    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;
     136   
     137    connection.execute(query);
     138    ResultSet results = null;
     139    try {
     140        results = connection.getResultSet();
     141        while (results.next()) {
     142        String id = results.getString(GSSQL.CLASSIFIER_ID);
     143        children.add(id);
     144        }
     145    } catch (java.sql.SQLException e) {
     146       
     147        System.err.println("something went wrong with sql "+e.getMessage());
     148        return null;
     149    }
     150    return children;
     151    }
     152
     153     public ArrayList getClassifierDocChildren(String oid) {
     154
     155    ArrayList children = new ArrayList();
     156
     157    String query = "select "+ GSSQL.CLASS_DOCUMENT_TABLE+GSSQL.DOT+ GSSQL.DOCUMENT_ID+
     158        " 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 +
     160        " and " + GSSQL.CLASSIFIER_TABLE +GSSQL.DOT+ GSSQL.CLASSIFIER_REF+GSSQL.EQUALS+GSSQL.CLASS_DOCUMENT_TABLE+GSSQL.DOT+ GSSQL.CLASSIFIER_REF+
     161        GSSQL.END;
     162   
     163    connection.execute(query);
     164    ResultSet results = null;
     165    try {
     166        results = connection.getResultSet();
     167        while (results.next()) {
     168        String id = results.getString(GSSQL.DOCUMENT_ID);
     169        children.add(id);
     170        }
     171    } catch (java.sql.SQLException e) {
     172       
     173        System.err.println("something went wrong with sql: "+e.getMessage());
     174        return null;
     175    }
     176    // now check for documents
     177   
     178    return children;
     179    }
     180   
     181    public String getDocumentMetadata(String oid, String full_meta_name) {
    92182
    93183    String doc_id = oid;
     
    101191    System.out.println("get meta for "+oid+", doc id = "+doc_id+"sec id = "+section_id);
    102192
    103     // get teh metadata block id
     193    // get the metadata block id
    104194    String query = "select "+
    105195        GSSQL.DIVISION_METADATA_TABLE+GSSQL.DOT+GSSQL.METADATA_ID +
     
    120210    } catch (java.sql.SQLException e) {
    121211
    122         System.err.println("somethings went wrong with sql "+e.getMessage());
     212        System.err.println("something went wrong with sql "+e.getMessage());
    123213        return null;
    124214    }
     
    173263   
    174264    System.out.println("title metadata for mg num 3:");
    175     String meta = self.getMetadata(oid, "gsdl3.title");
     265    String meta = self.getDocumentMetadata(oid, "gsdl3.title");
    176266    if (meta != null) {System.out.println(meta);}
    177267    System.out.println("subject metadata for mg num 3:");
    178     meta = self.getMetadata(oid, "gsdl3.Subject");
     268    meta = self.getDocumentMetadata(oid, "gsdl3.Subject");
    179269    if (meta != null) {System.out.println(meta);}
    180270
     
    188278
    189279    System.out.println("title metadata for mg num 8:");
    190     meta = self.getMetadata(oid, "gsdl3.title");
     280    meta = self.getDocumentMetadata(oid, "gsdl3.title");
    191281    if (meta != null) {System.out.println(meta);}
    192282    System.out.println("subject metadata for mg num 8:");
    193     meta = self.getMetadata(oid, "gsdl3.Subject");
     283    meta = self.getDocumentMetadata(oid, "gsdl3.Subject");
    194284    if (meta != null) {System.out.println(meta);}
    195285
Note: See TracChangeset for help on using the changeset viewer.