From: <tho...@us...> - 2008-03-26 19:41:43
|
Revision: 10526 http://cdk.svn.sourceforge.net/cdk/?rev=10526&view=rev Author: thomaskuhn Date: 2008-03-26 12:41:39 -0700 (Wed, 26 Mar 2008) Log Message: ----------- Some clean up and upgrade to Java 5 standards Modified Paths: -------------- cdk-taverna/trunk/src/main/java/org/openscience/cdk/applications/taverna/atomtype/PerceiveMMFF94AtomTypes.java Modified: cdk-taverna/trunk/src/main/java/org/openscience/cdk/applications/taverna/atomtype/PerceiveMMFF94AtomTypes.java =================================================================== --- cdk-taverna/trunk/src/main/java/org/openscience/cdk/applications/taverna/atomtype/PerceiveMMFF94AtomTypes.java 2008-03-26 19:41:27 UTC (rev 10525) +++ cdk-taverna/trunk/src/main/java/org/openscience/cdk/applications/taverna/atomtype/PerceiveMMFF94AtomTypes.java 2008-03-26 19:41:39 UTC (rev 10526) @@ -34,6 +34,7 @@ import org.embl.ebi.escience.baclava.DataThing; import org.openscience.cdk.applications.taverna.CMLChemFile; import org.openscience.cdk.applications.taverna.LocalWorkerCDK; +import org.openscience.cdk.applications.taverna.basicutilities.CMLChemFileWrapper; import org.openscience.cdk.atomtype.MMFF94AtomTypeMatcher; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; @@ -42,52 +43,63 @@ import uk.ac.soton.itinnovation.taverna.enactor.entities.TaskExecutionException; -public class PerceiveMMFF94AtomTypes implements LocalWorkerCDK{ +public class PerceiveMMFF94AtomTypes implements LocalWorkerCDK { private static MMFF94AtomTypeMatcher matcher; - private String[] inputNames = new String[] { "inputStructures" }; - private String[] outputNames = new String[] { "outputStructure" , "otherStructures"}; + private String[] inputNames = new String[] { "inputStructures" }; + private String[] outputNames = new String[] { "outputStructure", + "otherStructures" }; - // Region: input and outpout definition + // Region: input and output definition public String[] inputNames() { return inputNames; } + public String[] inputTypes() { - return new String[] {LocalWorkerCDK.CMLChemFileList}; + return new String[] { LocalWorkerCDK.CMLChemFileList }; } public String[] outputNames() { return outputNames; } + public String[] outputTypes() { - return new String[] {LocalWorkerCDK.CMLChemFileList , LocalWorkerCDK.CMLChemFileList}; + return new String[] { LocalWorkerCDK.CMLChemFileList, + LocalWorkerCDK.CMLChemFileList }; } - public Map execute(Map inputs) throws TaskExecutionException { - if (matcher == null) matcher = new MMFF94AtomTypeMatcher(); - List calculatedList = new ArrayList(); - List notCalculatedList = new ArrayList(); - List inputList = null; + public Map<String, DataThing> execute(Map<String, DataThing> inputs) + throws TaskExecutionException { + if (matcher == null) + matcher = new MMFF94AtomTypeMatcher(); + List<CMLChemFile> calculatedList = new ArrayList<CMLChemFile>(); + List<CMLChemFile> notCalculatedList = new ArrayList<CMLChemFile>(); + List<CMLChemFile> inputList = null; if (inputs.get(inputNames[0]) != null) { - inputList = (List) ((DataThing) (inputs.get(inputNames[0]))).getDataObject(); + inputList = CMLChemFileWrapper + .getListOfCMLChemfileFromDataThing(inputs + .get(inputNames[0])); } else { return null; } - Map outputs = new HashMap(); + Map<String, DataThing> outputs = new HashMap<String, DataThing>(); try { - for (Iterator iter = inputList.iterator(); iter.hasNext();) { - CMLChemFile file = (CMLChemFile) iter.next(); - List moleculeList = ChemFileManipulator.getAllAtomContainers(file); - List allAtoms = new ArrayList(); - for (Iterator iterator = moleculeList.iterator(); iterator.hasNext();){ - IAtomContainer[] molecules = {(IAtomContainer)iterator.next()}; + for (CMLChemFile file : inputList) { + List<IAtomContainer> moleculeList = ChemFileManipulator + .getAllAtomContainers(file); + List<IAtom> allAtoms = new ArrayList<IAtom>(); + for (IAtomContainer molecule : moleculeList) { try { - for (Iterator atoms = molecules[0].atoms(); atoms.hasNext();){ - allAtoms.add(0 , atoms.next()); - IAtomType type = matcher.findMatchingAtomType(molecules[0], ((IAtom)allAtoms.get(0))); - ((IAtom)(allAtoms.get(0))).setAtomTypeName(type.getAtomTypeName()); - // FIXME: maybe should do a full atom type configuration?? + for (Iterator<IAtom> atoms = molecule.atoms(); atoms + .hasNext();) { + allAtoms.add(0, atoms.next()); + IAtomType type = matcher.findMatchingAtomType( + molecule, ((IAtom) allAtoms.get(0))); + ((IAtom) (allAtoms.get(0))).setAtomTypeName(type + .getAtomTypeName()); + // FIXME: maybe should do a full atom type + // configuration?? } calculatedList.add(file); allAtoms.clear(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |