From: <mig...@us...> - 2008-03-04 13:49:51
|
Revision: 10291 http://cdk.svn.sourceforge.net/cdk/?rev=10291&view=rev Author: miguelrojasch Date: 2008-03-04 05:49:43 -0800 (Tue, 04 Mar 2008) Log Message: ----------- added new engine for ReactionProcess's which takes the parameters from the Dictionary. Modified Paths: -------------- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/IReactionProcess.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonLPReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonPBReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionSodiumLPReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactNBEReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactPDBReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactSDBReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavagePBReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavageSBReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HomolyticCleavageReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HyperconjugationReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/PiBondingMovementReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteHrAlphaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteHrBetaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteHrDeltaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteHrGammaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteInitiationHReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteInitiationReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteRrAlphaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteRrBetaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteRrDeltaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RadicalSiteRrGammaReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RearrangementAnionReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RearrangementCationReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RearrangementLonePairReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/RearrangementRadicalReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/SharingAnionReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/SharingChargeDBReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/SharingChargeSBReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/SharingLonePairReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/TautomerizationReaction.java branches/miguelrojasch/reaction/src/main/org/openscience/cdk/tools/StructureResonanceGenerator.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/ReactionProcessTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/AdductionProtonLPReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/AdductionProtonPBReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/AdductionSodiumLPReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/CarbonylEliminationReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/ElectronImpactNBEReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/ElectronImpactPDBReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/ElectronImpactSBEReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/HeterolyticCleavagePBReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/HeterolyticCleavageSBReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/HomolyticCleavageReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/HyperconjugationReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/PiBondingMovemetReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteHrAlphaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteHrBetaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteHrDeltaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteHrGammaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteInitiationHReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteInitiationReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteRrAlphaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteRrBetaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteRrDeltaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RadicalSiteRrGammaReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RearrangementAnionReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RearrangementCationReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RearrangementLonePairReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/RearrangementRadicalReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/SharingAnionReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/SharingChargeDBReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/SharingChargeSBReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/SharingLonePairReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/reaction/type/TautomerizationReactionTest.java branches/miguelrojasch/reaction/src/test/org/openscience/cdk/tools/StructureResonanceGeneratorTest.java Added Paths: ----------- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/ReactionEngine.java Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -24,6 +24,7 @@ package org.openscience.cdk.charges; import java.io.IOException; +import java.util.HashMap; import java.util.List; import org.openscience.cdk.CDKConstants; @@ -335,7 +336,8 @@ setOfReactants.addMolecule((IMolecule) ac); - Object[] params = {Boolean.TRUE}; + HashMap<String,Object> params = new HashMap<String,Object>(); + params.put("hasActiveCenter",Boolean.TRUE);; type.setParameters(params); IReactionSet setOfReactions = type.initiate(setOfReactants, null); @@ -349,7 +351,8 @@ mol.getBond(k).getAtom(1).setFlag(CDKConstants.REACTIVE_CENTER,false); } setOfM2.addMolecule((IMolecule) mol); - Object[] params2 = {Boolean.FALSE}; + HashMap<String,Object> params2 = new HashMap<String,Object>(); + params2.put("hasActiveCenter",Boolean.FALSE);; type.setParameters(params2); IReactionSet setOfReactions2 = type.initiate(setOfM2, null); if(setOfReactions2.getReactionCount() > 0){ Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/atomic/IPAtomicDescriptor.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -20,6 +20,7 @@ */ package org.openscience.cdk.qsar.descriptors.atomic; +import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -189,7 +190,8 @@ setOfReactants.addMolecule((IMolecule) localClone); IReactionProcess type = new ElectronImpactNBEReaction(); atom.setFlag(CDKConstants.REACTIVE_CENTER,true); - Object[] params = {Boolean.TRUE}; + HashMap<String,Object> params = new HashMap<String,Object>(); + params.put("hasActiveCenter",Boolean.TRUE); type.setParameters(params); IReactionSet nbe = type.initiate(setOfReactants, null); Iterator it = nbe.reactions(); Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/IPBondDescriptor.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -20,6 +20,7 @@ */ package org.openscience.cdk.qsar.descriptors.bond; +import java.util.HashMap; import java.util.Iterator; import org.openscience.cdk.AtomContainerSet; @@ -199,7 +200,8 @@ setOfReactants.addMolecule((IMolecule) localClone); IReactionProcess type = new ElectronImpactPDBReaction(); bond.setFlag(CDKConstants.REACTIVE_CENTER,true); - Object[] params = {Boolean.TRUE}; + HashMap<String,Object> params = new HashMap<String,Object>(); + params.put("hasActiveCenter",Boolean.TRUE);; type.setParameters(params); IReactionSet pbb = type.initiate(setOfReactants, null); Iterator it = pbb.reactions(); Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/qsar/descriptors/bond/ResonancePositiveChargeDescriptor.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -25,6 +25,7 @@ package org.openscience.cdk.qsar.descriptors.bond; import java.util.ArrayList; +import java.util.HashMap; import org.openscience.cdk.CDKConstants; import org.openscience.cdk.aromaticity.CDKHueckelAromaticityDetector; @@ -182,8 +183,9 @@ } HeterolyticCleavageSBReaction type = new HeterolyticCleavageSBReaction(); - - Object[] paramsR = {Boolean.TRUE}; + + HashMap<String,Object> paramsR = new HashMap<String,Object>(); + paramsR.put("hasActiveCenter",Boolean.TRUE); type.setParameters(paramsR); IMoleculeSet setOfReactants = secondClone.getBuilder().newMoleculeSet(); Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/IReactionProcess.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/IReactionProcess.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/IReactionProcess.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -24,6 +24,8 @@ */ package org.openscience.cdk.reaction; +import java.util.HashMap; + import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IMoleculeSet; import org.openscience.cdk.interfaces.IReactionSet; @@ -37,7 +39,6 @@ */ public interface IReactionProcess { - /** * Returns a <code>Map</code> which specifies which reaction * is implemented by this class. @@ -54,20 +55,6 @@ * @return An object containing the reaction specification */ public ReactionSpecification getSpecification(); - /** - * Returns the names of the parameters for this reaction. - * - * @return An array of String containing the names of the parameters - * that this reaction can accept - */ - public String[] getParameterNames(); - /** - * Returns a class matching that of the parameter with the given name. - * - * @param name The name of the parameter whose type is requested - * @return An Object of the class corresponding to the parameter with the supplied name - */ - public Object getParameterType(String name); /** * Sets the parameters for this reaction. @@ -75,20 +62,22 @@ * Must be done before calling * calculate as the parameters influence the calculation outcome. * - * @param params An array of Object containing the parameters for this reaction + * @param params A HashMap of Objects containing the parameters for this reaction. + * The key must be included into the Dictionary reacton-processes * @throws CDKException if invalid number of type of parameters are passed to it * * @see #getParameters */ - public void setParameters(Object[] params) throws CDKException; + public void setParameters(HashMap<String,Object> params) throws CDKException; /** * Returns the current parameter values. * - * @return An array of Object containing the parameter values + * @return A HashMap of Object containing the name and the type of the parameter * @see #setParameters * */ - public Object[] getParameters(); + public HashMap<String,Object> getParameters(); + /** * Initiates the process for the given Reaction. * Added: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/ReactionEngine.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/ReactionEngine.java (rev 0) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/ReactionEngine.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -0,0 +1,143 @@ +/* + * $RCSfile$ + * $Author: egonw $ + * $Date: 2006-03-29 10:27:08 +0200 (Wed, 29 Mar 2006) $ + * $Revision: 5855 $ + * + * Copyright (C) 2008 Miguel Rojas <mig...@us...> + * + * Contact: cdk...@li... + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + */ +package org.openscience.cdk.reaction; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Set; + +import org.openscience.cdk.dict.Dictionary; +import org.openscience.cdk.dict.DictionaryDatabase; +import org.openscience.cdk.dict.EntryReact; +import org.openscience.cdk.exception.CDKException; + + + +/** + * <p>The base class for all chemical reactions objects in this cdk. + * It provides methods for adding parameters</p> + * + * @author Miguel Rojas + * + * @cdk.created 2008-02-01 + * @cdk.module reaction + * @cdk.set reaction-types + * + */ +public class ReactionEngine{ + + private Dictionary dictionary; + public HashMap<String, Object> paramsMap; + /** + * Constructor of the ReactionEngine object. + * + * @param reaction + */ + public ReactionEngine(){ + + try { + IReactionProcess reaction = (IReactionProcess) this; + EntryReact entry = initiateDictionary("reaction-processes",(IReactionProcess)reaction); + initiateParameterMap(entry); + } catch (Exception e) { + e.printStackTrace(); + } + + } + /** + * Open the Dictionary OWLReact. + * + * @param nameDict Name of the Dictionary + * @param reaction The IReactionProcess + * @return The entry for this reaction + */ + private EntryReact initiateDictionary(String nameDict, IReactionProcess reaction) { + DictionaryDatabase db = new DictionaryDatabase(); + dictionary = db.getDictionary(nameDict); + String entryString = reaction.getSpecification().getSpecificationReference(); + entryString = entryString.substring(entryString.indexOf("#")+1, entryString.length()); + + return (EntryReact) dictionary.getEntry(entryString.toLowerCase()); + } + /** + * Creates a map with the name and type of the parameters. + * + * @return A HashMap with the name and type of the parameters + */ + private void initiateParameterMap(EntryReact entry){ + HashMap<String, String> paramDic = entry.getParameters(); + List<String> value = entry.getParameterValue(); + + paramsMap = new HashMap<String,Object>(); + Set<String> set= paramDic.keySet ( ) ; + Iterator<String> iter = set.iterator ( ) ; + int i=0; + while(iter.hasNext()){ + String key = iter.next(); + if(paramDic.get(key).equals("boolean")){ + boolean valueB; + if(value.get(i).equals("false")) + valueB = false; + else + valueB = true; + paramsMap.put(key, new Boolean(valueB)); + } + i++; + } + + } + /** + * Returns the current parameter Map for this reaction. + * + * @return A HashMap of Object containing the name and the type of the parameter + * */ + public HashMap<String,Object> getParameters(){ + return paramsMap; + } + /** + * Sets the parameters attribute of the ElectronImpactNBEReaction object. + * + * @param params The parameter is if the molecule has already fixed the center active or not. It + * should be set before to ionize the reaction with a setFlag: CDKConstants.REACTIVE_CENTER + * @exception CDKException Description of the Exception + */ + public void setParameters(HashMap<String,Object> params) throws CDKException { + + if (params.size() != paramsMap.size()) { + throw new CDKException("This IReactionProcess doesn't expect this number" + + "of parameters"); + } + Set<String> set= params.keySet(); + Iterator<String> iter = set.iterator(); + while(iter.hasNext()){ + String key = iter.next(); + if(!paramsMap.containsKey(key)) + throw new CDKException("The key of this parameter doesn't exist into the dictiontary"); + else + paramsMap.put(key, params.get(key)); + } + } +} Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonLPReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonLPReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonLPReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -37,6 +37,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.AdductionLPMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -77,9 +78,8 @@ * * @see AdductionLPMechanism **/ -public class AdductionProtonLPReaction implements IReactionProcess{ +public class AdductionProtonLPReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** @@ -103,37 +103,7 @@ "$Id: AdductionProtonLPReaction.java,v 1.6 2006/04/01 08:26:47 mrc Exp $", "The Chemistry Development Kit"); } - /** - * Sets the parameters attribute of the AdductionProtonLPReaction object. - * - * @param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("AdductionProtonLPReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the AdductionProtonLPReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -158,7 +128,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -220,25 +190,4 @@ } } } - /** - * Gets the parameterNames attribute of the AdductionProtonLPReaction object. - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the AdductionProtonLPReaction object. - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonPBReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonPBReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionProtonPBReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -24,7 +24,6 @@ */ package org.openscience.cdk.reaction.type; - import java.util.ArrayList; import java.util.Iterator; @@ -39,6 +38,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.AdductionPBMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -78,9 +78,8 @@ * * @see AdductionPBMechanism **/ -public class AdductionProtonPBReaction implements IReactionProcess{ +public class AdductionProtonPBReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** @@ -106,35 +105,6 @@ } /** - * Sets the parameters attribute of the AdductionProtonPBReaction object. - * - * @param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("AdductionProtonPBReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the AdductionProtonPBReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -157,9 +127,9 @@ IReactionSet setOfReactions = DefaultChemObjectBuilder.getInstance().newReactionSet(); IMolecule reactant = reactants.getMolecule(0); - + /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -249,25 +219,4 @@ } } } - /** - * Gets the parameterNames attribute of the AdductionProtonPBReaction object. - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the AdductionProtonPBReaction object. - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionSodiumLPReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionSodiumLPReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/AdductionSodiumLPReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -24,7 +24,6 @@ */ package org.openscience.cdk.reaction.type; - import java.util.ArrayList; import java.util.Iterator; @@ -38,6 +37,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.AdductionLPMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -78,9 +78,8 @@ * * @see AdductionLPMechanism **/ -public class AdductionSodiumLPReaction implements IReactionProcess{ +public class AdductionSodiumLPReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** @@ -106,35 +105,6 @@ } /** - * Sets the parameters attribute of the AdductionSodiumLPReaction object. - * - * @param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("AdductionSodiumLPReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the AdductionSodiumLPReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -159,7 +129,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -221,25 +191,4 @@ } } } - /** - * Gets the parameterNames attribute of the AdductionSodiumLPReaction object. - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the AdductionSodiumLPReaction object. - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -37,6 +37,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.HeterolyticCleavageMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -74,9 +75,8 @@ * * @see HeterolyticCleavageMechanism **/ -public class CarbonylEliminationReaction implements IReactionProcess{ +public class CarbonylEliminationReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** @@ -101,35 +101,6 @@ } /** - * Sets the parameters attribute of the CarbonylEliminationReaction object. - * - *@param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("CarbonylEliminationReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the CarbonylEliminationReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * *@param reactants reactants of the reaction @@ -151,7 +122,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -256,25 +227,4 @@ } } } - /** - * Gets the parameterNames attribute of the CarbonylEliminationReaction object. - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the CarbonylEliminationReaction object. - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactNBEReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactNBEReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactNBEReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -24,7 +24,6 @@ */ package org.openscience.cdk.reaction.type; - import java.util.ArrayList; import java.util.Iterator; @@ -38,6 +37,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.RemovingSEofNBMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -75,9 +75,8 @@ * @see RemovingSEofNBMechanism * **/ -public class ElectronImpactNBEReaction implements IReactionProcess{ +public class ElectronImpactNBEReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** @@ -85,6 +84,7 @@ * */ public ElectronImpactNBEReaction(){ + super(); logger = new LoggingTool(this); mechanism = new RemovingSEofNBMechanism(); } @@ -97,40 +97,11 @@ return new ReactionSpecification( "http://almost.cubic.uni-koeln.de/jrg/Members/mrc/reactionDict/reactionDict#ElectronImpactNBE", this.getClass().getName(), - "$Id: ElectronImpactNBEReaction.java,v 1.6 2006/04/01 08:26:47 mrc Exp $", + "$Id: ElectronImpactNBEReaction.java,v 1.6 2006/04/01 08:26:47 miguelrojasch Exp $", "The Chemistry Development Kit"); } /** - * Sets the parameters attribute of the ElectronImpactNBEReaction object. - * - * @param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to ionize the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - * @exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("ElectronImpactNBEReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the ElectronImpactNBEReaction object.. - * - * @return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -155,7 +126,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -199,25 +170,4 @@ } } - /** - * Gets the parameterNames attribute of the ElectronImpactNBEReaction object. - * - * @return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the ElectronImpactNBEReaction object. - * - * @param name Description of the Parameter - * @return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactPDBReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactPDBReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactPDBReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -24,7 +24,6 @@ */ package org.openscience.cdk.reaction.type; - import java.util.ArrayList; import java.util.Iterator; @@ -38,6 +37,7 @@ import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.RemovingSEofBMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -74,9 +74,8 @@ * @see RemovingSEofBMechanism * **/ -public class ElectronImpactPDBReaction implements IReactionProcess{ +public class ElectronImpactPDBReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private RemovingSEofBMechanism mechanism; /** @@ -101,35 +100,6 @@ } /** - * Sets the parameters attribute of the ElectronImpactPDBReaction object. - * - *@param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to ionize the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("ElectronImpactPDBReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the ElectronImpactPDBReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -154,7 +124,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -221,25 +191,4 @@ } } } - /** - * Gets the parameterNames attribute of the ElectronImpactPDBReaction object. - * - * @return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the ElectronImpactPDBReaction object. - * - * @param name Description of the Parameter - * @return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactSDBReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactSDBReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/ElectronImpactSDBReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -38,6 +38,7 @@ import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.RemovingSEofBMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -72,9 +73,8 @@ * * @see RemovingSEofBMechanism **/ -public class ElectronImpactSDBReaction implements IReactionProcess{ +public class ElectronImpactSDBReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private RemovingSEofBMechanism mechanism; /** @@ -99,35 +99,6 @@ } /** - * Sets the parameters attribute of the ElectronImpactSDBReaction object. - * - *@param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to ionize the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("ElectronImpactSDBReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the ElectronImpactSDBReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -152,7 +123,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -218,25 +189,4 @@ } } } - /** - * Gets the parameterNames attribute of the ElectronImpactSDBReaction object. - * - * @return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the ElectronImpactSDBReaction object. - * - * @param name Description of the Parameter - * @return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavagePBReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavagePBReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavagePBReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -39,6 +39,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.HeterolyticCleavageMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -82,9 +83,8 @@ * * @see HeterolyticCleavageMechanism **/ -public class HeterolyticCleavagePBReaction implements IReactionProcess{ +public class HeterolyticCleavagePBReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** @@ -108,37 +108,7 @@ "$Id: HeterolyticCleavagePBReaction.java,v 1.6 2006/04/01 08:26:47 mrc Exp $", "The Chemistry Development Kit"); } - /** - * Sets the parameters attribute of the HeterolyticCleavagePBReaction object. - * - * @param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("HeterolyticCleavagePBReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the HeterolyticCleavagePBReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -163,7 +133,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -233,25 +203,4 @@ } } } - /** - * Gets the parameterNames attribute of the HeterolyticCleavagePBReaction object. - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the HeterolyticCleavagePBReaction object. - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavageSBReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavageSBReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HeterolyticCleavageSBReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -39,6 +39,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.HeterolyticCleavageMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -82,9 +83,8 @@ * * @see HeterolyticCleavageMechanism **/ -public class HeterolyticCleavageSBReaction implements IReactionProcess{ +public class HeterolyticCleavageSBReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** @@ -103,42 +103,13 @@ */ public ReactionSpecification getSpecification() { return new ReactionSpecification( - "http://almost.cubic.uni-koeln.de/jrg/Members/mrc/reactionDict/reactionDict#HeterolyticCleavageSBReaction", + "http://almost.cubic.uni-koeln.de/jrg/Members/mrc/reactionDict/reactionDict#HeterolyticCleavageSB", this.getClass().getName(), "$Id: HeterolyticCleavageSBReaction.java,v 1.6 2006/04/01 08:26:47 mrc Exp $", "The Chemistry Development Kit"); } /** - * Sets the parameters attribute of the HeterolyticCleavageSBReaction object. - * - * @param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("HeterolyticCleavageSBReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the HeterolyticCleavageSBReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -163,7 +134,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -233,25 +204,4 @@ } } } - /** - * Gets the parameterNames attribute of the HeterolyticCleavageSBReaction object. - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the HeterolyticCleavageSBReaction object. - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HomolyticCleavageReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HomolyticCleavageReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HomolyticCleavageReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -39,6 +39,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionMechanism; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.reaction.mechanism.HomolyticCleavageMechanism; import org.openscience.cdk.tools.LoggingTool; @@ -75,9 +76,8 @@ * * @see HomolyticCleavageMechanism **/ -public class HomolyticCleavageReaction implements IReactionProcess{ +public class HomolyticCleavageReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private IReactionMechanism mechanism; /** * Constructor of the HomolyticCleavageReaction object. @@ -101,35 +101,6 @@ } /** - * Sets the parameters attribute of the HomolyticCleavageReaction object. - * - *@param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("HomolyticCleavageReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the HomolyticCleavageReaction object. - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -154,7 +125,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } @@ -216,25 +187,4 @@ } } } - /** - * Gets the parameterNames attribute of the HomolyticCleavageReaction object. - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the HomolyticCleavageReaction object. - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HyperconjugationReaction.java =================================================================== --- branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HyperconjugationReaction.java 2008-03-04 13:30:54 UTC (rev 10290) +++ branches/miguelrojasch/reaction/src/main/org/openscience/cdk/reaction/type/HyperconjugationReaction.java 2008-03-04 13:49:43 UTC (rev 10291) @@ -42,6 +42,7 @@ import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.nonotify.NoNotificationChemObjectBuilder; import org.openscience.cdk.reaction.IReactionProcess; +import org.openscience.cdk.reaction.ReactionEngine; import org.openscience.cdk.reaction.ReactionSpecification; import org.openscience.cdk.tools.LoggingTool; import org.openscience.cdk.tools.manipulator.BondManipulator; @@ -80,9 +81,8 @@ * @cdk.set reaction-types * **/ -public class HyperconjugationReaction implements IReactionProcess{ +public class HyperconjugationReaction extends ReactionEngine implements IReactionProcess{ private LoggingTool logger; - private boolean hasActiveCenter; private CDKAtomTypeMatcher atMatcher; /** @@ -108,37 +108,7 @@ "$Id: HyperconjugationReaction.java,v 1.6 2006/04/01 08:26:47 mrc Exp $", "The Chemistry Development Kit"); } - /** - * Sets the parameters attribute of the HyperconjugationReaction object - * - *@param params The parameter is if the molecule has already fixed the center active or not. It - * should be set before to initiate the reaction with a setFlag: CDKConstants.REACTIVE_CENTER - *@exception CDKException Description of the Exception - */ - public void setParameters(Object[] params) throws CDKException { - if (params.length > 1) { - throw new CDKException("HyperconjugationReaction only expects one parameter"); - } - if (!(params[0] instanceof Boolean)) { - throw new CDKException("The parameter 1 must be of type boolean"); - } - hasActiveCenter = ((Boolean) params[0]).booleanValue(); - } - - - /** - * Gets the parameters attribute of the HyperconjugationReaction object - * - *@return The parameters value - */ - public Object[] getParameters() { - Object[] params = new Object[1]; - params[0] = new Boolean (hasActiveCenter); - return params; - } - - /** * Initiate process. * It is needed to call the addExplicitHydrogensToSatisfyValency * from the class tools.HydrogenAdder. @@ -163,7 +133,7 @@ IMolecule reactant = reactants.getMolecule(0); /* if the parameter hasActiveCenter is not fixed yet, set the active centers*/ - if(!hasActiveCenter){ + if(!(Boolean)paramsMap.get("hasActiveCenter")){ setActiveCenters(reactant); } Iterator<IAtom> atoms = reactants.getMolecule(0).atoms(); @@ -312,44 +282,4 @@ } } } -// /** -// * controll if the new product was already found before -// * @param acSet -// * @param fragment -// * @return True, if it contains -// */ -// private boolean existAC(IAtomContainerSet acSet, IMolecule fragment) { -// QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(fragment); -// for(int i = 0; i < acSet.getAtomContainerCount(); i++){ -// IAtomContainer ac = acSet.getAtomContainer(i); -// try { -// if(UniversalIsomorphismTester.isIsomorph(ac, qAC)) -// return true; -// } catch (CDKException e) { -// e.printStackTrace(); -// } -// } -// return false; -// } - /** - * Gets the parameterNames attribute of the HyperconjugationReaction object - * - *@return The parameterNames value - */ - public String[] getParameterNames() { - String[] params = new String[1]; - params[0] = "hasActiveCenter"; - return params; - } - - - /** - * Gets the parameterType attribute of the HyperconjugationReaction object - * - *@param name Description of the Parameter - *@return The parameterType value - */ - public Object getParameterType(String name) { - return new Boolean(false); - } } Modified: branches/migue... [truncated message content] |