r1912 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish main/java/fr/ifremer/isisfish/mexico main/java/fr/ifremer/isisfish/mexico/xml main/java/fr/ifremer/isisfish/simulator/sensitivity main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor test/java/fr/ifremer/isisfish test/java/fr/ifremer/isisfish/mexico test/java/fr/ifremer/isisfish/simulator test/java/fr/ifremer/isisfish/simulator/launcher
Author: chatellier Date: 2009-03-05 10:31:56 +0000 (Thu, 05 Mar 2009) New Revision: 1912 Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/FactorVisitor.java isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java Log: Begin to add visitors on sensitivity classes and Mexico XML export. Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,49 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.mexico; + +import fr.ifremer.isisfish.mexico.xml.DesignPlanXMLVisitor; +import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; + +/** + * Mexico helper class. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public class MexicoHelper { + + /** + * Get xml representation of a design plan. + * + * @param designPlan design plan + * @return xml design plan representation + */ + public static String getDesignPlanAsXML(DesignPlan designPlan) { + + DesignPlanXMLVisitor visitor = new DesignPlanXMLVisitor(); + designPlan.accept(visitor); + String designPlanXml = visitor.getXML(); + return designPlanXml; + + } +} Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,87 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.mexico.xml; + +import java.io.Serializable; + +import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; +import fr.ifremer.isisfish.simulator.sensitivity.Factor; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.DesignPlanVisitor; + +/** + * XML design plan visitor. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public class DesignPlanXMLVisitor implements DesignPlanVisitor { + + /** XML text buffer. */ + protected StringBuffer xmlBuffer; + + /** + * Constructor. + * + * Init xml buffer. + */ + public DesignPlanXMLVisitor() { + xmlBuffer = new StringBuffer(); + } + + /** + * Get xml buffer content. + * + * @return content as string + */ + public String getXML() { + String xml = xmlBuffer.toString(); + return xml; + } + + /** + * {@inheritDoc} + */ + @Override + public void start(DesignPlan designPlan) { + xmlBuffer.append("<designplan>"); + } + + /** + * {@inheritDoc} + */ + @Override + public void visit(DesignPlan designPlan, + Factor<? extends Serializable> factor) { + FactorXMLVisitor visitor = new FactorXMLVisitor(); + factor.accept(visitor); + xmlBuffer.append(visitor.getXML()); + } + + /** + * {@inheritDoc} + */ + @Override + public void end(DesignPlan designPlan) { + xmlBuffer.append("</designplan>"); + } + +} Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,94 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.mexico.xml; + +import java.io.Serializable; + +import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain; +import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain; +import fr.ifremer.isisfish.simulator.sensitivity.Domain; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor; + +/** + * XML domain visitor. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public class DomainXMLVisitor implements DomainVisitor { + + /** XML text buffer. */ + protected StringBuffer xmlBuffer; + + /** + * Constructor. + * + * Init xml buffer. + */ + public DomainXMLVisitor() { + xmlBuffer = new StringBuffer(); + } + + /** + * Get xml buffer content. + * + * @return content as string + */ + public String getXML() { + String xml = xmlBuffer.toString(); + return xml; + } + + /** + * {@inheritDoc} + */ + @Override + public void start(Domain<? extends Serializable> domain) { + xmlBuffer.append("<domain "); + if (domain instanceof ContinuousDomain) { + xmlBuffer.append("type=\"continous\""); + } + if (domain instanceof DiscreteDomain) { + xmlBuffer.append("type=\"discrete\""); + } + xmlBuffer.append(">"); + } + + /** + * {@inheritDoc} + */ + @Override + public <E extends Serializable> void visit(Domain<E> domain, + Serializable label, E value) { + xmlBuffer.append("<value label=\"" + label + "\">"); + xmlBuffer.append(value); + xmlBuffer.append("</value>"); + } + + /** + * {@inheritDoc} + */ + @Override + public void end(Domain<? extends Serializable> domain) { + xmlBuffer.append("</domain>"); + } +} Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,93 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.mexico.xml; + +import java.io.Serializable; + +import fr.ifremer.isisfish.simulator.sensitivity.Domain; +import fr.ifremer.isisfish.simulator.sensitivity.Factor; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor; + +/** + * XML factor visitor. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public class FactorXMLVisitor implements FactorVisitor { + + /** XML text buffer. */ + protected StringBuffer xmlBuffer; + + /** + * Constructor. + * + * Init xml buffer. + */ + public FactorXMLVisitor() { + xmlBuffer = new StringBuffer(); + } + + /** + * Get xml buffer content. + * + * @return content as string + */ + public String getXML() { + String xml = xmlBuffer.toString(); + return xml; + } + + /* + * @see fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor#start(fr.ifremer.isisfish.simulator.sensitivity.Factor) + */ + @Override + public void start(Factor<? extends Serializable> factor) { + xmlBuffer.append("<factor"); + xmlBuffer.append(" name=\"" + factor.getName() + "\""); + xmlBuffer.append(" path=\"" + factor.getPath() + "\""); + if (factor.getValue() != null) { + xmlBuffer.append(" value=\"" + factor.getValue() + "\""); + } + xmlBuffer.append(">"); + } + + /* + * @see fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor#visit(fr.ifremer.isisfish.simulator.sensitivity.Domain) + */ + @Override + public void visit(Factor<? extends Serializable> factor, Domain<? extends Serializable> domain) { + DomainXMLVisitor visitor = new DomainXMLVisitor(); + domain.accept(visitor); + xmlBuffer.append(visitor.getXML()); + } + + /* + * @see fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor#end(fr.ifremer.isisfish.simulator.sensitivity.Factor) + */ + @Override + public void end(Factor<? extends Serializable> factor) { + xmlBuffer.append("</factor>"); + + } + +} Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -22,6 +22,8 @@ import org.apache.commons.lang.builder.ToStringBuilder; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor; + /** * Domaine continu. * @@ -102,6 +104,18 @@ // FIXME test cast return (E)identifier; } + + /** + * Accept a new visitor. + * + * @param visitor + */ + public void accept(DomainVisitor visitor) { + visitor.start(this); + visitor.visit(this, "min", minBound); + visitor.visit(this, "max", maxBound); + visitor.end(this); + } /* * @see java.lang.Object#toString() Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -24,6 +24,8 @@ import org.apache.commons.lang.builder.ToStringBuilder; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.DesignPlanVisitor; + /** * Design plan contenant toutes les * valeur de facteur possible. @@ -67,6 +69,19 @@ this.factors = factors; } + /** + * Accept a new visitor. + * + * @param visitor + */ + public void accept(DesignPlanVisitor visitor) { + visitor.start(this); + for(Factor<? extends Serializable> factor : factors) { + visitor.visit(this, factor); + } + visitor.end(this); + } + /* * @see java.lang.Object#toString() */ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -19,11 +19,14 @@ package fr.ifremer.isisfish.simulator.sensitivity; import java.io.Serializable; +import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; import org.apache.commons.lang.builder.ToStringBuilder; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor; + /** * Domain discret. * @@ -88,6 +91,19 @@ return values.get(identifier); } + /** + * Accept a new visitor. + * + * @param visitor + */ + public void accept(DomainVisitor visitor) { + visitor.start(this); + for(Map.Entry<Serializable, E> value : values.entrySet()) { + visitor.visit(this, value.getKey(), value.getValue()); + } + visitor.end(this); + } + /* * @see java.lang.Object#toString() */ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -20,6 +20,8 @@ import java.io.Serializable; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor; + /** * Domaine du facteur. * @@ -50,4 +52,11 @@ * @return found value or <tt>null</tt> if not found */ E getValueForIdentifier(Serializable identifier); + + /** + * Accept a new visitor. + * + * @param visitor + */ + public void accept(DomainVisitor visitor); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -22,6 +22,8 @@ import org.apache.commons.lang.builder.ToStringBuilder; +import fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor; + /** * Facteur de variation des parametres de simulation. * @@ -179,6 +181,17 @@ } /** + * Accept a new visitor. + * + * @param visitor + */ + public void accept(FactorVisitor visitor) { + visitor.start(this); + visitor.visit(this, domain); + visitor.end(this); + } + + /** * {@inheritDoc} */ @Override Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,58 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.simulator.sensitivity.visitor; + +import java.io.Serializable; + +import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; +import fr.ifremer.isisfish.simulator.sensitivity.Factor; + +/** + * DesignPlan visitor. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public interface DesignPlanVisitor { + + /** + * Start. + * + * @param designPlan design plan + */ + void start(DesignPlan designPlan); + + /** + * Visit factor. + * + * @param designPlan design plan + * @param factor factor + */ + void visit(DesignPlan designPlan, Factor<? extends Serializable> factor); + + /** + * End. + * + * @param designPlan design plan + */ + void end(DesignPlan designPlan); +} Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,59 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.simulator.sensitivity.visitor; + +import java.io.Serializable; + +import fr.ifremer.isisfish.simulator.sensitivity.Domain; + +/** + * Domain visitor. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public interface DomainVisitor { + + /** + * Start. + * + * @param domain domain + */ + void start(Domain<? extends Serializable> domain); + + /** + * Visit domain value or property. + * + * @param <E> domain element type + * @param domain domain + * @param label value label or property name + * @param value value + */ + <E extends Serializable> void visit(Domain<E> domain, Serializable label, E value); + + /** + * End. + * + * @param domain domain + */ + void end(Domain<? extends Serializable> domain); +} Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/FactorVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/FactorVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/FactorVisitor.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,58 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.simulator.sensitivity.visitor; + +import java.io.Serializable; + +import fr.ifremer.isisfish.simulator.sensitivity.Domain; +import fr.ifremer.isisfish.simulator.sensitivity.Factor; + +/** + * Factor visitor. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public interface FactorVisitor { + + /** + * Start. + * + * @param factor factor + */ + void start(Factor<? extends Serializable> factor); + + /** + * Visit domain. + * + * @param factor factor + * @param domain domain + */ + void visit(Factor<? extends Serializable> factor, Domain<? extends Serializable> domain); + + /** + * End. + * + * @param factor factor + */ + void end(Factor<? extends Serializable> factor); +} Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java (rev 0) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -0,0 +1,96 @@ +/* *##% + * Copyright (C) 2009 Code Lutin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + *##%*/ + +package fr.ifremer.isisfish.mexico; + +import junit.framework.Assert; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Test; + +import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain; +import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; +import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain; +import fr.ifremer.isisfish.simulator.sensitivity.Factor; + +/** + * TODO COMMENT ME. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public class MexicoHelperTest { + + /** Commons logging log. */ + private static Log log = LogFactory.getLog(MexicoHelperTest.class); + + /** + * Test method {@link MexicoHelper#getDesignPlanAsXML(DesignPlan)}. + */ + @Test + public void testGetDesignPlanAsXML() { + + DesignPlan designPlan = new DesignPlan(); + + // factor 1 + Factor<Double> factor1 = new Factor<Double>("factor 1 (double)"); + ContinuousDomain<Double> domain1 = new ContinuousDomain<Double>(); + domain1.setMinBound(0.0); + domain1.setMaxBound(50.0); + factor1.setDomain(domain1); + factor1.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength"); + + // factor 2 + Factor<Double> factor2 = new Factor<Double>("factor 2 (double)"); + DiscreteDomain<Double> domain2 = new DiscreteDomain<Double>(); + domain2.getValues().put(0.0, 12.3); + domain2.getValues().put(1.0, 70.9); + domain2.getValues().put(2.0, 21.0); + domain2.getValues().put(3.0, -12.1); + domain2.getValues().put(4.0, -8.45); + factor2.setDomain(domain2); + factor2.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength"); + factor2.setValue(3.0); + + // factor 3 + Factor<Double> factor3 = new Factor<Double>("factor 3 (double)"); + ContinuousDomain<Double> domain3 = new ContinuousDomain<Double>(); + domain3.setMinBound(12.0); + domain3.setMaxBound(99.0); + factor3.setDomain(domain3); + factor3.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength"); + + designPlan.getFactors().add(factor1); + designPlan.getFactors().add(factor2); + designPlan.getFactors().add(factor3); + + // test xml export + String xml = MexicoHelper.getDesignPlanAsXML(designPlan); + Assert.assertTrue(xml.indexOf("<factor name=\"factor 2 (double)\"") != -1); + Assert.assertTrue(xml.indexOf("<value label=\"0.0\">12.3</value>") != -1); + Assert.assertTrue(xml.indexOf("<value label=\"min\">12.0</value>") != -1); + + if (log.isInfoEnabled()) { + log.info("Designplan xml = " + xml); + } + } +} Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -52,7 +52,8 @@ */ public class SimulationHelperTest { - private static final Log log = LogFactory.getLog(SimulationHelperTest.class); + /** Commons logging log. */ + private static Log log = LogFactory.getLog(SimulationHelperTest.class); final static private String[] SIMULATION_ZIP_FILE = new String[]{ "src" + File.separator + "test" + File.separator + "resources" + File.separator + "simulations" + File.separator + "test-nonregression-20090203.zip", Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -38,7 +38,6 @@ import org.junit.After; import org.junit.Before; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; import fr.ifremer.TestUtils; @@ -75,7 +74,8 @@ */ public class SimulationPreScriptTest { - private static final Log log = LogFactory.getLog(SimulationPreScriptTest.class); + /** Commons logging log. */ + private static Log log = LogFactory.getLog(SimulationPreScriptTest.class); //protected TopiaContext rootContext; Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2009-03-04 18:21:15 UTC (rev 1911) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2009-03-05 10:31:56 UTC (rev 1912) @@ -55,7 +55,8 @@ */ public class SimulationServiceTest { - private static final Log log = LogFactory.getLog(SimulationServiceTest.class); + /** Commons logging log. */ + private static Log log = LogFactory.getLog(SimulationServiceTest.class); @Before public void setUp() throws Exception {
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org