From: <kai...@us...> - 2006-09-21 10:57:58
|
Revision: 7018 http://svn.sourceforge.net/cdk/?rev=7018&view=rev Author: kaihartmann Date: 2006-09-21 03:57:32 -0700 (Thu, 21 Sep 2006) Log Message: ----------- Replaced IChemFile.getChemSequences() and IChemSequence.getChemModels() by chemSequences() and chemModels() [return Iterators], respectively. Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/ChemFile.java trunk/cdk/src/org/openscience/cdk/ChemSequence.java trunk/cdk/src/org/openscience/cdk/debug/DebugChemFile.java trunk/cdk/src/org/openscience/cdk/debug/DebugChemSequence.java trunk/cdk/src/org/openscience/cdk/interfaces/IChemFile.java trunk/cdk/src/org/openscience/cdk/interfaces/IChemSequence.java trunk/cdk/src/org/openscience/cdk/io/cml/ChemFileCDO.java trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java trunk/cdk/src/org/openscience/cdk/test/ChemFileTest.java trunk/cdk/src/org/openscience/cdk/test/ChemSequenceTest.java trunk/cdk/src/org/openscience/cdk/test/io/ZMatrixReaderTest.java trunk/cdk/src/org/openscience/cdk/test/layout/OverlapResolverTest.java trunk/cdk/src/org/openscience/cdk/test/layout/StructureDiagramGeneratorTest.java trunk/cdk/src/org/openscience/cdk/test/math/qm/GaussiansCalculationTest.java trunk/cdk/src/org/openscience/cdk/tools/IDCreator.java trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemFileManipulator.java trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemSequenceManipulator.java trunk/cdk/src/org/openscience/cdk/validate/CDKValidator.java trunk/cdk/src/org/openscience/cdk/validate/ValidatorEngine.java Modified: trunk/cdk/src/org/openscience/cdk/ChemFile.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/ChemFile.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/ChemFile.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -81,7 +81,7 @@ /** - * Adds an ChemSequence to this container. + * Adds a ChemSequence to this container. * *@param chemSequence The chemSequence to be added to this container *@see #getChemSequences @@ -98,23 +98,58 @@ notifyChanged(); } + /** + * Removes a ChemSequence from this container. + * + *@param chemSequence The chemSequence to be added to this container + *@see #getChemSequences + */ + public void removeChemSequence(int pos) + { + chemSequences[pos].removeListener(this); + for (int i = pos; i < chemSequenceCount - 1; i++) { + chemSequences[i] = chemSequences[i + 1]; + } + chemSequences[chemSequenceCount - 1] = null; + chemSequenceCount--; + notifyChanged(); + } - /** - * Returns the array of ChemSequences of this container. + * Returns the Iterator to ChemSequences of this container. * - *@return The array of ChemSequences of this container + *@return The Iterator to ChemSequences of this container *@see #addChemSequence */ - public IChemSequence[] getChemSequences() + public java.util.Iterator chemSequences() { - ChemSequence[] returnChemSequences = new ChemSequence[getChemSequenceCount()]; - System.arraycopy(this.chemSequences, 0, returnChemSequences, - 0, returnChemSequences.length); - return returnChemSequences; + return new ChemSequenceIterator(); } + /** + * The inner Iterator class. + * + */ + private class ChemSequenceIterator implements java.util.Iterator { + private int pointer = 0; + + public boolean hasNext() { + if (pointer < chemSequenceCount) return true; + return false; + } + + public Object next() { + ++pointer; + return chemSequences[pointer-1]; + } + + public void remove() { + removeChemSequence(pointer-1); + } + + } + /** * Returns the ChemSequence at position <code>number</code> in the container. * @@ -163,12 +198,12 @@ { StringBuffer buffer = new StringBuffer(); buffer.append("ChemFile(#S="); - IChemSequence[] seqs = getChemSequences(); - buffer.append(seqs.length); + java.util.Iterator seqs = chemSequences(); + buffer.append(chemSequenceCount); buffer.append(", "); - for (int i = 0; i < seqs.length; i++) + while (seqs.hasNext()) { - IChemSequence sequence = seqs[i]; + IChemSequence sequence = (IChemSequence)seqs.next(); buffer.append(sequence.toString()); } buffer.append(')'); Modified: trunk/cdk/src/org/openscience/cdk/ChemSequence.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/ChemSequence.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/ChemSequence.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -101,22 +101,57 @@ notifyChanged(); } + + /** + * Remove a ChemModel from this ChemSequence. + * + * @param pos The position of the ChemModel to be removed. + */ + public void removeChemModel(int pos) { + chemModels[pos].removeListener(this); + for (int i = pos; i < chemModelCount - 1; i++) { + chemModels[i] = chemModels[i + 1]; + } + chemModels[chemModelCount - 1] = null; + chemModelCount--; + notifyChanged(); + } - /** - * Returns an array of ChemModels of length matching the number of ChemModels - * in this container. + /** + * Returns an Iterator to ChemModels in this container. * - * @return The array of ChemModels in this container - * + * @return The Iterator to ChemModels in this container * @see #addChemModel */ - public org.openscience.cdk.interfaces.IChemModel[] getChemModels() { - org.openscience.cdk.interfaces.IChemModel[] returnModels = new ChemModel[getChemModelCount()]; - System.arraycopy(this.chemModels, 0, returnModels, 0, returnModels.length); - return returnModels; + public java.util.Iterator chemModels() { + return new ChemModelIterator(); } + /** + * The inner Iterator class. + * + */ + private class ChemModelIterator implements java.util.Iterator { + private int pointer = 0; + + public boolean hasNext() { + if (pointer < chemModelCount) return true; + return false; + } + + public Object next() { + ++pointer; + return chemModels[pointer-1]; + } + + public void remove() { + removeChemModel(pointer-1); + } + + } + + /** * * Returns the ChemModel at position <code>number</code> in the @@ -158,12 +193,10 @@ public String toString() { StringBuffer buffer = new StringBuffer(32); buffer.append("ChemSequence(#M="); - org.openscience.cdk.interfaces.IChemModel[] models = getChemModels(); - buffer.append(models.length); + buffer.append(chemModelCount); buffer.append(", "); - for (int i=0; i<models.length; i++) { - org.openscience.cdk.interfaces.IChemModel model = models[i]; - buffer.append(model.toString()); + for (int i=0; i<chemModelCount; i++) { + buffer.append(chemModels[i].toString()); } buffer.append(')'); return buffer.toString(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugChemFile.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugChemFile.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugChemFile.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -146,10 +146,15 @@ super.addChemSequence(chemSequence); } - public IChemSequence[] getChemSequences() { - logger.debug("Getting chemSequences: ", super.getChemSequences().length); - return super.getChemSequences(); + public void removeChemSequence(int pos) { + logger.debug("Removing sequence: ", pos); + super.removeChemSequence(pos); } + + public java.util.Iterator chemSequences() { + logger.debug("Getting chemSequences"); + return super.chemSequences(); + } public IChemSequence getChemSequence(int number) { logger.debug("Getting chemSequence at: ", number); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugChemSequence.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugChemSequence.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugChemSequence.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -142,10 +142,15 @@ super.addChemModel(chemModel); } - public IChemModel[] getChemModels() { - logger.debug("Getting chemModels: ", super.getChemModels().length); - return super.getChemModels(); + public void removeChemModel(int pos) { + logger.debug("Remove chemModel: ", pos); + super.removeChemModel(pos); } + + public java.util.Iterator chemModels() { + logger.debug("Getting chemModels"); + return super.chemModels(); + } public IChemModel getChemModel(int number) { logger.debug("Getting chemModel at: ", number); Modified: trunk/cdk/src/org/openscience/cdk/interfaces/IChemFile.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/interfaces/IChemFile.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/interfaces/IChemFile.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -42,12 +42,20 @@ public void addChemSequence(IChemSequence chemSequence); /** - * Returns the array of ChemSequences of this container. + * Removes a ChemSequence from this container. * - * @return The array of ChemSequences of this container - * @see #addChemSequence + *@param chemSequence The chemSequence to be added to this container + *@see #getChemSequences */ - public IChemSequence[] getChemSequences(); + public void removeChemSequence(int pos); + + /** + * Returns the Iterator to ChemSequences of this container. + * + *@return The Iterator to ChemSequences of this container + *@see #addChemSequence + */ + public java.util.Iterator chemSequences(); /** * Returns the ChemSequence at position <code>number</code> in the container. Modified: trunk/cdk/src/org/openscience/cdk/interfaces/IChemSequence.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/interfaces/IChemSequence.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/interfaces/IChemSequence.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -43,14 +43,20 @@ */ public void addChemModel(IChemModel chemModel); + /** + * Remove a ChemModel from this ChemSequence. + * + * @param pos The position of the ChemModel to be removed. + */ + public void removeChemModel(int pos); + /** - * Returns an array of ChemModels of length matching the number of ChemModels - * in this container. + * Returns an Iterator to ChemModels in this container. * - * @return The array of ChemModels in this container + * @return The Iterator to ChemModels in this container * @see #addChemModel */ - public IChemModel[] getChemModels(); + public java.util.Iterator chemModels(); /** * Returns the ChemModel at position <code>number</code> in the Modified: trunk/cdk/src/org/openscience/cdk/io/cml/ChemFileCDO.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/io/cml/ChemFileCDO.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/io/cml/ChemFileCDO.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -490,9 +490,13 @@ currentChemFile.addChemSequence(chemSequence); } - public IChemSequence[] getChemSequences() { - return currentChemFile.getChemSequences(); + public void removeChemSequence(int pos) { + currentChemFile.removeChemSequence(pos); } + + public java.util.Iterator chemSequences() { + return currentChemFile.chemSequences(); + } public IChemSequence getChemSequence(int number) { return currentChemFile.getChemSequence(number); Modified: trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/libio/cml/Convertor.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -129,9 +129,9 @@ } if (file.getChemSequenceCount() > 0) { - IChemSequence[] sequences = file.getChemSequences(); - for (int i = 0; i < sequences.length; i++) { - cmlList.appendChild(cdkChemSequenceToCMLList(sequences[i])); + java.util.Iterator sequences = file.chemSequences(); + while (sequences.hasNext()) { + cmlList.appendChild(cdkChemSequenceToCMLList((IChemSequence)sequences.next())); } } @@ -151,9 +151,8 @@ } if (sequence.getChemModelCount() > 0) { - IChemModel[] models = sequence.getChemModels(); - for (int i = 0; i < models.length; i++) { - cmlList.appendChild(cdkChemModelToCMLList(models[i])); + for (int i = 0; i < sequence.getChemModelCount(); i++) { + cmlList.appendChild(cdkChemModelToCMLList(sequence.getChemModel(i))); } } Modified: trunk/cdk/src/org/openscience/cdk/test/ChemFileTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/ChemFileTest.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/test/ChemFileTest.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -71,6 +71,16 @@ assertEquals(3, cs.getChemSequenceCount()); } + public void testRemoveChemSequence_int() { + ChemFile cs = new ChemFile(); + cs.addChemSequence(new ChemSequence()); + cs.addChemSequence(new ChemSequence()); + cs.addChemSequence(new ChemSequence()); + assertEquals(3, cs.getChemSequenceCount()); + cs.removeChemSequence(1); + assertEquals(2, cs.getChemSequenceCount()); + } + public void testGetChemSequence_int() { ChemFile cs = new ChemFile(); cs.addChemSequence(new ChemSequence()); @@ -92,14 +102,14 @@ assertEquals(6, cs.getChemSequenceCount()); } - public void testGetChemSequences() { + public void testchemSequences() { ChemFile cs = new ChemFile(); cs.addChemSequence(new ChemSequence()); cs.addChemSequence(new ChemSequence()); cs.addChemSequence(new ChemSequence()); - assertNotNull(cs.getChemSequences()); - assertEquals(3, cs.getChemSequences().length); + assertNotNull(cs.chemSequences()); + assertEquals(3, cs.getChemSequenceCount()); } public void testGetChemSequenceCount() { Modified: trunk/cdk/src/org/openscience/cdk/test/ChemSequenceTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/ChemSequenceTest.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/test/ChemSequenceTest.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -71,6 +71,16 @@ assertEquals(3, cs.getChemModelCount()); } + public void testRemoveChemModel_int() { + ChemSequence cs = new ChemSequence(); + cs.addChemModel(new ChemModel()); + cs.addChemModel(new ChemModel()); + cs.addChemModel(new ChemModel()); + assertEquals(3, cs.getChemModelCount()); + cs.removeChemModel(1); + assertEquals(2, cs.getChemModelCount()); + } + public void testGrowChemModelArray() { ChemSequence cs = new ChemSequence(); cs.addChemModel(new ChemModel()); @@ -101,18 +111,20 @@ assertEquals(second, cs.getChemModel(1)); } - public void testGetChemModels() { + public void testChemModels() { ChemSequence cs = new ChemSequence(); cs.addChemModel(new ChemModel()); cs.addChemModel(new ChemModel()); cs.addChemModel(new ChemModel()); assertEquals(3, cs.getChemModelCount()); - org.openscience.cdk.interfaces.IChemModel[] models = cs.getChemModels(); - assertEquals(3, models.length); - assertNotNull(models[0]); - assertNotNull(models[1]); - assertNotNull(models[2]); + java.util.Iterator models = cs.chemModels(); + int count = 0; + while (models.hasNext()) { + assertNotNull(models.next()); + ++count; + } + assertEquals(3, count); } /** Test for RFC #9 */ Modified: trunk/cdk/src/org/openscience/cdk/test/io/ZMatrixReaderTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/io/ZMatrixReaderTest.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/test/io/ZMatrixReaderTest.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -73,9 +73,9 @@ ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); - org.openscience.cdk.interfaces.IChemSequence[] chemSequence = chemFile.getChemSequences(); - org.openscience.cdk.interfaces.IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + org.openscience.cdk.interfaces.IChemSequence chemSequence = chemFile.getChemSequence(0); + org.openscience.cdk.interfaces.IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); RebondTool rebonder = new RebondTool(2.0, 0.5, 0.5); rebonder.rebond(atomContainer); Modified: trunk/cdk/src/org/openscience/cdk/test/layout/OverlapResolverTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/layout/OverlapResolverTest.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/test/layout/OverlapResolverTest.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -106,9 +106,9 @@ InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new org.openscience.cdk.ChemFile()); - org.openscience.cdk.interfaces.IChemSequence[] chemSequence = chemFile.getChemSequences(); - org.openscience.cdk.interfaces.IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + org.openscience.cdk.interfaces.IChemSequence chemSequence = chemFile.getChemSequence(0); + org.openscience.cdk.interfaces.IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); OverlapResolver or = new OverlapResolver(); double score = new OverlapResolver().getAtomOverlapScore(atomContainer, new Vector()); @@ -141,9 +141,9 @@ InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new org.openscience.cdk.ChemFile()); - org.openscience.cdk.interfaces.IChemSequence[] chemSequence = chemFile.getChemSequences(); - org.openscience.cdk.interfaces.IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + org.openscience.cdk.interfaces.IChemSequence chemSequence = chemFile.getChemSequence(0); + org.openscience.cdk.interfaces.IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); //MoleculeViewer2D.display(new Molecule(atomContainer), false); double score = new OverlapResolver().getOverlapScore(atomContainer, new Vector(), new Vector()); assertTrue(score == 0.0); @@ -169,9 +169,9 @@ InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new org.openscience.cdk.ChemFile()); - org.openscience.cdk.interfaces.IChemSequence[] chemSequence = chemFile.getChemSequences(); - org.openscience.cdk.interfaces.IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + org.openscience.cdk.interfaces.IChemSequence chemSequence = chemFile.getChemSequence(0); + org.openscience.cdk.interfaces.IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); //MoleculeViewer2D.display(new Molecule(atomContainer), false); double score = new OverlapResolver().getBondOverlapScore(atomContainer, new Vector()); assertTrue(score > 0); @@ -198,9 +198,9 @@ InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new org.openscience.cdk.ChemFile()); - org.openscience.cdk.interfaces.IChemSequence[] chemSequence = chemFile.getChemSequences(); - org.openscience.cdk.interfaces.IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + org.openscience.cdk.interfaces.IChemSequence chemSequence = chemFile.getChemSequence(0); + org.openscience.cdk.interfaces.IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); //MoleculeViewer2D.display(new Molecule(atomContainer), false); OverlapResolver or = new OverlapResolver(); overlapScore = or.resolveOverlap(atomContainer, null); Modified: trunk/cdk/src/org/openscience/cdk/test/layout/StructureDiagramGeneratorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/layout/StructureDiagramGeneratorTest.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/test/layout/StructureDiagramGeneratorTest.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -208,9 +208,9 @@ InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); - IChemSequence[] chemSequence = chemFile.getChemSequences(); - IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + IChemSequence chemSequence = chemFile.getChemSequence(0); + IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); molecule = new Molecule(atomContainer); } @@ -236,9 +236,9 @@ InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLReader reader = new MDLReader(ins); ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); - IChemSequence[] chemSequence = chemFile.getChemSequences(); - IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + IChemSequence chemSequence = chemFile.getChemSequence(0); + IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); molecule = new Molecule(atomContainer); } Modified: trunk/cdk/src/org/openscience/cdk/test/math/qm/GaussiansCalculationTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/math/qm/GaussiansCalculationTest.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/test/math/qm/GaussiansCalculationTest.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -79,9 +79,9 @@ } ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); - org.openscience.cdk.interfaces.IChemSequence[] chemSequence = chemFile.getChemSequences(); - org.openscience.cdk.interfaces.IChemModel[] chemModels = chemSequence[0].getChemModels(); - IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModels[0]); + org.openscience.cdk.interfaces.IChemSequence chemSequence = chemFile.getChemSequence(0); + org.openscience.cdk.interfaces.IChemModel chemModel = chemSequence.getChemModel(0); + IAtomContainer atomContainer = ChemModelManipulator.getAllInOneContainer(chemModel); org.openscience.cdk.interfaces.IAtom[] atoms = atomContainer.getAtoms(); GaussiansBasis basis = new SimpleBasisSet(atoms); Modified: trunk/cdk/src/org/openscience/cdk/tools/IDCreator.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/tools/IDCreator.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/tools/IDCreator.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -179,16 +179,16 @@ } public void createIDs(IChemFile file) { - IChemSequence[] sequences = file.getChemSequences(); - for (int i=0; i<sequences.length; i++) { - createIDs(sequences[i]); + java.util.Iterator sequences = file.chemSequences(); + while (sequences.hasNext()) { + createIDs((IChemSequence)sequences.next()); } } public void createIDs(IChemSequence sequence) { - IChemModel[] models = sequence.getChemModels(); - for (int i=0; i<models.length; i++) { - createIDs(models[i]); + java.util.Iterator models = sequence.chemModels(); + while (models.hasNext()) { + createIDs((IChemModel)models.next()); } } Modified: trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemFileManipulator.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemFileManipulator.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemFileManipulator.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -102,12 +102,12 @@ * Returns all the AtomContainer's of a ChemFile. */ public static IAtomContainer[] getAllAtomContainers(IChemFile file) { - IChemSequence[] sequences = file.getChemSequences(); + java.util.Iterator sequences = file.chemSequences(); int acCount = 0; Vector acArrays = new Vector(); - for (int i=0; i<sequences.length; i++) { + while (sequences.hasNext()) { IAtomContainer[] sequenceContainers = ChemSequenceManipulator. - getAllAtomContainers(sequences[i]); + getAllAtomContainers((IChemSequence)sequences.next()); acArrays.addElement(sequenceContainers); acCount += sequenceContainers.length; } @@ -126,21 +126,20 @@ public static IChemModel[] getAllChemModels(IChemFile file) { - IChemSequence[] sequences = file.getChemSequences(); int modelCounter = 0; int counter = 0; IChemModel[] tempModels = null; - for (int f = 0; f < sequences.length; f++) + for (int f = 0; f < file.getChemSequenceCount(); f++) { - modelCounter += sequences[f].getChemModelCount(); + modelCounter += file.getChemSequence(f).getChemModelCount(); } IChemModel[] models = new IChemModel[modelCounter]; - for (int f = 0; f < sequences.length; f++) + for (int f = 0; f < file.getChemSequenceCount(); f++) { - tempModels = sequences[f].getChemModels(); - for (int g = 0; g < tempModels.length; g++) + java.util.Iterator iter = file.getChemSequence(f).chemModels(); + while (iter.hasNext()) { - models[counter] = tempModels[g]; + models[counter] = (IChemModel)iter.next(); counter ++; } } Modified: trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemSequenceManipulator.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemSequenceManipulator.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/tools/manipulator/ChemSequenceManipulator.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -85,12 +85,12 @@ * Returns all the AtomContainer's of a ChemSequence. */ public static IAtomContainer[] getAllAtomContainers(IChemSequence sequence) { - IChemModel[] models = sequence.getChemModels(); + java.util.Iterator models = sequence.chemModels(); int acCount = 0; Vector acArrays = new Vector(); - for (int i=0; i<models.length; i++) { + while (models.hasNext()) { IAtomContainer[] modelContainers = ChemModelManipulator. - getAllAtomContainers(models[i]); + getAllAtomContainers((IChemModel)models.next()); acArrays.addElement(modelContainers); acCount += modelContainers.length; } Modified: trunk/cdk/src/org/openscience/cdk/validate/CDKValidator.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/validate/CDKValidator.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/validate/CDKValidator.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -49,13 +49,12 @@ private ValidationReport validateChemFileNulls(IChemFile chemFile) { ValidationReport report = new ValidationReport(); - IChemSequence[] sequences = chemFile.getChemSequences(); ValidationTest hasNulls = new ValidationTest(chemFile, "ChemFile contains a null ChemSequence." ); for (int i=0; i < chemFile.getChemSequenceCount(); i++) { // DIRTY !!!! FIXME !!!!! // but it does not seem to work on 1.4.2 otherwise.... - if (sequences[i] == null) { + if (chemFile.getChemSequence(i) == null) { report.addError(hasNulls); } else { report.addOK(hasNulls); @@ -66,13 +65,12 @@ private ValidationReport validateChemSequenceNulls(IChemSequence sequence) { ValidationReport report = new ValidationReport(); - IChemModel[] models = sequence.getChemModels(); ValidationTest hasNulls = new ValidationTest(sequence, "ChemSequence contains a null ChemModel." ); for (int i=0; i < sequence.getChemModelCount(); i++) { // DIRTY !!!! FIXME !!!!! // but it does not seem to work on 1.4.2 otherwise.... - if (models[i] == null) { + if (sequence.getChemModel(i) == null) { report.addError(hasNulls); } else { report.addOK(hasNulls); Modified: trunk/cdk/src/org/openscience/cdk/validate/ValidatorEngine.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/validate/ValidatorEngine.java 2006-09-21 09:01:20 UTC (rev 7017) +++ trunk/cdk/src/org/openscience/cdk/validate/ValidatorEngine.java 2006-09-21 10:57:32 UTC (rev 7018) @@ -167,9 +167,8 @@ // traverse into super class report.addReport(validateChemObject(subject)); // traverse into hierarchy - IChemSequence[] sequences = subject.getChemSequences(); - for (int i=0; i< sequences.length; i++) { - report.addReport(validateChemSequence(sequences[i])); + for (int i=0; i< subject.getChemSequenceCount(); i++) { + report.addReport(validateChemSequence(subject.getChemSequence(i))); } return report; } @@ -224,9 +223,9 @@ // traverse into super class report.addReport(validateChemObject(subject)); // traverse into hierarchy - IChemModel[] models = subject.getChemModels(); - for (int i=0; i<models.length; i++) { - report.addReport(validateChemModel(models[i])); + java.util.Iterator models = subject.chemModels(); + while (models.hasNext()) { + report.addReport(validateChemModel((IChemModel)models.next())); } return report; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |