From: Stefan K. <sh...@us...> - 2005-03-24 12:25:23
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2607/src/org/openscience/cdk/tools Modified Files: SaturationChecker.java Log Message: now ignores unknown atom types (ValencyChecker already behaved like this, so this is unified now) Index: SaturationChecker.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/tools/SaturationChecker.java,v retrieving revision 1.66 retrieving revision 1.67 diff -u -r1.66 -r1.67 --- SaturationChecker.java 13 Jan 2005 09:39:57 -0000 1.66 +++ SaturationChecker.java 24 Mar 2005 12:25:14 -0000 1.67 @@ -77,7 +77,7 @@ double maxBondOrder = ac.getMaximumBondOrder(atom); AtomType[] atomTypes = structgenATF.getAtomTypes(atom.getSymbol()); if(atomTypes.length==0) - throw new CDKException("Missing entry in structgen_atomtypes.xml for "+atom.getSymbol()); + return true; logger.debug("*** Checking for perfect configuration ***"); try { @@ -159,7 +159,7 @@ public boolean isSaturated(Atom atom, AtomContainer ac) throws CDKException { AtomType[] atomTypes = structgenATF.getAtomTypes(atom.getSymbol()); if(atomTypes.length==0) - throw new CDKException("Missing entry in structgen_atomtypes.xml for "+ atom.getSymbol()); + return true; double bondOrderSum = ac.getBondOrderSum(atom); double maxBondOrder = ac.getMaximumBondOrder(atom); int hcount = atom.getHydrogenCount(); @@ -194,7 +194,7 @@ { AtomType[] atomTypes = structgenATF.getAtomTypes(atom.getSymbol()); if(atomTypes.length==0) - throw new CDKException("Missing entry in structgen_atomtypes.xml for "+atom.getSymbol()); + return false; double bondOrderSum = ac.getBondOrderSum(atom); double maxBondOrder = ac.getMaximumBondOrder(atom); int hcount = atom.getHydrogenCount(); @@ -231,7 +231,7 @@ { AtomType[] atomTypes = structgenATF.getAtomTypes(atom.getSymbol()); if(atomTypes.length==0) - throw new CDKException("Missing entry in structgen_atomtypes.xml for "+ atom.getSymbol()); + return 0; double bondOrderSum = ac.getBondOrderSum(atom); int hcount = atom.getHydrogenCount(); double max = 0; @@ -443,7 +443,7 @@ logger.debug("Atom has " + partners.length + " partners"); atomTypes2 = structgenATF.getAtomTypes(partner.getSymbol()); if(atomTypes2.length==0) - throw new CDKException("Missing entry in structgen_atomtypes.xml for "+ partner.getSymbol()); + return; if (atomContainer.getBond(partner,atom).getFlag(CDKConstants.ISAROMATIC) && atomContainer.getBondOrderSum(partner) < atomTypes2[0].getBondOrderSum() - partner.getHydrogenCount()) { logger.debug("Partner has " + atomContainer.getBondOrderSum(partner) + ", may have: " + atomTypes2[0].getBondOrderSum()); @@ -465,7 +465,7 @@ logger.debug("Atom has " + partners.length + " partners"); atomTypes2 = structgenATF.getAtomTypes(partner.getSymbol()); if(atomTypes2.length==0) - throw new CDKException("Missing entry in structgen_atomtypes.xml for "+partner.getSymbol()); + return; if (atomContainer.getBondOrderSum(partner) < atomTypes2[0].getBondOrderSum() - partner.getHydrogenCount()) { logger.debug("Partner has " + atomContainer.getBondOrderSum(partner) + ", may have: " + atomTypes2[0].getBondOrderSum()); @@ -612,7 +612,7 @@ // get default atom AtomType[] atomTypes = structgenATF.getAtomTypes(atom.getSymbol()); if(atomTypes.length==0 && throwExceptionForUnknowAtom) - throw new CDKException("Missing entry in structgen_atomtypes.xml for " + atom.getSymbol()); + return 0; logger.debug("Found atomtypes: " + atomTypes.length); if (atomTypes.length > 0) { AtomType defaultAtom = atomTypes[0]; |