From: Egon W. <eg...@us...> - 2004-01-30 17:45:30
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk/io In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20926/src/org/openscience/cdk/io Modified Files: ShelXReader.java Log Message: Added reading of a Crystal without a ChemFile Index: ShelXReader.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/io/ShelXReader.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- ShelXReader.java 26 Jan 2004 08:55:02 -0000 1.11 +++ ShelXReader.java 30 Jan 2004 15:49:04 -0000 1.12 @@ -80,13 +80,19 @@ */ public ChemObject read(ChemObject object) throws CDKException { if (object instanceof ChemFile) { - ChemFile cf = null; try { - cf = readChemFile(); + return readChemFile(); } catch (IOException e) { - logger.error("Input/Output error while reading from input."); + logger.error("Input/Output error while reading from input: " + e.getMessage()); + throw new CDKException(e.getMessage()); + } + } else if (object instanceof Crystal) { + try { + return readCrystal(); + } catch (IOException e) { + logger.error("Input/Output error while reading from input: " + e.getMessage()); + throw new CDKException(e.getMessage()); } - return cf; } else { throw new CDKException("Only supported is reading of ChemFile."); } @@ -102,6 +108,14 @@ ChemFile file = new ChemFile(); ChemSequence seq = new ChemSequence(); ChemModel model = new ChemModel(); + Crystal crystal = readCrystal(); + model.setCrystal(crystal); + seq.addChemModel(model); + file.addChemSequence(seq); + return file; + } + + private Crystal readCrystal() throws IOException { Crystal crystal = new Crystal(); String line = input.readLine(); @@ -301,12 +315,9 @@ } line = input.readLine(); } - model.setCrystal(crystal); - seq.addChemModel(model); - file.addChemSequence(seq); - return file; + return crystal; } - + public void close() throws IOException { input.close(); } |