Isis-fish-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- 3175 discussions
r1939 - isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 14:20:09 +0000 (Wed, 11 Mar 2009)
New Revision: 1939
Added:
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/EvaluateHelperTest.java
Log:
Add test on EvaluateHelper
Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/EvaluateHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/EvaluateHelperTest.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/EvaluateHelperTest.java 2009-03-11 14:20:09 UTC (rev 1939)
@@ -0,0 +1,115 @@
+/* *##%
+ * 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.util;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import junit.framework.Assert;
+
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import fr.ifremer.TestUtils;
+import fr.ifremer.isisfish.equation.EmigrationEquation;
+import fr.ifremer.isisfish.equation.PopulationGrowth;
+import fr.ifremer.isisfish.equation.PopulationGrowthReverse;
+
+/**
+ * Test class for {@link EvaluatorHelper}.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class EvaluateHelperTest {
+
+ @BeforeClass
+ public static void init() throws Exception {
+ TestUtils.init();
+ }
+
+ /**
+ * Test #normalizeClassName().
+ */
+ @Test
+ public void testNormalizeClassName() {
+ Assert.assertEquals("Test", EvaluatorHelper.normalizeClassName("Test"));
+ Assert.assertEquals("Te_t", EvaluatorHelper.normalizeClassName("Te/t"));
+ Assert.assertEquals("org_test_Test", EvaluatorHelper
+ .normalizeClassName("org.test.Test"));
+ }
+
+ /**
+ * Test #check().
+ */
+ @Test
+ public void testCheck() {
+ String equationContent = "return 12.0;";
+
+ int result = EvaluatorHelper.check(EmigrationEquation.class,
+ equationContent, null);
+ Assert.assertEquals(0, result);
+ }
+
+ /**
+ * Test #evaluate().
+ */
+ @Test
+ public void testEvaluate() {
+ String equationContent = "return age * 2.0;";
+
+ Map<String, Object> args = new HashMap<String, Object>();
+ args.put("context", null);
+ args.put("age", 2.0);
+ args.put("group", null);
+ Object result = EvaluatorHelper.evaluate("org.codelutin.equation",
+ "TestEvaluate", PopulationGrowth.class, equationContent, args);
+
+ Assert.assertNotNull(result);
+ Assert.assertEquals("4.0", result.toString());
+ }
+
+ /**
+ * Test #evaluate() but twice to check that previous
+ * class don't stay in class loader.
+ */
+ @Test
+ public void testDoubleContentEvaluate() {
+
+ Map<String, Object> args = new HashMap<String, Object>();
+ args.put("context", null);
+ args.put("length", 2.0);
+ args.put("group", null);
+
+ String equationContent = "return length * 2.0;";
+ Object result = EvaluatorHelper.evaluate("org.codelutin.equation",
+ "TestDoubleContentEvaluate", PopulationGrowthReverse.class, equationContent, args);
+ Assert.assertNotNull(result);
+ Assert.assertEquals("4.0", result.toString());
+
+ equationContent = "return length * 3.0;";
+ result = EvaluatorHelper.evaluate("org.codelutin.equation",
+ "TestDoubleContentEvaluate", PopulationGrowthReverse.class, equationContent, args);
+ Assert.assertNotNull(result);
+ Assert.assertEquals("6.0", result.toString());
+ }
+}
Property changes on: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/EvaluateHelperTest.java
___________________________________________________________________
Name: svn:keywords
+ Revision Date Author
1
0
r1938 - isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 14:19:34 +0000 (Wed, 11 Mar 2009)
New Revision: 1938
Modified:
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
Log:
Move test to junit 4 (improve test)
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2009-03-11 11:29:21 UTC (rev 1937)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/util/CompileHelperTest.java 2009-03-11 14:19:34 UTC (rev 1938)
@@ -1,35 +1,41 @@
-/*
- * *##% Copyright (C) 2006 - 2009 Code Lutin, Cédric Pineau, Benjamin Poussin
- *
- * 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. ##%
- */
+/* *##%
+ * Copyright (C) 2009 CodeLutin
+ *
+ * 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 3 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 Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%*/
package fr.ifremer.isisfish.util;
-import junit.framework.TestCase;
-import org.codelutin.util.FileUtil;
-
import java.io.File;
+import java.io.IOException;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.codelutin.util.FileUtil;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import fr.ifremer.TestUtils;
+
/**
- * ClassUtilTest.
+ * CompileHelperTest.
*
* Created: 12 janv. 2006 16:20:33
*
@@ -40,12 +46,68 @@
* Last update: $Date$
* by : $Author$
*/
-public class CompileHelperTest extends TestCase {
+public class CompileHelperTest {
- public void testCompile() throws Exception {
+ /** Class logger */
+ private static Log log = LogFactory.getLog(CompileHelperTest.class);
+
+ /**
+ * Called once before all class tests.
+ * @throws Exception
+ */
+ @BeforeClass
+ public static void init() throws Exception {
+ TestUtils.init();
+ }
+
+ /**
+ * Return a Java code content in Java 6.
+ *
+ * @param name Class name
+ *
+ * @return java code
+ */
+ protected String getFirstClassContent(String name) {
+ StringBuffer content = new StringBuffer();
+ content.append("public class " + name + " {");
+ content.append(" /** Java 6 code */");
+ content.append(" public boolean isEmpty(String s) {");
+ content.append(" return s.isEmpty();");
+ content.append(" }");
+ content.append("}");
+ return content.toString();
+ }
+
+ /**
+ * Return a Java code content in Java 6 that extends a class.
+ *
+ * @param name
+ * @param extendsName
+ * @return java code
+ */
+ protected String getSecondClassContent(String name, String extendsName) {
+ StringBuffer content = new StringBuffer();
+ content.append("public class " + name + " extends " + extendsName + " {");
+ content.append(" @Override");
+ content.append(" public boolean isEmpty(String s) {");
+ content.append(" return false;");
+ content.append(" }");
+ content.append("}");
+ return content.toString();
+ }
+
+ /**
+ * Test une compilation de classe et une
+ * instantiation de la classe compilée.
+ *
+ * @throws IOException
+ * @throws ClassNotFoundException
+ */
+ @Test
+ public void testCompile() throws IOException, ClassNotFoundException {
File f = File.createTempFile("testCompile", ".java");
String filename = FileUtil.basename(f, ".java");
- String code = "public class " + filename + " {}";
+ String code = getFirstClassContent(filename);
FileUtil.writeString(f, code);
List<File> classpath = new ArrayList<File>();
@@ -56,49 +118,64 @@
// essai de chargement de la classe
URL[] cp = new URL[] { f.getParentFile().toURI().toURL() };
- //URL[] cp = new URL[] { f.getParentFile().toURL() };
ClassLoader cl = new URLClassLoader(cp);
- Class c = cl.loadClass(filename);
- System.out.println("class name: " + c.getName());
- assertEquals(filename, c.getName());
+ Class<?> c = cl.loadClass(filename);
+ log.info("class name: " + c.getName());
+ Assert.assertEquals(filename, c.getName());
+
+ // delete
+ File fclass = new File(f.getAbsolutePath().replaceAll("java$", "class"));
+ fclass.delete();
+ f.delete();
}
- public void testCompileDepend() throws Exception {
+ /**
+ * Test de compiler deux classes dont l'un etend l'autre.
+ * Puis instancie les deux.
+ * @throws IOException
+ * @throws ClassNotFoundException
+ */
+ @Test
+ public void testCompileDepend() throws IOException, ClassNotFoundException {
+
File fA = File.createTempFile("testCompileA", ".java");
String filenameA = FileUtil.basename(fA, ".java");
- String codeA = "public class " + filenameA + " {}";
+ String codeA = getFirstClassContent(filenameA);
FileUtil.writeString(fA, codeA);
File fB = File.createTempFile("testCompileB", ".java");
String filenameB = FileUtil.basename(fB, ".java");
- String codeB = "public class " + filenameB + " extends " + filenameA
- + " {}";
+ String codeB = getSecondClassContent(filenameB, filenameA);
FileUtil.writeString(fB, codeB);
File dest = new File(fB.getParentFile(), "testCompile");
List<File> classpath = new ArrayList<File>();
classpath.add(fB.getParentFile());
- CompileHelper.compile(classpath, Collections.singletonList(fB), dest,
- null);
+ CompileHelper.compile(classpath, Collections.singletonList(fB),
+ dest, null);
- {
- // essai de chargement de la classe
- URL[] cp = new URL[] { dest.toURI().toURL() };
- //URL[] cp = new URL[] { dest.toURL() };
- ClassLoader cl = new URLClassLoader(cp);
- Class c = cl.loadClass(filenameB);
- System.out.println("class name: " + c.getName());
- assertEquals(filenameB, c.getName());
- }
- {
- // essai de chargement de la classe
- URL[] cp = new URL[] { dest.toURI().toURL() };
- //URL[] cp = new URL[] { dest.toURL() };
- ClassLoader cl = new URLClassLoader(cp);
- Class c = cl.loadClass(filenameA);
- System.out.println("class name: " + c.getName());
- assertEquals(filenameA, c.getName());
- }
+ // essai de chargement de la classe
+ URL[] cp = new URL[] { dest.toURI().toURL() };
+ ClassLoader cl = new URLClassLoader(cp);
+ Class<?> c = cl.loadClass(filenameB);
+ log.info("class name: " + c.getName());
+ Assert.assertEquals(filenameB, c.getName());
+
+ // essai de chargement de la classe
+ cp = new URL[] { dest.toURI().toURL() };
+ //URL[] cp = new URL[] { dest.toURL() };
+ cl = new URLClassLoader(cp);
+ c = cl.loadClass(filenameA);
+ log.info("class name: " + c.getName());
+ Assert.assertEquals(filenameA, c.getName());
+
+ // delete
+ File fclassA = new File(fA.getAbsolutePath().replaceAll("java$", "class"));
+ fclassA.delete();
+ File fclassB = new File(fB.getAbsolutePath().replaceAll("java$", "class"));
+ fclassB.delete();
+ fA.delete();
+ fB.delete();
}
}
1
0
r1937 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/datastore main/java/fr/ifremer/isisfish/simulator/launcher test/java/fr/ifremer test/java/fr/ifremer/isisfish/ui/sensitivity
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 11:29:21 +0000 (Wed, 11 Mar 2009)
New Revision: 1937
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
isis-fish/trunk/src/test/java/fr/ifremer/TestUtils.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java
Log:
Call analyseResult after all simulation ends.
Still miss simulation scenario.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2009-03-11 11:26:00 UTC (rev 1936)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationStorage.java 2009-03-11 11:29:21 UTC (rev 1937)
@@ -1,6 +1,6 @@
/* *##%
- * Copyright (C) 2005
- * Ifremer, Code Lutin, Cᅵdric Pineau, Benjamin Poussin
+ * Copyright (C) 2005 - 2009
+ * Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -17,18 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * SimulationStorage.java
- *
- * Created: 17 aoᅵt 2005 03:48:50 CEST
- *
- * @author Benjamin POUSSIN <poussin at codelutin.com>
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.datastore;
import static org.codelutin.i18n.I18n._;
@@ -61,53 +49,61 @@
import fr.ifremer.isisfish.vcs.VCSException;
/**
- * Class permettant la gestion de la persistance d'une simulation
+ * Class permettant la gestion de la persistance d'une simulation.
*
- * @author poussin
+ * Created: 17 août 2005 03:48:50 CEST
*
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
*/
public class SimulationStorage extends DataStorage { // SimulationStorage
- static final public String SIMULATION_PATH = "simulations";
- static final public String INFORMATION_FILENAME = "information";
- static final public String PARAMETERS_FILENAME = "parameters.properties";
- static final public String RESULT_XML_FILENAME = "isis-mexico-output.xml";
- static final public String RESULT_EXPORT_DIRECTORY = "resultExports";
+ public static final String SIMULATION_PATH = "simulations";
+ public static final String INFORMATION_FILENAME = "information";
+ public static final String CONTROL_FILENAME = "control";
+ public static final String PARAMETERS_FILENAME = "parameters.properties";
+ public static final String RESULT_XML_FILENAME = "isis-mexico-output.xml";
+ public static final String RESULT_EXPORT_DIRECTORY = "resultExports";
-
/** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(SimulationStorage.class);
+ private static Log log = LogFactory.getLog(SimulationStorage.class);
/** cache des simulation storage */
@SuppressWarnings("unchecked")
- static protected Map<String, SimulationStorage> simulations =
- (Map<String, SimulationStorage>) new ReferenceMap();
+ protected static Map<String, SimulationStorage> simulations = (Map<String, SimulationStorage>) new ReferenceMap();
/** some free information, that user can add during simulation */
protected SimulationInformation information = null;
protected SimulationParameter parameter = null;
- transient protected ResultStorage resultStorage = null;
+ protected transient ResultStorage resultStorage = null;
/** represent the category used for logging in simulation */
public static String LOG_CATEGORY = "fr.ifremer.isisfish.simulator";
/** flag to says if simulation is actually using a simulation logger */
protected boolean useLog;
+
+ protected transient File simulationControlFile = null;
+
/**
* Pour la lecture d'une simulation existante
* @param directory repertoire de base du storage (inclu le nom de la sim)
* @param name le nom de la simulation
* @param parameter les paramètres de la simulation
*/
- protected SimulationStorage(File directory, String name, SimulationParameter parameter){
+ protected SimulationStorage(File directory, String name,
+ SimulationParameter parameter) {
super(directory, name);
setParameter(parameter);
}
-
+
/**
* Retourne le repertoire de base de stockage des simulations
* @return
*/
- static public File getSimulationDirectory() {
+ public static File getSimulationDirectory() {
File result = IsisFish.config.getDatabaseDirectory();
result = new File(result, SIMULATION_PATH);
if (!result.exists()) {
@@ -136,7 +132,7 @@
* @param root le repertoire de stockage de la simulation
* @return
*/
- static public File getResultExportDirectory(File root) {
+ public static File getResultExportDirectory(File root) {
File result = new File(root, RESULT_EXPORT_DIRECTORY);
if (!result.exists()) {
result.mkdirs();
@@ -149,32 +145,32 @@
* @param root le repertoire de stockage de la simulation
* @return
*/
- static public File getSimulationParametersFile(File root) {
+ public static File getSimulationParametersFile(File root) {
File result = new File(root, PARAMETERS_FILENAME);
return result;
}
-
+
/**
* Retourne le fichier de stockage des inforations de la simulation
* @param root le repertoire de stockage de la simulation
* @return
*/
- static public File getSimulationInformationFile(File root) {
+ public static File getSimulationInformationFile(File root) {
File result = new File(root, INFORMATION_FILENAME);
return result;
}
-
+
/**
* Retourne le fichier de stockage des resultats sous format XML mexico
* de la simulation
* @param root le repertoire de stockage de la simulation
* @return
*/
- static public File getSimulationResultXmlFile(File root) {
+ public static File getSimulationResultXmlFile(File root) {
File result = new File(root, RESULT_XML_FILENAME);
return result;
}
-
+
/**
* Retourne le fichier de stockage des parametres de la simulation courante
* @return
@@ -184,7 +180,6 @@
return result;
}
- protected transient File simulationControlFile = null;
/**
* Retourne le fichier de stockage du fichier de control de la simulation.
* Ce fichier conserve l'etat de la simulation, cela permet a un processus
@@ -193,11 +188,11 @@
*/
protected File getSimulationControlFile() {
if (simulationControlFile == null) {
- simulationControlFile = new File(getDirectory(), "control");
+ simulationControlFile = new File(getDirectory(), CONTROL_FILENAME);
}
return simulationControlFile;
}
-
+
/**
* Retourne le fichier de stockage du fichier de control de la simulation.
* Ce fichier conserve l'etat de la simulation, cela permet a un processus
@@ -205,7 +200,7 @@
* @return
*/
protected static File getSimulationControlFile(String id) {
- File result = new File(getSimulationDirectory(id), "control");
+ File result = new File(getSimulationDirectory(id), CONTROL_FILENAME);
return result;
}
@@ -226,7 +221,7 @@
// car simplement utilise pour indique l'etat de simulation
log.warn("Can't save control", eee);
}
- }
+ }
/**
* Reli le fichier contenant les infos de SimulationControl, en excluant
@@ -236,11 +231,12 @@
* @param control le control a mettre a jour en fonction de ce qui est lu
* @param exclude les champs a exclure
*/
- public static void readControl(String id, SimulationControl control, String... exclude) {
+ public static void readControl(String id, SimulationControl control,
+ String... exclude) {
File file = getSimulationControlFile(id);
readControl(file, control, exclude);
}
-
+
/**
* Reli le fichier contenant les infos de SimulationControl, en excluant
* certain champs.
@@ -249,7 +245,8 @@
* @param control le control a mettre a jour en fonction de ce qui est lu
* @param exclude les champs a exclure
*/
- public static void readControl(File controlFile, SimulationControl control, String... exclude) {
+ public static void readControl(File controlFile, SimulationControl control,
+ String... exclude) {
try {
Properties prop = new Properties();
if (controlFile.exists()) {
@@ -263,10 +260,10 @@
prop.remove(e);
}
control.updateFromProperties(prop);
- }
- else {
- if(log.isDebugEnabled()) {
- log.debug("Control file '" + controlFile.getAbsolutePath() + "'doesn't exists");
+ } else {
+ if (log.isDebugEnabled()) {
+ log.debug("Control file '" + controlFile.getAbsolutePath()
+ + "'doesn't exists");
}
}
} catch (Exception e) {
@@ -289,7 +286,8 @@
prop.store(out, "Parameters");
out.close();
} catch (IOException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.save.simulation.parameters", file ), eee);
+ throw new IsisFishRuntimeException(_(
+ "isisfish.error.save.simulation.parameters", file), eee);
}
}
}
@@ -300,15 +298,16 @@
* @return Parameter property.
*/
public SimulationParameter getParameter() {
- if(parameter == null){
+ if (parameter == null) {
Properties prop = new Properties();
File file = getSimulationParametersFile();
-
+
// log
- if(log.isDebugEnabled()) {
- log.debug("Loading properties from : " + file.getAbsolutePath());
+ if (log.isDebugEnabled()) {
+ log.debug("Loading properties from : "
+ + file.getAbsolutePath());
}
-
+
try {
FileInputStream in = new FileInputStream(file);
prop.load(in);
@@ -316,7 +315,8 @@
parameter = new SimulationParameter();
parameter.fromProperties(getDirectory(), prop);
} catch (IOException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.read.simulation.parameters", file), eee);
+ throw new IsisFishRuntimeException(_(
+ "isisfish.error.read.simulation.parameters", file), eee);
}
}
return this.parameter;
@@ -345,7 +345,8 @@
parameter = new SimulationParameter();
parameter.fromProperties(getDirectory(), prop);
} catch (IOException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.read.simulation.parameters", file), eee);
+ throw new IsisFishRuntimeException(_(
+ "isisfish.error.read.simulation.parameters", file), eee);
}
return this.parameter;
}
@@ -378,7 +379,7 @@
}
return resultStorage;
}
-
+
/**
* Indique si la simulation demandée existe ou non
* @param name le nom de la simulation à tester
@@ -396,7 +397,7 @@
* @param name le nom de la simulation à tester
* @return true si la simulation existe déjà
*/
- static public boolean localyExists(String name) {
+ public static boolean localyExists(String name) {
return getSimulationNames().contains(name);
}
@@ -405,7 +406,7 @@
* @param name name of the required simulation
* @return la simulation souhaitée ou null si la simulation n'existe pas
*/
- static public SimulationStorage getSimulation(String name) {
+ public static SimulationStorage getSimulation(String name) {
SimulationStorage result = simulations.get(name);
if (result == null) {
// recherche du repertoire de la simulation en fonction de la config
@@ -431,22 +432,26 @@
* @throws IllegalArgumentException si le nom existe déjà en tant que
* simulation
*/
- static public SimulationStorage create(String name, SimulationParameter parameter) throws StorageException {
+ public static SimulationStorage create(String name,
+ SimulationParameter parameter) throws StorageException {
if (localyExists(name)) {
- throw new IllegalArgumentException("Can't create simulation this simulation name exists: " + name);
+ throw new IllegalArgumentException(
+ "Can't create simulation this simulation name exists: "
+ + name);
}
File directory = getSimulationDirectory(name);
- SimulationStorage result = new SimulationStorage(directory, name, parameter);
+ SimulationStorage result = new SimulationStorage(directory, name,
+ parameter);
// 20060819: poussin
// don't create schema, schema is created during data import from region
-// try {
-// TopiaContext context = result.getStorage().beginTransaction();
-// context.createSchema();
-// context.commitTransaction();
-// } catch (TopiaException eee) {
-// throw new StorageException("Can't create new Region", eee);
-// }
+ // try {
+ // TopiaContext context = result.getStorage().beginTransaction();
+ // context.createSchema();
+ // context.commitTransaction();
+ // } catch (TopiaException eee) {
+ // throw new StorageException("Can't create new Region", eee);
+ // }
simulations.put(name, result);
return result;
@@ -456,7 +461,7 @@
* Retourne la liste des noms de toutes les régions disponible en local
* @return la liste des noms de toutes les régions disponible en local
*/
- static public List<String> getSimulationNames() {
+ public static List<String> getSimulationNames() {
File dir = getSimulationDirectory();
return getStorageNames(dir);
}
@@ -466,7 +471,7 @@
* ne sont pas encore sur le serveur CVS
* @return liste de noms de simulations
*/
- static public List<String> getNewSimulationNames() {
+ public static List<String> getNewSimulationNames() {
List<String> result = getSimulationNames();
result.removeAll(getRemoteSimulationNames());
return result;
@@ -479,7 +484,7 @@
* serveur CVS. Si le serveur n'est pas disponible la liste retournée
* est vide.
*/
- static public List<String> getRemoteSimulationNames() {
+ public static List<String> getRemoteSimulationNames() {
File dir = getSimulationDirectory();
return getRemoteStorageNames(dir);
}
@@ -489,7 +494,7 @@
* serveur CVS qui ne sont pas encore en local
* @return liste de noms de simulations
*/
- static public List<String> getNewRemoteSimulationNames() {
+ public static List<String> getNewRemoteSimulationNames() {
List<String> result = getRemoteSimulationNames();
result.removeAll(getSimulationNames());
return result;
@@ -501,12 +506,12 @@
* @return
* @throws StorageException
*/
- static public FisheryRegion getFisheryRegion(TopiaContext context)
- throws StorageException {
+ public static FisheryRegion getFisheryRegion(TopiaContext context)
+ throws StorageException {
FisheryRegion result;
try {
FisheryRegionDAO regionDAO = IsisFishDAOHelper
- .getFisheryRegionDAO(context);
+ .getFisheryRegionDAO(context);
List<FisheryRegion> regions = regionDAO.findAll();
if (regions.size() != 1) {
throw new StorageException("Invalide region database"
@@ -539,7 +544,8 @@
tx.commitTransaction();
return result;
} catch (TopiaException eee) {
- throw new StorageException(_("isisfish.error.get.fisheryRegion"), eee);
+ throw new StorageException(_("isisfish.error.get.fisheryRegion"),
+ eee);
}
}
@@ -550,8 +556,10 @@
* @throws VCSException si problème avec le VCS
* @throws TopiaException si problème lors de l'opération sur la base embarquée
*/
- static public void checkout(String name) throws VCSException, TopiaException {
- checkout(IsisFish.config.getDatabaseDirectory(), SIMULATION_PATH + "/" + name);
+ public static void checkout(String name) throws VCSException,
+ TopiaException {
+ checkout(IsisFish.config.getDatabaseDirectory(), SIMULATION_PATH + "/"
+ + name);
SimulationStorage sim = getSimulation(name);
File file = sim.getDataBackupFile();
TopiaContext tx = sim.getStorage().beginTransaction();
@@ -560,7 +568,7 @@
tx.closeContext();
}
- /* (non-Javadoc)
+ /*
* @see fr.ifremer.isisfish.datastore.DataStorage#rename(java.lang.String)
*/
@Override
@@ -571,19 +579,20 @@
}
/**
- * import zipped simulation
+ * Import zipped simulation.
*
* @param file zipped region file
* @return region storage or null
* @throws IOException si problème IO lors de la lecture du zip
* @throws TopiaException si problème lors de la création du contexte
*/
- public static SimulationStorage importZip(File file) throws IOException, TopiaException {
+ public static SimulationStorage importZip(File file) throws IOException,
+ TopiaException {
return importAndRenameZip(file, null);
}
/**
- * import zipped simulation
+ * Import zipped simulation.
*
* @param file zipped region file
* @param newName new name for the imported simulation
@@ -591,15 +600,17 @@
* @throws IOException si problème IO lors de la lecture du zip
* @throws TopiaException si problème lors de la création du contexte
*/
- public static SimulationStorage importAndRenameZip(File file, String newName) throws IOException, TopiaException {
- SimulationStorage result = importAndRenameZip(getSimulationDirectory(), file, newName);
+ public static SimulationStorage importAndRenameZip(File file, String newName)
+ throws IOException, TopiaException {
+ SimulationStorage result = importAndRenameZip(getSimulationDirectory(),
+ file, newName);
// put result in cache
simulations.put(result.getName(), result);
return result;
}
/**
- * import zipped simulation in specific directory, result is not put in cache
+ * Import zipped simulation in specific directory, result is not put in cache.
*
* @param directory where we want new simulation storage
* @param file zipped region file
@@ -608,13 +619,15 @@
* @throws IOException si problème IO lors de la lecture du zip
* @throws TopiaException si problème lors de la création du contexte
*/
- public static SimulationStorage importAndRenameZip(File directory, File file, String newName) throws IOException, TopiaException {
+ public static SimulationStorage importAndRenameZip(File directory,
+ File file, String newName) throws IOException, TopiaException {
if (!directory.exists()) {
directory.mkdirs();
}
- if(!directory.isDirectory()) {
- throw new IllegalArgumentException(_("directory %s must be a directory",
- directory.getAbsolutePath()));
+ if (!directory.isDirectory()) {
+ throw new IllegalArgumentException(_(
+ "directory %s must be a directory", directory
+ .getAbsolutePath()));
}
String renameFrom = null;
String renameTo = null;
@@ -622,11 +635,16 @@
renameFrom = "^.*?/(.*)$";
renameTo = newName + "/$1";
}
- log.info(_("Import simulation file %s in directory %s and rename from %s to %s",
- file, directory, renameFrom, renameTo));
- String lastEntry = ZipUtil.uncompressAndRename(file, directory, renameFrom, renameTo);
+ if (log.isInfoEnabled()) {
+ log.info(_("Import simulation file %s in directory %s and rename from %s to %s",
+ file, directory, renameFrom, renameTo));
+ }
+ String lastEntry = ZipUtil.uncompressAndRename(file, directory,
+ renameFrom, renameTo);
String name = lastEntry.substring(0, lastEntry.indexOf("/"));
- log.info(_("Last entry was %s extract name %s", lastEntry, name));
+ if (log.isInfoEnabled()) {
+ log.info(_("Last entry was %s extract name %s", lastEntry, name));
+ }
File simDir = new File(directory, name);
SimulationStorage result = new SimulationStorage(simDir, name, null);
@@ -641,7 +659,7 @@
return result;
}
-
+
/**
* Extract the region of a given simulation in a
* @param regionName the name of the region to export
@@ -649,15 +667,16 @@
*/
public void extractRegion(String regionName) throws StorageException {
- File tmpDir=null;
+ File tmpDir = null;
try {
TopiaContext tx = getStorage().beginTransaction();
String oldRegionName = getFisheryRegion(tx).getName();
-
+
// create a pseudo oldRegionName region
- tmpDir = FileUtil.createTempDirectory("extractRegionFromSimulation", "");
+ tmpDir = FileUtil.createTempDirectory(
+ "extractRegionFromSimulation", "");
List<File> forZip = new ArrayList<File>(2);
File file1;
forZip.add(file1 = new File(tmpDir, oldRegionName));
@@ -675,7 +694,7 @@
// import region with regionName as new name
RegionStorage.importAndRenameZip(zipRegion, regionName);
-
+
tx.commitTransaction();
tx.closeContext();
} catch (IOException e) {
@@ -697,20 +716,16 @@
* @param scriptLogLevel required min level fro scripts logger
* @param libLogLevel required min level for libraries logger
*/
- public void addSimulationLogger(String simulLogLevel, String scriptLogLevel, String libLogLevel,String threadName ) {
+ public void addSimulationLogger(String simulLogLevel,
+ String scriptLogLevel, String libLogLevel, String threadName) {
try {
- SimulationLoggerUtil.addSimulationAppender(
- getSimulationLogFile(),
- getAppenderId(),
- simulLogLevel,
- scriptLogLevel,
- libLogLevel,
- threadName
- );
- useLog=true;
+ SimulationLoggerUtil.addSimulationAppender(getSimulationLogFile(),
+ getAppenderId(), simulLogLevel, scriptLogLevel,
+ libLogLevel, threadName);
+ useLog = true;
} catch (Exception eee) {
- useLog=false;
+ useLog = false;
log.warn(_("Can't create simulation logger", eee));
// we do not throw any exception, this is a shame but not required
}
@@ -719,16 +734,13 @@
/**
* this method remove logger for the simulation
*/
- public void removeSimulationLogger() {
+ public void removeSimulationLogger() {
try {
-
String appenderId = getAppenderId();
-
- SimulationLoggerUtil.removeSimulationAppender(appenderId);
-
+ SimulationLoggerUtil.removeSimulationAppender(appenderId);
} finally {
- useLog=false;
+ useLog = false;
}
}
@@ -750,4 +762,3 @@
return root + File.separator + "simulation.log";
}
} // SimulationStorage
-
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-03-11 11:26:00 UTC (rev 1936)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-03-11 11:29:21 UTC (rev 1937)
@@ -67,10 +67,10 @@
* Fait une simulation dans la meme jvm.
*
* @author poussin
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class InProcessSimulatorLauncher implements SimulatorLauncher {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
___________________________________________________________________
Name: svn:keywords
+ Revision Author Date
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-03-11 11:26:00 UTC (rev 1936)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-03-11 11:29:21 UTC (rev 1937)
@@ -25,9 +25,11 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.rmi.RemoteException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.SortedMap;
@@ -46,6 +48,9 @@
import fr.ifremer.isisfish.simulator.SimulationControl;
import fr.ifremer.isisfish.simulator.SimulationParameter;
import fr.ifremer.isisfish.simulator.launcher.SimulationJob.PostAction;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityException;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityScenarios;
/**
* Moniteur singleton pour pouvoir sauvegarder
@@ -60,10 +65,10 @@
*
* @since 3.2.0.4
* @author chatellier
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 28 janv. 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class SimulationMonitor extends Thread {
@@ -458,6 +463,9 @@
// post manage this storage
exportResult(job, simulation);
+
+ // sensitivity calculator analyze result call
+ analyzeSensitivityResult(job, simulation);
}
} catch (RemoteException e) {
if (log.isErrorEnabled()) {
@@ -470,7 +478,6 @@
simulationStop(job);
service.fireStopEvent(job);
}
-
}
/**
@@ -558,6 +565,68 @@
}
/**
+ * For each finished simulation, check that all sensitivity
+ * simulation are available (in case of sensitivity simulation only).
+ *
+ * @param job job
+ * @param simulation simulation
+ */
+ protected void analyzeSensitivityResult(SimulationJob job,
+ SimulationStorage simulation) {
+
+ SimulationParameter params = simulation.getParameter();
+
+ int numberOfSimulation = params.getNumberOfSensitivitySimulation();
+ SensitivityCalculator sensitivityCalculator = params.getSensitivityCalculator();
+ if (numberOfSimulation > 0 && params.getSensitivityCalculator() != null) {
+ // this is a sensitivity simulation
+ String simulationId = job.getId();
+ String simulationCommonPrefix = simulationId.substring(0, simulationId.lastIndexOf("_"));
+
+ // simulation start at 0
+ List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>();
+ for (int simulationIndex = 0; simulationIndex < numberOfSimulation ; ++simulationIndex) {
+ String currentId = simulationCommonPrefix + "_" + simulationIndex;
+ if (SimulationStorage.localyExists(currentId)) {
+ SimulationControl currentSimulationControl = new SimulationControl(currentId);
+ SimulationStorage.readControl(currentId, currentSimulationControl);
+
+ // condiftion for simulation "end"
+ if (currentSimulationControl.getProgress() > 0
+ && currentSimulationControl.getProgress() >= currentSimulationControl.getProgressMax()) {
+ SimulationStorage storage = SimulationStorage.getSimulation(currentId);
+ simulationStorageForAnalyze.add(storage);
+ }
+ else {
+ // no need to continue
+ // if only miss one, break
+ break;
+ }
+ }
+ }
+
+ // si on a toutes les simulation est qu'elles sont finie
+ // on construit la liste des simulation storage
+ // et on l'envoie au script d'analyse de sensibilite
+ if (simulationStorageForAnalyze.size() == numberOfSimulation) {
+ if (log.isDebugEnabled()) {
+ log.debug("Call analyzeResult on sensitivity script " + sensitivityCalculator.getClass().getSimpleName());
+ }
+ try {
+ // FIXME sensitivityScenarios are not available here :(
+ SensitivityScenarios sensitivityScenarios = new SensitivityScenarios();
+ sensitivityCalculator.analyzeResult(sensitivityScenarios, simulationStorageForAnalyze);
+ }
+ catch(SensitivityException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't call analyse result", e);
+ }
+ }
+ }
+ }
+ }
+
+ /**
* Convertit une collection de string, en une chaine
* séparée par des ",".
*
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java
___________________________________________________________________
Name: svn:keywords
+ Revision Date Author
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-03-11 11:26:00 UTC (rev 1936)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-03-11 11:29:21 UTC (rev 1937)
@@ -53,12 +53,10 @@
import org.codelutin.util.ListenerSet;
import org.codelutin.util.ObjectUtil;
import org.codelutin.util.ZipUtil;
-import org.h2.jdbc.JdbcSQLException;
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishRuntimeException;
import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
-import fr.ifremer.isisfish.datastore.DataStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
Modified: isis-fish/trunk/src/test/java/fr/ifremer/TestUtils.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/TestUtils.java 2009-03-11 11:26:00 UTC (rev 1936)
+++ isis-fish/trunk/src/test/java/fr/ifremer/TestUtils.java 2009-03-11 11:29:21 UTC (rev 1937)
@@ -1,3 +1,21 @@
+/* *##%
+ * 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;
import java.io.File;
@@ -16,6 +34,10 @@
* Une classe pour avoir des choses utiles pour tous les tests d'isis
*
* @author chemit
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
*/
public abstract class TestUtils {
@@ -32,7 +54,7 @@
base = new File("").getAbsolutePath();
}
basedir = new File(base);
- System.out.println("basedir for test " + basedir);
+ //System.out.println("basedir for test " + basedir);
}
return basedir;
}
@@ -40,7 +62,7 @@
public static File getTargetdir() {
if (targetdir == null) {
targetdir = new File(getBasedir(), "target");
- System.out.println("targetdir for test " + targetdir);
+ //System.out.println("targetdir for test " + targetdir);
}
return targetdir;
}
Property changes on: isis-fish/trunk/src/test/java/fr/ifremer/TestUtils.java
___________________________________________________________________
Name: svn:keywords
+ Revision Date Author
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java 2009-03-11 11:26:00 UTC (rev 1936)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModelTest.java 2009-03-11 11:29:21 UTC (rev 1937)
@@ -153,5 +153,3 @@
}
}
}
-
-
1
0
r1936 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 11:26:00 +0000 (Wed, 11 Mar 2009)
New Revision: 1936
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java
Log:
Update domains (visitors...)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java 2009-03-11 11:13:55 UTC (rev 1935)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/ContinuousDomain.java 2009-03-11 11:26:00 UTC (rev 1936)
@@ -29,14 +29,14 @@
* Domaine continu.
*
* Composé d'un borne min et max.
+ *
+ * @param <E> type des valeurs gérées par le domaine
*
- * @param <E>
- * type des valeurs gérées par le domaine
- *
* @author chatellier
* @version $Revision: 1.0 $
*
- * Last update : $Date: 24 févr. 2009 $ By : $Author: chatellier $
+ * Last update : $Date: 24 févr. 2009 $
+ * By : $Author: chatellier $
*/
public class ContinuousDomain<E extends Serializable> implements Domain<E> {
@@ -62,33 +62,16 @@
/**
* Constructor with bounds.
*
- * @param minBound
- * min bound
- * @param maxBound
- * max bound
+ * @param minBound min bound
+ * @param maxBound max bound
*/
public ContinuousDomain(E minBound, E maxBound) {
this();
this.minBound = minBound;
this.maxBound = maxBound;
}
-
+
/**
- * Constructor with bounds and cardinality.
- *
- * @param minBound
- * min bound
- * @param maxBound
- * max bound
- */
- public ContinuousDomain(E minBound, E maxBound, int cardinality) {
- this();
- this.minBound = minBound;
- this.maxBound = maxBound;
- this.cardinality = cardinality;
- }
-
- /**
* @return the minBound
*/
public E getMinBound() {
@@ -96,8 +79,7 @@
}
/**
- * @param minBound
- * the minBound to set
+ * @param minBound the minBound to set
*/
public void setMinBound(E minBound) {
this.minBound = minBound;
@@ -111,8 +93,7 @@
}
/**
- * @param maxBound
- * the maxBound to set
+ * @param maxBound the maxBound to set
*/
public void setMaxBound(E maxBound) {
this.maxBound = maxBound;
@@ -125,7 +106,7 @@
*/
public E getValueForIdentifier(Serializable identifier) {
// FIXME test cast
- return (E) identifier;
+ return (E)identifier;
}
/**
@@ -135,24 +116,9 @@
*/
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()
- */
- @Override
- public String toString() {
-
- ToStringBuilder builder = new ToStringBuilder(this);
- builder.append(minBound);
- builder.append(minBound);
-
- return builder.toString();
- }
-
/**
* Get cardinality
*
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java 2009-03-11 11:13:55 UTC (rev 1935)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/DiscreteDomain.java 2009-03-11 11:26:00 UTC (rev 1936)
@@ -23,8 +23,6 @@
import java.util.SortedMap;
import java.util.TreeMap;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
import fr.ifremer.isisfish.simulator.sensitivity.Domain;
import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java 2009-03-11 11:13:55 UTC (rev 1935)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/domain/EquationContinuousDomain.java 2009-03-11 11:26:00 UTC (rev 1936)
@@ -20,6 +20,8 @@
import java.io.Serializable;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
+
/**
* Domaine continu portant sur variable pouvant prendre diférente
* valeur par rapport à une valeur initiale.
1
0
r1935 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: sensitivity simulator
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: sletellier
Date: 2009-03-11 11:13:55 +0000 (Wed, 11 Mar 2009)
New Revision: 1935
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
Log:
Factor modification is working
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-11 11:01:09 UTC (rev 1934)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-11 11:13:55 UTC (rev 1935)
@@ -29,16 +29,16 @@
* @author letellier
*/
public class FactorAction {
- public static void saveContinue(JComponent cOrigine, String name, String path, JComponent min, JComponent max, String increment, SimulAction action){
+ public static void saveContinue(JComponent cOrigine, String name, String path, JComponent min, JComponent max, String increment, SimulAction action, boolean exist){
Serializable oMin = (Serializable)EditorHelper.getValue(min);
Serializable oMax = (Serializable)EditorHelper.getValue(max);
- action.addContinueFactors(name, path, oMin, oMax, Integer.parseInt(increment), cOrigine);
+ action.addContinueFactors(name, path, oMin, oMax, Integer.parseInt(increment), cOrigine, exist);
}
- public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action){
+ public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action, boolean exist){
List<Serializable> values = new ArrayList<Serializable>();
for(JComponent c: components){
values.add((Serializable)EditorHelper.getValue(c));
}
- action.addDiscreteFactors(name, path, values, cOrigine);
+ action.addDiscreteFactors(name, path, values, cOrigine, exist);
}
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 11:01:09 UTC (rev 1934)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 11:13:55 UTC (rev 1935)
@@ -168,9 +168,9 @@
}
protected void save(){
if (continueRadion.isSelected()){
- getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continueMin, continueMax, increment.getText(), getSimulAction());
+ getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continueMin, continueMax, increment.getText(), getSimulAction(), isExistingValue());
} else {
- getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction());
+ getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction(), isExistingValue());
}
getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel();
this.dispose();
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-11 11:01:09 UTC (rev 1934)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-11 11:13:55 UTC (rev 1935)
@@ -104,7 +104,7 @@
if (Factor.class.isInstance(o)){
Factor f = (Factor)o;
FactorWizard wizard = new FactorWizard(this);
- wizard.initExisting(getSimulAction().getFactorComponant(f.getPath()), f);
+ wizard.initExisting(getSimulAction().getFactorComponent(f.getPath()), f);
wizard.pack();
wizard.setVisible(true);
}
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-03-11 11:01:09 UTC (rev 1934)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-11 11:13:55 UTC (rev 1935)
@@ -104,7 +104,7 @@
protected String simulName = null;
protected SensitivityStorage sensitivityStorage = null;
protected Map<String, Factor<? extends Serializable>> factors = new HashMap<String, Factor<? extends Serializable>>();
- protected Map<String, JComponent> factorComponant = new HashMap<String, JComponent>();
+ protected Map<String, JComponent> factorComponent = new HashMap<String, JComponent>();
/*
************
* Init
@@ -622,12 +622,12 @@
}
public void addFactor(String path, Factor f, JComponent c){
factors.put(path, f);
- factorComponant.put(path, c);
+ factorComponent.put(path, c);
}
public Factor<? extends Serializable> getFactor(String name){
return factors.get(name);
}
- public void addContinueFactors(String name, String path, Serializable min, Serializable max, int inc, JComponent c){
+ public void addContinueFactors(String name, String path, Serializable min, Serializable max, int inc, JComponent c, boolean exist){
Factor f = new Factor(name);
ContinuousDomain<Serializable> domain = new ContinuousDomain<Serializable>();
domain.setMinBound(min);
@@ -635,9 +635,11 @@
domain.setCardinality(inc);
f.setDomain(domain);
f.setPath(path);
+ if (exist)
+ removeFactor(path);
addFactor(path, f, c);
}
- public void addDiscreteFactors(String name, String path, List<Serializable> values, JComponent c){
+ public void addDiscreteFactors(String name, String path, List<Serializable> values, JComponent c, boolean exist){
Factor f = new Factor(name);
DiscreteDomain<Serializable> domain = new DiscreteDomain<Serializable>();
int i = 0;
@@ -647,14 +649,16 @@
}
f.setDomain(domain);
f.setPath(path);
+ if (exist)
+ removeFactor(path);
addFactor(path, f, c);
}
- public JComponent getFactorComponant(String path){
- return factorComponant.get(path);
+ public JComponent getFactorComponent(String path){
+ return factorComponent.get(path);
}
public void removeFactor(String path){
factors.remove(path);
- factorComponant.remove(path);
+ factorComponent.remove(path);
}
/*
1
0
r1934 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: sletellier
Date: 2009-03-11 11:01:09 +0000 (Wed, 11 Mar 2009)
New Revision: 1934
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
Log:
Factor editing is working
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-03-11 11:01:09 UTC (rev 1934)
@@ -41,29 +41,38 @@
<![CDATA[
import javax.swing.table.DefaultTableModel;
import java.util.Map.Entry;
-
+
+
+ tableTagValue.addMouseListener(new MouseListener() {
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ setRemove(tableTagValue.getSelectedRow() != -1);
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ }
+ });
refresh();
public void refresh(){
- fieldSimulationStatistique.setSelected(getContextValue(SimulAction.class).getSimulationParameter().getUseStatistic());
- fieldSimulationCache.setSelected(getContextValue(SimulAction.class).getSimulationParameter().getUseOptimization());
- fieldSimulAdvParamsSimulLoggerError.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulErrorLevel());
- fieldSimulAdvParamsSimulLoggerWarn.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulWarnLevel());
- fieldSimulAdvParamsSimulLoggerInfo.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulInfoLevel());
- fieldSimulAdvParamsSimulLoggerDebug.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulDebugLevel());
- fieldSimulAdvParamsScriptLoggerError.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptErrorLevel());
- fieldSimulAdvParamsScriptLoggerWarn.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptWarnLevel());
- fieldSimulAdvParamsScriptLoggerInfo.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptInfoLevel());
- fieldSimulAdvParamsScriptLoggerDebug.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptDebugLevel());
- fieldSimulAdvParamsLibLoggerError.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel());
- fieldSimulAdvParamsLibLoggerWarn.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibWarnLevel());
- fieldSimulAdvParamsLibLoggerInfo.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel());
- fieldSimulAdvParamsLibLoggerDebug.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibDebugLevel());
setTableTagValue();
}
public AdvancedParamsUI (SimulAction action){
-
setContextValue(action);
}
protected void addTagValue(){
@@ -75,6 +84,7 @@
protected void removeTagValue(){
getContextValue(SimulAction.class).removeTagValue(tableTagValue.getValueAt(tableTagValue.getSelectedRow(),0).toString());
setTableTagValue();
+ valueChanged(true);
}
protected void saveTagValue(){
if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){
@@ -85,6 +95,7 @@
protected void setSimulName(){
if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){
getContextValue(SimulAction.class).getSimulationParameter().setSimulatorName(fieldSimulAdvParamsSimulatorSelect.getSelectedItem().toString());
+ valueChanged(true);
}
}
protected void setTableTagValue(){
@@ -141,13 +152,15 @@
<JPanel/>
</cell>
<cell columns="2" fill="horizontal" weightx="0.3">
- <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected())'/>
+ <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" selected='{getContextValue(SimulAction.class).getSimulationParameter().getUseStatistic()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected());valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
<JPanel/>
</cell>
<cell columns="2" fill="horizontal" weightx="0.3">
- <JCheckBox id="fieldSimulationCache" text="isisfish.advancedParams.simulationCache" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected())'/>
+ <JCheckBox id="fieldSimulationCache" text="isisfish.advancedParams.simulationCache" selected='{getContextValue(SimulAction.class).getSimulationParameter().getUseOptimization()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected());valueChanged(true);'/>
</cell>
</row>
<row>
@@ -155,16 +168,24 @@
<JLabel text="isisfish.advancedParams.simulLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error")'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error"
+ buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulErrorLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn")'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn"
+ buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulWarnLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info")'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info"
+ buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulInfoLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug")'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug"
+ buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulDebugLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug");valueChanged(true);'/>
</cell>
</row>
<row>
@@ -172,16 +193,24 @@
<JLabel text="isisfish.advancedParams.scriptLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error")'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error"
+ buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptErrorLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn")'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn"
+ buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptWarnLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info")'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info"
+ buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptInfoLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug")'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug"
+ buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptDebugLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug");valueChanged(true);'/>
</cell>
</row>
<row>
@@ -189,16 +218,24 @@
<JLabel text="isisfish.advancedParams.libLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error")'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error"
+ buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn")'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn"
+ buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibWarnLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info")'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info"
+ buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info");valueChanged(true);'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug")'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug"
+ buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibDebugLevel()}'
+ onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug");valueChanged(true);'/>
</cell>
</row>
<row>
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-03-11 10:27:27 UTC (rev 1933)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-11 11:01:09 UTC (rev 1934)
@@ -49,8 +49,10 @@
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
+import fr.ifremer.isisfish.datastore.SensitivityStorage;
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
+import fr.ifremer.isisfish.entities.Equation;
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.Species;
import fr.ifremer.isisfish.entities.Strategy;
@@ -63,10 +65,18 @@
import fr.ifremer.isisfish.simulator.launcher.SimulationService;
import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil;
import fr.ifremer.isisfish.ui.widget.ErrorDialogUI;
import fr.ifremer.isisfish.ui.widget.filter.FilterModel;
+import java.io.Serializable;
+import java.util.Iterator;
+import javax.swing.JComponent;
+import org.codelutin.math.matrix.MatrixND;
/**
* SimulAction.
@@ -92,6 +102,9 @@
private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm");
protected List<String> oldSimulNames = null;
protected String simulName = null;
+ protected SensitivityStorage sensitivityStorage = null;
+ protected Map<String, Factor<? extends Serializable>> factors = new HashMap<String, Factor<? extends Serializable>>();
+ protected Map<String, JComponent> factorComponant = new HashMap<String, JComponent>();
/*
************
* Init
@@ -584,9 +597,68 @@
showMsgBox(ex);
}
}
-
+
/*
************
+ * Sensitivity
+ ************
+ */
+
+ public List<String> getSensitivityName(){
+ return SensitivityStorage.getSensitivityNames();
+ }
+ public SensitivityStorage getSensitivity(String name){
+ return SensitivityStorage.getSensitivity(name);
+ }
+ public void setSensitivity(String name){
+ sensitivityStorage = SensitivityStorage.getSensitivity(name);
+ }
+ public List<Factor<? extends Serializable>> getFactors(){
+ List<Factor<? extends Serializable>> result = new ArrayList<Factor<? extends Serializable>>();
+ for (Map.Entry entry : factors.entrySet()) {
+ result.add((Factor<? extends Serializable>)entry.getValue());
+ }
+ return result;
+ }
+ public void addFactor(String path, Factor f, JComponent c){
+ factors.put(path, f);
+ factorComponant.put(path, c);
+ }
+ public Factor<? extends Serializable> getFactor(String name){
+ return factors.get(name);
+ }
+ public void addContinueFactors(String name, String path, Serializable min, Serializable max, int inc, JComponent c){
+ Factor f = new Factor(name);
+ ContinuousDomain<Serializable> domain = new ContinuousDomain<Serializable>();
+ domain.setMinBound(min);
+ domain.setMaxBound(max);
+ domain.setCardinality(inc);
+ f.setDomain(domain);
+ f.setPath(path);
+ addFactor(path, f, c);
+ }
+ public void addDiscreteFactors(String name, String path, List<Serializable> values, JComponent c){
+ Factor f = new Factor(name);
+ DiscreteDomain<Serializable> domain = new DiscreteDomain<Serializable>();
+ int i = 0;
+ for (Serializable value : values){
+ i++;
+ domain.getValues().put(name + i, value);
+ }
+ f.setDomain(domain);
+ f.setPath(path);
+ addFactor(path, f, c);
+ }
+ public JComponent getFactorComponant(String path){
+ return factorComponant.get(path);
+ }
+ public void removeFactor(String path){
+ factors.remove(path);
+ factorComponant.remove(path);
+ }
+
+/*
+ ************
* General
************
*/
1
0
r1933 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity resources/i18n
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: sletellier
Date: 2009-03-11 10:27:27 +0000 (Wed, 11 Mar 2009)
New Revision: 1933
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
Log:
Factor editing is working
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -53,7 +53,7 @@
<fr.ifremer.isisfish.ui.simulator.SimulUI id='simulUI' constructorParams='new SimulAction()'/>
</tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/sensitivities.gif"))}'>
- <fr.ifremer.isisfish.ui.sensitivity.SensitivityUI id="sensitivityUI" constructorParams='new JAXXInitialContext().add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
+ <fr.ifremer.isisfish.ui.sensitivity.SensitivityUI id="sensitivityUI" constructorParams='new JAXXInitialContext().add(new InputAction()).add(new InputSaveVerifier()).add(new SimulAction()).add(this)'/>
</tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'>
<fr.ifremer.isisfish.ui.result.ResultView/>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -32,6 +32,8 @@
import fr.ifremer.isisfish.ui.util.UtilsUI;
import fr.ifremer.isisfish.ui.sensitivity.FactorWizard;
import fr.ifremer.isisfish.ui.sensitivity.EditorHelper;
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI;
+import jaxx.runtime.JAXXInitialContext;
public void refresh(){}
public InputAction getAction() {
@@ -46,7 +48,7 @@
public void setInfoText(String msg){
WelcomePanelUI root = getParentContainer(WelcomePanelUI.class);
if (root != null){
- getParentContainer(WelcomePanelUI.class).setInfoText(msg);
+ root.setInfoText(msg);
}
}
protected void goTo(){
@@ -76,7 +78,7 @@
Class classBean = (Class)source.getClientProperty("bean");
TopiaEntity bean = getVerifier().getEntity(classBean);
- wizard.init(source, bean, EditorHelper.canBeContinue(source, bean));
+ wizard.initNew(source, bean, EditorHelper.canBeContinue(source, bean));
wizard.pack();
wizard.setVisible(true);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-11 10:27:27 UTC (rev 1933)
@@ -85,6 +85,7 @@
/** to use log facility, just put in your code: log.info(\"...\"); */
static private Log log = LogFactory.getLog(InputAction.class);
protected InputUI rootUI;
+ protected SensitivityTabUI sensUI;
public InputSaveVerifier(){
}
@@ -424,5 +425,12 @@
void setRootPanel(InputUI inputUI) {
this.rootUI = inputUI;
}
-
+
+ public SensitivityTabUI getSensPanel() {
+ return sensUI;
+ }
+
+ public void setSensPanel(SensitivityTabUI sensUI) {
+ this.sensUI = sensUI;
+ }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEmigrationUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -94,30 +94,6 @@
public void mouseExited(MouseEvent e) {
}
});
-
-populationMigrationEmigrationTable.getTable().addMouseListener(new MouseListener() {
-
- @Override
- public void mouseClicked(MouseEvent e) {
- }
-
- @Override
- public void mousePressed(MouseEvent e) {
- }
-
- @Override
- public void mouseReleased(MouseEvent e) {
- remove.setEnabled(populationMigrationEmigrationTable.getTable().getSelectedRow() != -1);
- }
-
- @Override
- public void mouseEntered(MouseEvent e) {
- }
-
- @Override
- public void mouseExited(MouseEvent e) {
- }
-});
public void init(PopulationSeasonInfo pi){
setPopInfo((PopulationSeasonInfoImpl)pi);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-11 10:27:27 UTC (rev 1933)
@@ -18,6 +18,7 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.entities.Formule;
import fr.ifremer.isisfish.types.Month;
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
@@ -34,6 +35,7 @@
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
import jaxx.runtime.JAXXInitialContext;
+import jaxx.runtime.swing.JAXXList;
import org.codelutin.math.matrix.MatrixND;
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
import org.codelutin.topia.persistence.TopiaEntity;
@@ -44,10 +46,13 @@
*/
public class EditorHelper {
+ public static String getMethod(JComponent c){
+ return (String) c.getClientProperty("method");
+ }
public static JComponent getEditor(JComponent c, TopiaEntity e) {
JComponent result = null;
try {
- String fieldName = (String) c.getClientProperty("method");
+ String fieldName = getMethod(c);
result = c.getClass().newInstance();
if (result instanceof JTextField) {
@@ -102,52 +107,119 @@
}
return result;
}
+
+ public static JComponent getEditorWithValue(JComponent c, Object value) {
+ JComponent result = null;
+ try {
+ result = c.getClass().newInstance();
+ if (result instanceof JTextField) {
+ ((JTextComponent) result).setText(String.valueOf(value));
+
+ } else if (result instanceof JTable){
+// ((JTable) result).setModel(((JTable)c).getModel());
+
+ } else if (result instanceof MatrixPanelEditor){
+ ((MatrixPanelEditor) result).setMatrix((MatrixND)value);
+
+ } else if (result instanceof JComboBox){
+ JComboBox combo = (JComboBox)c;
+ JComboBox comboResult = new JComboBox();
+ comboResult.setModel(combo.getModel());
+ comboResult.setSelectedItem(value);
+ result = comboResult;
+ } else if (result instanceof JAXXList){
+ JAXXList list = (JAXXList)c;
+ JAXXList listResult = new JAXXList();
+ listResult.setModel(list.getModel());
+ listResult.setSelectedValues((Object[]) value);
+ listResult.setSelectedIndices(list.getSelectedIndices());
+ result = listResult;
+ } else if (result instanceof JCheckBox){
+ ((JCheckBox) result).setSelected((Boolean)value);
+
+ } else if (result instanceof JRadioButton){
+ ((JRadioButton) result).setSelected((Boolean)value);
+
+ } else if (result instanceof InputOneEquationUI){
+ InputOneEquationUI origine = (InputOneEquationUI) c;
+ InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction()));
+ ui.setLblText(origine.getLblText());
+ ui.setNameEquation(origine.getNameEquation());
+ ui.setClazz(origine.getClazz());
+ ui.setFormule((Formule)value);
+ ui.setActif(true);
+ ui.refresh();
+ result = ui;
+ } else if (result instanceof IntervalPanel){
+ IntervalPanel ipResult = new IntervalPanel();
+ IntervalPanel ip = (IntervalPanel)c;
+ ipResult.setLabelRenderer(Month.MONTH);
+ ipResult.setModel(ip.getModel().clone());
+ result = ipResult;
+ }
+ } catch (Exception ex) {
+ Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return result;
+ }
public static Object getValue(JComponent c) {
Object result = null;
- if (result instanceof JTextComponent) {
- result = ((JTextComponent)result).getText();
- } else if (result instanceof JTable){
+ if (c instanceof JTextComponent) {
+ result = ((JTextComponent)c).getText();
+ } else if (c instanceof JTable){
// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName));
- } else if (result instanceof MatrixPanelEditor){
- result = ((MatrixPanelEditor)result).getMatrix();
+ } else if (c instanceof MatrixPanelEditor){
+ result = ((MatrixPanelEditor)c).getMatrix();
- } else if (result instanceof JComboBox){
+ } else if (c instanceof JComboBox){
// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
- } else if (result instanceof JList){
+ } else if (c instanceof JList){
// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
- } else if (result instanceof JCheckBox){
- result = ((JCheckBox)result).isSelected();
+ } else if (c instanceof JCheckBox){
+ result = ((JCheckBox)c).isSelected();
- } else if (result instanceof JRadioButton){
- result = ((JRadioButton)result).isSelected();
+ } else if (c instanceof JRadioButton){
+ result = ((JRadioButton)c).isSelected();
- } else if (result instanceof InputOneEquationUI){
+ } else if (c instanceof InputOneEquationUI){
// ((InputOneEquationUI) result).init(setText(BeanUtils.getProperty(e, fieldName)));
- } else if (result instanceof IntervalPanel){
+ } else if (c instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
}
-
return result;
}
public static boolean canBeContinue(JComponent c, TopiaEntity e){
String fieldName = (String) c.getClientProperty("method");
if (c instanceof JTextComponent) {
Object o = callMethod(e, fieldName);
- System.out.println(o + " " + o.getClass());
if (Integer.class.isInstance(o)){
return true;
} else if (Double.class.isInstance(o)){
return true;
+ } else if (Long.class.isInstance(o)){
+ return true;
}
}
return false;
}
+ public static boolean canBeContinue(JComponent c, Object o){
+ if (c instanceof JTextComponent) {
+ if (Integer.class.isInstance(o)){
+ return true;
+ } else if (Double.class.isInstance(o)){
+ return true;
+ } else if (Long.class.isInstance(o)){
+ return true;
+ }
+ }
+ return false;
+ }
protected static Object callMethod(TopiaEntity e, String fieldName){
Object result = null;
try {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-11 10:27:27 UTC (rev 1933)
@@ -18,12 +18,27 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.JComponent;
+
/**
*
* @author letellier
*/
public class FactorAction {
- public void save(){
-
+ public static void saveContinue(JComponent cOrigine, String name, String path, JComponent min, JComponent max, String increment, SimulAction action){
+ Serializable oMin = (Serializable)EditorHelper.getValue(min);
+ Serializable oMax = (Serializable)EditorHelper.getValue(max);
+ action.addContinueFactors(name, path, oMin, oMax, Integer.parseInt(increment), cOrigine);
}
+ public static void saveDiscret(JComponent cOrigine, String name, String path, List<JComponent> components, SimulAction action){
+ List<Serializable> values = new ArrayList<Serializable>();
+ for(JComponent c: components){
+ values.add((Serializable)EditorHelper.getValue(c));
+ }
+ action.addDiscreteFactors(name, path, values, cOrigine);
+ }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -30,7 +30,7 @@
* by : $Author: sletellier $
*/
-->
-<JDialog id="FactorTypeChooser" title='isisfish.factor.title' resizable='false' layout='{new BorderLayout()}'>
+<JDialog id="FactorTypeChooser" title='isisfish.factor.title' layout='{new BorderLayout()}'>
<Boolean id='continuePossible' javaBean='true'/>
@@ -40,41 +40,154 @@
<Boolean id='saveEnabled' javaBean='false'/>
+ <Boolean id='existingValue' javaBean='false'/>
+
<script><![CDATA[
import org.codelutin.topia.persistence.TopiaEntity;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
protected JComponent cOrigine = null;
+protected JComponent continueMax = null;
+protected JComponent continueMin = null;
protected TopiaEntity bean = null;
-protected java.util.List<JComponent> discretComponent = new ArrayList<JComponent>();
+protected java.util.List<JComponent> discretComponents = new ArrayList<JComponent>();
+protected String path = null;
-public void init(JComponent c, TopiaEntity bean, Boolean b){
+addPropertyChangeListener("continuePossible", new PropertyChangeListener(){
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ continueMax.setVisible((Boolean)evt.getNewValue());
+ continueMin.setVisible((Boolean)evt.getNewValue());
+ }
+
+});
+
+addPropertyChangeListener("continueSelected", new PropertyChangeListener(){
+
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ continueMax.setEnabled((Boolean)evt.getNewValue());
+ continueMin.setEnabled((Boolean)evt.getNewValue());
+ }
+
+});
+
+public void initNew(JComponent c, TopiaEntity bean, Boolean b){
this.bean = bean;
this.cOrigine = c;
+
+ continueMax = getNewComponent();
+ continueMin = getNewComponent();
+
+ this.path = bean.toString() + "." + EditorHelper.getMethod(cOrigine);
+
+ factorName.setText(path);
setContinuePossible(b);
+ init();
}
+
+public void initExisting(JComponent cOrigine, Factor f){
+ setExistingValue(true);
+ this.cOrigine = cOrigine;
+ this.path = f.getPath();
+ factorName.setText(f.getName());
+ Domain domain = f.getDomain();
+
+ if (ContinuousDomain.class.isInstance(domain)){
+ ContinuousDomain cDomain = (ContinuousDomain) domain;
+ continueMax = EditorHelper.getEditorWithValue(cOrigine, cDomain.getMaxBound());
+ continueMin = EditorHelper.getEditorWithValue(cOrigine, cDomain.getMinBound());
+ increment.setText(String.valueOf(cDomain.getCardinality()));
+ continueRadion.setSelected(true);
+ setContinueSelected(true);
+ setContinuePossible(true);
+ }else{
+ DiscreteDomain dDomain = (DiscreteDomain)domain;
+ continueMax = EditorHelper.getEditorWithValue(cOrigine, null);
+ continueMin = EditorHelper.getEditorWithValue(cOrigine, null);
+
+ int nb = dDomain.getValues().size();
+ discretNumber.setText(nb + "");
+
+ discretComponents.clear();
+ tabPane.removeAll();
+
+ SortedMap values = dDomain.getValues();
+ int i = 0;
+ Object cache = null;
+ for (Object o : values.values()) {
+ i++;
+ cache = o;
+ JComponent c = EditorHelper.getEditorWithValue(cOrigine, o);
+ discretComponents.add(c);
+ tabPane.add(c, "Factor " + (i+1));
+ }
+ setContinuePossible(EditorHelper.canBeContinue(cOrigine, cache));
+ setTabVisible(true);
+ this.pack();
+ }
+ init();
+}
+protected void init(){
+ continueMax.setEnabled(isContinueSelected());
+ continueMin.setEnabled(isContinueSelected());
+ continueMax.setVisible(isContinuePossible());
+ continueMin.setVisible(isContinuePossible());
+
+ continueMaxPanel.add(continueMax, BorderLayout.CENTER);
+ continueMinPanel.add(continueMin, BorderLayout.CENTER);
+
+ setSaveEnabled(!factorName.getText().equals(""));
+}
protected JComponent getNewComponent(){
return EditorHelper.getEditor(cOrigine, bean);
}
protected void addTabs(String sNbTab){
int nbTab = Integer.parseInt(sNbTab);
- discretComponent.clear();
+ discretComponents.clear();
tabPane.removeAll();
for (int i=0;i<nbTab;i++){
JComponent c = getNewComponent();
- discretComponent.add(c);
+ discretComponents.add(c);
tabPane.add(c, "Factor " + (i+1));
}
setTabVisible(true);
this.pack();
}
+protected FactorAction getFactorAction(){
+ return getContextValue(FactorAction.class);
+}
+protected SimulAction getSimulAction(){
+ return getContextValue(SimulAction.class);
+}
+protected void save(){
+ if (continueRadion.isSelected()){
+ getFactorAction().saveContinue(cOrigine, factorName.getText(), path, continueMin, continueMax, increment.getText(), getSimulAction());
+ } else {
+ getFactorAction().saveDiscret(cOrigine, factorName.getText(), path, discretComponents, getSimulAction());
+ }
+ getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel();
+ this.dispose();
+}
+protected void remove(){
+ getSimulAction().removeFactor(path);
+ getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel();
+ this.dispose();
+}
]]>
</script>
<Table constraints='BorderLayout.CENTER'>
<row>
- <cell columns='1' fill='horizontal' weightx='0.5'>
+ <cell columns='1' fill='horizontal'>
<JLabel text='isisfish.factor.name'/>
</cell>
- <cell columns='3' fill='horizontal' weightx='0.5'>
+ <cell columns='3' fill='horizontal' weightx='1'>
<JTextField id='factorName' onKeyReleased='setSaveEnabled(!factorName.getText().equals(""))'/>
</cell>
</row>
@@ -84,29 +197,37 @@
</cell>
</row>
<row>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal'>
<JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
- <JTextField id='continueMin' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <cell fill='horizontal' weightx='0.5'>
+ <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal'>
<JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
- <JTextField id='continueMax' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <cell fill='horizontal' weightx='0.5'>
+ <JPanel id='continueMaxPanel' layout='{new BorderLayout()}'/>
</cell>
</row>
<row>
+ <cell fill='horizontal'>
+ <JLabel text='isisfish.factor.increment' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='1' columns='3'>
+ <JTextField id='increment' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ </row>
+ <row>
<cell columns='4' fill='horizontal' weightx='1'>
<JRadioButton id='discret' text='isisfish.factor.discret' selected='true' buttonGroup='factorType' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
</cell>
</row>
<row>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal'>
<JLabel text='isisfish.factor.selectDiscretNumber' enabled='{!isContinueSelected()}'/>
</cell>
- <cell fill='horizontal' weightx='0.25'>
+ <cell fill='horizontal' weightx='0.5'>
<JTextField id='discretNumber' enabled='{!isContinueSelected()}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='0.5'>
@@ -119,11 +240,14 @@
</cell>
</row>
<row>
- <cell columns='2' fill='horizontal' weightx='0.5'>
+ <cell fill='horizontal' weightx='0.25'>
<JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/>
</cell>
+ <cell fill='horizontal' weightx='0.25'>
+ <JButton id='remove' text='isisfish.common.remove' visible='{isExistingValue()}' onActionPerformed='remove()'/>
+ </cell>
<cell columns='2' fill='horizontal' weightx='0.5'>
- <JButton id='save' text='isisfish.common.save' enabled='{isSaveEnabled()}'/>
+ <JButton id='save' text='isisfish.common.save' enabled='{isSaveEnabled()}' onActionPerformed='save()'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -56,16 +56,59 @@
import org.codelutin.topia.TopiaContext;
import jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode;
import jaxx.runtime.swing.navigation.NavigationUtil;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreeNode;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+getVerifier().setSensPanel(this);
+factors.addMouseListener(new MouseListener(){
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ factorSelected();
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ }
+
+});
protected InputAction getInputAction(){
return getContextValue(InputAction.class);
}
+protected SimulAction getSimulAction(){
+ return getContextValue(SimulAction.class);
+}
protected InputSaveVerifier getVerifier(){
return getContextValue(InputSaveVerifier.class);
}
protected RegionStorage getRegionStorage(){
return getContextValue(RegionStorage.class);
}
+protected void factorSelected(){
+ DefaultMutableTreeNode node = (DefaultMutableTreeNode)factors.getSelectionValue();
+ Object o = node.getUserObject();
+ if (Factor.class.isInstance(o)){
+ Factor f = (Factor)o;
+ FactorWizard wizard = new FactorWizard(this);
+ wizard.initExisting(getSimulAction().getFactorComponant(f.getPath()), f);
+ wizard.pack();
+ wizard.setVisible(true);
+ }
+}
public void setTreeModel(){
if (getRegion() != null){
getCardlayoutPrincipal().show(inputPanePrincipal,"normale");
@@ -101,6 +144,13 @@
DefaultTreeModel model = new DefaultTreeModel(null);
navigation.setModel(model);
}
+protected void setFactorModel(){
+ TreeNode root = new DefaultMutableTreeNode(getSimulAction().getFactors());
+ factors.setRootVisible(true);
+ FactorTreeModel model = new FactorTreeModel(root);
+ factors.setModel(model);
+ factors.setCellRenderer(new FactorTreeCellRenderer());
+}
]]>
</script>
<JSplitPane oneTouchExpandable="true" dividerLocation="200" orientation="HORIZONTAL" constraints='BorderLayout.CENTER'>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-11 10:27:27 UTC (rev 1933)
@@ -38,6 +38,9 @@
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
import fr.ifremer.isisfish.ui.simulator.ParamsUI;
+ import fr.ifremer.isisfish.ui.simulator.ResultChoiceUI;
+ import fr.ifremer.isisfish.ui.simulator.AdvancedParamsUI;
+ import fr.ifremer.isisfish.ui.simulator.ExportUI;
import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI;
public void selTab(int i){
@@ -47,10 +50,19 @@
</script>
<JTabbedPane id="sensitivityTabs" constraints="BorderLayout.CENTER">
<tab title='isisfish.params.title'>
- <ParamsUI id='paramsUI' constructorParams='new SimulAction()'/>
+ <ParamsUI id='paramsUI' constructorParams='getContextValue(SimulAction.class)'/>
</tab>
<tab title='isisfish.sensitivity.title'>
<SensitivityTabUI id="sensitivityTabUI" constructorParams='new JAXXInitialContext().add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
</tab>
+ <tab id="exportUITab" title='isisfish.export.title'>
+ <ExportUI id="exportUI" constructorParams='getContextValue(SimulAction.class)'/>
+ </tab>
+ <tab id="resultChoiceUITab" title='isisfish.resultChoice.title'>
+ <ResultChoiceUI id="resultChoiceUI" constructorParams='getContextValue(SimulAction.class)'/>
+ </tab>
+ <tab id="advancedParamsUITab" title='isisfish.advancedParameters.title'>
+ <AdvancedParamsUI id="advencedParamsUI" constructorParams='getContextValue(SimulAction.class)'/>
+ </tab>
</JTabbedPane>
</JPanel>
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-11 10:27:27 UTC (rev 1933)
@@ -354,6 +354,7 @@
isisfish.factor.continue=Continue factor
isisfish.factor.discret=Discret factor
isisfish.factor.firstValue=First value
+isisfish.factor.increment=Cardinality
isisfish.factor.lastValue=Last value
isisfish.factor.name=Factor name
isisfish.factor.selectDiscretNumber=Number of factors
@@ -888,6 +889,7 @@
isisfish.species.scientificName=Scientific name
isisfish.species.structured=Structured
isisfish.strategy.comments=Comments
+isisfish.strategy.inactivity=
isisfish.strategy.inactivityEquationUsed=Use inactivity equation
isisfish.strategy.name=Name
isisfish.strategy.proportionSetOfVessels=Set of vessels proportion
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-10 17:12:49 UTC (rev 1932)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-11 10:27:27 UTC (rev 1933)
@@ -354,6 +354,7 @@
isisfish.factor.continue=Facteur continue
isisfish.factor.discret=Facteur discret
isisfish.factor.firstValue=Premi\u00E8re valeur
+isisfish.factor.increment=Cardinalit\u00E9e
isisfish.factor.lastValue=Derin\u00E8re valeur
isisfish.factor.name=Nom du facteur
isisfish.factor.selectDiscretNumber=Nombre de facteurs
@@ -833,7 +834,7 @@
isisfish.selectivity.selectPopulation=S\u00E9lectionnez une population
isisfish.selectivity.title=S\u00E9lectivit\u00E9
isisfish.sens.backParameter=Retour aux param\u00E8tres
-isisfish.sens.title=Analyse de sensibilit\u00E9
+isisfish.sens.title=Plan de simulation
isisfish.sensWizardPanels.add=Ajouter
isisfish.sensWizardPanels.clear=Effacer
isisfish.sensWizardPanels.down=Bas
@@ -849,7 +850,7 @@
isisfish.sensWizardPanels.validate=Valider
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
-isisfish.sensitivity.title=Saisie des sensibilit\u00E9s
+isisfish.sensitivity.title=S\u00E9lection des facteurs
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
isisfish.setOfVessels.comments=Commentaires
isisfish.setOfVessels.fixedCosts=Co\u00FBts fixes
@@ -888,6 +889,7 @@
isisfish.species.scientificName=Scientific name
isisfish.species.structured=Structur\u00E9
isisfish.strategy.comments=Commentaires
+isisfish.strategy.inactivity=
isisfish.strategy.inactivityEquationUsed=Utiliser une \u00E9quation d'inactivit\u00E9
isisfish.strategy.name=Nom
isisfish.strategy.proportionSetOfVessels=Proportion des ensembles de navires
1
0
r1932 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export
by jcouteau@users.labs.libre-entreprise.org 10 Mar '09
by jcouteau@users.labs.libre-entreprise.org 10 Mar '09
10 Mar '09
Author: jcouteau
Date: 2009-03-10 17:12:49 +0000 (Tue, 10 Mar 2009)
New Revision: 1932
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java
Log:
Adding empty interface to differentiate sensitivity exports
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java 2009-03-10 17:12:49 UTC (rev 1932)
@@ -0,0 +1,15 @@
+/**
+ *
+ */
+package fr.ifremer.isisfish.export;
+
+/**
+ * Interface that need to be implemented by the sensitivity result export classes
+ *
+ * The export filename that will be used will be based on the export class name.
+ * @author couteau
+ *
+ */
+public interface SensitivityExport extends Export {
+
+}
1
0
r1931 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator
by chatellier@users.labs.libre-entreprise.org 10 Mar '09
by chatellier@users.labs.libre-entreprise.org 10 Mar '09
10 Mar '09
Author: chatellier
Date: 2009-03-10 14:14:41 +0000 (Tue, 10 Mar 2009)
New Revision: 1931
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java
Log:
Add :
sensitivityCalculator
numberOfSensitivitySimulation
on parameters
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-03-10 13:51:10 UTC (rev 1930)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-03-10 14:14:41 UTC (rev 1931)
@@ -31,6 +31,7 @@
import java.util.Properties;
import org.apache.commons.beanutils.ConvertUtilsBean;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codelutin.math.matrix.MatrixFactory;
@@ -47,16 +48,18 @@
import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.datastore.SensitivityStorage;
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationDAO;
import fr.ifremer.isisfish.entities.Strategy;
import fr.ifremer.isisfish.entities.StrategyDAO;
import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.rule.RuleHelper;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
import fr.ifremer.isisfish.util.ConverterUtil;
/**
- * Contains all parameter for one simulation
+ * Contains all parameter for one simulation.
*
* Created: 10 janv. 2006 17:03:37
*
@@ -64,7 +67,8 @@
*
* @version $Revision$
*
- * Last update: $Date$ by : $Author$
+ * Last update: $Date$
+ * By : $Author$
*/
public class SimulationParameter {
@@ -118,9 +122,6 @@
protected String exportDirectory = "/tmp";
- /** Export utilisés pour les analyses de sensibilités. */
- protected List<String> sensitivityExportNames = new ArrayList<String>();
-
/** utilisation du script de pre simulation */
protected boolean usePreScript = false;
@@ -138,6 +139,22 @@
* plan la valeur est -1 */
protected int analysePlanNumber = -1;
+ /** Export utilisés pour les analyses de sensibilités. */
+ protected List<String> sensitivityExportNames = new ArrayList<String>();
+
+ /**
+ * Nombre de simulation constituant l'analyse de sensibilité.
+ *
+ * FIXME ce parametre ne devrait pas ce trouver à cet endroit.
+ * Ce n'est pas un parametres, mais une infos de simulation.
+ * Cela permet de savoir combien de simulation il y a au total
+ * pour savoir quand elle sont terminées.
+ */
+ protected int numberOfSensitivitySimulation = -1;
+
+ /** Export utilisés pour les analyses de sensibilités. */
+ protected SensitivityCalculator sensitivityCalculator = null;
+
/** la liste des resultats qui nous interesse */
protected Collection<String> resultEnabled = new HashSet<String>();
@@ -263,12 +280,23 @@
}
result.setProperty("exports", exportList);
+ // number of sensitivity simulation
+ result.setProperty("numberOfSensitivitySimulation", String.valueOf(numberOfSensitivitySimulation));
+
+ // calculator name
+ if (getSensitivityCalculator() != null) {
+ String calculatorName = SensitivityStorage.getName(getSensitivityCalculator());
+ result.setProperty("sensitivitycalculator", calculatorName);
+ }
+ // number of sensitivity simulation
String sensitivityExportList = "";
for (String export : getExportNames()) {
sensitivityExportList += export + ",";
}
result.setProperty("sensitivityexports", sensitivityExportList);
+
+
result.setProperty("usePreScript", String.valueOf(usePreScript));
result.setProperty("preScript", preScript);
result.setProperty("useAnalysePlan", String.valueOf(useAnalysePlan));
@@ -414,9 +442,24 @@
}
}
+ // number of sensitivity simulation
+ numberOfSensitivitySimulation = Integer.parseInt(props.getProperty("numberOfSensitivitySimulation", "-1"));
+ // calculator name
+ String sensitivityCalculator = props.getProperty("sensitivitycalculator", null);
+ if (!StringUtils.isEmpty(sensitivityCalculator)) {
+ try {
+ SensitivityCalculator calculator = SensitivityStorage.getSensitivity(sensitivityCalculator).getNewSensitivityInstance();
+ setSensitivityCalculator(calculator);
+ } catch (IsisFishException eee) {
+ if (log.isWarnEnabled()) {
+ log.warn("Can't find sensitivity: " + sensitivityCalculator, eee);
+ }
+ }
+ }
+ // sensitivity export
String[] sensitivityExportList = props.getProperty("sensitivityexports", "").split(",");
for (String name : sensitivityExportList) {
- if (name != null && !"".equals(name)) {
+ if (!StringUtils.isEmpty(name)) {
getSensitivityExportNames().add(name);
}
}
@@ -586,7 +629,6 @@
}
}
-
/**
* @return Returns the extraRules.
*/
@@ -741,7 +783,36 @@
this.exportNames = exportNames;
}
+
/**
+ * @return the numberOfSensitivitySimulation
+ */
+ public int getNumberOfSensitivitySimulation() {
+ return numberOfSensitivitySimulation;
+ }
+
+ /**
+ * @param numberOfSensitivitySimulation the numberOfSensitivitySimulation to set
+ */
+ public void setNumberOfSensitivitySimulation(int numberOfSensitivitySimulation) {
+ this.numberOfSensitivitySimulation = numberOfSensitivitySimulation;
+ }
+
+ /**
+ * @return the sensitivityCalculator
+ */
+ public SensitivityCalculator getSensitivityCalculator() {
+ return sensitivityCalculator;
+ }
+
+ /**
+ * @param sensitivityCalculator the sensitivityCalculator to set
+ */
+ public void setSensitivityCalculator(SensitivityCalculator sensitivityCalculator) {
+ this.sensitivityCalculator = sensitivityCalculator;
+ }
+
+ /**
* @return the sensitivityExportNames
*/
public List<String> getSensitivityExportNames() {
1
0
r1930 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore
by chatellier@users.labs.libre-entreprise.org 10 Mar '09
by chatellier@users.labs.libre-entreprise.org 10 Mar '09
10 Mar '09
Author: chatellier
Date: 2009-03-10 13:51:10 +0000 (Tue, 10 Mar 2009)
New Revision: 1930
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java
Log:
Correct bad cut&paste :D
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java 2009-03-10 13:38:13 UTC (rev 1929)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java 2009-03-10 13:51:10 UTC (rev 1930)
@@ -287,7 +287,7 @@
*
* @return liste de noms de calculateurs
*/
- static public List<String> getNewAnalysePlanNames() {
+ static public List<String> getNewSensitivityNames() {
List<String> result = getSensitivityNames();
result.removeAll(getRemoteSensitivityNames());
return result;
1
0