From: <gil...@us...> - 2008-09-08 09:26:11
|
Revision: 12229 http://cdk.svn.sourceforge.net/cdk/?rev=12229&view=rev Author: gilleain Date: 2008-09-08 09:26:06 +0000 (Mon, 08 Sep 2008) Log Message: ----------- Convenience constructor added. Modified Paths: -------------- cdk/trunk/src/main/org/openscience/cdk/smiles/SmilesParser.java Modified: cdk/trunk/src/main/org/openscience/cdk/smiles/SmilesParser.java =================================================================== --- cdk/trunk/src/main/org/openscience/cdk/smiles/SmilesParser.java 2008-09-08 09:09:00 UTC (rev 12228) +++ cdk/trunk/src/main/org/openscience/cdk/smiles/SmilesParser.java 2008-09-08 09:26:06 UTC (rev 12229) @@ -26,6 +26,7 @@ package org.openscience.cdk.smiles; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.aromaticity.CDKHueckelAromaticityDetector; import org.openscience.cdk.atomtype.CDKAtomTypeMatcher; import org.openscience.cdk.exception.InvalidSmilesException; @@ -80,16 +81,24 @@ public class SmilesParser { private final static String HAS_HARDCODED_HYDROGEN_COUNT = "SmilesParser.HasHardcodedHydrogenCount"; - + private LoggingTool logger; private CDKHydrogenAdder hAdder; - + private int status = 0; protected IChemObjectBuilder builder; /** + * Construct a SmilesParser that uses a {@link DefaultChemObjectBuilder} + * to build IMolecules. + */ + public SmilesParser() { + this(DefaultChemObjectBuilder.getInstance()); + } + + /** * Constructor for the SmilesParser object. - * + * * @param builder IChemObjectBuilder used to create the IMolecules from */ public SmilesParser(IChemObjectBuilder builder) @@ -173,7 +182,7 @@ */ public IMolecule parseSmiles(String smiles) throws InvalidSmilesException { IMolecule molecule = this.parseString(smiles); - + // perceive atom types CDKAtomTypeMatcher matcher = CDKAtomTypeMatcher.getInstance(molecule.getBuilder()); int i = 0; @@ -414,7 +423,7 @@ } } catch (InvalidSmilesException exc) { - logger.error("InvalidSmilesException while parsing char (in parseSmiles()) '" + + logger.error("InvalidSmilesException while parsing char (in parseSmiles()) '" + mychar + "': " + exc.getMessage()); logger.debug(exc); throw exc; @@ -596,7 +605,7 @@ String retString = s.substring(pos, pos + 2); - if (retString.charAt(0) < '0' || retString.charAt(0) > '9' || + if (retString.charAt(0) < '0' || retString.charAt(0) > '9' || retString.charAt(1) < '0' || retString.charAt(1) > '9') throw new InvalidSmilesException("Percent sign ring closure numbers must be two-digit."); @@ -766,7 +775,7 @@ partner = thisNode; bond = builder.newBond(atom, partner, bondStat); if (bondIsAromatic) { - + bond.setFlag(CDKConstants.ISAROMATIC, true); } molecule.addBond(bond); @@ -821,6 +830,6 @@ } } } - + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |