From: <tho...@us...> - 2008-03-27 14:11:39
|
Revision: 10558 http://cdk.svn.sourceforge.net/cdk/?rev=10558&view=rev Author: thomaskuhn Date: 2008-03-27 07:11:36 -0700 (Thu, 27 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/reactionenumerator/ReactionEnumerator.java Modified: cdk-taverna/trunk/src/main/java/org/openscience/cdk/applications/taverna/reactionenumerator/ReactionEnumerator.java =================================================================== --- cdk-taverna/trunk/src/main/java/org/openscience/cdk/applications/taverna/reactionenumerator/ReactionEnumerator.java 2008-03-27 14:11:27 UTC (rev 10557) +++ cdk-taverna/trunk/src/main/java/org/openscience/cdk/applications/taverna/reactionenumerator/ReactionEnumerator.java 2008-03-27 14:11:36 UTC (rev 10558) @@ -76,13 +76,13 @@ * */ public class ReactionEnumerator implements LocalWorkerCDK { - // Region: input and outpout definition + // Region: input and output definition private IPseudoAtom[] reactantsPseudoAtoms = null; private int reactantsPseudoAtomsCounter = 0; private String[] inputNames = new String[] { "reactantOne", "reactantTwo", "reaction" }; private String[] outputNames = new String[] { "productStructures", "Comment"}; // private List<Integer> numberOfUsedPseudoAtomsPerReactant = new ArrayList<Integer>(); - // Region: input and outpout definition + // Region: input and output definition public String[] inputNames() { return inputNames; @@ -102,7 +102,7 @@ // Region: local worker execution - public Map execute(Map inputs) throws TaskExecutionException { + public Map<String, DataThing> execute(Map<String, DataThing> inputs) throws TaskExecutionException { try { FileNameGenerator fileNameGenerator = new FileNameGenerator(); @@ -114,20 +114,17 @@ List<CMLChemFile> productStructuresList = new ArrayList<CMLChemFile>(); Reaction reaction = null; if (inputs.get(inputNames[0]) != null) { - reactantOneList = (List<CMLChemFile>) ((DataThing) inputs - .get(inputNames[0])).getDataObject(); + reactantOneList = CMLChemFileWrapper.getListOfCMLChemfileFromDataThing(inputs.get(inputNames[0])); } else { comment += "No reactans available; "; } if (inputs.get(inputNames[1]) != null) { - reactantTwoList = (List<CMLChemFile>) ((DataThing) inputs - .get(inputNames[1])).getDataObject(); + reactantTwoList = CMLChemFileWrapper.getListOfCMLChemfileFromDataThing(inputs.get(inputNames[1])); } else { comment += "No reactans available; "; } if (inputs.get(inputNames[2]) != null) { - reactionList = (List<Reaction>) ((DataThing) (inputs.get(inputNames[2]))) - .getDataObject(); + reactionList = CMLChemFileWrapper.getListOfReactionFromDataThing(inputs.get(inputNames[2])); reaction = reactionList.get(0); } else { comment += "No reacion available; "; @@ -141,8 +138,8 @@ IAtomContainer[] reactantTwo = CMLChemFileWrapper.convertCMLChemFileListToAtomContainerArray(reactantTwoList); IAtomContainer[] reactantsFromReaction = new AtomContainer[reaction.getReactantCount()]; int acCounter = 0; - for (Iterator iter = reaction.getReactants().atomContainers(); iter.hasNext();) { - reactantsFromReaction[acCounter] = (IAtomContainer) iter.next(); + for (Iterator<IAtomContainer> iter = reaction.getReactants().atomContainers(); iter.hasNext();) { + reactantsFromReaction[acCounter] = iter.next(); acCounter++; } this.reactantsPseudoAtoms = new PseudoAtom[reaction.getReactantCount()]; @@ -166,7 +163,7 @@ for (int i = 0; i < resultProducts.length; i++) { file = CMLChemFileWrapper.wrapAtomContainerInChemModel(resultProducts[i]); // FIXME This can cause problems because it will create everytime a new list for each molecule and will not take the old list from the reactants - file.setProperty(fileNameGenerator.FILENAME, fileNameGenerator.addFileNameToFileNameList(fileName, (List<String>)file.getProperty(FileNameGenerator.FILENAME))); + file.setProperty(FileNameGenerator.FILENAME, fileNameGenerator.addFileNameToFileNameList(fileName, (List<String>)file.getProperty(FileNameGenerator.FILENAME))); productStructuresList.add(file); } } catch (Exception e) { @@ -176,7 +173,7 @@ } // End of block - Map outputs = new HashMap(); + Map<String, DataThing> outputs = new HashMap<String, DataThing>(); outputs.put("Comment", new DataThing(comment)); outputs.put("productStructures", new DataThing(productStructuresList)); return outputs; @@ -197,7 +194,7 @@ */ private IAtomContainer[] eliminateSubstructureAndTagConnectedAtom(IAtomContainer[] atomContainerArray, IAtomContainer substructure) throws TaskExecutionException{ // FIXME Put this into a different class later - List d = null; + List<ArrayList<RMap>> d = null; Vector v = null; RMap[] rmaps = null; List<IAtom> connectedAtoms = null; @@ -218,17 +215,17 @@ for (int i = 0; i < atomContainerArray.length; i++) { d = UniversalIsomorphismTester.getSubgraphAtomsMaps(atomContainerArray[i], queryAC); if (d.size() > 0) { - ArrayList<RMap> rMapList = (ArrayList<RMap>)d.get(0); + ArrayList<RMap> rMapList = d.get(0); rmaps = new RMap[rMapList.size()]; for (int j = 0; j < rMapList.size(); j++) { rmaps[j] = rMapList.get(j); if (!(queryAC.getAtom(rmaps[j].getId2()) instanceof AnyAtom)) { atomContainerArray[i].getAtom(rmaps[j].getId1()).setFlag(0, true); - // Marked this atoms as deletable + // Marked this atoms as delitable atomContainerArray[i].getAtom(rmaps[j].getId1()).setFlag(1, true); connectedAtoms = atomContainerArray[i].getConnectedAtomsList(atomContainerArray[i].getAtom(rmaps[j].getId1())); - for (Iterator iter = connectedAtoms.iterator(); iter.hasNext();) { - IAtom connectedAtom = (IAtom) iter.next(); + for (Iterator<IAtom> iter = connectedAtoms.iterator(); iter.hasNext();) { + IAtom connectedAtom = iter.next(); connectedAtom.setFlag(0, true); } } @@ -283,8 +280,8 @@ if (product.getAtom(j) instanceof PseudoAtom && ((PseudoAtom) product.getAtom(j)).getLabel().equalsIgnoreCase(pseudoAtom.getLabel())) { connectedAtoms = product.getConnectedAtomsList(product.getAtom(j)); - for (Iterator iter = connectedAtoms.iterator(); iter.hasNext();) { - IAtom atom = (IAtom) iter.next(); + for (Iterator<IAtom> iter = connectedAtoms.iterator(); iter.hasNext();) { + IAtom atom = iter.next(); atom.setFlag(0, true); } allConnectedBonds = product.getConnectedBondsList(product.getAtom(j)); @@ -326,66 +323,65 @@ } } } catch (Exception e) { - String t = e.getMessage(); // TODO: handle exception } return resultAtomContainer; } - /** - * This method removes a given substructure from a each molecule of the atomContainerArray using the UniversalIsomorphismTester - * @param atomContainerArray AtomContainer array which contains molecules from which the substructure should be removed - * @param substructure Substructure which should be removed from the molecules - * @return AtomContainer which contains the molecules from the atomContainerArray without the substructure - */ - private IAtomContainer[] eliminateSubstructureAndTagConnectedAtom_Old(IAtomContainer[] atomContainerArray, IAtomContainer substructure) { - // FIXME Put this into a different class later - List d = null; - Vector v = null; - RMap[] rmaps = null; - List<IAtom> connectedAtoms = null; - try { - // Remove the pseudo atom from the substructure due to problem to find the this substructure within the molecules - // FIXME Use the QueryAtom construction to define a better queryatom and to be more case sensitive - for (int i = 0; i < substructure.getAtomCount(); i++) { - if (substructure.getAtom(i) instanceof PseudoAtom) { - connectedAtoms = substructure.getConnectedAtomsList(substructure.getAtom(i)); - this.reactantsPseudoAtoms[this.reactantsPseudoAtomsCounter] = (PseudoAtom) substructure.getAtom(i); - // FIXME At this case the 0 could be a problem later - substructure.removeBond(substructure.getAtom(i), connectedAtoms.get(0)); - substructure.removeAtom(substructure.getAtom(i)); - } - } - for (int i = 0; i < atomContainerArray.length; i++) { - // FIXME Create an handling for molecules which don't contain the substructure - d = UniversalIsomorphismTester.getSubgraphAtomsMaps(atomContainerArray[i], substructure); - ArrayList<RMap> rMapList = (ArrayList<RMap>)d.get(0); - rmaps = new RMap[rMapList.size()]; - for (int j = 0; j < rMapList.size(); j++) { - rmaps[j] = rMapList.get(j); +// /** +// * This method removes a given substructure from a each molecule of the atomContainerArray using the UniversalIsomorphismTester +// * @param atomContainerArray AtomContainer array which contains molecules from which the substructure should be removed +// * @param substructure Substructure which should be removed from the molecules +// * @return AtomContainer which contains the molecules from the atomContainerArray without the substructure +// */ +// private IAtomContainer[] eliminateSubstructureAndTagConnectedAtom_Old(IAtomContainer[] atomContainerArray, IAtomContainer substructure) { +// // FIXME Put this into a different class later +// List d = null; +// Vector v = null; +// RMap[] rmaps = null; +// List<IAtom> connectedAtoms = null; +// try { +// // Remove the pseudo atom from the substructure due to problem to find the this substructure within the molecules +// // FIXME Use the QueryAtom construction to define a better queryatom and to be more case sensitive +// for (int i = 0; i < substructure.getAtomCount(); i++) { +// if (substructure.getAtom(i) instanceof PseudoAtom) { +// connectedAtoms = substructure.getConnectedAtomsList(substructure.getAtom(i)); +// this.reactantsPseudoAtoms[this.reactantsPseudoAtomsCounter] = (PseudoAtom) substructure.getAtom(i); +// // FIXME At this case the 0 could be a problem later +// substructure.removeBond(substructure.getAtom(i), connectedAtoms.get(0)); +// substructure.removeAtom(substructure.getAtom(i)); +// } +// } +// for (int i = 0; i < atomContainerArray.length; i++) { +// // FIXME Create an handling for molecules which don't contain the substructure +// d = UniversalIsomorphismTester.getSubgraphAtomsMaps(atomContainerArray[i], substructure); +// ArrayList<RMap> rMapList = (ArrayList<RMap>)d.get(0); +// rmaps = new RMap[rMapList.size()]; +// for (int j = 0; j < rMapList.size(); j++) { +// rmaps[j] = rMapList.get(j); +// +// atomContainerArray[i].getAtom(rmaps[j].getId1()).setFlag(0, true); +// // Marked this atoms as deletable +// atomContainerArray[i].getAtom(rmaps[j].getId1()).setFlag(1, true); +// connectedAtoms = atomContainerArray[i].getConnectedAtomsList(atomContainerArray[i].getAtom(rmaps[j].getId1())); +// for (Iterator iter = connectedAtoms.iterator(); iter.hasNext();) { +// IAtom connectedAtom = (IAtom) iter.next(); +// connectedAtom.setFlag(0, true); +// } +// } +// // Start deleting atoms at the end of the atom array +// for (int j = atomContainerArray[i].getAtomCount() - 1; j > -1; j--) { +// if (atomContainerArray[i].getAtom(j).getFlag(1)) { +// atomContainerArray[i].removeAtomAndConnectedElectronContainers(atomContainerArray[i].getAtom(j)); +// } +// } +// } +// } +// catch (Exception e) { +// boolean test = true; +// // TODO: handle exception +// } +// return atomContainerArray; +// } - atomContainerArray[i].getAtom(rmaps[j].getId1()).setFlag(0, true); - // Marked this atoms as deletable - atomContainerArray[i].getAtom(rmaps[j].getId1()).setFlag(1, true); - connectedAtoms = atomContainerArray[i].getConnectedAtomsList(atomContainerArray[i].getAtom(rmaps[j].getId1())); - for (Iterator iter = connectedAtoms.iterator(); iter.hasNext();) { - IAtom connectedAtom = (IAtom) iter.next(); - connectedAtom.setFlag(0, true); - } - } - // Start deleting atoms at the end of the atom array - for (int j = atomContainerArray[i].getAtomCount() - 1; j > -1; j--) { - if (atomContainerArray[i].getAtom(j).getFlag(1)) { - atomContainerArray[i].removeAtomAndConnectedElectronContainers(atomContainerArray[i].getAtom(j)); - } - } - } - } - catch (Exception e) { - boolean test = true; - // TODO: handle exception - } - return atomContainerArray; - } - } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |