r2216 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/mexico main/java/fr/ifremer/isisfish/mexico/xml main/java/fr/ifremer/isisfish/ui/simulator test/java/fr/ifremer/isisfish/mexico
Author: chatellier Date: 2009-05-12 09:42:35 +0000 (Tue, 12 May 2009) New Revision: 2216 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/ui/simulator/SimulAction.java isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java Log: Recharge les facteurs avec une connexion ouverte vers la base. (sinon, les semantiques des matrices sont perdues) 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-05-12 08:50:53 UTC (rev 2215) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2009-05-12 09:42:35 UTC (rev 2216) @@ -21,6 +21,7 @@ import java.io.File; import java.io.IOException; +import org.codelutin.topia.TopiaContext; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; @@ -80,10 +81,11 @@ * Parse xmlFile with sax, and return a {@link DesignPlan}. * * @param xmlFile file path to parse + * @param topiaContext database context * @return DesignPlan * @throws IOException */ - public static DesignPlan getDesignPlanFromXML(File xmlFile) + public static DesignPlan getDesignPlanFromXML(File xmlFile, TopiaContext topiaContext) throws IOException { DesignPlan designPlan = null; try { @@ -94,7 +96,7 @@ reader.setEncoding("utf-8"); Document doc = reader.read(xmlFile); Element root = doc.getRootElement(); - designPlan = DomXMLParser.parseDesignPlan(root); + designPlan = DomXMLParser.parseDesignPlan(root, topiaContext); } catch (DocumentException e) { throw new IOException(e); } 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-05-12 08:50:53 UTC (rev 2215) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomXMLParser.java 2009-05-12 09:42:35 UTC (rev 2216) @@ -18,11 +18,11 @@ package fr.ifremer.isisfish.mexico.xml; -import java.io.Serializable; import java.util.List; import org.apache.commons.beanutils.ConvertUtilsBean; import org.codelutin.math.matrix.MatrixND; +import org.codelutin.topia.TopiaContext; import org.dom4j.Element; import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; @@ -49,9 +49,11 @@ /** * Parse element root node as Design plan. * + * @param rootElement root dom element + * @param topiaContext database context * @return a {@link DesignPlan} */ - public static DesignPlan parseDesignPlan(Element rootElement) { + public static DesignPlan parseDesignPlan(Element rootElement, TopiaContext topiaContext) { DesignPlan plan = new DesignPlan(); @@ -82,7 +84,7 @@ mdomain.setOperator(matrixElement.attributeValue("operator")); String serializedMatrix = matrixElement.getTextTrim(); - ConvertUtilsBean beanUtils = ConverterUtil.getConverter(null); + ConvertUtilsBean beanUtils = ConverterUtil.getConverter(topiaContext); MatrixND matrix = (MatrixND)beanUtils.convert(serializedMatrix, MatrixND.class); mdomain.setMatrix(matrix); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-05-12 08:50:53 UTC (rev 2215) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-05-12 09:42:35 UTC (rev 2216) @@ -303,6 +303,7 @@ // all time reset number after load param.setAnalysePlanNumber(-1); regionStorage = param.getRegion(); + // Chargement des sensibilites sensitivityCalculator = param.getSensitivityCalculator(); @@ -318,7 +319,8 @@ if (log.isInfoEnabled()) { log.info("Import design plan from : " + f.getAbsolutePath()); } - designPlan = MexicoHelper.getDesignPlanFromXML(f); + TopiaContext topiaContext = regionStorage.getStorage(); + designPlan = MexicoHelper.getDesignPlanFromXML(f, topiaContext); factors.clear(); for (Factor factor : designPlan.getFactors()) { if (log.isDebugEnabled()) { 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-05-12 08:50:53 UTC (rev 2215) +++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-05-12 09:42:35 UTC (rev 2216) @@ -27,6 +27,7 @@ import org.apache.commons.logging.LogFactory; import org.codelutin.math.matrix.MatrixFactory; import org.codelutin.math.matrix.MatrixND; +import org.codelutin.topia.TopiaContext; import org.codelutin.util.FileUtil; import org.junit.Test; @@ -156,7 +157,7 @@ } /** - * Test method {@link MexicoHelper#getDesignPlanFromXML(String)}. + * Test method {@link MexicoHelper#getDesignPlanFromXML(File, TopiaContext)}. * * @throws IOException */ @@ -164,7 +165,8 @@ public void testGetDesignPlanFromXML() throws IOException { File testFile = new File("src/test/resources/mexico/mexicohelper_designplan.xml"); - DesignPlan plan = MexicoHelper.getDesignPlanFromXML(testFile); + // topia context can be null in tests + DesignPlan plan = MexicoHelper.getDesignPlanFromXML(testFile, null); Assert.assertEquals(5, plan.getFactors().size()); @@ -188,7 +190,8 @@ // export File testFile = new File("src/test/resources/mexico/mexicohelper_designplan.xml"); - DesignPlan plan = MexicoHelper.getDesignPlanFromXML(testFile); + // topia context can be null in tests + DesignPlan plan = MexicoHelper.getDesignPlanFromXML(testFile, null); String xml2 = MexicoHelper.getDesignPlanAsXML(plan); log.debug("xml 2 = " + xml2);
participants (1)
-
chatellierï¼ users.labs.libre-entreprise.org