From: <eg...@us...> - 2006-12-28 10:24:46
|
Revision: 7584 http://svn.sourceforge.net/cdk/?rev=7584&view=rev Author: egonw Date: 2006-12-28 02:24:42 -0800 (Thu, 28 Dec 2006) Log Message: ----------- Removed getBonds() according to refactoring goal Modified Paths: -------------- trunk/cdk/src/org/openscience/cdk/AtomContainer.java trunk/cdk/src/org/openscience/cdk/debug/DebugAminoAcid.java trunk/cdk/src/org/openscience/cdk/debug/DebugAtomContainer.java trunk/cdk/src/org/openscience/cdk/debug/DebugBioPolymer.java trunk/cdk/src/org/openscience/cdk/debug/DebugCrystal.java trunk/cdk/src/org/openscience/cdk/debug/DebugMolecule.java trunk/cdk/src/org/openscience/cdk/debug/DebugMonomer.java trunk/cdk/src/org/openscience/cdk/debug/DebugPolymer.java trunk/cdk/src/org/openscience/cdk/debug/DebugRing.java trunk/cdk/src/org/openscience/cdk/debug/DebugStrand.java trunk/cdk/src/org/openscience/cdk/interfaces/IAtomContainer.java trunk/cdk/src/org/openscience/cdk/isomorphism/matchers/QueryAtomContainerCreator.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/CarbonConnectivityOrderOneDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/RotatableBondsCountDescriptor.java trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/ValenceCarbonConnectivityOrderOneDescriptor.java trunk/cdk/src/org/openscience/cdk/renderer/AbstractRenderer2D.java trunk/cdk/src/org/openscience/cdk/renderer/Java2DRenderer.java trunk/cdk/src/org/openscience/cdk/renderer/Renderer2DModel.java trunk/cdk/src/org/openscience/cdk/ringsearch/FiguerasSSSRFinder.java trunk/cdk/src/org/openscience/cdk/structgen/stochastic/operator/CrossoverMachine.java trunk/cdk/src/org/openscience/cdk/test/AtomContainerTest.java trunk/cdk/src/org/openscience/cdk/test/reaction/type/ElectronImpactPDBReactionTest.java trunk/cdk/src/org/openscience/cdk/test/smiles/SmilesParserTest.java trunk/cdk/src/org/openscience/cdk/test/structgen/RandomStructureGeneratorTest.java trunk/cdk/src/org/openscience/cdk/tools/SaturationChecker.java trunk/cdk/src/org/openscience/cdk/tools/SmilesValencyChecker.java trunk/cdk/src/org/openscience/cdk/tools/ValencyChecker.java trunk/cdk/src/org/openscience/cdk/tools/ValencyHybridChecker.java Modified: trunk/cdk/src/org/openscience/cdk/AtomContainer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/AtomContainer.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/AtomContainer.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -555,27 +555,11 @@ return result; } - /** * Returns the array of Bonds of this AtomContainer. * *@return The array of Bonds of this AtomContainer *@see #getElectronContainers - *@deprecated - */ - public IBond[] getBonds() - { - IBond[] result = new IBond[bondCount]; - System.arraycopy(this.bonds, 0, result, 0, bondCount); - return result; - } - - - /** - * Returns the array of Bonds of this AtomContainer. - * - *@return The array of Bonds of this AtomContainer - *@see #getElectronContainers *@see #getBonds *@deprecated */ Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugAminoAcid.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugAminoAcid.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugAminoAcid.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -20,7 +20,6 @@ */ package org.openscience.cdk.debug; -import java.util.Enumeration; import java.util.Hashtable; import java.util.List; @@ -140,11 +139,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugAtomContainer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugAtomContainer.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugAtomContainer.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -150,11 +150,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugBioPolymer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugBioPolymer.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugBioPolymer.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -21,7 +21,6 @@ package org.openscience.cdk.debug; import java.util.Collection; -import java.util.Enumeration; import java.util.Hashtable; import java.util.List; import java.util.Map; @@ -144,11 +143,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugCrystal.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugCrystal.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugCrystal.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -20,7 +20,6 @@ */ package org.openscience.cdk.debug; -import java.util.Enumeration; import java.util.Hashtable; import java.util.List; @@ -152,11 +151,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugMolecule.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugMolecule.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugMolecule.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -20,7 +20,6 @@ */ package org.openscience.cdk.debug; -import java.util.Enumeration; import java.util.Hashtable; import java.util.List; @@ -152,11 +151,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugMonomer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugMonomer.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugMonomer.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -139,11 +139,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugPolymer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugPolymer.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugPolymer.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -21,7 +21,6 @@ package org.openscience.cdk.debug; import java.util.Collection; -import java.util.Enumeration; import java.util.Hashtable; import java.util.List; @@ -142,11 +141,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugRing.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugRing.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugRing.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -20,7 +20,6 @@ */ package org.openscience.cdk.debug; -import java.util.Enumeration; import java.util.Hashtable; import java.util.List; @@ -165,11 +164,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/debug/DebugStrand.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/debug/DebugStrand.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/debug/DebugStrand.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -21,7 +21,6 @@ package org.openscience.cdk.debug; import java.util.Collection; -import java.util.Enumeration; import java.util.Hashtable; import java.util.List; @@ -142,11 +141,6 @@ return super.getElectronContainers(); } - public IBond[] getBonds() { - logger.debug("Getting bonds: ", super.getBonds().length); - return super.getBonds(); - } - public ILonePair[] getLonePairs() { logger.debug("Getting lone pairs: ", super.getLonePairs().length); return super.getLonePairs(); Modified: trunk/cdk/src/org/openscience/cdk/interfaces/IAtomContainer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/interfaces/IAtomContainer.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/interfaces/IAtomContainer.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -208,22 +208,11 @@ */ public IElectronContainer[] getElectronContainers(); - /** * Returns the array of Bonds of this AtomContainer. * *@return The array of Bonds of this AtomContainer *@see #getElectronContainers - *@deprecated - */ - public IBond[] getBonds(); - - - /** - * Returns the array of Bonds of this AtomContainer. - * - *@return The array of Bonds of this AtomContainer - *@see #getElectronContainers *@see #getBonds *@deprecated */ Modified: trunk/cdk/src/org/openscience/cdk/isomorphism/matchers/QueryAtomContainerCreator.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/isomorphism/matchers/QueryAtomContainerCreator.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/isomorphism/matchers/QueryAtomContainerCreator.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -24,8 +24,9 @@ */ package org.openscience.cdk.isomorphism.matchers; +import java.util.Iterator; + import org.openscience.cdk.CDKConstants; -import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.isomorphism.matchers.smarts.AnyAtom; @@ -50,18 +51,19 @@ for (int i = 0; i < container.getAtomCount(); i++) { queryContainer.addAtom(new SymbolQueryAtom(container.getAtom(i))); } - IBond[] bonds = container.getBonds(); - for (int i = 0; i < bonds.length; i++) { - int index1 = container.getAtomNumber(bonds[i].getAtom(0)); - int index2 = container.getAtomNumber(bonds[i].getAtom(1)); - if (bonds[i].getFlag(CDKConstants.ISAROMATIC)) { + Iterator bonds = container.bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + int index1 = container.getAtomNumber(bond.getAtom(0)); + int index2 = container.getAtomNumber(bond.getAtom(1)); + if (bond.getFlag(CDKConstants.ISAROMATIC)) { queryContainer.addBond(new AromaticQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), 1.5)); } else { queryContainer.addBond(new OrderQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), - bonds[i].getOrder())); + bond.getOrder())); } } return queryContainer; @@ -80,18 +82,19 @@ for (int i = 0; i < container.getAtomCount(); i++) { queryContainer.addAtom(new SymbolAndChargeQueryAtom(container.getAtom(i))); } - IBond[] bonds = container.getBonds(); - for (int i = 0; i < bonds.length; i++) { - int index1 = container.getAtomNumber(bonds[i].getAtom(0)); - int index2 = container.getAtomNumber(bonds[i].getAtom(1)); - if (bonds[i].getFlag(CDKConstants.ISAROMATIC)) { + Iterator bonds = container.bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + int index1 = container.getAtomNumber(bond.getAtom(0)); + int index2 = container.getAtomNumber(bond.getAtom(1)); + if (bond.getFlag(CDKConstants.ISAROMATIC)) { queryContainer.addBond(new AromaticQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), 1.5)); } else { queryContainer.addBond(new OrderQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), - bonds[i].getOrder())); + bond.getOrder())); } } return queryContainer; @@ -102,18 +105,19 @@ for (int i = 0; i < container.getAtomCount(); i++) { queryContainer.addAtom(new SymbolChargeIDQueryAtom(container.getAtom(i))); } - IBond[] bonds = container.getBonds(); - for (int i = 0; i < bonds.length; i++) { - int index1 = container.getAtomNumber(bonds[i].getAtom(0)); - int index2 = container.getAtomNumber(bonds[i].getAtom(1)); - if (bonds[i].getFlag(CDKConstants.ISAROMATIC)) { + Iterator bonds = container.bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + int index1 = container.getAtomNumber(bond.getAtom(0)); + int index2 = container.getAtomNumber(bond.getAtom(1)); + if (bond.getFlag(CDKConstants.ISAROMATIC)) { queryContainer.addBond(new AromaticQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), 1.5)); } else { queryContainer.addBond(new OrderQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), - bonds[i].getOrder())); + bond.getOrder())); } } return queryContainer; @@ -138,18 +142,19 @@ } } - IBond[] bonds = container.getBonds(); - for (int i = 0; i < bonds.length; i++) { - int index1 = container.getAtomNumber(bonds[i].getAtom(0)); - int index2 = container.getAtomNumber(bonds[i].getAtom(1)); - if (aromaticity && bonds[i].getFlag(CDKConstants.ISAROMATIC)) { + Iterator bonds = container.bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + int index1 = container.getAtomNumber(bond.getAtom(0)); + int index2 = container.getAtomNumber(bond.getAtom(1)); + if (aromaticity && bond.getFlag(CDKConstants.ISAROMATIC)) { queryContainer.addBond(new AromaticQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), 1.5)); } else { queryContainer.addBond(new OrderQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), - bonds[i].getOrder())); + bond.getOrder())); } } return queryContainer; @@ -176,13 +181,14 @@ } } - IBond[] bonds = container.getBonds(); - for (int i = 0; i < bonds.length; i++) { - int index1 = container.getAtomNumber(bonds[i].getAtom(0)); - int index2 = container.getAtomNumber(bonds[i].getAtom(1)); + Iterator bonds = container.bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + int index1 = container.getAtomNumber(bond.getAtom(0)); + int index2 = container.getAtomNumber(bond.getAtom(1)); queryContainer.addBond(new AnyOrderQueryBond((IQueryAtom) queryContainer.getAtom(index1), (IQueryAtom) queryContainer.getAtom(index2), - bonds[i].getOrder())); + bond.getOrder())); } return queryContainer; } Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/CarbonConnectivityOrderOneDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/CarbonConnectivityOrderOneDescriptor.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/CarbonConnectivityOrderOneDescriptor.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -24,16 +24,18 @@ */ package org.openscience.cdk.qsar.descriptors.molecular; +import java.util.ArrayList; +import java.util.Iterator; + import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; import org.openscience.cdk.qsar.IMolecularDescriptor; import org.openscience.cdk.qsar.result.DoubleResult; -import java.util.ArrayList; - /** * CarbonConnectivity index (order 1): * http://www.edusoft-lc.com/molconn/manuals/400/chaptwo.html @@ -118,13 +120,13 @@ double val0 = 0; double val1 = 0; int atomDegree = 0; - org.openscience.cdk.interfaces.IBond[] bonds = atomContainer.getBonds(); - org.openscience.cdk.interfaces.IBond bond = null; - for (int b = 0; b < bonds.length; b++) { - bond = bonds[b]; + Iterator bonds = atomContainer.bonds(); + IBond bond = null; + while (bonds.hasNext()) { + bond = (IBond)bonds.next(); if ((!bond.getAtom(0).getSymbol().equals("H")) || (!bond.getAtom(1).getSymbol().equals("H"))) { degrees.clear(); - java.util.Iterator iter = bond.atoms(); + Iterator iter = bond.atoms(); while (iter.hasNext()) { atomDegree = 0; java.util.List neighboors = atomContainer.getConnectedAtomsList((IAtom)iter.next()); Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/RotatableBondsCountDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/RotatableBondsCountDescriptor.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/RotatableBondsCountDescriptor.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -24,10 +24,14 @@ */ package org.openscience.cdk.qsar.descriptors.molecular; +import java.util.Iterator; +import java.util.List; + import org.openscience.cdk.CDKConstants; import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; @@ -35,8 +39,6 @@ import org.openscience.cdk.qsar.result.IntegerResult; import org.openscience.cdk.ringsearch.AllRingsFinder; -import java.util.List; - /** * The number of rotatable bonds is given by the SMARTS specified by Daylight on * <a href="http://www.daylight.com/dayhtml_tutorials/languages/smarts/smarts_examples.html#EXMPL">SMARTS tutorial</a><p> @@ -132,26 +134,28 @@ */ public DescriptorValue calculate(IAtomContainer ac) throws CDKException { int rotatableBondsCount = 0; - org.openscience.cdk.interfaces.IBond[] bonds = ac.getBonds(); + Iterator bonds = ac.bonds(); int degree0 = 0; int degree1 = 0; IRingSet ringSet = null; AllRingsFinder arf = new AllRingsFinder(); ringSet = arf.findAllRings(ac); List ringsWithThisBond = null; - for (int f = 0; f < bonds.length; f++) { - ringsWithThisBond = ringSet.getRings(bonds[f]); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + ringsWithThisBond = ringSet.getRings(bond); if (ringsWithThisBond.size() > 0) { - bonds[f].setFlag(CDKConstants.ISINRING, true); + bond.setFlag(CDKConstants.ISINRING, true); } } - for (int i = 0; i < bonds.length; i++) { - - IAtom atom0 = ac.getBond(i).getAtom(0); - IAtom atom1 = ac.getBond(i).getAtom(1); - if (bonds[i].getOrder() == CDKConstants.BONDORDER_SINGLE) { + bonds = ac.bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + IAtom atom0 = bond.getAtom(0); + IAtom atom1 = bond.getAtom(1); + if (bond.getOrder() == CDKConstants.BONDORDER_SINGLE) { if ((ac.getMaximumBondOrder(atom0) < 3.0) && (ac.getMaximumBondOrder(atom1) < 3.0)) { - if (bonds[i].getFlag(CDKConstants.ISINRING) == false) { + if (bond.getFlag(CDKConstants.ISINRING) == false) { degree0 = ac.getConnectedBondsCount(atom0); degree1 = ac.getConnectedBondsCount(atom1); if ((degree0 == 1) || (degree1 == 1)) { Modified: trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/ValenceCarbonConnectivityOrderOneDescriptor.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/ValenceCarbonConnectivityOrderOneDescriptor.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/qsar/descriptors/molecular/ValenceCarbonConnectivityOrderOneDescriptor.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -23,6 +23,10 @@ */ package org.openscience.cdk.qsar.descriptors.molecular; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.Map; + import org.openscience.cdk.config.IsotopeFactory; import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; @@ -36,10 +40,7 @@ import org.openscience.cdk.qsar.result.DoubleResult; import org.openscience.cdk.tools.LoggingTool; -import java.util.ArrayList; -import java.util.Map; - /** * Atomic valence connectivity index (order 1). See * <a href="http://www.edusoft-lc.com/molconn/manuals/400/chaptwo.html">http://www.edusoft-lc.com/molconn/manuals/400/chaptwo.html</a> and @@ -151,9 +152,9 @@ IElement element = null; IsotopeFactory elfac = null; String symbol = null; - org.openscience.cdk.interfaces.IBond[] bonds = atomContainer.getBonds(); - for (int b = 0; b < bonds.length; b++) { - bond = bonds[b]; + Iterator bonds = atomContainer.bonds(); + while (bonds.hasNext()) { + bond = (IBond)bonds.next(); if ((!bond.getAtom(0).getSymbol().equals("H")) && (!bond.getAtom(0).getSymbol().equals("H"))) { val0 = 0; val1 = 0; Modified: trunk/cdk/src/org/openscience/cdk/renderer/AbstractRenderer2D.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/renderer/AbstractRenderer2D.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/renderer/AbstractRenderer2D.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -34,19 +34,20 @@ import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener; import java.util.ArrayList; +import java.util.Iterator; import java.util.Vector; import javax.vecmath.Point2d; import javax.vecmath.Vector2d; import org.openscience.cdk.CDKConstants; -//import org.openscience.cdk.FragmentAtom; import org.openscience.cdk.config.AtomTypeFactory; import org.openscience.cdk.config.IsotopeFactory; import org.openscience.cdk.geometry.GeometryTools; import org.openscience.cdk.geometry.GeometryToolsInternalCoordinates; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemObject; import org.openscience.cdk.interfaces.IIsotope; import org.openscience.cdk.interfaces.IPseudoAtom; @@ -961,13 +962,13 @@ { Color bondColor; IRing ring; - org.openscience.cdk.interfaces.IBond[] bonds = atomCon.getBonds(); + Iterator bonds = atomCon.bonds(); ArrayList painted_rings = new ArrayList(); logger.debug("Painting bonds..."); - for (int i = 0; i < bonds.length; i++) + while (bonds.hasNext()) { - org.openscience.cdk.interfaces.IBond currentBond = bonds[i]; + IBond currentBond = (IBond)bonds.next(); bondColor = (Color) r2dm.getColorHash().get(currentBond); if (bondColor == null) { @@ -1035,14 +1036,10 @@ if (!isAromatic) { isAromatic = true; - org.openscience.cdk.interfaces.IBond[] bonds = ring.getBonds(); - for (int i = 0; i < bonds.length; i++) - { - if (!bonds[i].getFlag(CDKConstants.ISAROMATIC)) - { + Iterator bonds = ring.bonds(); + while (bonds.hasNext()) + if (!((IBond)bonds.next()).getFlag(CDKConstants.ISAROMATIC)) return false; - } - } } return isAromatic; } Modified: trunk/cdk/src/org/openscience/cdk/renderer/Java2DRenderer.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/renderer/Java2DRenderer.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/renderer/Java2DRenderer.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -54,14 +54,15 @@ Rectangle2D bounds) { List shapes = new ArrayList(); // create the bond shapes - IBond[] bonds = atomCon.getBonds(); - for (int i=0; i<bonds.length; i++) { + Iterator bonds = atomCon.bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); shapes.add( new Line2D.Double( - bonds[i].getAtom(0).getPoint2d().x, - bonds[i].getAtom(0).getPoint2d().y, - bonds[i].getAtom(1).getPoint2d().x, - bonds[i].getAtom(1).getPoint2d().y + bond.getAtom(0).getPoint2d().x, + bond.getAtom(0).getPoint2d().y, + bond.getAtom(1).getPoint2d().x, + bond.getAtom(1).getPoint2d().y ) ); } Modified: trunk/cdk/src/org/openscience/cdk/renderer/Renderer2DModel.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/renderer/Renderer2DModel.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/renderer/Renderer2DModel.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -24,6 +24,19 @@ * */ package org.openscience.cdk.renderer; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.Point; +import java.awt.Polygon; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Iterator; +import java.util.Vector; + +import javax.vecmath.Point2d; + import org.openscience.cdk.event.ICDKChangeListener; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; @@ -31,13 +44,6 @@ import org.openscience.cdk.renderer.color.CDK2DAtomColors; import org.openscience.cdk.renderer.color.IAtomColorer; -import javax.vecmath.Point2d; -import java.awt.*; -import java.util.EventObject; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.Vector; - /** * Model for Renderer2D that contains settings for drawing objects. * @@ -823,9 +829,9 @@ { getColorHash().put(selectedPart.getAtom(i), this.getSelectedPartColor()); } - IBond[] bonds = selectedPart.getBonds(); - for (int i = 0; i < bonds.length; i++) { - getColorHash().put(bonds[i], getSelectedPartColor()); + Iterator bonds = selectedPart.bonds(); + while (bonds.hasNext()) { + getColorHash().put(bonds.next(), getSelectedPartColor()); } fireChange(); } @@ -1058,9 +1064,9 @@ { getColorHash().put(externalSelectedPart.getAtom(i), this.getExternalHighlightColor()); } - IBond[] bonds = externalSelectedPart.getBonds(); - for (int i = 0; i < bonds.length; i++) { - getColorHash().put(bonds[i], getExternalHighlightColor()); + Iterator bonds = externalSelectedPart.bonds(); + while (bonds.hasNext()) { + getColorHash().put(bonds.next(), getExternalHighlightColor()); } fireChange(); } Modified: trunk/cdk/src/org/openscience/cdk/ringsearch/FiguerasSSSRFinder.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/ringsearch/FiguerasSSSRFinder.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/ringsearch/FiguerasSSSRFinder.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -409,10 +409,10 @@ int minMaxSize = Integer.MAX_VALUE; int minMax = 0; logger.debug("Molecule: " + molecule); - org.openscience.cdk.interfaces.IBond[] bonds = ring.getBonds(); - for (int i = 0; i < bonds.length; i++) + Iterator bonds = ring.bonds(); + while (bonds.hasNext()) { - bond = bonds[i]; + bond = (IBond)bonds.next(); molecule.removeElectronContainer(bond); r1 = getRing(bond.getAtom(0),molecule); r2 = getRing(bond.getAtom(1),molecule); Modified: trunk/cdk/src/org/openscience/cdk/structgen/stochastic/operator/CrossoverMachine.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/structgen/stochastic/operator/CrossoverMachine.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/structgen/stochastic/operator/CrossoverMachine.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -21,10 +21,12 @@ package org.openscience.cdk.structgen.stochastic.operator; import java.util.ArrayList; +import java.util.Iterator; import java.util.List; import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.math.RandomNumbersTool; import org.openscience.cdk.structgen.stochastic.PartialFilledStructureMerger; @@ -132,12 +134,12 @@ for (int j = 0; j < blueAtoms.size(); j++) { - org.openscience.cdk.interfaces.IBond[] bonds = redChild[1].getBonds(); - for (int i = 0; i < bonds.length; i++) { - if (bonds[i].contains(redChild[0].getAtom(((Integer)blueAtoms.get(j)).intValue()))) + Iterator bonds = redChild[1].bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + if (bond.contains(redChild[0].getAtom(((Integer)blueAtoms.get(j)).intValue()))) { - redChild[0].removeBond(bonds[i]); - i--; + redChild[0].removeBond(bond); } } } @@ -145,12 +147,12 @@ for (int j = 0; j < blueAtoms.size(); j++) { - org.openscience.cdk.interfaces.IBond[] bonds = redChild[1].getBonds(); - for (int i = 0; i < bonds.length; i++) { - if (bonds[i].contains(redChild[1].getAtom(((Integer)blueAtoms.get(j)).intValue()))) + Iterator bonds = redChild[1].bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + if (bond.contains(redChild[1].getAtom(((Integer)blueAtoms.get(j)).intValue()))) { - redChild[1].removeBond(bonds[i]); - i--; + bonds.remove(); // this removes it from redChild[1] too } } } @@ -158,24 +160,24 @@ for (int j = 0; j < redAtoms.size(); j++) { - org.openscience.cdk.interfaces.IBond[] bonds = blueChild[0].getBonds(); - for (int i = 0; i < bonds.length; i++) { - if (bonds[i].contains(blueChild[0].getAtom(((Integer)redAtoms.get(j)).intValue()))) + Iterator bonds = blueChild[0].bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + if (bond.contains(blueChild[0].getAtom(((Integer)redAtoms.get(j)).intValue()))) { - blueChild[0].removeBond(bonds[i]); - i--; + bonds.remove(); } } } for (int j = 0; j < redAtoms.size(); j++) { - org.openscience.cdk.interfaces.IBond[] bonds = blueChild[1].getBonds(); - for (int i = 0; i < bonds.length; i++) { - if (bonds[i].contains(blueChild[1].getAtom(((Integer)redAtoms.get(j)).intValue()))) + Iterator bonds = blueChild[1].bonds(); + while (bonds.hasNext()) { + IBond bond = (IBond)bonds.next(); + if (bond.contains(blueChild[1].getAtom(((Integer)redAtoms.get(j)).intValue()))) { - blueChild[1].removeBond(bonds[i]); - i--; + bonds.remove(); } } } Modified: trunk/cdk/src/org/openscience/cdk/test/AtomContainerTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/AtomContainerTest.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/test/AtomContainerTest.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -25,6 +25,7 @@ package org.openscience.cdk.test; +import java.util.Iterator; import java.util.List; import javax.vecmath.Point2d; @@ -1183,13 +1184,11 @@ acetone.addBond(b3); assertEquals(3, acetone.getBondCount()); - org.openscience.cdk.interfaces.IBond[] bonds = acetone.getBonds(); - for (int i=0; i<bonds.length; i++) { - assertNotNull(bonds[i]); - } - assertEquals(b1, bonds[0]); - assertEquals(b2, bonds[1]); - assertEquals(b3, bonds[2]); + Iterator bonds = acetone.bonds(); + while (bonds.hasNext()) assertNotNull(bonds.next()); + assertEquals(b1, acetone.getBond(0)); + assertEquals(b2, acetone.getBond(1)); + assertEquals(b3, acetone.getBond(2)); } // public void testSetElectronContainers_arrayIElectronContainer() { @@ -1326,19 +1325,18 @@ acetone.addBond(1, 2, 1); assertEquals(3, acetone.getBondCount()); - org.openscience.cdk.interfaces.IBond[] bonds = acetone.getBonds(); - for (int i=0; i<bonds.length; i++) { - assertNotNull(bonds[i]); - } - assertEquals(c1, bonds[0].getAtom(0)); - assertEquals(c2, bonds[0].getAtom(1)); - assertEquals(1.0, bonds[0].getOrder(), 0.001); - assertEquals(c2, bonds[1].getAtom(0)); - assertEquals(o, bonds[1].getAtom(1)); - assertEquals(2.0, bonds[1].getOrder(), 0.001); - assertEquals(c2, bonds[2].getAtom(0)); - assertEquals(c3, bonds[2].getAtom(1)); - assertEquals(1.0, bonds[2].getOrder(), 0.001); + Iterator bonds = acetone.bonds(); + while (bonds.hasNext()) assertNotNull(bonds.next()); + + assertEquals(c1, acetone.getBond(0).getAtom(0)); + assertEquals(c2, acetone.getBond(0).getAtom(1)); + assertEquals(1.0, acetone.getBond(0).getOrder(), 0.001); + assertEquals(c2, acetone.getBond(1).getAtom(0)); + assertEquals(o, acetone.getBond(1).getAtom(1)); + assertEquals(2.0, acetone.getBond(1).getOrder(), 0.001); + assertEquals(c2, acetone.getBond(2).getAtom(0)); + assertEquals(c3, acetone.getBond(2).getAtom(1)); + assertEquals(1.0, acetone.getBond(2).getOrder(), 0.001); } public void testAddBond_int_int_double_int() { @@ -1357,22 +1355,21 @@ acetone.addBond(1, 2, 1, CDKConstants.STEREO_BOND_NONE); assertEquals(3, acetone.getBondCount()); - org.openscience.cdk.interfaces.IBond[] bonds = acetone.getBonds(); - for (int i=0; i<bonds.length; i++) { - assertNotNull(bonds[i]); - } - assertEquals(c1, bonds[0].getAtom(0)); - assertEquals(c2, bonds[0].getAtom(1)); - assertEquals(1.0, bonds[0].getOrder(), 0.001); - assertEquals(CDKConstants.STEREO_BOND_UP, bonds[0].getStereo()); - assertEquals(c2, bonds[1].getAtom(0)); - assertEquals(o, bonds[1].getAtom(1)); - assertEquals(2.0, bonds[1].getOrder(), 0.001); - assertEquals(CDKConstants.STEREO_BOND_DOWN, bonds[1].getStereo()); - assertEquals(c2, bonds[2].getAtom(0)); - assertEquals(c3, bonds[2].getAtom(1)); - assertEquals(1.0, bonds[2].getOrder(), 0.001); - assertEquals(CDKConstants.STEREO_BOND_NONE, bonds[2].getStereo()); + Iterator bonds = acetone.bonds(); + while (bonds.hasNext()) assertNotNull(bonds.next()); + + assertEquals(c1, acetone.getBond(0).getAtom(0)); + assertEquals(c2, acetone.getBond(0).getAtom(1)); + assertEquals(1.0, acetone.getBond(0).getOrder(), 0.001); + assertEquals(CDKConstants.STEREO_BOND_UP, acetone.getBond(0).getStereo()); + assertEquals(c2, acetone.getBond(1).getAtom(0)); + assertEquals(o, acetone.getBond(1).getAtom(1)); + assertEquals(2.0, acetone.getBond(1).getOrder(), 0.001); + assertEquals(CDKConstants.STEREO_BOND_DOWN, acetone.getBond(1).getStereo()); + assertEquals(c2, acetone.getBond(2).getAtom(0)); + assertEquals(c3, acetone.getBond(2).getAtom(1)); + assertEquals(1.0, acetone.getBond(2).getOrder(), 0.001); + assertEquals(CDKConstants.STEREO_BOND_NONE, acetone.getBond(2).getStereo()); } public void testContains_IElectronContainer() { @@ -1455,27 +1452,6 @@ assertEquals(2, acetone.getLonePairs().length); } - public void testGetBonds() { - // acetone molecule - IMolecule acetone = builder.newMolecule(); - IAtom c1 = builder.newAtom("C"); - IAtom c2 = builder.newAtom("C"); - IAtom o = builder.newAtom("O"); - IAtom c3 = builder.newAtom("C"); - acetone.addAtom(c1); - acetone.addAtom(c2); - acetone.addAtom(c3); - acetone.addAtom(o); - IBond b1 = builder.newBond(c1, c2,1); - IBond b2 = builder.newBond(c1, o, 2); - IBond b3 = builder.newBond(c1, c3,1); - acetone.addBond(b1); - acetone.addBond(b2); - acetone.addBond(b3); - - assertEquals(3, acetone.getBonds().length); - } - public void testGetFirstAtom() { IAtomContainer container = builder.newAtomContainer(); IAtom c1 = builder.newAtom("C"); Modified: trunk/cdk/src/org/openscience/cdk/test/reaction/type/ElectronImpactPDBReactionTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/reaction/type/ElectronImpactPDBReactionTest.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/test/reaction/type/ElectronImpactPDBReactionTest.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -24,6 +24,8 @@ package org.openscience.cdk.test.reaction.type; +import java.util.Iterator; + import junit.framework.Assert; import junit.framework.Test; import junit.framework.TestSuite; @@ -63,14 +65,15 @@ /* ionize >C=C< , set the reactive center*/ IMolecule reactant = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("C=CCC(=O)CC"); - IBond[] bonds = reactant.getBonds(); - for(int i = 0 ; i < bonds.length ; i++){ - IAtom atom0 = bonds[i].getAtom(0); - IAtom atom1 = bonds[i].getAtom(1); - if(bonds[i].getOrder() == 2 && + Iterator bonds = reactant.bonds(); + while (bonds.hasNext()){ + IBond bond = (IBond)bonds.next(); + IAtom atom0 = bond.getAtom(0); + IAtom atom1 = bond.getAtom(1); + if(bond.getOrder() == 2 && atom0.getSymbol().equals("C")&& atom1.getSymbol().equals("C")){ - bonds[i].setFlag(CDKConstants.REACTIVE_CENTER,true); + bond.setFlag(CDKConstants.REACTIVE_CENTER,true); } } Modified: trunk/cdk/src/org/openscience/cdk/test/smiles/SmilesParserTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/smiles/SmilesParserTest.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/test/smiles/SmilesParserTest.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -23,6 +23,8 @@ */ package org.openscience.cdk.test.smiles; +import java.util.Iterator; + import junit.framework.Test; import junit.framework.TestSuite; @@ -339,10 +341,8 @@ { String smiles = "n12:n:n:n:c:2:c:c:c:c:1"; IMolecule molecule = sp.parseSmiles(smiles); - IBond[] bonds = molecule.getBonds(); - for (int i=0; i<bonds.length; i++) { - assertTrue(bonds[i].getFlag(CDKConstants.ISAROMATIC)); - } + Iterator bonds = molecule.bonds(); + while (bonds.hasNext()) assertTrue(((IBond)bonds.next()).getFlag(CDKConstants.ISAROMATIC)); } catch (Exception exception) { fail(exception.getMessage()); } @@ -811,11 +811,9 @@ // it's a bit hard to detect three double bonds in the phenyl ring // but I do can check the total order in the whole molecule double totalBondOrder = 0.0; - org.openscience.cdk.interfaces.IBond[] bonds = mol.getBonds(); - for (int i = 0; i < bonds.length; i++) - { - totalBondOrder += bonds[i].getOrder(); - } + Iterator bonds = mol.bonds(); + while (bonds.hasNext()) + totalBondOrder += ((IBond)bonds.next()).getOrder(); assertEquals(9.0, totalBondOrder, 0.001); // I can also check wether all carbons have exact two neighbors for (int i = 0; i < mol.getAtomCount(); i++) @@ -885,11 +883,9 @@ // it's a bit hard to detect two double bonds in the pyrrole ring // but I do can check the total order in the whole molecule double totalBondOrder = 0.0; - org.openscience.cdk.interfaces.IBond[] bonds = mol.getBonds(); - for (int i = 0; i < bonds.length; i++) - { - totalBondOrder += bonds[i].getOrder(); - } + Iterator bonds = mol.bonds(); + while (bonds.hasNext()) + totalBondOrder += ((IBond)bonds.next()).getOrder(); assertEquals(8.0, totalBondOrder, 0.001); // I can also check wether the total neighbor count around the // nitrogen is 3, all single bonded @@ -1194,11 +1190,9 @@ // it's a bit hard to detect two double bonds in the pyrrole ring // but I do can check the total order in the whole molecule double totalBondOrder = 0.0; - org.openscience.cdk.interfaces.IBond[] bonds = mol.getBonds(); - for (int i = 0; i < bonds.length; i++) - { - totalBondOrder += bonds[i].getOrder(); - } + Iterator bonds = mol.bonds(); + while (bonds.hasNext()) + totalBondOrder += ((IBond)bonds.next()).getOrder(); assertEquals(9.0, totalBondOrder, 0.001); // I can also check wether the total neighbor count around the // nitrogen is 3, all single bonded Modified: trunk/cdk/src/org/openscience/cdk/test/structgen/RandomStructureGeneratorTest.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/test/structgen/RandomStructureGeneratorTest.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/test/structgen/RandomStructureGeneratorTest.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -23,6 +23,7 @@ */ package org.openscience.cdk.test.structgen; +import java.util.Iterator; import java.util.Vector; import javax.vecmath.Vector2d; @@ -32,6 +33,7 @@ import org.openscience.cdk.Molecule; import org.openscience.cdk.applications.swing.MoleculeListViewer; +import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IMolecule; import org.openscience.cdk.layout.StructureDiagramGenerator; import org.openscience.cdk.structgen.RandomGenerator; @@ -101,10 +103,9 @@ } //System.out.println(s); s = "Bonds: "; - org.openscience.cdk.interfaces.IBond[] bonds = mol.getBonds(); - for (int g = 0; g < bonds.length; g++) - { - s += bonds[g].getOrder() + " "; + Iterator bonds = mol.bonds(); + while (bonds.hasNext()) { + s += ((IBond)bonds.next()).getOrder() + " "; } //System.out.println(s); } Modified: trunk/cdk/src/org/openscience/cdk/tools/SaturationChecker.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/tools/SaturationChecker.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/tools/SaturationChecker.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -302,8 +302,9 @@ logger.info("Saturating atomContainer by adjusting bond orders..."); boolean allSaturated = allSaturated(atomContainer); if (!allSaturated) { - boolean succeeded = newSaturate(atomContainer.getBonds(), atomContainer); - IBond[] bonds=atomContainer.getBonds(); + IBond[] bonds = new IBond[atomContainer.getBondCount()]; + for (int i=0; i<bonds.length; i++) bonds[i] = atomContainer.getBond(i); + boolean succeeded = newSaturate(bonds, atomContainer); for(int i=0;i<bonds.length;i++){ if(bonds[i].getOrder()==2 && bonds[i].getFlag(CDKConstants.ISAROMATIC) && (bonds[i].getAtom(0).getSymbol().equals("N") && bonds[i].getAtom(1).getSymbol().equals("N"))){ int atomtohandle=0; Modified: trunk/cdk/src/org/openscience/cdk/tools/SmilesValencyChecker.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/tools/SmilesValencyChecker.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/tools/SmilesValencyChecker.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -72,7 +72,9 @@ boolean allSaturated = allSaturated(atomContainer); if (!allSaturated) { logger.info("Saturating bond orders is needed..."); - boolean succeeded = saturate(atomContainer.getBonds(), atomContainer); + IBond[] bonds = new IBond[atomContainer.getBondCount()]; + for (int i=0; i<bonds.length; i++) bonds[i] = atomContainer.getBond(i); + boolean succeeded = saturate(bonds, atomContainer); if (!succeeded) { throw new CDKException("Could not saturate this atomContainer!"); } Modified: trunk/cdk/src/org/openscience/cdk/tools/ValencyChecker.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/tools/ValencyChecker.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/tools/ValencyChecker.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -29,15 +29,17 @@ package org.openscience.cdk.tools; import java.io.IOException; +import java.util.Iterator; +import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.config.AtomTypeFactory; +import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemObjectBuilder; import org.openscience.cdk.interfaces.IPseudoAtom; -import org.openscience.cdk.config.AtomTypeFactory; -import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.tools.manipulator.BondManipulator; /** @@ -237,7 +239,9 @@ boolean allSaturated = allSaturated(atomContainer); if (!allSaturated) { logger.info("Saturating bond orders is needed..."); - boolean succeeded = saturate(atomContainer.getBonds(), atomContainer); + IBond[] bonds = new IBond[atomContainer.getBondCount()]; + for (int i=0; i<bonds.length; i++) bonds[i] = atomContainer.getBond(i); + boolean succeeded = saturate(bonds, atomContainer); if (!succeeded) { throw new CDKException("Could not saturate this atomContainer!"); } @@ -393,21 +397,13 @@ } /** - * Resets the bond orders of all atoms to 1.0. + * Resets the bond orders of all bonds to 1.0. */ public void unsaturate(IAtomContainer atomContainer) { - unsaturate(atomContainer.getBonds()); + Iterator bonds = atomContainer.bonds(); + while (bonds.hasNext()) ((IBond)bonds.next()).setOrder(CDKConstants.BONDORDER_SINGLE); } - /** - * Resets the bond order of the Bond to 1.0. - */ - public void unsaturate(IBond[] bonds) { - for (int i = 1; i < bonds.length; i++) { - bonds[i].setOrder(1.0); - } - } - public boolean unsaturateByDecreasingBondOrder(IBond bond, double decrement) { if (bond.getOrder() > decrement) { bond.setOrder(bond.getOrder() - decrement); Modified: trunk/cdk/src/org/openscience/cdk/tools/ValencyHybridChecker.java =================================================================== --- trunk/cdk/src/org/openscience/cdk/tools/ValencyHybridChecker.java 2006-12-28 09:31:31 UTC (rev 7583) +++ trunk/cdk/src/org/openscience/cdk/tools/ValencyHybridChecker.java 2006-12-28 10:24:42 UTC (rev 7584) @@ -79,7 +79,9 @@ boolean allSaturated = allSaturated(atomContainer); if (!allSaturated) { logger.info("Saturating bond orders is needed..."); - boolean succeeded = saturate(atomContainer.getBonds(), atomContainer); + IBond[] bonds = new IBond[atomContainer.getBondCount()]; + for (int i=0; i<bonds.length; i++) bonds[i] = atomContainer.getBond(i); + boolean succeeded = saturate(bonds, atomContainer); if (!succeeded) { throw new CDKException("Could not saturate this atomContainer!"); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |