Author: chatellier Date: 2009-03-30 14:18:23 +0000 (Mon, 30 Mar 2009) New Revision: 2044 Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java Removed: isis-fish/trunk/src/test/resources/mexico/mexicohelper_scenarios.xml Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java isis-fish/trunk/src/test/resources/mexico/mexicohelper_designplan.xml Log: Ajout de l'import XML des matrices continue/equation continue Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2009-03-30 14:04:32 UTC (rev 2043) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2009-03-30 14:18:23 UTC (rev 2044) @@ -27,9 +27,7 @@ import fr.ifremer.isisfish.mexico.xml.DesignPlanXMLVisitor; import fr.ifremer.isisfish.mexico.xml.DomXMLParser; -import fr.ifremer.isisfish.mexico.xml.SensitivityScenariosXMLVisitor; import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; -import fr.ifremer.isisfish.simulator.sensitivity.SensitivityScenarios; /** * Mexico helper class. @@ -59,12 +57,14 @@ } - /** + /* * Get xml representation of a scenario. * * @param scenarios sensitivity scenarios * @return xml sensitivity scenarios representation - */ + * + * TODO : non finished and untested + * public static String getSensitivityScenarionsAsXML( SensitivityScenarios scenarios) { @@ -73,7 +73,7 @@ String sensitivityScenariosXml = visitor.getXML(); return sensitivityScenariosXml; - } + }*/ /** * Parse xmlFile with sax, and return a {@link DesignPlan}. @@ -96,13 +96,15 @@ return designPlan; } - /** + /* * Parse xmlFile with sax, and return a {@link SensitivityScenarios}. * * @param xmlFile file path to parse * @return SensitivityScenarios - * @throws IOException - */ + * @throws IOException + * + * TODO : non finished and untested + * public static SensitivityScenarios getSensitivityScenariosFromXML( String xmlFile) throws IOException { SensitivityScenarios scenarios = null; @@ -115,5 +117,5 @@ throw new IOException(e); } return scenarios; - } + }*/ } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java 2009-03-30 14:04:32 UTC (rev 2043) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java 2009-03-30 14:18:23 UTC (rev 2044) @@ -20,19 +20,22 @@ import java.util.List; +import org.apache.commons.beanutils.ConvertUtilsBean; +import org.codelutin.math.matrix.MatrixND; import org.dom4j.Element; import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; import fr.ifremer.isisfish.simulator.sensitivity.Factor; -import fr.ifremer.isisfish.simulator.sensitivity.Scenario; -import fr.ifremer.isisfish.simulator.sensitivity.SensitivityScenarios; import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain; import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain; +import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain; +import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain; +import fr.ifremer.isisfish.util.ConverterUtil; /** * Parse xml using dom. * - * @see DOM4J + * @see Element * * @author chatellier * @version $Revision: 1.0 $ @@ -66,11 +69,43 @@ factor.setPath(path); Element fixedElement = factorElement.element("domain").element( "fixed"); - if ("continuous".equals(property)) { - ContinuousDomain<Double> domain = new ContinuousDomain<Double>(); + // tous les domaines continues + if (property.endsWith("continuous")) { + Element rangeElement = fixedElement.element("range"); + ContinuousDomain<Double> domain; + if(property.equals("matrixcontinuous")) { + // matrix specific + Element matrixElement = fixedElement.element("matrix"); + MatrixContinuousDomain<Double> mdomain = new MatrixContinuousDomain<Double>(); + mdomain.setCoefficient(Double.valueOf(matrixElement.attributeValue("coefficient"))); + mdomain.setOperator(matrixElement.attributeValue("operator")); + + String serializedMatrix = matrixElement.getTextTrim(); + ConvertUtilsBean beanUtils = ConverterUtil.getConverter(null); + MatrixND matrix = (MatrixND)beanUtils.convert(serializedMatrix, MatrixND.class); + mdomain.setMatrix(matrix); + + domain = mdomain; + } + else if (property.equals("equationcontinuous")) { + // equation specific + Element equationElement = fixedElement.element("equation"); + EquationContinuousDomain<Double> edomain = new EquationContinuousDomain<Double>(); + edomain.setCoefficient(Double.valueOf(equationElement.attributeValue("coefficient"))); + edomain.setReferenceValue(Double.valueOf(equationElement.attributeValue("reference"))); + edomain.setVariableName(equationElement.attributeValue("variable")); + edomain.setOperator(equationElement.attributeValue("operator")); + + domain = edomain; + } + else { + // continous domain + domain = new ContinuousDomain<Double>(); + } + domain.setCardinality(Integer.valueOf(fixedElement .attributeValue("cardinality"))); - Element rangeElement = fixedElement.element("range"); + domain.setMinBound(Double.valueOf(rangeElement .attributeValue("min"))); domain.setMaxBound(Double.valueOf(rangeElement @@ -83,7 +118,7 @@ int label = 0; for (Element valueElement : valueElements) { domain.getValues().put(Integer.valueOf(label), - Double.valueOf(valueElement.getText().trim())); + Double.valueOf(valueElement.getTextTrim())); ++label; } factor.setDomain(domain); @@ -95,10 +130,42 @@ Element fixedElement = factorElement.element("domain").element( "fixed"); if ("continuous".equals(property)) { - ContinuousDomain<Integer> domain = new ContinuousDomain<Integer>(); + ContinuousDomain<Integer> domain = null; + Element rangeElement = fixedElement.element("range"); + + if(property.equals("matrixcontinuous")) { + // matrix specific + Element matrixElement = fixedElement.element("matrix"); + MatrixContinuousDomain<Integer> mdomain = new MatrixContinuousDomain<Integer>(); + mdomain.setCoefficient(Double.valueOf(matrixElement.attributeValue("coefficient"))); + mdomain.setOperator(matrixElement.attributeValue("operator")); + + String serializedMatrix = matrixElement.getTextTrim(); + ConvertUtilsBean beanUtils = ConverterUtil.getConverter(null); + MatrixND matrix = (MatrixND)beanUtils.convert(serializedMatrix, MatrixND.class); + mdomain.setMatrix(matrix); + + domain = mdomain; + } + else if (property.equals("equationcontinuous")) { + // equation specific + Element equationElement = fixedElement.element("equation"); + EquationContinuousDomain<Integer> edomain = new EquationContinuousDomain<Integer>(); + edomain.setCoefficient(Double.valueOf(equationElement.attributeValue("coefficient"))); + edomain.setReferenceValue(Double.valueOf(equationElement.attributeValue("reference"))); + edomain.setVariableName(equationElement.attributeValue("variable")); + edomain.setOperator(equationElement.attributeValue("operator")); + + domain = edomain; + } + else { + // continous domain + domain = new ContinuousDomain<Integer>(); + } + domain.setCardinality(Integer.valueOf(fixedElement .attributeValue("cardinality"))); - Element rangeElement = fixedElement.element("range"); + domain.setMinBound(Integer.valueOf(rangeElement .attributeValue("min"))); domain.setMaxBound(Integer.valueOf(rangeElement @@ -111,7 +178,7 @@ int label = 0; for (Element valueElement : valueElements) { domain.getValues().put(Integer.valueOf(label), - Integer.valueOf(valueElement.getText().trim())); + Integer.valueOf(valueElement.getTextTrim())); ++label; } factor.setDomain(domain); @@ -123,11 +190,13 @@ return plan; } - /** + /* * Parse element root node as Sensitivity Scenarios. * - * @return a {@link DesignPlan} - */ + * @return a {@link SensitivityScenarios} + * + * TODO : non finished and untested + * public static SensitivityScenarios parseSensitivityScenarios( Element rootElement) { @@ -220,5 +289,5 @@ } return scenarios; - } + }*/ } Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/EquationContinuousDomainXMLVisitor.java 2009-03-30 14:18:23 UTC (rev 2044) @@ -0,0 +1,51 @@ +/* *##% + * 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.domain.EquationContinuousDomain; + +/** + * XML domain visitor for Equation Continous Domain. + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 30 mars 2009 $ + * By : $Author: chatellier $ + */ +public class EquationContinuousDomainXMLVisitor extends ContinuousDomainXMLVisitor { + + /** + * {@inheritDoc} + */ + @Override + public void start(Domain<? extends Serializable> domain) { + super.start(domain); + + EquationContinuousDomain eDomain = (EquationContinuousDomain)domain; + xmlBuffer.append("<equation variable=\"" + eDomain.getVariableName()+ "\""); + xmlBuffer.append(" operator=\"" + eDomain.getOperator() + "\""); + xmlBuffer.append(" coefficient=\"" + eDomain.getCoefficient() + "\""); + xmlBuffer.append(" reference=\"" + eDomain.getReferenceValue() + "\""); + xmlBuffer.append(" />"); + } +} Modified: 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 2009-03-30 14:04:32 UTC (rev 2043) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java 2009-03-30 14:18:23 UTC (rev 2044) @@ -24,6 +24,8 @@ import fr.ifremer.isisfish.simulator.sensitivity.Factor; import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain; import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain; +import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain; +import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain; import fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor; /** @@ -68,7 +70,15 @@ xmlBuffer.append(" name=\"" + factor.getName() + "\""); Serializable referenceValueForType = null; // property attribute - if (factor.getDomain() instanceof ContinuousDomain) { + if (factor.getDomain() instanceof MatrixContinuousDomain) { + xmlBuffer.append(" property=\"matrixcontinuous\""); + referenceValueForType = ((MatrixContinuousDomain)factor.getDomain()).getMinBound(); + } + else if (factor.getDomain() instanceof EquationContinuousDomain) { + xmlBuffer.append(" property=\"equationcontinuous\""); + referenceValueForType = ((ContinuousDomain)factor.getDomain()).getMinBound(); + } + else if (factor.getDomain() instanceof ContinuousDomain) { xmlBuffer.append(" property=\"continuous\""); referenceValueForType = ((ContinuousDomain)factor.getDomain()).getMinBound(); } @@ -87,9 +97,11 @@ // target element xmlBuffer.append("<target>" + factor.getPath() + "</target>"); // value element + /* TODO value should be only in simulation export, + not in design plan export if (factor.getValue() != null) { xmlBuffer.append("<value>" + factor.getValue() + "</value>"); - } + }*/ } /* @@ -98,7 +110,13 @@ @Override public void visit(Factor<? extends Serializable> factor, Domain<? extends Serializable> domain) { DomainXMLVisitor visitor = null; - if (factor.getDomain() instanceof ContinuousDomain) { + if (factor.getDomain() instanceof MatrixContinuousDomain) { + visitor = new MatrixContinuousDomainXMLVisitor(); + } + else if (factor.getDomain() instanceof EquationContinuousDomain) { + visitor = new EquationContinuousDomainXMLVisitor(); + } + else if (factor.getDomain() instanceof ContinuousDomain) { visitor = new ContinuousDomainXMLVisitor(); } else if (factor.getDomain() instanceof DiscreteDomain) { Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/MatrixContinuousDomainXMLVisitor.java 2009-03-30 14:18:23 UTC (rev 2044) @@ -0,0 +1,54 @@ +/* *##% + * 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 org.apache.commons.beanutils.ConvertUtilsBean; + +import fr.ifremer.isisfish.simulator.sensitivity.Domain; +import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain; +import fr.ifremer.isisfish.util.ConverterUtil; + +/** + * XML domain visitor for Matrix continous + * + * @author chatellier + * @version $Revision: 1.0 $ + * + * Last update : $Date: 5 mars 2009 $ + * By : $Author: chatellier $ + */ +public class MatrixContinuousDomainXMLVisitor extends ContinuousDomainXMLVisitor { + + /** + * {@inheritDoc} + */ + @Override + public void start(Domain<? extends Serializable> domain) { + super.start(domain); + + ConvertUtilsBean beanUtils = ConverterUtil.getConverter(null); + MatrixContinuousDomain<?> mDomain = (MatrixContinuousDomain<?>)domain; + xmlBuffer.append("<matrix coefficient=\"" + mDomain.getCoefficient()+ "\""); + xmlBuffer.append(" operator=\"" + mDomain.getOperator() + "\">"); + xmlBuffer.append(beanUtils.convert(mDomain.getMatrix())); + xmlBuffer.append("</matrix>"); + } +} Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java =================================================================== --- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-30 14:04:32 UTC (rev 2043) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-30 14:18:23 UTC (rev 2044) @@ -33,10 +33,6 @@ import fr.ifremer.TestUtils; import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; import fr.ifremer.isisfish.simulator.sensitivity.Factor; -import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator; -import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculatorRandomMock; -import fr.ifremer.isisfish.simulator.sensitivity.SensitivityException; -import fr.ifremer.isisfish.simulator.sensitivity.SensitivityScenarios; import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain; import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain; import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain; @@ -71,7 +67,7 @@ // factor 1 Factor<Double> factorContinuous = new Factor<Double>( - "factor 1 (double)"); + "factor 1 (double continuous)"); ContinuousDomain<Double> domain1 = new ContinuousDomain<Double>(); domain1.setMinBound(0.0); domain1.setMaxBound(50.0); @@ -80,7 +76,7 @@ .setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength"); // factor 2 - Factor<Double> factorDiscrete = new Factor<Double>("factor 2 (double)"); + Factor<Double> factorDiscrete = new Factor<Double>("factor 2 (double discrete)"); DiscreteDomain<Double> domain2 = new DiscreteDomain<Double>(); domain2.getValues().put(0.0, 12.3); domain2.getValues().put(1.0, 70.9); @@ -93,10 +89,11 @@ factorDiscrete.setValue(3.0); // factor 3 - Factor<MatrixND> factorContinuous2 = new Factor<MatrixND>( - "factor 3 (discrete matrix)"); - DiscreteDomain<MatrixND> domain3 = new DiscreteDomain<MatrixND>(); - domain3.getValues().put(0.0, matrix1); + Factor<Integer> factorContinuous2 = new Factor<Integer>("factor 3 (integer discrete)"); + DiscreteDomain<Integer> domain3 = new DiscreteDomain<Integer>(); + domain3.getValues().put(0.0, 13); + domain3.getValues().put(0.0, 14); + domain3.getValues().put(0.0, 15); factorContinuous2.setDomain(domain3); factorContinuous2 .setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength"); @@ -146,8 +143,7 @@ // test xml export String xml = MexicoHelper.getDesignPlanAsXML(testDesignPlan); - Assert - .assertTrue(xml.indexOf("<factor name=\"factor 2 (double)\"") != -1); + Assert.assertTrue(xml.indexOf("<factor name=\"factor 2 (double discrete)\"") != -1); //Assert.assertTrue(xml.indexOf("<range min=\"12.0\" max=\"99.0\" />") != -1); Assert.assertTrue(xml.indexOf("<value>70.9</value>") != -1); @@ -155,83 +151,46 @@ xml = xml.replaceAll(">", ">\n"); FileUtil.writeString(new File(TestUtils.getTargetdir(), "mexicohelper_designplan.xml"), xml); - log.info("Designplan xml = " + xml); + log.info("testGetDesignPlanAsXML xml = " + xml); } } /** - * Test method - * {@link MexicoHelper#getSensitivityScenarionsAsXML(SensitivityScenarios)}. - * - * @throws IOException - * @throws SensitivityException - */ - @Test - public void testGetSensitivityScenariosAsXML() throws IOException, - SensitivityException { - - DesignPlan testDesignPlan = getTestDesignPlan(); - SensitivityCalculator testCalculator = new SensitivityCalculatorRandomMock(); - SensitivityScenarios testScenario = testCalculator.compute( - testDesignPlan, null); - - // test xml export - String xml = MexicoHelper.getSensitivityScenarionsAsXML(testScenario); - - //Assert.assertTrue(xml.indexOf("<factor name=\"factor 2 (double)\"") != -1); - //Assert.assertTrue(xml.indexOf("<range min=\"12.0\" max=\"99.0\" />") != -1); - //Assert.assertTrue(xml.indexOf("<value>70.9</value>") != -1); - - if (log.isDebugEnabled()) { - xml = xml.replaceAll(">", ">\n"); - FileUtil.writeString(new File(TestUtils.getTargetdir(), - "mexicohelper_scenarios.xml"), xml); - log.info("SensitivityScenarios xml = " + xml); - } - } - - /** * Test method {@link MexicoHelper#getDesignPlanFromXML(String)}. * * @throws IOException */ @Test - public void getDesignPlanFromXML() throws IOException { + public void testGetDesignPlanFromXML() throws IOException { DesignPlan plan = MexicoHelper .getDesignPlanFromXML("src/test/resources/mexico/mexicohelper_designplan.xml"); - Assert.assertEquals(4, plan.getFactors().size()); - // FIXME should be : Assert.assertEquals(5, plan.getFactors().size()); + Assert.assertEquals(5, plan.getFactors().size()); String xml = MexicoHelper.getDesignPlanAsXML(plan); xml = xml.replaceAll(">", ">\n"); - log.info("getDesignPlanFromXML xml = " + xml); + log.info("testGetDesignPlanFromXML xml = " + xml); } - + /** - * Test method {@link MexicoHelper#getSensitivityScenariosFromXML(String)}. + * Test que l'export XML de l'import XML produise le meme xml. * * @throws IOException */ @Test - public void getSensitivityScenariosFromXML() throws IOException { + public void testExportImport() throws IOException { - SensitivityScenarios scenario = MexicoHelper - .getSensitivityScenariosFromXML("src/test/resources/mexico/mexicohelper_scenarios.xml"); - - Assert.assertEquals(10, scenario.getScenarios().size()); - Assert.assertEquals(5, scenario.getScenarios().get(0).getFactors() - .size()); - Assert.assertEquals(2, scenario.getScenarios().get(1).getFactors() - .size()); - Assert.assertEquals(2, scenario.getScenarios().get(2).getFactors() - .size()); - Assert.assertEquals(2, scenario.getScenarios().get(3).getFactors() - .size()); - - String xml = MexicoHelper.getSensitivityScenarionsAsXML(scenario); - xml = xml.replaceAll(">", ">\n"); - log.info("getSensitivityScenariosFromXML xml = " + xml); + // first export + DesignPlan testDesignPlan = getTestDesignPlan(); + String xml1 = MexicoHelper.getDesignPlanAsXML(testDesignPlan); + log.debug("xml 1 = " + xml1); + + // export + DesignPlan plan = MexicoHelper.getDesignPlanFromXML("src/test/resources/mexico/mexicohelper_designplan.xml"); + String xml2 = MexicoHelper.getDesignPlanAsXML(plan); + log.debug("xml 2 = " + xml2); + + Assert.assertEquals(xml1, xml2); } } Modified: isis-fish/trunk/src/test/resources/mexico/mexicohelper_designplan.xml =================================================================== --- isis-fish/trunk/src/test/resources/mexico/mexicohelper_designplan.xml 2009-03-30 14:04:32 UTC (rev 2043) +++ isis-fish/trunk/src/test/resources/mexico/mexicohelper_designplan.xml 2009-03-30 14:18:23 UTC (rev 2044) @@ -1,57 +1,74 @@ <experimentalDesign> - <factors> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target> - fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> + <factors> + <factor name="factor 1 (double continuous)" property="continuous" type="real"> + <target> + fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength + </target> + <domain> + <fixed cardinality="0"> + <range min="0.0" max="50.0" /> + </fixed> + </domain> + </factor> + <factor name="factor 2 (double discrete)" property="discrete" type="real"> + <target> + fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength + </target> + <value> + 3.0</value> + <domain> + <fixed cardinality="5"> + <enumeration> <value> - 3.0</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 3 (discrete matrix)" property="discrete"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <domain> - <fixed cardinality="1"> - <enumeration> - <value>test1 matrix2D [ - 13.0,21.0,12.0, - -14.0,2.0,-1.0,]</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 4 (MatrixContinuous)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 5 (EquationContinuous)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#maxLength</target> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - </factors> -</experimentalDesign> + 12.3</value> + <value> + 70.9</value> + <value> + 21.0</value> + <value> + -12.1</value> + <value> + -8.45</value> + </enumeration> + </fixed> + </domain> + </factor> + <factor name="factor 3 (integer discrete)" property="discrete" type="integer"> + <target> + fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength + </target> + <domain> + <fixed cardinality="1"> + <enumeration> + <value> + 15</value> + </enumeration> + </fixed> + </domain> + </factor> + <factor name="factor 4 (MatrixContinuous)" property="matrixcontinuous" type="real"> + <target> + fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength + </target> + <domain> + <fixed cardinality="0"> + <range min="0.0" max="1.0" /> + <matrix coefficient="0.1" operator="-"> + [test1,[3, 2],[\"col1\", \"col2\"],[[null(), null(), null()], [null(), null()]],[[13.0, -14.0], [21.0, + 2.0], [12.0, -1.0]]]</matrix> + </fixed> + </domain> + </factor> + <factor name="factor 5 (EquationContinuous)" property="equationcontinuous" type="real"> + <target> + fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#maxLength + </target> + <domain> + <fixed cardinality="0"> + <range min="0.0" max="1.0" /> + <equation variable="L1" operator="-" coefficient="0.1" reference="45.0" /> + </fixed> + </domain> + </factor> + </factors> +</experimentalDesign> \ No newline at end of file Deleted: isis-fish/trunk/src/test/resources/mexico/mexicohelper_scenarios.xml =================================================================== --- isis-fish/trunk/src/test/resources/mexico/mexicohelper_scenarios.xml 2009-03-30 14:04:32 UTC (rev 2043) +++ isis-fish/trunk/src/test/resources/mexico/mexicohelper_scenarios.xml 2009-03-30 14:18:23 UTC (rev 2044) @@ -1,319 +0,0 @@ -<experimentalScenarios> - <scenarios> - <scenario> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>12.3</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>70.9</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>21.0</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>-12.1</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>-8.45</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 4 (MatrixContinuous)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <value>1.0</value> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 4 (MatrixContinuous)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <value>2.0</value> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 4 (MatrixContinuous)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <value>1.0</value> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 4 (MatrixContinuous)" property="continuous" - type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <value>2.0</value> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 1 (double)" property="continuous" - type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>0.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>50.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>0.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>50.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 3 (discrete matrix)" property="discrete"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <value>test1 matrix2D [ - 13.0,21.0,12.0, - -14.0,2.0,-1.0,]</value> - <domain> - <fixed cardinality="1"> - <enumeration> - <value>test1 matrix2D [ - 13.0,21.0,12.0, - -14.0,2.0,-1.0,]</value> - </enumeration> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>0.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>50.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>12.3</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value> - 70.9</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>21.0</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target> - fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>-12.1</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - <factor name="factor 2 (double)" property="discrete" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength</target> - <value>-8.45</value> - <domain> - <fixed cardinality="5"> - <enumeration> - <value>12.3</value> - <value>70.9</value> - <value>21.0</value> - <value>-12.1</value> - <value>-8.45</value> - </enumeration> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 4 (MatrixContinuous)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <value>1.0</value> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 4 (MatrixContinuous)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength</target> - <value>2.0</value> - <domain> - <fixed cardinality="0"> - <range min="1.0" max="2.0" /> - </fixed> - </domain> - </factor> - </scenario> - <scenario> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>0.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - <factor name="factor 1 (double)" property="continuous" type="real"> - <target>fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength</target> - <value>50.0</value> - <domain> - <fixed cardinality="0"> - <range min="0.0" max="50.0" /> - </fixed> - </domain> - </factor> - </scenario> - </scenarios> -</experimentalScenarios>