From: Egon W. <eg...@us...> - 2003-05-27 14:33:55
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk/database In directory sc8-pr-cvs1:/tmp/cvs-serv26199/src/org/openscience/cdk/database Modified Files: DBReader.java XindiceReader.java Log Message: Added hook for progress reports on, and hooks for user configurability of file reading Index: DBReader.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/database/DBReader.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- DBReader.java 5 Oct 2002 14:48:46 -0000 1.3 +++ DBReader.java 27 May 2003 14:33:52 -0000 1.4 @@ -3,9 +3,9 @@ * $Date$ * $Revision$ * - * Copyright (C) 1997-2002 The Chemistry Development Kit (CDK) project + * Copyright (C) 1997-2003 The Chemistry Development Kit (CDK) project * - * Contact: ste...@ic..., gez...@ma..., eg...@sc... + * Contact: cdk...@li... * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -26,59 +26,50 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ - package org.openscience.cdk.database; - import java.sql.*; import java.io.*; import org.openscience.cdk.*; import org.openscience.cdk.io.*; import org.openscience.cdk.exception.*; +/** + * Reader that can read from a relational database that can be + * accessed through JDBC. + * + * @keyword database + * @keyword JDBC + */ +public class DBReader extends DefaultChemObjectReader { - -public class DBReader implements ChemObjectReader -{ Connection con; String query = null; - public DBReader(Connection con) - { + public DBReader(Connection con) { this.con = con; } - - - - public ChemObject read(ChemObject object) throws UnsupportedChemObjectException - { - if (object instanceof Molecule) - { + public ChemObject read(ChemObject object) throws CDKException { + if (object instanceof Molecule) { return (ChemObject)readMolecule(); - } - else - { - throw new UnsupportedChemObjectException("Only supported Molecule."); + } else { + throw new CDKException("ChemObject is not supported Molecule."); } } - - private ChemObject readMolecule() - { + private ChemObject readMolecule() { Molecule mol = null; CMLReader cmlr; StringReader reader; Statement st; ResultSet rs; - try - { + try { con.setAutoCommit(false); st = con.createStatement(); System.out.println(query); rs = st.executeQuery(query); - while (rs.next()) - { + while (rs.next()) { byte[] bytes = rs.getBytes(14); String CMLString = new String(bytes); reader = new StringReader(CMLString); @@ -93,27 +84,20 @@ st.close(); con.commit(); con.setAutoCommit(true); - } - - catch (Exception exc) - { + } catch (Exception exc) { exc.printStackTrace(); } return mol; } - - private Molecule getMolecule(ChemFile cf) - { + private Molecule getMolecule(ChemFile cf) { ChemSequence cs = cf.getChemSequence(0); ChemModel cm = cs.getChemModel(0); SetOfMolecules som = cm.getSetOfMolecules(); return som.getMolecule(0); } - - public void setQuery(String query) - { + public void setQuery(String query) { this.query = query; } Index: XindiceReader.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/database/XindiceReader.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- XindiceReader.java 20 Mar 2003 14:55:39 -0000 1.4 +++ XindiceReader.java 27 May 2003 14:33:53 -0000 1.5 @@ -26,7 +26,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * */ - package org.openscience.cdk.database; import java.sql.*; @@ -47,9 +46,14 @@ import org.xmldb.api.modules.XPathQueryService; /** + * Reader that can read molecules from a Xindice database as set up + * as in a World Wide Molecular Matrix node + * * @author Yong Zhang <yz...@ca...> + * + * @keyword database, Xindice */ -public class XindiceReader implements ChemObjectReader { +public class XindiceReader extends DefaultChemObjectReader { private String collection; private String xpath = null; |