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
July 2011
- 2 participants
- 26 discussions
r3436 - in isis-fish/trunk: . src/main/java/fr/ifremer/isisfish src/main/java/fr/ifremer/isisfish/actions src/main/java/fr/ifremer/isisfish/datastore src/main/java/fr/ifremer/isisfish/simulator src/main/java/fr/ifremer/isisfish/simulator/launcher src/main/java/fr/ifremer/isisfish/simulator/sensitivity src/main/java/fr/ifremer/isisfish/ui/models src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis src/main/java/fr/ifremer/isisfish/ui/models/simulationplan src/main/java/fr/ifrem
by chatellier@users.labs.libre-entreprise.org 07 Jul '11
by chatellier@users.labs.libre-entreprise.org 07 Jul '11
07 Jul '11
Author: chatellier
Date: 2011-07-07 14:33:45 +0000 (Thu, 07 Jul 2011)
New Revision: 3436
Log:
Refactoring :
- analyseplan > simulationplan
- sensitivity > sensitivityanalysis
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlan.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanContext.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanIndependent.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysis.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableModel.java
isis-fish/trunk/src/main/resources/templates/script/sensitivityanalysis.ftl
isis-fish/trunk/src/main/resources/templates/script/simulationplan.ftl
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorageTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SimulationPlanStorageTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisRandomMock.java
Removed:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityCalculator.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorComboRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorListRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanComboModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanComboRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanListModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanListRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableCellEditor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableModel.java
isis-fish/trunk/src/main/resources/templates/script/analyseplan.ftl
isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/AnalysePlanStorageTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityStorageTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java
Modified:
isis-fish/trunk/pom.xml
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlan.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanContext.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanIndependent.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.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/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/pom.xml 2011-07-07 14:33:45 UTC (rev 3436)
@@ -63,7 +63,7 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
- <version>3.6.5.Final</version>
+ <version>${hibernateVersion}</version>
<scope>compile</scope>
</dependency>
@@ -521,6 +521,7 @@
<jaxxVersion>2.4.2</jaxxVersion>
<eugeneVersion>2.3.5</eugeneVersion>
<topiaVersion>2.6</topiaVersion>
+ <hibernateVersion>3.6.5.Final</hibernateVersion>
<nuitonUtilsVersion>2.2</nuitonUtilsVersion>
<nuitonI18nVersion>2.4</nuitonI18nVersion>
<nuitonWidgetsVersion>1.1.1</nuitonWidgetsVersion>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisFish.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -57,14 +57,14 @@
import org.nuiton.widget.SwingSession;
import fr.ifremer.isisfish.cron.CronService;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
import fr.ifremer.isisfish.datastore.SensitivityExportStorage;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
import fr.ifremer.isisfish.simulator.launcher.SimulationService;
@@ -362,13 +362,13 @@
vcs.checkout(tag, false);
// ajoute les repertoires qu'il faut
- AnalysePlanStorage.checkout();
+ SimulationPlanStorage.checkout();
ExportStorage.checkout();
FormuleStorage.checkout();
RuleStorage.checkout();
ScriptStorage.checkout();
SimulatorStorage.checkout();
- SensitivityStorage.checkout();
+ SensitivityAnalysisStorage.checkout();
SensitivityExportStorage.checkout();
// on ne prend pas toutes les simu ni toutes les regions
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -39,7 +39,7 @@
import org.nuiton.util.ApplicationConfig.Action.Step;
import fr.ifremer.isisfish.IsisConfig;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.DataStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
@@ -93,8 +93,8 @@
System.out.println(sb.toString());
}
- public void listAnalysePlan(String filter) throws Exception {
- List<String> names = AnalysePlanStorage.getAnalysePlanNames();
+ public void listSimulationPlan(String filter) throws Exception {
+ List<String> names = SimulationPlanStorage.getSimulationPlanNames();
applyFilter(filter, names);
display(filter, names);
}
@@ -183,11 +183,11 @@
}
}
- public void exportAnalysePlan(File file, String name, boolean force) throws Exception {
+ public void exportSimulationPlan(File file, String name, boolean force) throws Exception {
if (!force && file.exists()) {
throw new IllegalArgumentException(_("destination already exists %s use 'force' argument to force overwrite", file));
}
- AnalysePlanStorage storage = AnalysePlanStorage.getAnalysePlan(name);
+ SimulationPlanStorage storage = SimulationPlanStorage.getSimulationPlan(name);
if (!storage.exists()) {
throw new IllegalArgumentException(_("could not found %s", name));
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -32,7 +32,7 @@
import org.nuiton.util.FileUtil;
import fr.ifremer.isisfish.IsisConfig;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
@@ -60,7 +60,7 @@
public void importAnalysePlan(boolean force, File file) throws Exception {
String name = file.getName();
- AnalysePlanStorage storage = AnalysePlanStorage.getAnalysePlan(name);
+ SimulationPlanStorage storage = SimulationPlanStorage.getSimulationPlan(name);
if(!force && storage.exists()) {
throw new IllegalArgumentException(_("destination already exists %s use \'force\' argument to force overwrite", storage.getFile()));
}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,224 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2005 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
- * %%
- * 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.datastore;
-
-import static org.nuiton.i18n.I18n._;
-
-import java.io.File;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.collections.map.ReferenceMap;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.util.Docable;
-import fr.ifremer.isisfish.vcs.VCSException;
-
-/**
- * Class permettant de representer un plan d'analyse.
- * Un plan d'analyse est un fichier Java que l'on compile si besoin.
- * <p/>
- * Gere les fichiers VCS de type {@link AnalysePlan} (package analyseplans)
- *
- * Created: 17 août 2005 11:11:51 CEST
- *
- * @author Benjamin POUSSIN <poussin at codelutin.com>
- *
- * @version $Revision$
- *
- * Last update: $Date$ by : $Author$
- */
-public class AnalysePlanStorage extends JavaSourceStorage { // AnalysePlanStorage
-
- /** to use log facility, just put in your code: log.info(\"...\"); */
- private static Log log = LogFactory.getLog(AnalysePlanStorage.class);
-
- public final static String ANALYSE_PLAN_PATH = "analyseplans";
-
- /** Template freemarker pour les plans d'analyse . */
- public static final String ANALYSE_PLAN_TEMPLATE = "templates/script/analyseplan.ftl";
-
- @SuppressWarnings("unchecked")
- static private Map<String, AnalysePlanStorage> plansCache =
- (Map<String, AnalysePlanStorage>) new ReferenceMap();
-
- /**
- * Construit un nouveau AnalysePlan storage.
- *
- * @param rootSrc repertoire root de stockage des plans
- * @param directory le repertoire ou devrait se trouver le plan
- * @param name le nom du plan
- */
- protected AnalysePlanStorage(File rootSrc, File directory, String name) {
- super(rootSrc, directory, name);
- }
-
- /**
- * Get context (official VCS) analyse plan directory.
- *
- * @return context analyse plan directory
- */
- static public File getAnalysePlanDirectory() {
- File result = new File(getContextDatabaseDirectory(), ANALYSE_PLAN_PATH);
- result.mkdirs();
- return result;
- }
-
- /**
- * Get community VCS analyse plan directory.
- *
- * @return community analyse plan directory
- */
- public static File getCommunityAnalysePlanDirectory() {
- File result = new File(getCommunityDatabaseDirectory(), ANALYSE_PLAN_PATH);
- result.mkdirs();
- return result;
- }
-
- /**
- * Retourne le nom de toutes les plans existantes
- *
- * @return les noms de tous les plans existant en local
- */
- static public List<String> getAnalysePlanNames() {
- List<String> result = getStorageNames(getAnalysePlanDirectory());
- result.addAll(getStorageNames(getCommunityAnalysePlanDirectory()));
- return result;
- }
-
- /**
- * Retourne le storage pour le plan demandé.
- *
- * @param name le nom du plan souhaité
- * @return Le storage pour le plan
- */
- static public AnalysePlanStorage getAnalysePlan(String name) {
- String cacheName = getContextDatabaseCacheKey(name);
- AnalysePlanStorage result = plansCache.get(cacheName);
- if (result == null) {
- result = new AnalysePlanStorage(getContextDatabaseDirectory(),
- getAnalysePlanDirectory(), name);
- plansCache.put(cacheName, result);
- }
- return result;
- }
-
- /**
- * Retourne le storage pour le plan demandé.
- *
- * @param name le nom du plan souhaité
- * @return Le storage pour le plan
- */
- static public AnalysePlanStorage getCommunityAnalysePlan(String name) {
- String cacheName = getCommunityDatabaseCacheKey(name);
- AnalysePlanStorage result = plansCache.get(cacheName);
- if (result == null) {
- result = new AnalysePlanStorage(getCommunityDatabaseDirectory(),
- getCommunityAnalysePlanDirectory(), name);
- plansCache.put(cacheName, result);
- }
- return result;
- }
-
- /**
- * Retourne une nouvelle instance du plan. Compile le fichier si besoin
- *
- * @return retourne une nouvelle instance du plan
- * @throws IsisFishException s'il y a un probleme d'instanciation
- */
- public AnalysePlan getNewAnalysePlanInstance() throws IsisFishException {
- Object result = getNewInstance();
- return (AnalysePlan) result;
- }
-
- static public void checkout() throws VCSException {
- checkout(IsisFish.config.getDatabaseDirectory(), ANALYSE_PLAN_PATH);
- }
-
- /**
- * Retourne la liste des noms de tous les plans disponibles en local qui
- * ne sont pas encore sur le serveur VCS.
- *
- * @return liste de noms de plans
- */
- public static List<String> getNewAnalysePlanNames() {
- List<String> result = getAnalysePlanNames();
- result.removeAll(getRemoteAnalysePlanNames());
- return result;
- }
-
- /**
- * Retourne la liste des noms de tous les plans disponibles sur le
- * serveur VCS.
- *
- * @return la liste des noms de tous les plans disponibles sur le serveur
- * VCS. Si le serveur n'est pas disponible la liste retournée est
- * vide.
- */
- public static List<String> getRemoteAnalysePlanNames() {
- File dir = getAnalysePlanDirectory();
- return getRemoteStorageNames(dir);
- }
-
- /**
- * Retourne la liste des noms de tous les plans disponibles sur le
- * serveur VCS qui ne sont pas encore en local
- *
- * @return liste de noms de regions
- * @throws VCSException
- */
- public static List<String> getNewRemoteAnalysePlanNames() throws VCSException {
- List<String> result = getRemoteAnalysePlanNames();
- result.removeAll(getAnalysePlanNames());
- return result;
- }
-
- /**
- * <b>Be ware this method require to instanciate a AnalysePlan, so
- * it would be better to call as often as possible.</b>
- *
- * @return the descript of the instanciate AnalysePlan
- * @see Doc
- * @see Docable
- */
- public String getDescription() {
- String result = null;
- try {
- AnalysePlan analysePlan = getNewAnalysePlanInstance();
- result = analysePlan == null ? null : analysePlan.getDescription();
- } catch (Exception e) {
- log.warn(_("isisfish.error.not.found.description", this));
- }
- return result;
- }
-
-} // AnalysePlanStorage
-
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -40,8 +40,8 @@
* {@link fr.ifremer.isisfish.datastore.ScriptStorage},
* {@link fr.ifremer.isisfish.datastore.RuleStorage},
* {@link fr.ifremer.isisfish.datastore.ExportStorage},
- * {@link fr.ifremer.isisfish.datastore.AnalysePlanStorage},
- * {@link fr.ifremer.isisfish.datastore.SensitivityStorage}
+ * {@link fr.ifremer.isisfish.datastore.SimulationPlanStorage},
+ * {@link fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage}
*
* Created: 21 janv. 2006 15:20:24
*
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -49,11 +49,11 @@
* Classes abstraite permettant la gestion des fichiers de code source.
*
* Exemple :
- * {@link fr.ifremer.isisfish.datastore.AnalysePlanStorage}
+ * {@link fr.ifremer.isisfish.datastore.SimulationPlanStorage}
* {@link fr.ifremer.isisfish.datastore.ExportStorage},
* {@link fr.ifremer.isisfish.datastore.RuleStorage},
* {@link fr.ifremer.isisfish.datastore.ScriptStorage},
- * {@link fr.ifremer.isisfish.datastore.SensitivityStorage},
+ * {@link fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage},
* {@link fr.ifremer.isisfish.datastore.SimulatorStorage}
*
* @author poussin
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/RegionStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -435,20 +435,25 @@
RegionStorage result = RegionStorage.getRegion(name);
if (result != null) {
File data = result.getDataBackupFile();
- if (file.exists()) {
+ if (data.exists()) {
TopiaContext tx = result.getStorage().beginTransaction();
+ log.info("Restoring from file");
tx.restore(data);
+ log.info("Restored from file");
if (newName != null) {
FisheryRegion region = getFisheryRegion(tx);
region.setName(newName);
}
-
+
// delete results in new region database
// this can occure when create region from simulation
tx.execute("DELETE " + Result.class.getName());
-
+
+ log.info("before commit");
tx.commitTransaction();
+ log.info("after commit");
tx.closeContext();
+ log.info("closed");
}
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorage.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ResultStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -55,9 +55,9 @@
import fr.ifremer.isisfish.export.Export;
import fr.ifremer.isisfish.export.SensitivityExport;
import fr.ifremer.isisfish.rule.Rule;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
import fr.ifremer.isisfish.simulator.SimulationContext;
import fr.ifremer.isisfish.simulator.SimulationException;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
import fr.ifremer.isisfish.simulator.SimulationResultGetter;
import fr.ifremer.isisfish.simulator.SimulationResultListener;
import fr.ifremer.isisfish.types.Date;
@@ -96,6 +96,8 @@
* Les ResultStorage ne doivent pas etre instancier directement, mais
* recuperer a partir d'un
* {@link fr.ifremer.isisfish.datastore.SimulationStorage#getResultStorage()}
+ *
+ * @param simulation storage to get result
*/
public ResultStorage(SimulationStorage simulation) {
this.simulation = simulation;
@@ -199,7 +201,7 @@
* <li>{@link Export#getNecessaryResult()}</li>
* <li>{@link SensitivityExport#getNecessaryResult()}</li>
* <li>{@link Rule#getNecessaryResult()}</li>
- * <li>{@link AnalysePlan#getNecessaryResult()}</li>
+ * <li>{@link SimulationPlan#getNecessaryResult()}</li>
* </ul>
*
* @param name result name
@@ -252,9 +254,9 @@
}
// test on plans
- List<AnalysePlan> plans = simulation.getParameter().getAnalysePlans();
+ List<SimulationPlan> plans = simulation.getParameter().getSimulationPlans();
if (plans != null) {
- for (AnalysePlan plan : plans) {
+ for (SimulationPlan plan : plans) {
for (String resultName : plan.getNecessaryResult()) {
enabledResult.add(resultName);
}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java (from rev 3420, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,231 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+import fr.ifremer.isisfish.util.Doc;
+import fr.ifremer.isisfish.util.Docable;
+import fr.ifremer.isisfish.vcs.VCSException;
+
+/**
+ * Cette class permet de stocker les fichiers de calculateur de sensibilité.
+ * <p/>
+ * Gere les fichiers VCS de type {@link SensitivityAnalysis} (package sensitivityanalysis).
+ *
+ * Created: 17 août 2005 11:11:51 CEST
+ *
+ * @author chatellier <chatellier at codelutin.com>
+ * @version $Revision$
+ * Last update: $Date$ by : $Author$
+ */
+public class SensitivityAnalysisStorage extends JavaSourceStorage { // SensitivityStorage
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ private static Log log = LogFactory.getLog(SensitivityAnalysisStorage.class);
+
+ /** Emplacement de stockage des fichiers de sensibilité */
+ public final static String SENSITIVITY_ANALYSIS_PATH = "sensitivityanalysis";
+
+ /** Template freemarker pour les scripts de sensibilité. */
+ public static final String SENSITIVITY_ANALYSIS_TEMPLATE = "templates/script/sensitivityanalysis.ftl";
+
+ /** Cache. */
+ protected static Map<String, SensitivityAnalysisStorage> sensitivityCache = new ReferenceMap();
+
+ /**
+ * Build new {@link SensitivityAnalysisStorage}.
+ *
+ * @param rootSrc repertoire root de stockage des calculateurs de sensibilité.
+ * @param directory le repertoire ou devrait se trouver le calculateur de sensibilité
+ * @param name le nom du calculateur de sensibilité
+ */
+ protected SensitivityAnalysisStorage(File rootSrc, File directory, String name) {
+ super(rootSrc, directory, name);
+ }
+
+ /**
+ * Get sensitivity storage directory.
+ *
+ * Create directory if not exists.
+ *
+ * @return sensitivity storage directory
+ */
+ public static File getSensitivityAnalysisDirectory() {
+ File result = new File(getContextDatabaseDirectory(), SENSITIVITY_ANALYSIS_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Get community VCS sensitivity directory.
+ *
+ * @return community sensitivity directory
+ */
+ public static File getCommunitySensitivityAnalysisDirectory() {
+ File result = new File(getCommunityDatabaseDirectory(), SENSITIVITY_ANALYSIS_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Retourne le nom de tous les calculateurs de sensibilité existant.
+ *
+ * @return le nom de tous les calculateurs de sensibilité existans en local
+ */
+ public static List<String> getSensitivityAnalysisNames() {
+ List<String> result = getStorageNames(getSensitivityAnalysisDirectory());
+ result.addAll(getStorageNames(getCommunitySensitivityAnalysisDirectory()));
+ return result;
+ }
+
+ /**
+ * Retourne le storage pour le calculateur demandé.
+ *
+ * @param name le nom du calculateur souhaité
+ * @return Le {@link SensitivityAnalysisStorage} pour le calculateur
+ */
+ public static SensitivityAnalysisStorage getSensitivityAnalysis(String name) {
+ String cacheName = getContextDatabaseCacheKey(name);
+ SensitivityAnalysisStorage result = sensitivityCache.get(cacheName);
+ if (result == null) {
+ result = new SensitivityAnalysisStorage(getContextDatabaseDirectory(), getSensitivityAnalysisDirectory(), name);
+ sensitivityCache.put(cacheName, result);
+ }
+ return result;
+ }
+
+ /**
+ * Retourne le storage pour le calculateur demandé.
+ *
+ * @param name le nom du calculateur souhaité
+ * @return Le {@link SensitivityAnalysisStorage} pour le calculateur
+ */
+ public static SensitivityAnalysisStorage getCommunitySensitivityAnalysis(String name) {
+ String cacheName = getCommunityDatabaseCacheKey(name);
+ SensitivityAnalysisStorage result = sensitivityCache.get(cacheName);
+ if (result == null) {
+ result = new SensitivityAnalysisStorage(getCommunityDatabaseDirectory(), getCommunitySensitivityAnalysisDirectory(), name);
+ sensitivityCache.put(cacheName, result);
+ }
+ return result;
+ }
+
+ /**
+ * Retourne une nouvelle instance du calculateur. Compile le fichier si besoin
+ *
+ * @return retourne une nouvelle instance du calculateur
+ * @throws IsisFishException s'il y a un problème d'instanciation
+ */
+ public SensitivityAnalysis getNewSensitivityAnalysisInstance() throws IsisFishException {
+ Object result = getNewInstance();
+ return (SensitivityAnalysis) result;
+ }
+
+ /**
+ * Effectue un chekout VCS sur le répertoire des calculateurs.
+ *
+ * @see VersionStorage#checkout(File, String)
+ * @see #SENSITIVITY_ANALYSIS_PATH
+ *
+ * @throws VCSException if an error occurs during checkout
+ */
+ public static void checkout() throws VCSException {
+ checkout(IsisFish.config.getDatabaseDirectory(), SENSITIVITY_ANALYSIS_PATH);
+ }
+
+ /**
+ * Retourne la liste des noms de tous les calculateurs disponibles en local qui
+ * ne sont pas encore sur le serveur VCS.
+ *
+ * @return liste de noms de calculateurs
+ */
+ static public List<String> getNewSensitivityAnalysisNames() {
+ List<String> result = getSensitivityAnalysisNames();
+ result.removeAll(getRemoteSensitivityAnalysisNames());
+ return result;
+ }
+
+ /**
+ * Retourne la liste des noms de tous les calculateurs disponibles sur le
+ * serveur VCS
+ *
+ * @return la liste des noms de tous les calculateurs disponibles sur le serveur
+ * VCS. Si le serveur n'est pas disponible la liste retournée est
+ * vide.
+ */
+ static public List<String> getRemoteSensitivityAnalysisNames() {
+ File dir = getSensitivityAnalysisDirectory();
+ return getRemoteStorageNames(dir);
+
+ }
+
+ /**
+ * Retourne la liste des noms de tous les calculateurs disponibles sur le
+ * serveur VCS qui ne sont pas encore en local.
+ *
+ * @return liste de noms de regions
+ * @throws VCSException
+ */
+ static public List<String> getNewRemoteSensitivityAnalysisNames()
+ throws VCSException {
+ List<String> result = getRemoteSensitivityAnalysisNames();
+ result.removeAll(getSensitivityAnalysisNames());
+ return result;
+ }
+
+ /**
+ * <b>Be ware this method require to instanciate a AnalysePlan, so
+ * it would be better to call as often as possible.</b>
+ *
+ * @return the descript of the instanciate AnalysePlan
+ * @see Doc
+ * @see Docable
+ */
+ @Override
+ public String getDescription() {
+ String result = null;
+ try {
+ SensitivityAnalysis sensitivityAnalysis = getNewSensitivityAnalysisInstance();
+ result = sensitivityAnalysis == null ? null : sensitivityAnalysis.getDescription();
+ } catch (Exception e) {
+ log.warn(_("isisfish.error.not.found.description", this));
+ }
+ return result;
+ }
+
+} // SensitivityStorage
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,231 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
- * %%
- * 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.datastore;
-
-import static org.nuiton.i18n.I18n._;
-
-import java.io.File;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.commons.collections.map.ReferenceMap;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.util.Docable;
-import fr.ifremer.isisfish.vcs.VCSException;
-
-/**
- * Cette class permet de stocker les fichiers de calculateur de sensibilité.
- * <p/>
- * Gere les fichiers VCS de type {@link SensitivityCalculator} (package sensitivity).
- *
- * Created: 17 août 2005 11:11:51 CEST
- *
- * @author chatellier <chatellier at codelutin.com>
- * @version $Revision$
- * Last update: $Date$ by : $Author$
- */
-public class SensitivityStorage extends JavaSourceStorage { // SensitivityStorage
-
- /** to use log facility, just put in your code: log.info(\"...\"); */
- private static Log log = LogFactory.getLog(SensitivityStorage.class);
-
- /** Emplacement de stockage des fichiers de sensibilité */
- public final static String SENSITIVITY_PATH = "sensitivity";
-
- /** Template freemarker pour les scripts de sensibilité. */
- public static final String SENSIVITY_TEMPLATE = "templates/script/sensitivity.ftl";
-
- /** Cache. */
- protected static Map<String, SensitivityStorage> sensitivityCache = new ReferenceMap();
-
- /**
- * Build new {@link SensitivityStorage}.
- *
- * @param rootSrc repertoire root de stockage des calculateurs de sensibilité.
- * @param directory le repertoire ou devrait se trouver le calculateur de sensibilité
- * @param name le nom du calculateur de sensibilité
- */
- protected SensitivityStorage(File rootSrc, File directory, String name) {
- super(rootSrc, directory, name);
- }
-
- /**
- * Get sensitivity storage directory.
- *
- * Create directory if not exists.
- *
- * @return sensitivity storage directory
- */
- public static File getSensitivityDirectory() {
- File result = new File(getContextDatabaseDirectory(), SENSITIVITY_PATH);
- result.mkdirs();
- return result;
- }
-
- /**
- * Get community VCS sensitivity directory.
- *
- * @return community sensitivity directory
- */
- public static File getCommunitySensitivityDirectory() {
- File result = new File(getCommunityDatabaseDirectory(), SENSITIVITY_PATH);
- result.mkdirs();
- return result;
- }
-
- /**
- * Retourne le nom de tous les calculateurs de sensibilité existant.
- *
- * @return le nom de tous les calculateurs de sensibilité existans en local
- */
- public static List<String> getSensitivityNames() {
- List<String> result = getStorageNames(getSensitivityDirectory());
- result.addAll(getStorageNames(getCommunitySensitivityDirectory()));
- return result;
- }
-
- /**
- * Retourne le storage pour le calculateur demandé.
- *
- * @param name le nom du calculateur souhaité
- * @return Le {@link SensitivityStorage} pour le calculateur
- */
- public static SensitivityStorage getSensitivity(String name) {
- String cacheName = getContextDatabaseCacheKey(name);
- SensitivityStorage result = sensitivityCache.get(cacheName);
- if (result == null) {
- result = new SensitivityStorage(getContextDatabaseDirectory(), getSensitivityDirectory(), name);
- sensitivityCache.put(cacheName, result);
- }
- return result;
- }
-
- /**
- * Retourne le storage pour le calculateur demandé.
- *
- * @param name le nom du calculateur souhaité
- * @return Le {@link SensitivityStorage} pour le calculateur
- */
- public static SensitivityStorage getCommunitySensitivity(String name) {
- String cacheName = getCommunityDatabaseCacheKey(name);
- SensitivityStorage result = sensitivityCache.get(cacheName);
- if (result == null) {
- result = new SensitivityStorage(getCommunityDatabaseDirectory(), getCommunitySensitivityDirectory(), name);
- sensitivityCache.put(cacheName, result);
- }
- return result;
- }
-
- /**
- * Retourne une nouvelle instance du calculateur. Compile le fichier si besoin
- *
- * @return retourne une nouvelle instance du calculateur
- * @throws IsisFishException s'il y a un problème d'instanciation
- */
- public SensitivityCalculator getNewSensitivityInstance() throws IsisFishException {
- Object result = getNewInstance();
- return (SensitivityCalculator) result;
- }
-
- /**
- * Effectue un chekout VCS sur le répertoire des calculateurs.
- *
- * @see VersionStorage#checkout(File, String)
- * @see #SENSITIVITY_PATH
- *
- * @throws VCSException if an error occurs during checkout
- */
- public static void checkout() throws VCSException {
- checkout(IsisFish.config.getDatabaseDirectory(), SENSITIVITY_PATH);
- }
-
- /**
- * Retourne la liste des noms de tous les calculateurs disponibles en local qui
- * ne sont pas encore sur le serveur VCS.
- *
- * @return liste de noms de calculateurs
- */
- static public List<String> getNewSensitivityNames() {
- List<String> result = getSensitivityNames();
- result.removeAll(getRemoteSensitivityNames());
- return result;
- }
-
- /**
- * Retourne la liste des noms de tous les calculateurs disponibles sur le
- * serveur VCS
- *
- * @return la liste des noms de tous les calculateurs disponibles sur le serveur
- * VCS. Si le serveur n'est pas disponible la liste retournée est
- * vide.
- */
- static public List<String> getRemoteSensitivityNames() {
- File dir = getSensitivityDirectory();
- return getRemoteStorageNames(dir);
-
- }
-
- /**
- * Retourne la liste des noms de tous les calculateurs disponibles sur le
- * serveur VCS qui ne sont pas encore en local.
- *
- * @return liste de noms de regions
- * @throws VCSException
- */
- static public List<String> getNewRemoteSensitivityNames()
- throws VCSException {
- List<String> result = getRemoteSensitivityNames();
- result.removeAll(getSensitivityNames());
- return result;
- }
-
- /**
- * <b>Be ware this method require to instanciate a AnalysePlan, so
- * it would be better to call as often as possible.</b>
- *
- * @return the descript of the instanciate AnalysePlan
- * @see Doc
- * @see Docable
- */
- @Override
- public String getDescription() {
- String result = null;
- try {
- SensitivityCalculator calculator = getNewSensitivityInstance();
- result = calculator == null ? null : calculator.getDescription();
- } catch (Exception e) {
- log.warn(_("isisfish.error.not.found.description", this));
- }
- return result;
- }
-
-} // SensitivityStorage
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java (from rev 3420, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/AnalysePlanStorage.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SimulationPlanStorage.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,224 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2005 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.io.File;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+import fr.ifremer.isisfish.util.Doc;
+import fr.ifremer.isisfish.util.Docable;
+import fr.ifremer.isisfish.vcs.VCSException;
+
+/**
+ * Class permettant de representer un plan d'analyse.
+ * Un plan d'analyse est un fichier Java que l'on compile si besoin.
+ * <p/>
+ * Gere les fichiers VCS de type {@link SimulationPlan} (package simulationplans)
+ *
+ * Created: 17 août 2005 11:11:51 CEST
+ *
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ *
+ * @version $Revision$
+ *
+ * Last update: $Date$ by : $Author$
+ */
+public class SimulationPlanStorage extends JavaSourceStorage { // AnalysePlanStorage
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ private static Log log = LogFactory.getLog(SimulationPlanStorage.class);
+
+ public final static String SIMULATION_PLAN_PATH = "simulationplans";
+
+ /** Template freemarker pour les plans d'analyse . */
+ public static final String SIMULATION_PLAN_TEMPLATE = "templates/script/simulationplan.ftl";
+
+ @SuppressWarnings("unchecked")
+ static private Map<String, SimulationPlanStorage> plansCache =
+ (Map<String, SimulationPlanStorage>) new ReferenceMap();
+
+ /**
+ * Construit un nouveau SimulationPlan storage.
+ *
+ * @param rootSrc repertoire root de stockage des plans
+ * @param directory le repertoire ou devrait se trouver le plan
+ * @param name le nom du plan
+ */
+ protected SimulationPlanStorage(File rootSrc, File directory, String name) {
+ super(rootSrc, directory, name);
+ }
+
+ /**
+ * Get context (official VCS) simulation plan directory.
+ *
+ * @return context simulation plan directory
+ */
+ static public File getSimulationPlanDirectory() {
+ File result = new File(getContextDatabaseDirectory(), SIMULATION_PLAN_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Get community VCS simulation plan directory.
+ *
+ * @return community simulation plan directory
+ */
+ public static File getCommunitySimulationPlanDirectory() {
+ File result = new File(getCommunityDatabaseDirectory(), SIMULATION_PLAN_PATH);
+ result.mkdirs();
+ return result;
+ }
+
+ /**
+ * Retourne le nom de toutes les plans existantes
+ *
+ * @return les noms de tous les plans existant en local
+ */
+ static public List<String> getSimulationPlanNames() {
+ List<String> result = getStorageNames(getSimulationPlanDirectory());
+ result.addAll(getStorageNames(getCommunitySimulationPlanDirectory()));
+ return result;
+ }
+
+ /**
+ * Retourne le storage pour le plan demandé.
+ *
+ * @param name le nom du plan souhaité
+ * @return Le storage pour le plan
+ */
+ static public SimulationPlanStorage getSimulationPlan(String name) {
+ String cacheName = getContextDatabaseCacheKey(name);
+ SimulationPlanStorage result = plansCache.get(cacheName);
+ if (result == null) {
+ result = new SimulationPlanStorage(getContextDatabaseDirectory(),
+ getSimulationPlanDirectory(), name);
+ plansCache.put(cacheName, result);
+ }
+ return result;
+ }
+
+ /**
+ * Retourne le storage pour le plan demandé.
+ *
+ * @param name le nom du plan souhaité
+ * @return Le storage pour le plan
+ */
+ static public SimulationPlanStorage getCommunitySimulationPlan(String name) {
+ String cacheName = getCommunityDatabaseCacheKey(name);
+ SimulationPlanStorage result = plansCache.get(cacheName);
+ if (result == null) {
+ result = new SimulationPlanStorage(getCommunityDatabaseDirectory(),
+ getCommunitySimulationPlanDirectory(), name);
+ plansCache.put(cacheName, result);
+ }
+ return result;
+ }
+
+ /**
+ * Retourne une nouvelle instance du plan. Compile le fichier si besoin
+ *
+ * @return retourne une nouvelle instance du plan
+ * @throws IsisFishException s'il y a un probleme d'instanciation
+ */
+ public SimulationPlan getNewSimulationPlanInstance() throws IsisFishException {
+ Object result = getNewInstance();
+ return (SimulationPlan) result;
+ }
+
+ static public void checkout() throws VCSException {
+ checkout(IsisFish.config.getDatabaseDirectory(), SIMULATION_PLAN_PATH);
+ }
+
+ /**
+ * Retourne la liste des noms de tous les plans disponibles en local qui
+ * ne sont pas encore sur le serveur VCS.
+ *
+ * @return liste de noms de plans
+ */
+ public static List<String> getNewSimulationPlanNames() {
+ List<String> result = getSimulationPlanNames();
+ result.removeAll(getRemoteSimulationPlanNames());
+ return result;
+ }
+
+ /**
+ * Retourne la liste des noms de tous les plans disponibles sur le
+ * serveur VCS.
+ *
+ * @return la liste des noms de tous les plans disponibles sur le serveur
+ * VCS. Si le serveur n'est pas disponible la liste retournée est
+ * vide.
+ */
+ public static List<String> getRemoteSimulationPlanNames() {
+ File dir = getSimulationPlanDirectory();
+ return getRemoteStorageNames(dir);
+ }
+
+ /**
+ * Retourne la liste des noms de tous les plans disponibles sur le
+ * serveur VCS qui ne sont pas encore en local
+ *
+ * @return liste de noms de regions
+ * @throws VCSException
+ */
+ public static List<String> getNewRemoteSimulationPlanNames() throws VCSException {
+ List<String> result = getRemoteSimulationPlanNames();
+ result.removeAll(getSimulationPlanNames());
+ return result;
+ }
+
+ /**
+ * <b>Be ware this method require to instanciate a AnalysePlan, so
+ * it would be better to call as often as possible.</b>
+ *
+ * @return the descript of the instanciate AnalysePlan
+ * @see Doc
+ * @see Docable
+ */
+ public String getDescription() {
+ String result = null;
+ try {
+ SimulationPlan simulationPlan = getNewSimulationPlanInstance();
+ result = simulationPlan == null ? null : simulationPlan.getDescription();
+ } catch (Exception e) {
+ log.warn(_("isisfish.error.not.found.description", this));
+ }
+ return result;
+ }
+
+} // AnalysePlanStorage
+
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlan.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlan.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlan.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2007 - 2010 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
+ * Copyright (C) 2007 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -25,8 +25,6 @@
package fr.ifremer.isisfish.simulator;
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-
/**
* AnalysePlan.java
*
@@ -38,55 +36,9 @@
* Last update: $Date$
* by : $Author$
*
- * TODO will be renamed to SimulationPlan soon
+ * @deprecated since 4.0.0.0, use {@link SimulationPlan} instead
*/
-public interface AnalysePlan {
+ at Deprecated
+public interface AnalysePlan extends SimulationPlan {
- /**
- * Return plan necessary Results.
- *
- * @return the necessaryResult name
- */
- public String[] getNecessaryResult();
-
- /**
- * Return plan description.
- *
- * @return plan description
- * @throws Exception
- */
- public String getDescription() throws Exception;
-
- /**
- * Use only once before first simulation.
- *
- * You can modified Param for all simulation or put value in context.values.
- *
- * @param context plan context
- * @throws Exception
- */
- public void init(AnalysePlanContext context) throws Exception;
-
- /**
- * Call before each simulation.
- *
- * @param context plan context
- * @param nextSimulation storage used for next simulation
- * @return true if we must do next simulation, false to stop plan
- * @throws Exception
- */
- public boolean beforeSimulation(AnalysePlanContext context,
- SimulationStorage nextSimulation) throws Exception;
-
- /**
- * Call after each simulation.
- *
- * @param context plan context
- * @param lastSimulation storage used for simulation
- * @return true if we must do next simulation, false to stop plan
- * @throws Exception
- */
- public boolean afterSimulation(AnalysePlanContext context,
- SimulationStorage lastSimulation) throws Exception;
-
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanContext.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanContext.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanContext.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2007 - 2010 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
+ * Copyright (C) 2007 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -25,11 +25,7 @@
package fr.ifremer.isisfish.simulator;
-import java.util.HashMap;
-import java.util.Map;
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-
/**
* AnalysePlanContext.java
*
@@ -40,114 +36,18 @@
*
* Last update: $Date$
* by : $Author$
+ *
+ * @deprecated since 4.0.0.0, use {@link SimulationPlanContext} instead
*/
-public class AnalysePlanContext {
+ at Deprecated
+public class AnalysePlanContext extends SimulationPlanContext {
- /** Simulation id. */
- protected String id;
-
- /** Analyse plan number. */
- protected int number = 0;
-
- /** Simulation parameters. */
- protected SimulationParameter param;
-
- /** Additionnal context values. */
- protected Map<String, Object> values = new HashMap<String, Object>();
-
- public AnalysePlanContext(String id, SimulationParameter param) {
- this.id = id;
- this.param = param;
- }
-
/**
- * Get id.
- *
- * @return the id
+ * @param id
+ * @param param
*/
- public String getId() {
- return id;
+ public AnalysePlanContext(String id, SimulationParameter param) {
+ super(id, param);
}
- /**
- * Get current analyze plan simulation count.
- *
- * Warning, in after simulation, refer to generated simulation count,
- * not ended simulation number.
- * Depreciated, but no remove this method, it's just to not be used
- * by user script.
- *
- * @return the number
- *
- * @deprecated use {@code nextSimulation.getParameter().getAnalysePlanNumber()}
- */
- public int getNumber() {
- return number;
- }
-
- /**
- * Must be call when new simulation is generated from plan.
- */
- public void incNumber() {
- number++;
- }
-
- /**
- * Get simulation parameters.
- *
- * @return simulation parameters
- */
- public SimulationParameter getParam() {
- return param;
- }
-
- /**
- * Get plan context value.
- *
- * Used in script.
- *
- * @param key key
- * @return value for key.
- */
- public Object getValue(String key) {
- return this.values.get(key);
- }
-
- /**
- * Set plan context value.
- *
- * Used in script.
- *
- * @param key key
- * @param value value
- */
- public void setValue(String key, Object value) {
- this.values.put(key, value);
- }
-
- /**
- * Get last simulation storage.
- *
- * Used in script.
- *
- * @return last simulation storage
- */
- public SimulationStorage getLastSimulation() {
- SimulationStorage result = getSimulation(getNumber() - 1);
- return result;
- }
-
- /**
- * Get {@link SimulationStorage} for specified analyse plan number.
- *
- * @param number number
- * @return {@link SimulationStorage}
- */
- public SimulationStorage getSimulation(int number) {
- SimulationStorage result = null;
- if (0 <= number && number <= getNumber()) {
- result = SimulationStorage.getSimulation(id + "_" + number);
- }
- return result;
- }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanIndependent.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanIndependent.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/AnalysePlanIndependent.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2007 - 2010 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
+ * Copyright (C) 2007 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -37,7 +37,9 @@
*
* Last update: $Date: 2007-03-09 15:10:40 +0100 (ven, 09 mar 2007) $
* by : $Author: bpoussin $
+ *
+ * @deprecated since 4.0.0.0,
*/
-public interface AnalysePlanIndependent extends AnalysePlan {
+public interface AnalysePlanIndependent extends SimulationPlanIndependent {
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/ResultManager.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -142,9 +142,9 @@
}
}
}
- List<AnalysePlan> plans = param.getAnalysePlans();
+ List<SimulationPlan> plans = param.getSimulationPlans();
if (plans != null) {
- for (AnalysePlan plan : plans) {
+ for (SimulationPlan plan : plans) {
for (String resultName : plan.getNecessaryResult()) {
enabledResult.add(resultName);
}
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 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2010 Ifremer, Code Lutin, Chatellier Eric
+ * Copyright (C) 2010 - 2011 Ifremer, Code Lutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -39,7 +39,7 @@
import fr.ifremer.isisfish.entities.Strategy;
import fr.ifremer.isisfish.export.SensitivityExport;
import fr.ifremer.isisfish.rule.Rule;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
/**
* Contains all parameters for one simulation.
@@ -160,11 +160,11 @@
public abstract void setStrategies(List<Strategy> strategies);
/**
- * Add new analyse plan.
+ * Add new simulation plan.
*
- * @param plan analyse plan to add
+ * @param plan simulation plan to add
*/
- public abstract void addAnalysePlan(AnalysePlan plan);
+ public abstract void addSimulationPlan(SimulationPlan plan);
/**
* Remove a plan.
@@ -172,28 +172,28 @@
* @param plan
* @return {@code true} if this list contained the specified element
*/
- public abstract boolean removeAnalysePlan(AnalysePlan plan);
+ public abstract boolean removeSimulationPlan(SimulationPlan plan);
/**
- * Get instantiated analyse plan list.
+ * Get instantiated simulation plan list.
*
* Default to empty list.
*
- * @return Returns the plans.
+ * @return the plans.
*/
- public abstract List<AnalysePlan> getAnalysePlans();
+ public abstract List<SimulationPlan> getSimulationPlans();
/**
* Set plans list.
*
* @param plans plans to set
*/
- public abstract void setAnalysePlans(List<AnalysePlan> plans);
+ public abstract void setSimulationPlans(List<SimulationPlan> plans);
/**
- * Retrun {@code true} if simulation is composed of independant plan only.
+ * Return {@code true} if simulation is composed of independent plan only.
*
- * @return {@code true} if all {@link AnalysePlan} are {@link AnalysePlanIndependent}
+ * @return {@code true} if all {@link SimulationPlan} are {@link SimulationPlanIndependent}
*/
public abstract boolean isIndependentPlan();
@@ -299,19 +299,19 @@
int numberOfSensitivitySimulation);
/**
- * Get instanciated sensitivity calculator.
+ * Get instantiated sensitivity calculator.
*
* Default to : null.
*
- * @return the sensitivityCalculator
+ * @return the sensitivityAnalysis
*/
- public abstract SensitivityCalculator getSensitivityCalculator();
+ public abstract SensitivityAnalysis getSensitivityAnalysis();
/**
- * @param sensitivityCalculator the sensitivityCalculator to set
+ * @param sensitivityAnalysis the sensitivityAnalysis to set
*/
- public abstract void setSensitivityCalculator(
- SensitivityCalculator sensitivityCalculator);
+ public abstract void setSensitivityAnalysis(
+ SensitivityAnalysis sensitivityAnalysis);
/**
* Return loaded sensitivity export.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterCache.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -49,7 +49,7 @@
import fr.ifremer.isisfish.entities.Strategy;
import fr.ifremer.isisfish.export.SensitivityExport;
import fr.ifremer.isisfish.rule.Rule;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
/**
* SimulationParameter soft reference implementation.
@@ -261,43 +261,43 @@
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#addAnalysePlan(fr.ifremer.isisfish.simulator.AnalysePlan)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#addSimulationPlan(fr.ifremer.isisfish.simulator.SimulationPlan)
*/
@Override
- public void addAnalysePlan(AnalysePlan plan) {
+ public void addSimulationPlan(SimulationPlan plan) {
SimulationParameter param = getParam();
- param.addAnalysePlan(plan);
+ param.addSimulationPlan(plan);
store(param);
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#removeAnalysePlan(fr.ifremer.isisfish.simulator.AnalysePlan)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#removeSimulationPlan(fr.ifremer.isisfish.simulator.SimulationPlan)
*/
@Override
- public boolean removeAnalysePlan(AnalysePlan plan) {
+ public boolean removeSimulationPlan(SimulationPlan plan) {
SimulationParameter param = getParam();
- boolean result = param.removeAnalysePlan(plan);
+ boolean result = param.removeSimulationPlan(plan);
store(param);
return result;
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#getAnalysePlans()
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#getSimulationPlans()
*/
@Override
- public List<AnalysePlan> getAnalysePlans() {
+ public List<SimulationPlan> getSimulationPlans() {
SimulationParameter param = getParam();
- return param.getAnalysePlans();
+ return param.getSimulationPlans();
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#setAnalysePlans(java.util.List)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#setSimulationPlans(java.util.List)
*/
@Override
- public void setAnalysePlans(List<AnalysePlan> plans) {
+ public void setSimulationPlans(List<SimulationPlan> plans) {
SimulationParameter param = getParam();
- param.setAnalysePlans(plans);
+ param.setSimulationPlans(plans);
store(param);
}
@@ -457,22 +457,21 @@
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#getSensitivityCalculator()
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#getSensitivityAnalysis()
*/
@Override
- public SensitivityCalculator getSensitivityCalculator() {
+ public SensitivityAnalysis getSensitivityAnalysis() {
SimulationParameter param = getParam();
- return param.getSensitivityCalculator();
+ return param.getSensitivityAnalysis();
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#setSensitivityCalculator(fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#setSensitivityAnalysis(fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis)
*/
@Override
- public void setSensitivityCalculator(
- SensitivityCalculator sensitivityCalculator) {
+ public void setSensitivityAnalysis(SensitivityAnalysis sensitivityAnalysis) {
SimulationParameter param = getParam();
- param.setSensitivityCalculator(sensitivityCalculator);
+ param.setSensitivityAnalysis(sensitivityAnalysis);
store(param);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameterImpl.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -54,11 +54,11 @@
import fr.ifremer.isisfish.IsisConfig;
import fr.ifremer.isisfish.IsisFishDAOHelper;
import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
import fr.ifremer.isisfish.datastore.SensitivityExportStorage;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.StorageHelper;
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationDAO;
@@ -68,7 +68,7 @@
import fr.ifremer.isisfish.export.SensitivityExport;
import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.rule.RuleHelper;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
/**
* Real {@link SimulationParameter} implementation.
@@ -127,7 +127,7 @@
protected List<String> extraRules;
/** La liste des plans a utiliser pour la simulation. */
- protected List<AnalysePlan> analysePlans;
+ protected List<SimulationPlan> simulationPlans;
/** Ma liste des exports automatique a faire en fin de simulation. */
protected List<String> exportNames;
@@ -160,8 +160,8 @@
*/
protected Integer numberOfSensitivitySimulation;
- /** Export utilisés pour les analyses de sensibilités. */
- protected SensitivityCalculator sensitivityCalculator;
+ /** Script utilisé pour les analyses de sensibilités. */
+ protected SensitivityAnalysis sensitivityAnalysis;
/** La liste des resultats qui nous interesse. */
protected Collection<String> resultEnabled;
@@ -456,29 +456,29 @@
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#addAnalysePlan(fr.ifremer.isisfish.simulator.AnalysePlan)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#addSimulationPlan(fr.ifremer.isisfish.simulator.SimulationPlan)
*/
@Override
- public void addAnalysePlan(AnalysePlan plan) {
- getAnalysePlans().add(plan);
+ public void addSimulationPlan(SimulationPlan plan) {
+ getSimulationPlans().add(plan);
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#removeAnalysePlan(fr.ifremer.isisfish.simulator.AnalysePlan)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#removeAnalysePlan(fr.ifremer.isisfish.simulator.SimulationPlan)
*/
@Override
- public boolean removeAnalysePlan(AnalysePlan plan) {
- return getAnalysePlans().remove(plan);
+ public boolean removeSimulationPlan(SimulationPlan plan) {
+ return getSimulationPlans().remove(plan);
}
/*
* @see fr.ifremer.isisfish.simulator.SimulationParameter#getAnalysePlans()
*/
@Override
- public List<AnalysePlan> getAnalysePlans() {
- if (analysePlans == null) {
+ public List<SimulationPlan> getSimulationPlans() {
+ if (simulationPlans == null) {
- analysePlans = new ArrayList<AnalysePlan>();
+ simulationPlans = new ArrayList<SimulationPlan>();
if (propertiesParameters != null) {
// analyse plan
@@ -488,12 +488,12 @@
for (String name : planList) {
if (name != null && !"".equals(name)) {
try {
- AnalysePlan plan = AnalysePlanStorage
- .getAnalysePlan(name)
- .getNewAnalysePlanInstance();
+ SimulationPlan plan = SimulationPlanStorage
+ .getSimulationPlan(name)
+ .getNewSimulationPlanInstance();
StorageHelper.populateStorageParams(planIndex++,
getRegion().getStorage(), plan, propertiesParameters, "plan");
- analysePlans.add(plan);
+ simulationPlans.add(plan);
} catch (IsisFishException eee) {
if (log.isWarnEnabled()) {
log.warn("Can't find plan: " + name, eee);
@@ -507,15 +507,15 @@
}
}
}
- return this.analysePlans;
+ return this.simulationPlans;
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#setAnalysePlans(java.util.List)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#setSimulationPlans(java.util.List)
*/
@Override
- public void setAnalysePlans(List<AnalysePlan> plans) {
- this.analysePlans = plans;
+ public void setSimulationPlans(List<SimulationPlan> plans) {
+ this.simulationPlans = plans;
}
/*
@@ -524,8 +524,8 @@
@Override
public boolean isIndependentPlan() {
boolean result = true;
- for (AnalysePlan plan : getAnalysePlans()) {
- if (!(plan instanceof AnalysePlanIndependent)) {
+ for (SimulationPlan plan : getSimulationPlans()) {
+ if (!(plan instanceof SimulationPlanIndependent)) {
result = false;
break;
}
@@ -538,8 +538,8 @@
*/
@Override
public void clearPlans() {
- if (analysePlans != null) {
- analysePlans.clear();
+ if (simulationPlans != null) {
+ simulationPlans.clear();
}
}
@@ -741,42 +741,42 @@
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#getSensitivityCalculator()
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#getSensitivityAnalysis()
*/
@Override
- public SensitivityCalculator getSensitivityCalculator() {
+ public SensitivityAnalysis getSensitivityAnalysis() {
- if (sensitivityCalculator == null) {
+ if (sensitivityAnalysis == null) {
if (propertiesParameters != null) {
- String calculatorName = propertiesParameters
- .getProperty("sensitivitycalculator");
- if (!StringUtils.isEmpty(calculatorName)) {
+ String analysisName = propertiesParameters
+ .getProperty("sensitivityanalysis");
+ if (!StringUtils.isEmpty(analysisName)) {
try {
- SensitivityStorage sensitivityStorage = SensitivityStorage.getSensitivity(calculatorName);
- sensitivityCalculator = sensitivityStorage.getNewSensitivityInstance();
+ SensitivityAnalysisStorage sensitivityStorage = SensitivityAnalysisStorage.getSensitivityAnalysis(analysisName);
+ sensitivityAnalysis = sensitivityStorage.getNewSensitivityAnalysisInstance();
// 0 = only single sensitivity
- StorageHelper.populateStorageParams(0, getRegion().getStorage(), sensitivityCalculator,
+ StorageHelper.populateStorageParams(0, getRegion().getStorage(), sensitivityAnalysis,
propertiesParameters, "sensitivity");
} catch (IsisFishException eee) {
- sensitivityCalculator = null;
+ sensitivityAnalysis = null;
if (log.isWarnEnabled()) {
- log.warn("Can't find sensitivity: " + sensitivityCalculator, eee);
+ log.warn("Can't find sensitivity: " + sensitivityAnalysis, eee);
}
}
}
}
}
- return sensitivityCalculator;
+ return sensitivityAnalysis;
}
/*
- * @see fr.ifremer.isisfish.simulator.SimulationParameter#setSensitivityCalculator(fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator)
+ * @see fr.ifremer.isisfish.simulator.SimulationParameter#setSensitivityAnalysis(fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis)
*/
@Override
- public void setSensitivityCalculator(
- SensitivityCalculator sensitivityCalculator) {
- this.sensitivityCalculator = sensitivityCalculator;
+ public void setSensitivityAnalysis(
+ SensitivityAnalysis sensitivityAnalysis) {
+ this.sensitivityAnalysis = sensitivityAnalysis;
}
/*
@@ -1327,8 +1327,8 @@
if (rules != null) {
result.rules = new LinkedList<Rule>(rules);
}
- if (analysePlans != null) {
- result.analysePlans = new LinkedList<AnalysePlan>(analysePlans);
+ if (simulationPlans != null) {
+ result.simulationPlans = new LinkedList<SimulationPlan>(simulationPlans);
}
if (resultEnabled != null) {
result.resultEnabled = new LinkedList<String>(resultEnabled);
@@ -1346,7 +1346,7 @@
if (sensitivityExports != null) {
result.sensitivityExports = new LinkedList<SensitivityExport>(sensitivityExports);
}
- result.sensitivityCalculator = sensitivityCalculator;
+ result.sensitivityAnalysis = sensitivityAnalysis;
return result;
}
@@ -1425,11 +1425,11 @@
result.append("\n\n");
// analyse plans
- for (AnalysePlan plan : getAnalysePlans()) {
+ for (SimulationPlan plan : getSimulationPlans()) {
String name = RuleStorage.getName(plan);
String param = "";
try {
- param = AnalysePlanStorage.getParamAsString(plan);
+ param = SimulationPlanStorage.getParamAsString(plan);
} catch (IsisFishException eee) {
if (log.isWarnEnabled()) {
log.warn("Can't convert plan parameter to string for "
@@ -1536,11 +1536,11 @@
}
// anaylyse plans
- if (analysePlans != null) {
+ if (simulationPlans != null) {
String planList = "";
int planIndex = 0;
- for (AnalysePlan plan : getAnalysePlans()) {
- planList += AnalysePlanStorage.getName(plan) + ",";
+ for (SimulationPlan plan : getSimulationPlans()) {
+ planList += SimulationPlanStorage.getName(plan) + ",";
Properties planProp = StorageHelper.getParamsAsProperties(planIndex++,
getRegion().getStorage(), plan, "plan");
result.putAll(planProp);
@@ -1572,14 +1572,14 @@
.valueOf(getNumberOfSensitivitySimulation()));
// calculator name
- if (sensitivityCalculator != null) {
- String calculatorName = SensitivityStorage
- .getName(getSensitivityCalculator());
+ if (sensitivityAnalysis != null) {
+ String calculatorName = SensitivityAnalysisStorage
+ .getName(getSensitivityAnalysis());
result.setProperty("sensitivitycalculator", calculatorName);
// calculator parameter
Properties calculatorParams = StorageHelper.getParamsAsProperties(0,
- getRegion().getStorage(), getSensitivityCalculator(), "sensitivity");
+ getRegion().getStorage(), getSensitivityAnalysis(), "sensitivity");
result.putAll(calculatorParams);
} else {
if (propertiesParameters != null
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlan.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlan.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlan.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,90 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.simulator;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+
+/**
+ * Simulation plan.
+ *
+ * Replace old {@code AnalysePlan}.
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public interface SimulationPlan {
+
+ /**
+ * Return plan necessary Results.
+ *
+ * @return the necessaryResult name
+ */
+ public String[] getNecessaryResult();
+
+ /**
+ * Return plan description.
+ *
+ * @return plan description
+ * @throws Exception
+ */
+ public String getDescription() throws Exception;
+
+ /**
+ * Use only once before first simulation.
+ *
+ * You can modified Param for all simulation or put value in context.values.
+ *
+ * @param context plan context
+ * @throws Exception
+ */
+ public void init(SimulationPlanContext context) throws Exception;
+
+ /**
+ * Call before each simulation.
+ *
+ * @param context plan context
+ * @param nextSimulation storage used for next simulation
+ * @return true if we must do next simulation, false to stop plan
+ * @throws Exception
+ */
+ public boolean beforeSimulation(SimulationPlanContext context,
+ SimulationStorage nextSimulation) throws Exception;
+
+ /**
+ * Call after each simulation.
+ *
+ * @param context plan context
+ * @param lastSimulation storage used for simulation
+ * @return true if we must do next simulation, false to stop plan
+ * @throws Exception
+ */
+ public boolean afterSimulation(SimulationPlanContext context,
+ SimulationStorage lastSimulation) throws Exception;
+
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlan.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanContext.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanContext.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanContext.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,153 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.simulator;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+
+/**
+ * Simulation plan context.java
+ *
+ * Replace old {@code AnalysePlanContext}.
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class SimulationPlanContext {
+
+ /** Simulation id. */
+ protected String id;
+
+ /** Analyse plan number. */
+ protected int number = 0;
+
+ /** Simulation parameters. */
+ protected SimulationParameter param;
+
+ /** Additionnal context values. */
+ protected Map<String, Object> values = new HashMap<String, Object>();
+
+ public SimulationPlanContext(String id, SimulationParameter param) {
+ this.id = id;
+ this.param = param;
+ }
+
+ /**
+ * Get id.
+ *
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Get current analyze plan simulation count.
+ *
+ * Warning, in after simulation, refer to generated simulation count,
+ * not ended simulation number.
+ * Depreciated, but no remove this method, it's just to not be used
+ * by user script.
+ *
+ * @return the number
+ *
+ * @deprecated use {@code nextSimulation.getParameter().getAnalysePlanNumber()}
+ */
+ public int getNumber() {
+ return number;
+ }
+
+ /**
+ * Must be call when new simulation is generated from plan.
+ */
+ public void incNumber() {
+ number++;
+ }
+
+ /**
+ * Get simulation parameters.
+ *
+ * @return simulation parameters
+ */
+ public SimulationParameter getParam() {
+ return param;
+ }
+
+ /**
+ * Get plan context value.
+ *
+ * Used in script.
+ *
+ * @param key key
+ * @return value for key.
+ */
+ public Object getValue(String key) {
+ return this.values.get(key);
+ }
+
+ /**
+ * Set plan context value.
+ *
+ * Used in script.
+ *
+ * @param key key
+ * @param value value
+ */
+ public void setValue(String key, Object value) {
+ this.values.put(key, value);
+ }
+
+ /**
+ * Get last simulation storage.
+ *
+ * Used in script.
+ *
+ * @return last simulation storage
+ */
+ public SimulationStorage getLastSimulation() {
+ SimulationStorage result = getSimulation(getNumber() - 1);
+ return result;
+ }
+
+ /**
+ * Get {@link SimulationStorage} for specified analyse plan number.
+ *
+ * @param number number
+ * @return {@link SimulationStorage}
+ */
+ public SimulationStorage getSimulation(int number) {
+ SimulationStorage result = null;
+ if (0 <= number && number <= getNumber()) {
+ result = SimulationStorage.getSimulation(id + "_" + number);
+ }
+ return result;
+ }
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanContext.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanIndependent.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanIndependent.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanIndependent.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,41 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.simulator;
+
+/**
+ * Use for SimulationPlan that don't need previous simulation to do next
+ * simulation. When Simulation use this plan type, Isis can do more than one
+ * simulation in same time.
+ *
+ * @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public interface SimulationPlanIndependent extends SimulationPlan {
+
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationPlanIndependent.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
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 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -61,7 +61,7 @@
import fr.ifremer.isisfish.simulator.SimulationParameter;
import fr.ifremer.isisfish.simulator.SimulationParameterImpl;
import fr.ifremer.isisfish.simulator.launcher.SimulationJob.PostAction;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityException;
/**
@@ -679,12 +679,11 @@
// et on l'envoie au script d'analyse de sensibilite
if (numberFinished == numberOfSimulation) {
- SensitivityCalculator sensitivityCalculator = params
- .getSensitivityCalculator();
- if (sensitivityCalculator != null) {
+ SensitivityAnalysis sensitivityAnalysis = params.getSensitivityAnalysis();
+ if (sensitivityAnalysis != null) {
if (log.isDebugEnabled()) {
log.debug("Call analyzeResult on sensitivity script "
- + sensitivityCalculator.getClass()
+ + sensitivityAnalysis.getClass()
.getSimpleName());
}
try {
@@ -696,7 +695,7 @@
.getSensitivityResultsDirectory(),
simulationCommonPrefix);
// directory must already exists !!!
- sensitivityCalculator.analyzeResult(
+ sensitivityAnalysis.analyzeResult(
simulationStorageForAnalyze,
masterExportDirectory);
} catch (SensitivityException e) {
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 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -68,29 +68,29 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishRuntimeException;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
import fr.ifremer.isisfish.datastore.SensitivityExportStorage;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
import fr.ifremer.isisfish.export.SensitivityExport;
import fr.ifremer.isisfish.mexico.MexicoHelper;
import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.rule.RuleHelper;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-import fr.ifremer.isisfish.simulator.AnalysePlanContext;
import fr.ifremer.isisfish.simulator.SimulationControl;
import fr.ifremer.isisfish.simulator.SimulationException;
import fr.ifremer.isisfish.simulator.SimulationParameter;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+import fr.ifremer.isisfish.simulator.SimulationPlanContext;
import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.FactorGroup;
import fr.ifremer.isisfish.simulator.sensitivity.Scenario;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityScenarios;
import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
import fr.ifremer.isisfish.util.CompileHelper;
@@ -415,12 +415,12 @@
* @param param les parametres de la simulation
* @param launcher le launcher a utiliser pour lancer la simulation
* @param priority la priorite de la simulation
- * @param sensitivitycalculator l'implementation du calculateur de sensibilite
+ * @param sensitivityAnalysis l'implementation du calculateur de sensibilite
* @param designPlan le design plan qui contient les facteurs
*/
public void submit(String id, SimulationParameter param,
SimulatorLauncher launcher, int priority,
- SensitivityCalculator sensitivitycalculator, DesignPlan designPlan) {
+ SensitivityAnalysis sensitivityAnalysis, DesignPlan designPlan) {
// make deep copy, ui, still work with
// copy need to be deep for analyse plan to reload
@@ -454,11 +454,11 @@
// Sensitivity scenario returned contains same factor references
// as input design plan. Factor group are still present
- SensitivityScenarios sensitivityScenarios = sensitivitycalculator
+ SensitivityScenarios sensitivityScenarios = sensitivityAnalysis
.compute(designPlan, masterExportDirectory);
// ajout des parametres de simulation
- localParameters.setSensitivityCalculator(sensitivitycalculator);
+ localParameters.setSensitivityAnalysis(sensitivityAnalysis);
localParameters.setNumberOfSensitivitySimulation(sensitivityScenarios.getScenarios().size());
// on l'ajoute tout de suite a la liste des simulations demandee
@@ -806,7 +806,7 @@
Iterator<SimulationJob>, SimulationJob.PostAction {
protected SimulationService simulationService;
- protected AnalysePlanContext planContext;
+ protected SimulationPlanContext planContext;
protected SimulationJob job;
protected SimulationJob nextJob;
protected boolean doNext = true;
@@ -822,11 +822,11 @@
id = job.getItem().getControl().getId();
control = job.getItem().getControl();
param = job.getItem().getParameter();
- this.planContext = new AnalysePlanContext(control.getId(), param);
+ this.planContext = new SimulationPlanContext(control.getId(), param);
try {
// appel de init sur chaque plan
- for (AnalysePlan plan : param.getAnalysePlans()) {
+ for (SimulationPlan plan : param.getSimulationPlans()) {
plan.init(planContext);
}
} catch (Exception eee) {
@@ -952,7 +952,7 @@
sim.getParameter().setAnalysePlanNumber(planNumber);
// appel de tous les plans pour modifier la simulation
- for (AnalysePlan plan : param.getAnalysePlans()) {
+ for (SimulationPlan plan : param.getSimulationPlans()) {
result = result
&& plan.beforeSimulation(planContext, sim);
if (!result) {
@@ -1025,9 +1025,9 @@
// doNext = true;
// appel de tous les plans pour modifier la simulation
- // EC20090716 : use param.getAnalysePlans() instances,
- // not sim.getParameters().getAnalysePlans() not sames !!!
- for (AnalysePlan plan : param.getAnalysePlans()) {
+ // EC20090716 : use param.getSimulationPlans() instances,
+ // not sim.getParameters().getSimulationPlans() not sames !!!
+ for (SimulationPlan plan : param.getSimulationPlans()) {
try {
boolean result = plan.afterSimulation(planContext, sim);
doNext = doNext && result;
@@ -1135,14 +1135,14 @@
}
// copie de toutes regles a utiliser
- List<AnalysePlan> plans = param.getAnalysePlans();
- for (AnalysePlan plan : plans) {
- String name = AnalysePlanStorage.getName(plan);
- File planFile = new File(AnalysePlanStorage.getAnalysePlanDirectory(), name + ".java");
+ List<SimulationPlan> plans = param.getSimulationPlans();
+ for (SimulationPlan plan : plans) {
+ String name = SimulationPlanStorage.getName(plan);
+ File planFile = new File(SimulationPlanStorage.getSimulationPlanDirectory(), name + ".java");
if (!planFile.isFile()) {
- planFile = new File(AnalysePlanStorage.getCommunityAnalysePlanDirectory(), name + ".java");
+ planFile = new File(SimulationPlanStorage.getCommunitySimulationPlanDirectory(), name + ".java");
}
- FileUtil.copy(planFile, new File(tmpDirectory, AnalysePlanStorage.ANALYSE_PLAN_PATH
+ FileUtil.copy(planFile, new File(tmpDirectory, SimulationPlanStorage.SIMULATION_PLAN_PATH
+ File.separator + name + ".java"));
}
@@ -1288,12 +1288,12 @@
List<File> fileToCompile = new ArrayList<File>();
String[] modules = {
- AnalysePlanStorage.ANALYSE_PLAN_PATH,
ExportStorage.EXPORT_PATH,
RuleStorage.RULE_PATH,
SensitivityExportStorage.SENSITIVITY_EXPORT_PATH,
- SensitivityStorage.SENSITIVITY_PATH,
+ SensitivityAnalysisStorage.SENSITIVITY_ANALYSIS_PATH,
ScriptStorage.SCRIPT_PATH,
+ SimulationPlanStorage.SIMULATION_PLAN_PATH,
SimulatorStorage.SIMULATOR_PATH
};
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java (from rev 3393, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityCalculator.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityAnalysis.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,287 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.simulator.sensitivity;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+
+import javax.swing.Box;
+import javax.swing.JLabel;
+import javax.swing.JOptionPane;
+import javax.swing.JScrollPane;
+import javax.swing.JTextPane;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.j2r.REngine;
+import org.nuiton.j2r.RException;
+import org.nuiton.j2r.RProxy;
+import org.nuiton.util.FileUtil;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.export.SensitivityExport;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
+
+public abstract class AbstractSensitivityAnalysis implements
+ SensitivityAnalysis {
+
+ /** to use log facility, just put in your code: log.info("..."); */
+ private static Log log = LogFactory
+ .getLog(AbstractSensitivityAnalysis.class);
+
+ /**
+ * Method to create the isis.factors dataframe in R.
+ *
+ * @param plan Design plan of the sensitivity analysis
+ * @param outputdirectory the directory on which we will calculate the
+ * destination RData file. The RData file will be named directory.RData and
+ * saved in the directory parent.
+ *
+ * @throws SensitivityException if an error occur while talking to R
+ */
+ public void setIsisFactorsR(DesignPlan plan, File outputdirectory)
+ throws SensitivityException {
+
+ String nomFacteur = "nomFacteur<-c(%s)";
+ String factorNames = "";
+ String nominal = "Nominal<-c(%s)";
+ String nominalValues = "";
+ String continu = "Continu<-c(%s)";
+ String continuValues = "";
+ String binf = "Binf<-c(%s)";
+ String binfValues = "";
+ String bsup = "Bsup<-c(%s)";
+ String bsupValues = "";
+ String attribute = "attr(isis.factors,\"%s\")<-\"%s\"";
+ String isisfactors = "isis.factors<-data.frame(" +
+ "\"nomFacteur\"=nomFacteur," +
+ "\"Nominal\"=Nominal," +
+ "\"Continu\"=Continu," +
+ "\"Binf\"=Binf," +
+ "\"Bsup\"=Bsup)";
+
+ //Create the vectors
+ List<Factor> factors = plan.getFactors();
+ for (int i = 0; i < factors.size(); i++) {
+ Factor factor = factors.get(i);
+ if (i != 0) {
+ factorNames += ",";
+ nominalValues += ",";
+ continuValues += ",";
+ binfValues += ",";
+ bsupValues += ",";
+ }
+
+ //Factor names
+ factorNames += "\"" + factor.getName() + "\"";
+
+ if (factor.getDomain() instanceof ContinuousDomain) {
+ //Continu values, binf values, bsup values and discrete factors attributes
+
+ nominalValues += "\"" + factor.getNominalValue() + "\"";
+
+ //Continu values
+ continuValues += "TRUE";
+
+ //Binf values
+
+ binfValues += ((ContinuousDomain) factor.getDomain())
+ .getCalculatorMinBound();
+
+ //Bsup values
+ bsupValues += ((ContinuousDomain) factor.getDomain())
+ .getCalculatorMaxBound();
+
+ } else {
+ nominalValues += factor.getNominalValue();
+
+ //Continu values
+ continuValues += "FALSE";
+
+ //Binf values
+ binfValues += "0.0";
+
+ //Bsup values
+ bsupValues += ((DiscreteDomain) factor.getDomain()).getValues()
+ .size();
+ }
+ }
+
+ String Rcall;
+
+
+ try {
+ REngine engine = new RProxy();
+
+ //clear the engine (to be sure it's empty)
+ engine.clearSession();
+
+ Rcall = String.format(nomFacteur, factorNames);
+ engine.voidEval(Rcall);
+
+ Rcall = String.format(nominal, nominalValues);
+ engine.voidEval(Rcall);
+
+ Rcall = String.format(continu, continuValues);
+ engine.voidEval(Rcall);
+
+ Rcall = String.format(binf, binfValues);
+ engine.voidEval(Rcall);
+
+ Rcall = String.format(bsup, bsupValues);
+ engine.voidEval(Rcall);
+
+ engine.voidEval(isisfactors);
+
+ Rcall = String.format(attribute, "nomModel", "isis-fish-externeR");
+ engine.voidEval(Rcall);
+
+ for (Factor factor:factors) {
+ if (factor.getDomain() instanceof DiscreteDomain) {
+ String attributeValues = "list(";
+ Collection<Object> values = ((DiscreteDomain) factor.getDomain())
+ .getValues().values();
+ for (Object j:values) {
+ attributeValues += j + ",";
+ }
+ attributeValues = attributeValues.substring(0,
+ attributeValues.length() - 1);
+ attributeValues += ")";
+
+ Rcall = String.format(attribute, factor.getName(),
+ attributeValues);
+ engine.voidEval(Rcall);
+ }
+ }
+
+ //Save the Isis R session
+ engine.saveRData(outputdirectory.getParentFile(),
+ outputdirectory.getName());
+
+ } catch (RException eee) {
+ if (log.isErrorEnabled()) {
+ log.error("R evaluation failed", eee);
+ }
+ throw new SensitivityException("R evaluation failed", eee);
+ // Error while retrieving scenario
+ }
+
+ }
+
+ protected String editRInstruction(String rCall){
+ JLabel label = new JLabel(
+ "Modifier le code R envoyé si vous le souhaitez");
+ JTextPane text = new JTextPane();
+ text.setText(rCall);
+ text.setSize(400, 400);
+ text.setPreferredSize(text.getSize());
+
+ Box box = Box.createVerticalBox();
+ box.add(label);
+ box.add(new JScrollPane(text));
+
+ JOptionPane.showMessageDialog(null, box, "R modif",
+ JOptionPane.QUESTION_MESSAGE);
+ return text.getText();
+ }
+
+ protected void testNoDiscrete(List<Factor> factors) throws SensitivityException{
+ for (Factor factor:factors) {
+ if (factor.getDomain() instanceof DiscreteDomain) {
+ throw new SensitivityException(factor.getName() +
+ " has a discrete domain, this is not acceptable for " +
+ "this method.");
+ }
+ }
+ }
+
+ protected String createImportInstruction(
+ SensitivityExport export,
+ List<SimulationStorage> simulationStorages) {
+
+ //the filename to read
+ String name = export.getExportFilename();
+ //the extension to read
+ String extension = export.getExtensionFilename();
+ //the rInstruction
+ String rInstruction = name + "<-c(";
+
+ //iterate on all the simulations and read the value for each one
+ for (int l = 0; l < simulationStorages.size(); l++) {
+
+ SimulationStorage simulationStorage = simulationStorages.get(l);
+ File directory = simulationStorage.getDirectory();
+
+ String directoryPath = directory.toString() + File.separator
+ + SimulationStorage.RESULT_EXPORT_DIRECTORY;
+
+ File importFile = new File(directoryPath, name + extension);
+
+ String simulResult="";
+ try{
+ simulResult = FileUtil.readAsString(importFile);
+ } catch (IOException ioe) {
+ log.error ("An error occured trying to read a result file : " +
+ ioe.getMessage());
+ }
+
+
+ double simulationResult = Double.valueOf(simulResult);
+
+ if (l < simulationStorages.size() - 1) {
+ rInstruction += simulationResult + ",";
+ } else {
+ rInstruction += simulationResult;
+ }
+ }
+ rInstruction += ")";
+
+ return rInstruction;
+ }
+
+ protected void renameObjects(REngine engine, String simulationName)
+ throws RException {
+
+ String renameIsisSimule = "%s.isis.simule<-isis.simule";
+ String renameIsisFactorDistribution = "%s.isis.factor.distribution" +
+ "<-isis.factor.distribution";
+ String renameIsisFactor = "%s.isis.factor<-isis.factors";
+ String renameIsisMethodExp = "%s.isis.methodExp<-isis.MethodExp";
+
+ engine.voidEval(String.format(renameIsisSimule, simulationName));
+
+ engine.voidEval(String.format(renameIsisFactorDistribution,
+ simulationName));
+
+ engine.voidEval(String.format(renameIsisFactor, simulationName));
+
+ engine.voidEval(String.format(renameIsisMethodExp, simulationName));
+ }
+
+}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityCalculator.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityCalculator.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/AbstractSensitivityCalculator.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,287 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
- * %%
- * 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.simulator.sensitivity;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.List;
-
-import javax.swing.Box;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JScrollPane;
-import javax.swing.JTextPane;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.j2r.REngine;
-import org.nuiton.j2r.RException;
-import org.nuiton.j2r.RProxy;
-import org.nuiton.util.FileUtil;
-
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-import fr.ifremer.isisfish.export.SensitivityExport;
-import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
-
-public abstract class AbstractSensitivityCalculator implements
- SensitivityCalculator {
-
- /** to use log facility, just put in your code: log.info("..."); */
- private static Log log = LogFactory
- .getLog(AbstractSensitivityCalculator.class);
-
- /**
- * Method to create the isis.factors dataframe in R.
- *
- * @param plan Design plan of the sensitivity analysis
- * @param outputdirectory the directory on which we will calculate the
- * destination RData file. The RData file will be named directory.RData and
- * saved in the directory parent.
- *
- * @throws SensitivityException if an error occur while talking to R
- */
- public void setIsisFactorsR(DesignPlan plan, File outputdirectory)
- throws SensitivityException {
-
- String nomFacteur = "nomFacteur<-c(%s)";
- String factorNames = "";
- String nominal = "Nominal<-c(%s)";
- String nominalValues = "";
- String continu = "Continu<-c(%s)";
- String continuValues = "";
- String binf = "Binf<-c(%s)";
- String binfValues = "";
- String bsup = "Bsup<-c(%s)";
- String bsupValues = "";
- String attribute = "attr(isis.factors,\"%s\")<-\"%s\"";
- String isisfactors = "isis.factors<-data.frame(" +
- "\"nomFacteur\"=nomFacteur," +
- "\"Nominal\"=Nominal," +
- "\"Continu\"=Continu," +
- "\"Binf\"=Binf," +
- "\"Bsup\"=Bsup)";
-
- //Create the vectors
- List<Factor> factors = plan.getFactors();
- for (int i = 0; i < factors.size(); i++) {
- Factor factor = factors.get(i);
- if (i != 0) {
- factorNames += ",";
- nominalValues += ",";
- continuValues += ",";
- binfValues += ",";
- bsupValues += ",";
- }
-
- //Factor names
- factorNames += "\"" + factor.getName() + "\"";
-
- if (factor.getDomain() instanceof ContinuousDomain) {
- //Continu values, binf values, bsup values and discrete factors attributes
-
- nominalValues += "\"" + factor.getNominalValue() + "\"";
-
- //Continu values
- continuValues += "TRUE";
-
- //Binf values
-
- binfValues += ((ContinuousDomain) factor.getDomain())
- .getCalculatorMinBound();
-
- //Bsup values
- bsupValues += ((ContinuousDomain) factor.getDomain())
- .getCalculatorMaxBound();
-
- } else {
- nominalValues += factor.getNominalValue();
-
- //Continu values
- continuValues += "FALSE";
-
- //Binf values
- binfValues += "0.0";
-
- //Bsup values
- bsupValues += ((DiscreteDomain) factor.getDomain()).getValues()
- .size();
- }
- }
-
- String Rcall;
-
-
- try {
- REngine engine = new RProxy();
-
- //clear the engine (to be sure it's empty)
- engine.clearSession();
-
- Rcall = String.format(nomFacteur, factorNames);
- engine.voidEval(Rcall);
-
- Rcall = String.format(nominal, nominalValues);
- engine.voidEval(Rcall);
-
- Rcall = String.format(continu, continuValues);
- engine.voidEval(Rcall);
-
- Rcall = String.format(binf, binfValues);
- engine.voidEval(Rcall);
-
- Rcall = String.format(bsup, bsupValues);
- engine.voidEval(Rcall);
-
- engine.voidEval(isisfactors);
-
- Rcall = String.format(attribute, "nomModel", "isis-fish-externeR");
- engine.voidEval(Rcall);
-
- for (Factor factor:factors) {
- if (factor.getDomain() instanceof DiscreteDomain) {
- String attributeValues = "list(";
- Collection<Object> values = ((DiscreteDomain) factor.getDomain())
- .getValues().values();
- for (Object j:values) {
- attributeValues += j + ",";
- }
- attributeValues = attributeValues.substring(0,
- attributeValues.length() - 1);
- attributeValues += ")";
-
- Rcall = String.format(attribute, factor.getName(),
- attributeValues);
- engine.voidEval(Rcall);
- }
- }
-
- //Save the Isis R session
- engine.saveRData(outputdirectory.getParentFile(),
- outputdirectory.getName());
-
- } catch (RException eee) {
- if (log.isErrorEnabled()) {
- log.error("R evaluation failed", eee);
- }
- throw new SensitivityException("R evaluation failed", eee);
- // Error while retrieving scenario
- }
-
- }
-
- protected String editRInstruction(String rCall){
- JLabel label = new JLabel(
- "Modifier le code R envoyé si vous le souhaitez");
- JTextPane text = new JTextPane();
- text.setText(rCall);
- text.setSize(400, 400);
- text.setPreferredSize(text.getSize());
-
- Box box = Box.createVerticalBox();
- box.add(label);
- box.add(new JScrollPane(text));
-
- JOptionPane.showMessageDialog(null, box, "R modif",
- JOptionPane.QUESTION_MESSAGE);
- return text.getText();
- }
-
- protected void testNoDiscrete(List<Factor> factors) throws SensitivityException{
- for (Factor factor:factors) {
- if (factor.getDomain() instanceof DiscreteDomain) {
- throw new SensitivityException(factor.getName() +
- " has a discrete domain, this is not acceptable for " +
- "this method.");
- }
- }
- }
-
- protected String createImportInstruction(
- SensitivityExport export,
- List<SimulationStorage> simulationStorages) {
-
- //the filename to read
- String name = export.getExportFilename();
- //the extension to read
- String extension = export.getExtensionFilename();
- //the rInstruction
- String rInstruction = name + "<-c(";
-
- //iterate on all the simulations and read the value for each one
- for (int l = 0; l < simulationStorages.size(); l++) {
-
- SimulationStorage simulationStorage = simulationStorages.get(l);
- File directory = simulationStorage.getDirectory();
-
- String directoryPath = directory.toString() + File.separator
- + SimulationStorage.RESULT_EXPORT_DIRECTORY;
-
- File importFile = new File(directoryPath, name + extension);
-
- String simulResult="";
- try{
- simulResult = FileUtil.readAsString(importFile);
- } catch (IOException ioe) {
- log.error ("An error occured trying to read a result file : " +
- ioe.getMessage());
- }
-
-
- double simulationResult = Double.valueOf(simulResult);
-
- if (l < simulationStorages.size() - 1) {
- rInstruction += simulationResult + ",";
- } else {
- rInstruction += simulationResult;
- }
- }
- rInstruction += ")";
-
- return rInstruction;
- }
-
- protected void renameObjects(REngine engine, String simulationName)
- throws RException {
-
- String renameIsisSimule = "%s.isis.simule<-isis.simule";
- String renameIsisFactorDistribution = "%s.isis.factor.distribution" +
- "<-isis.factor.distribution";
- String renameIsisFactor = "%s.isis.factor<-isis.factors";
- String renameIsisMethodExp = "%s.isis.methodExp<-isis.MethodExp";
-
- engine.voidEval(String.format(renameIsisSimule, simulationName));
-
- engine.voidEval(String.format(renameIsisFactorDistribution,
- simulationName));
-
- engine.voidEval(String.format(renameIsisFactor, simulationName));
-
- engine.voidEval(String.format(renameIsisMethodExp, simulationName));
- }
-
-}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysis.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysis.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysis.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,95 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.simulator.sensitivity;
+
+import java.io.File;
+import java.util.List;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+
+/**
+ * Interface commune à toutes implémentation de calcul de sensibilité.
+ *
+ * Les implémentations peuvent contenir des paramètres nommé "param_xx" (pour le
+ * paramètre xx) qui seront injecté par Isis.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$ By : $Author$
+ */
+public interface SensitivityAnalysis {
+
+ /**
+ * Return calculator description.
+ *
+ * @return calculator description
+ */
+ String getDescription();
+
+ /**
+ * Retourne vrai si le calculateur sait gerer la cardinalité
+ * des facteurs continue.
+ *
+ * @return <tt>true</tt> s'il sait la gerer
+ */
+ boolean canManageCardinality();
+
+ /**
+ * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
+ *
+ * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
+ * scenarios à prendre en compte pour les simulations.
+ *
+ * @param plan plan a analyser
+ * @param outputdirectory master sensitivity export directory
+ *
+ * @return un {@link SensitivityScenarios}
+ * @throws SensitivityException if calculator impl fail to execute
+ *
+ * @see DesignPlan
+ * @see Scenario
+ * @see SensitivityScenarios
+ */
+ SensitivityScenarios compute(DesignPlan plan, File outputdirectory)
+ throws SensitivityException;
+
+ /**
+ * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
+ * de sensibilité.
+ *
+ * @param simulationStorages
+ * ensemble des {@link SimulationStorage} qui ont résultés des
+ * simulations
+ * @param outputdirectory master sensitivity export directory
+ * @throws SensitivityException
+ * if calculator impl fail to execute
+ *
+ * @see SensitivityScenarios
+ */
+ void analyzeResult(List<SimulationStorage> simulationStorages,
+ File outputdirectory) throws SensitivityException;
+}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysis.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculator.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
+ * Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -25,11 +25,7 @@
package fr.ifremer.isisfish.simulator.sensitivity;
-import java.io.File;
-import java.util.List;
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-
/**
* Interface commune à toutes implémentation de calcul de sensibilité.
*
@@ -40,56 +36,10 @@
* @version $Revision: 1.0 $
*
* Last update : $Date: 19 févr. 2009 $ By : $Author: chatellier $
+ *
+ * @deprecated since 4.0.0.0, use {@link SensitivityCalculator} instead
*/
-public interface SensitivityCalculator {
+ at Deprecated
+public interface SensitivityCalculator extends SensitivityAnalysis {
- /**
- * Return calculator description.
- *
- * @return calculator description
- */
- String getDescription();
-
- /**
- * Retourne vrai si le calculateur sait gerer la cardinalité
- * des facteurs continue.
- *
- * @return <tt>true</tt> s'il sait la gerer
- */
- boolean canManageCardinality();
-
- /**
- * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
- *
- * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
- * scenarios à prendre en compte pour les simulations.
- *
- * @param plan plan a analyser
- * @param outputdirectory master sensitivity export directory
- *
- * @return un {@link SensitivityScenarios}
- * @throws SensitivityException if calculator impl fail to execute
- *
- * @see DesignPlan
- * @see Scenario
- * @see SensitivityScenarios
- */
- SensitivityScenarios compute(DesignPlan plan, File outputdirectory)
- throws SensitivityException;
-
- /**
- * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
- * de sensibilité.
- *
- * @param simulationStorages
- * ensemble des {@link SimulationStorage} qui ont résultés des
- * simulations
- * @param outputdirectory master sensitivity export directory
- * @throws SensitivityException
- * if calculator impl fail to execute
- *
- * @see SensitivityScenarios
- */
- void analyzeResult(List<SimulationStorage> simulationStorages,
- File outputdirectory) throws SensitivityException;
}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboModel.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorComboModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,109 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.sensitivityanalysis;
+
+import java.util.List;
+
+import javax.swing.DefaultComboBoxModel;
+
+/**
+ * Model pour la liste des calculateurs de sensibilite.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityAnalysisComboModel extends DefaultComboBoxModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** SensitivityAnalysis names. */
+ protected List<String> sensitivityAnalysisNames;
+
+ /**
+ * Empty constructor.
+ */
+ public SensitivityAnalysisComboModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with calculator list.
+ *
+ * @param sensitivityAnalysisNames sensitivity analysis Names
+ */
+ public SensitivityAnalysisComboModel(List<String> sensitivityAnalysisNames) {
+ setSensitivityCalculatorNames(sensitivityAnalysisNames);
+ }
+
+ /**
+ * Get sensitivity analysis plan names.
+ *
+ * @return the sensitivity analysis plan names
+ */
+ public List<String> getSensitivityAnalysisNames() {
+ return sensitivityAnalysisNames;
+ }
+
+ /**
+ * Set sensitivity analysis names.
+ *
+ * @param sensitivityAnalysisNames the names to set
+ */
+ public void setSensitivityCalculatorNames(List<String> sensitivityAnalysisNames) {
+ this.sensitivityAnalysisNames = sensitivityAnalysisNames;
+
+ // default first selected
+ /* disable default selection
+ if (!sensitivityAnalysisNames.isEmpty()) {
+ setSelectedItem(sensitivityAnalysisNames.get(0));
+ }*/
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return sensitivityAnalysisNames.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (sensitivityAnalysisNames != null) {
+ size = sensitivityAnalysisNames.size();
+ }
+ return size;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorComboRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisComboRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,100 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.sensitivityanalysis;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.awt.Component;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+
+/**
+ * Renderer pour la combo des calculateurs de sensibilités.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityAnalysisComboRenderer extends DefaultListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Sensitivity cache. */
+ protected Map<String, SensitivityAnalysis> sensitivityAnalysisCache;
+
+ /**
+ * Empty constructor.
+ */
+ public SensitivityAnalysisComboRenderer() {
+ sensitivityAnalysisCache = new HashMap<String, SensitivityAnalysis>();
+ }
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ String sensitivityName = (String) value;
+ c.setText(sensitivityName);
+
+ // c'est tres couteux d'avoir une instance
+ // on les met en cache
+ try {
+ SensitivityAnalysis plan = sensitivityAnalysisCache.get(sensitivityName);
+ if (plan == null) {
+ SensitivityAnalysisStorage storage = SensitivityAnalysisStorage
+ .getSensitivityAnalysis(sensitivityName);
+ plan = storage.getNewSensitivityAnalysisInstance();
+ sensitivityAnalysisCache.put(sensitivityName, plan);
+ }
+
+ c.setToolTipText(plan.getDescription());
+ } catch (Exception e) {
+ String errorTooltip = TooltipHelper.getErrorTooltip(_("isisfish.error.compile.fileerror", sensitivityName));
+ c.setToolTipText(errorTooltip);
+ }
+
+ return c;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListModel.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorListModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,104 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.sensitivityanalysis;
+
+import java.util.List;
+
+import javax.swing.AbstractListModel;
+
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+
+/**
+ * Model pour la liste des instances de calculateurs.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityAnalysisListModel extends AbstractListModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ protected List<SensitivityAnalysis> sensitivityAnalysis;
+
+ /**
+ * Empty constructor.
+ */
+ public SensitivityAnalysisListModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with list.
+ *
+ * @param sensitivityAnalysis analysis list
+ */
+ public SensitivityAnalysisListModel(List<SensitivityAnalysis> sensitivityAnalysis) {
+ setSensitivityAnalysis(sensitivityAnalysis);
+ }
+
+ /**
+ * Get analysis list.
+ *
+ * @return the analysis
+ */
+ public List<SensitivityAnalysis> getSensitivityAnalysis() {
+ return sensitivityAnalysis;
+ }
+
+ /**
+ * Set analysis list.
+ *
+ * @param sensitivityAnalysis the analysis to set
+ */
+ public void setSensitivityAnalysis(List<SensitivityAnalysis> sensitivityAnalysis) {
+ this.sensitivityAnalysis = sensitivityAnalysis;
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return sensitivityAnalysis.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (sensitivityAnalysis != null) {
+ size = sensitivityAnalysis.size();
+ }
+ return size;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListRenderer.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorListRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisListRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,74 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.sensitivityanalysis;
+
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+
+/**
+ * Renderer pour la liste des plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityAnalysisListRenderer extends DefaultListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ SensitivityAnalysis sensitivity = (SensitivityAnalysis) value;
+ c.setText(SensitivityAnalysisStorage.getName(sensitivity));
+
+ try {
+ c.setToolTipText(sensitivity.getDescription());
+ } catch (Exception e) {
+ // can't get exception
+ }
+
+ return this;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellEditor.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorParametersTableCellEditor.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellEditor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellEditor.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,78 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.sensitivityanalysis;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityAnalysisParametersTableCellEditor extends
+ ParameterTableCellEditor {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 8211639776194497615L;
+
+ protected SensitivityAnalysis sensitivityAnalysis;
+
+ protected List<Class<?>> sensitivityCalculatorParametersTypes;
+
+ /**
+ * Constructor with calculator parameter.
+ *
+ * @param sensitivityAnalysis plan
+ */
+ public SensitivityAnalysisParametersTableCellEditor(SensitivityAnalysis sensitivityAnalysis) {
+ this.sensitivityAnalysis = sensitivityAnalysis;
+ sensitivityCalculatorParametersTypes = new ArrayList<Class<?>>();
+ //TODO map may be sorted
+ Map<String, Class<?>> planParametersNamesAndTypes = SensitivityAnalysisStorage
+ .getParameterNames(sensitivityAnalysis);
+ for (Class<?> type : planParametersNamesAndTypes.values()) {
+ sensitivityCalculatorParametersTypes.add(type);
+ }
+ }
+
+ /*
+ * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
+ */
+ @Override
+ protected Class<?> getType(Object value, int row, int column) {
+ return sensitivityCalculatorParametersTypes.get(row);
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellRenderer.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorParametersTableCellRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableCellRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,83 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.sensitivityanalysis;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
+
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+import fr.ifremer.isisfish.util.Doc;
+
+/**
+ * Specific renderer for calculator parameters.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityAnalysisParametersTableCellRenderer extends
+ DefaultTableCellRenderer implements TableCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -1655744662816030649L;
+
+ protected SensitivityAnalysis sensitivityAnalysis;
+
+ public SensitivityAnalysisParametersTableCellRenderer(SensitivityAnalysis sensitivityAnalysis) {
+ this.sensitivityAnalysis = sensitivityAnalysis;
+ }
+
+ /*
+ * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
+ */
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getTableCellRendererComponent(table, value,
+ isSelected, hasFocus, row, column);
+
+ String parameterName = (String) value;
+ c.setText(parameterName);
+
+ Doc doc = SensitivityAnalysisStorage.getParameterDoc(sensitivityAnalysis, parameterName);
+ String documentation = TooltipHelper.docToString(doc);
+ c.setToolTipText(documentation);
+
+ return c;
+ }
+
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableModel.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorParametersTableModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityAnalysisParametersTableModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,200 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.sensitivityanalysis;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.table.AbstractTableModel;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+
+/**
+ * Model de la table de definition de parametre d'un plan d'analyse.
+ *
+ * Columns :
+ * <li>Parameter name</li>
+ * <li>Parameter value</li>
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityAnalysisParametersTableModel extends AbstractTableModel {
+
+ /** Log. */
+ private static Log log = LogFactory
+ .getLog(SensitivityAnalysisParametersTableModel.class);
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3169786638868209920L;
+
+ /** Columns names. */
+ public final static String[] COLUMN_NAMES = { _("isisfish.common.name"),
+ _("isisfish.common.value") };
+
+ protected SensitivityAnalysis sensitivityAnalysis;
+
+ protected List<String> planParametersNames;
+
+ /**
+ * Constructor with data.
+ *
+ * @param sensitivityAnalysis plan to edit parameters
+ */
+ public SensitivityAnalysisParametersTableModel(SensitivityAnalysis sensitivityAnalysis) {
+ this.sensitivityAnalysis = sensitivityAnalysis;
+
+ //TODO map may be sorted
+ planParametersNames = new ArrayList<String>();
+ Map<String, Class<?>> planParametersNamesAndTypes = SensitivityAnalysisStorage
+ .getParameterNames(sensitivityAnalysis);
+ for (String names : planParametersNamesAndTypes.keySet()) {
+ planParametersNames.add(names);
+ }
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnCount()
+ */
+ @Override
+ public int getColumnCount() {
+ return COLUMN_NAMES.length;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getRowCount()
+ */
+ @Override
+ public int getRowCount() {
+ return planParametersNames.size();
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getValueAt(int, int)
+ */
+ @Override
+ public Object getValueAt(int rowIndex, int columnIndex) {
+
+ Object result = null;
+
+ String name = planParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 0:
+ result = name;
+ break;
+ case 1:
+ try {
+ result = SensitivityAnalysisStorage.getParameterValue(sensitivityAnalysis, name);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.debug("Can't get parameters value", e);
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnClass(int)
+ */
+ @Override
+ public Class<?> getColumnClass(int columnIndex) {
+
+ Class<?> result = null;
+
+ switch (columnIndex) {
+ case 0:
+ result = String.class;
+ break;
+ case 1:
+ result = Object.class;
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnName(int)
+ */
+ @Override
+ public String getColumnName(int columnIndex) {
+ return COLUMN_NAMES[columnIndex];
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#isCellEditable(int, int)
+ */
+ @Override
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ return columnIndex > 0;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
+ */
+ @Override
+ public void setValueAt(Object value, int rowIndex, int columnIndex) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Cell edition (column " + columnIndex + ") = " + value);
+ }
+
+ String name = planParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 1:
+ try {
+ SensitivityAnalysisStorage.setParameterValue(sensitivityAnalysis, name, value);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't set parameter value", e);
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("Can't edit column "
+ + columnIndex);
+ }
+
+ }
+}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorComboModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorComboModel.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorComboModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,110 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.sensitivity;
-
-import java.util.List;
-
-import javax.swing.DefaultComboBoxModel;
-
-/**
- * Model pour la liste des calculateurs de sensibilite.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityCalculatorComboModel extends DefaultComboBoxModel {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- /** SensitivityCalculator names. */
- protected List<String> sensitivityCalculatorNames;
-
- /**
- * Empty constructor.
- */
- public SensitivityCalculatorComboModel() {
- this(null);
- }
-
- /**
- * Constructor with calculator list.
- *
- * @param sensitivityCalculatorNames sensitivity calculator Names
- */
- public SensitivityCalculatorComboModel(List<String> sensitivityCalculatorNames) {
- super();
- setSensitivityCalculatorNames(sensitivityCalculatorNames);
- }
-
- /**
- * Get analyze plan names.
- *
- * @return the analyze plan names
- */
- public List<String> getSensitivityCalculatorNames() {
- return sensitivityCalculatorNames;
- }
-
- /**
- * Set sensitivity names.
- *
- * @param sensitivityCalculatorNames the names to set
- */
- public void setSensitivityCalculatorNames(List<String> sensitivityCalculatorNames) {
- this.sensitivityCalculatorNames = sensitivityCalculatorNames;
-
- // default first selected
- /* disable default selection
- if (!sensitivityCalculatorNames.isEmpty()) {
- setSelectedItem(sensitivityCalculatorNames.get(0));
- }*/
- }
-
- /*
- * @see javax.swing.ListModel#getElementAt(int)
- */
- @Override
- public Object getElementAt(int index) {
- return sensitivityCalculatorNames.get(index);
- }
-
- /*
- * @see javax.swing.ListModel#getSize()
- */
- @Override
- public int getSize() {
- int size = 0;
-
- if (sensitivityCalculatorNames != null) {
- size = sensitivityCalculatorNames.size();
- }
- return size;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorComboRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorComboRenderer.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorComboRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,102 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.sensitivity;
-
-import static org.nuiton.i18n.I18n._;
-
-import java.awt.Component;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.swing.DefaultListCellRenderer;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.ListCellRenderer;
-
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-import fr.ifremer.isisfish.ui.util.TooltipHelper;
-
-/**
- * Renderer pour la combo des calculateurs de sensibilités.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityCalculatorComboRenderer extends DefaultListCellRenderer implements
- ListCellRenderer {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- /** Sensitivity cache. */
- protected Map<String, SensitivityCalculator> sensitivityCalculatorCache;
-
- /**
- * Empty constructor.
- */
- public SensitivityCalculatorComboRenderer() {
- sensitivityCalculatorCache = new HashMap<String, SensitivityCalculator>();
- }
-
- /*
- * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
- */
- @Override
- public Component getListCellRendererComponent(JList list, Object value,
- int index, boolean isSelected, boolean cellHasFocus) {
-
- // this must be used to have alterned highlight rows and default
- // selection color
- JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
- index, isSelected, cellHasFocus);
-
- String sensitivityName = (String) value;
- c.setText(sensitivityName);
-
- // c'est tres couteux d'avoir une instance
- // on les met en cache
- try {
- SensitivityCalculator plan = sensitivityCalculatorCache.get(sensitivityName);
- if (plan == null) {
- SensitivityStorage storage = SensitivityStorage
- .getSensitivity(sensitivityName);
- plan = storage.getNewSensitivityInstance();
- sensitivityCalculatorCache.put(sensitivityName, plan);
- }
-
- c.setToolTipText(plan.getDescription());
- } catch (Exception e) {
- String errorTooltip = TooltipHelper.getErrorTooltip(_("isisfish.error.compile.fileerror", sensitivityName));
- c.setToolTipText(errorTooltip);
- }
-
- return c;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorListModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorListModel.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorListModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,105 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.sensitivity;
-
-import java.util.List;
-
-import javax.swing.AbstractListModel;
-
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-
-/**
- * Model pour la liste des instances de calculateurs.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityCalculatorListModel extends AbstractListModel {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- protected List<SensitivityCalculator> sensitivityCalculators;
-
- /**
- * Empty constructor.
- */
- public SensitivityCalculatorListModel() {
- this(null);
- }
-
- /**
- * Constructor with list.
- *
- * @param sensitivityCalculators calculators
- */
- public SensitivityCalculatorListModel(List<SensitivityCalculator> sensitivityCalculators) {
- super();
- setSensitivityCalculators(sensitivityCalculators);
- }
-
- /**
- * Get calculators list.
- *
- * @return the calculators
- */
- public List<SensitivityCalculator> getSensitivityCalculators() {
- return sensitivityCalculators;
- }
-
- /**
- * Set calculators list.
- *
- * @param sensitivityCalculators the calculators to set
- */
- public void setSensitivityCalculators(List<SensitivityCalculator> sensitivityCalculators) {
- this.sensitivityCalculators = sensitivityCalculators;
- }
-
- /*
- * @see javax.swing.ListModel#getElementAt(int)
- */
- @Override
- public Object getElementAt(int index) {
- return sensitivityCalculators.get(index);
- }
-
- /*
- * @see javax.swing.ListModel#getSize()
- */
- @Override
- public int getSize() {
- int size = 0;
-
- if (sensitivityCalculators != null) {
- size = sensitivityCalculators.size();
- }
- return size;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorListRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorListRenderer.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorListRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,76 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.sensitivity;
-
-import java.awt.Component;
-
-import javax.swing.DefaultListCellRenderer;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.ListCellRenderer;
-
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-
-/**
- * Renderer pour la liste des plans d'analyse.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityCalculatorListRenderer extends DefaultListCellRenderer implements
- ListCellRenderer {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- /*
- * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
- */
- @Override
- public Component getListCellRendererComponent(JList list, Object value,
- int index, boolean isSelected, boolean cellHasFocus) {
-
- // this must be used to have alterned highlight rows and default
- // selection color
- JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
- index, isSelected, cellHasFocus);
-
- SensitivityCalculator sensitivity = (SensitivityCalculator) value;
- c.setText(SensitivityStorage.getName(sensitivity));
-
- try {
- c.setToolTipText(sensitivity.getDescription());
- } catch (Exception e) {
- // can't get exception
- }
-
- return this;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableCellEditor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorParametersTableCellEditor.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableCellEditor.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,80 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.sensitivity;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
-
-/**
- * Specific editor for rule parameters.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityCalculatorParametersTableCellEditor extends
- ParameterTableCellEditor {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 8211639776194497615L;
-
- protected SensitivityCalculator sensitivityCalculator;
-
- protected List<Class<?>> sensitivityCalculatorParametersTypes;
-
- /**
- * Constructor with calculator parameter.
- *
- * @param sensitivityCalculator plan
- */
- public SensitivityCalculatorParametersTableCellEditor(SensitivityCalculator sensitivityCalculator) {
- super();
-
- this.sensitivityCalculator = sensitivityCalculator;
- sensitivityCalculatorParametersTypes = new ArrayList<Class<?>>();
- //TODO map may be sorted
- Map<String, Class<?>> planParametersNamesAndTypes = SensitivityStorage
- .getParameterNames(sensitivityCalculator);
- for (Class<?> type : planParametersNamesAndTypes.values()) {
- sensitivityCalculatorParametersTypes.add(type);
- }
- }
-
- /*
- * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
- */
- @Override
- protected Class<?> getType(Object value, int row, int column) {
- return sensitivityCalculatorParametersTypes.get(row);
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorParametersTableCellRenderer.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableCellRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,83 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.sensitivity;
-
-import java.awt.Component;
-
-import javax.swing.JLabel;
-import javax.swing.JTable;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
-
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-import fr.ifremer.isisfish.ui.util.TooltipHelper;
-import fr.ifremer.isisfish.util.Doc;
-
-/**
- * Specific renderer for calculator parameters.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityCalculatorParametersTableCellRenderer extends
- DefaultTableCellRenderer implements TableCellRenderer {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -1655744662816030649L;
-
- protected SensitivityCalculator sensitivityCalculator;
-
- public SensitivityCalculatorParametersTableCellRenderer(SensitivityCalculator sensitivityCalculator) {
- this.sensitivityCalculator = sensitivityCalculator;
- }
-
- /*
- * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
- */
- @Override
- public Component getTableCellRendererComponent(JTable table, Object value,
- boolean isSelected, boolean hasFocus, int row, int column) {
-
- // this must be used to have alterned highlight rows and default
- // selection color
- JLabel c = (JLabel) super.getTableCellRendererComponent(table, value,
- isSelected, hasFocus, row, column);
-
- String parameterName = (String) value;
- c.setText(parameterName);
-
- Doc doc = SensitivityStorage.getParameterDoc(sensitivityCalculator, parameterName);
- String documentation = TooltipHelper.docToString(doc);
- c.setToolTipText(documentation);
-
- return c;
- }
-
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivity/SensitivityCalculatorParametersTableModel.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/sensitivityanalysis/SensitivityCalculatorParametersTableModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,201 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.sensitivity;
-
-import static org.nuiton.i18n.I18n._;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.swing.table.AbstractTableModel;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-
-/**
- * Model de la table de definition de parametre d'un plan d'analyse.
- *
- * Columns :
- * <li>Parameter name</li>
- * <li>Parameter value</li>
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class SensitivityCalculatorParametersTableModel extends AbstractTableModel {
-
- /** Log. */
- private static Log log = LogFactory
- .getLog(SensitivityCalculatorParametersTableModel.class);
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 3169786638868209920L;
-
- /** Columns names. */
- public final static String[] COLUMN_NAMES = { _("isisfish.common.name"),
- _("isisfish.common.value") };
-
- protected SensitivityCalculator sensitivityCalculator;
-
- protected List<String> planParametersNames;
-
- /**
- * Constructor with data.
- *
- * @param sensitivityCalculator plan to edit parameters
- */
- public SensitivityCalculatorParametersTableModel(SensitivityCalculator sensitivityCalculator) {
- super();
- this.sensitivityCalculator = sensitivityCalculator;
-
- //TODO map may be sorted
- planParametersNames = new ArrayList<String>();
- Map<String, Class<?>> planParametersNamesAndTypes = SensitivityStorage
- .getParameterNames(sensitivityCalculator);
- for (String names : planParametersNamesAndTypes.keySet()) {
- planParametersNames.add(names);
- }
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnCount()
- */
- @Override
- public int getColumnCount() {
- return COLUMN_NAMES.length;
- }
-
- /*
- * @see javax.swing.table.TableModel#getRowCount()
- */
- @Override
- public int getRowCount() {
- return planParametersNames.size();
- }
-
- /*
- * @see javax.swing.table.TableModel#getValueAt(int, int)
- */
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
-
- Object result = null;
-
- String name = planParametersNames.get(rowIndex);
- switch (columnIndex) {
- case 0:
- result = name;
- break;
- case 1:
- try {
- result = SensitivityStorage.getParameterValue(sensitivityCalculator, name);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.debug("Can't get parameters value", e);
- }
- }
- break;
- default:
- throw new IndexOutOfBoundsException("No such column " + columnIndex);
- }
-
- return result;
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnClass(int)
- */
- @Override
- public Class<?> getColumnClass(int columnIndex) {
-
- Class<?> result = null;
-
- switch (columnIndex) {
- case 0:
- result = String.class;
- break;
- case 1:
- result = Object.class;
- break;
- default:
- throw new IndexOutOfBoundsException("No such column " + columnIndex);
- }
-
- return result;
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnName(int)
- */
- @Override
- public String getColumnName(int columnIndex) {
- return COLUMN_NAMES[columnIndex];
- }
-
- /*
- * @see javax.swing.table.TableModel#isCellEditable(int, int)
- */
- @Override
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return columnIndex > 0;
- }
-
- /*
- * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
- */
- @Override
- public void setValueAt(Object value, int rowIndex, int columnIndex) {
-
- if (log.isDebugEnabled()) {
- log.debug("Cell edition (column " + columnIndex + ") = " + value);
- }
-
- String name = planParametersNames.get(rowIndex);
- switch (columnIndex) {
- case 1:
- try {
- SensitivityStorage.setParameterValue(sensitivityCalculator, name, value);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't set parameter value", e);
- }
- }
- break;
- default:
- throw new IndexOutOfBoundsException("Can't edit column "
- + columnIndex);
- }
-
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanComboModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanComboModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,109 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.analyzeplan;
-
-import java.util.List;
-
-import javax.swing.DefaultComboBoxModel;
-
-/**
- * Model pour la liste des plans d'analyse.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class AnalyzePlanComboModel extends DefaultComboBoxModel {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- /** Analyze plan names. */
- protected List<String> analyzePlanNames;
-
- /**
- * Empty constructor.
- */
- public AnalyzePlanComboModel() {
- this(null);
- }
-
- /**
- * Constructor with rule list.
- *
- * @param analyzePlanNames analysePlan Names
- */
- public AnalyzePlanComboModel(List<String> analyzePlanNames) {
- super();
- setAnalyzePlanNames(analyzePlanNames);
- }
-
- /**
- * Get analyze plan names.
- *
- * @return the analyze plan names
- */
- public List<String> getAnalyzePlanNames() {
- return analyzePlanNames;
- }
-
- /**
- * Set analyze plan names.
- *
- * @param analyzePlanNames the analyze plan names to set
- */
- public void setAnalyzePlanNames(List<String> analyzePlanNames) {
- this.analyzePlanNames = analyzePlanNames;
-
- // default first selected
- if (!analyzePlanNames.isEmpty()) {
- setSelectedItem(analyzePlanNames.get(0));
- }
- }
-
- /*
- * @see javax.swing.ListModel#getElementAt(int)
- */
- @Override
- public Object getElementAt(int index) {
- return analyzePlanNames.get(index);
- }
-
- /*
- * @see javax.swing.ListModel#getSize()
- */
- @Override
- public int getSize() {
- int size = 0;
-
- if (analyzePlanNames != null) {
- size = analyzePlanNames.size();
- }
- return size;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanComboRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanComboRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,102 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.analyzeplan;
-
-import static org.nuiton.i18n.I18n._;
-
-import java.awt.Component;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.swing.DefaultListCellRenderer;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.ListCellRenderer;
-
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-import fr.ifremer.isisfish.ui.util.TooltipHelper;
-
-/**
- * Renderer pour la combo des plans d'analyse.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class AnalyzePlanComboRenderer extends DefaultListCellRenderer implements
- ListCellRenderer {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- /** Analyse plan cache. */
- protected Map<String, AnalysePlan> analysePlanCache;
-
- /**
- * Empty constructor.
- */
- public AnalyzePlanComboRenderer() {
- analysePlanCache = new HashMap<String, AnalysePlan>();
- }
-
- /*
- * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
- */
- @Override
- public Component getListCellRendererComponent(JList list, Object value,
- int index, boolean isSelected, boolean cellHasFocus) {
-
- // this must be used to have alterned highlight rows and default
- // selection color
- JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
- index, isSelected, cellHasFocus);
-
- String analysePlanName = (String) value;
- c.setText(analysePlanName);
-
- // c'est tres couteux d'avoir une instance
- // on les met en cache
- try {
- AnalysePlan plan = analysePlanCache.get(analysePlanName);
- if (plan == null) {
- AnalysePlanStorage storage = AnalysePlanStorage
- .getAnalysePlan(analysePlanName);
- plan = storage.getNewAnalysePlanInstance();
- analysePlanCache.put(analysePlanName, plan);
- }
-
- c.setToolTipText(plan.getDescription());
- } catch (Exception e) {
- String errorTooltip = TooltipHelper.getErrorTooltip(_("isisfish.error.compile.fileerror", analysePlanName));
- c.setToolTipText(errorTooltip);
- }
-
- return c;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanListModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanListModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,105 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.analyzeplan;
-
-import java.util.List;
-
-import javax.swing.AbstractListModel;
-
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-
-/**
- * Model pour la liste des instances de plans d'analyse.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class AnalyzePlanListModel extends AbstractListModel {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- protected List<AnalysePlan> plans;
-
- /**
- * Empty constructor.
- */
- public AnalyzePlanListModel() {
- this(null);
- }
-
- /**
- * Constructor with plan list.
- *
- * @param plans plans
- */
- public AnalyzePlanListModel(List<AnalysePlan> plans) {
- super();
- setAnalyzePlan(plans);
- }
-
- /**
- * Get plans list.
- *
- * @return the plans
- */
- public List<AnalysePlan> getAnalyzePlans() {
- return plans;
- }
-
- /**
- * Set plans list.
- *
- * @param plans the plans to set
- */
- public void setAnalyzePlan(List<AnalysePlan> plans) {
- this.plans = plans;
- }
-
- /*
- * @see javax.swing.ListModel#getElementAt(int)
- */
- @Override
- public Object getElementAt(int index) {
- return plans.get(index);
- }
-
- /*
- * @see javax.swing.ListModel#getSize()
- */
- @Override
- public int getSize() {
- int size = 0;
-
- if (plans != null) {
- size = plans.size();
- }
- return size;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanListRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanListRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,76 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.analyzeplan;
-
-import java.awt.Component;
-
-import javax.swing.DefaultListCellRenderer;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.ListCellRenderer;
-
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-
-/**
- * Renderer pour la liste des plans d'analyse.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class AnalyzePlanListRenderer extends DefaultListCellRenderer implements
- ListCellRenderer {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -4070846632975105788L;
-
- /*
- * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
- */
- @Override
- public Component getListCellRendererComponent(JList list, Object value,
- int index, boolean isSelected, boolean cellHasFocus) {
-
- // this must be used to have alterned highlight rows and default
- // selection color
- JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
- index, isSelected, cellHasFocus);
-
- AnalysePlan plan = (AnalysePlan) value;
- c.setText(AnalysePlanStorage.getName(plan));
-
- try {
- c.setToolTipText(plan.getDescription());
- } catch (Exception e) {
- // can't get exception
- }
-
- return this;
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableCellEditor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableCellEditor.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,80 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.analyzeplan;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
-
-/**
- * Specific editor for rule parameters.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class AnalyzePlanParametersTableCellEditor extends
- ParameterTableCellEditor {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 8211639776194497615L;
-
- protected AnalysePlan plan;
-
- protected List<Class<?>> planParametersTypes;
-
- /**
- * Constructor with rule parameter.
- *
- * @param plan plan
- */
- public AnalyzePlanParametersTableCellEditor(AnalysePlan plan) {
- super();
-
- this.plan = plan;
- planParametersTypes = new ArrayList<Class<?>>();
- //TODO map may be sorted
- Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage
- .getParameterNames(plan);
- for (Class<?> type : planParametersNamesAndTypes.values()) {
- planParametersTypes.add(type);
- }
- }
-
- /*
- * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
- */
- @Override
- protected Class<?> getType(Object value, int row, int column) {
- return planParametersTypes.get(row);
- }
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableCellRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,83 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.analyzeplan;
-
-import java.awt.Component;
-
-import javax.swing.JLabel;
-import javax.swing.JTable;
-import javax.swing.table.DefaultTableCellRenderer;
-import javax.swing.table.TableCellRenderer;
-
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-import fr.ifremer.isisfish.ui.util.TooltipHelper;
-import fr.ifremer.isisfish.util.Doc;
-
-/**
- * Specific renderer for plan parameters.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class AnalyzePlanParametersTableCellRenderer extends
- DefaultTableCellRenderer implements TableCellRenderer {
-
- /** serialVersionUID. */
- private static final long serialVersionUID = -1655744662816030649L;
-
- protected AnalysePlan plan;
-
- public AnalyzePlanParametersTableCellRenderer(AnalysePlan plan) {
- this.plan = plan;
- }
-
- /*
- * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
- */
- @Override
- public Component getTableCellRendererComponent(JTable table, Object value,
- boolean isSelected, boolean hasFocus, int row, int column) {
-
- // this must be used to have alterned highlight rows and default
- // selection color
- JLabel c = (JLabel) super.getTableCellRendererComponent(table, value,
- isSelected, hasFocus, row, column);
-
- String parameterName = (String) value;
- c.setText(parameterName);
-
- Doc doc = AnalysePlanStorage.getParameterDoc(plan, parameterName);
- String documentation = TooltipHelper.docToString(doc);
- c.setToolTipText(documentation);
-
- return c;
- }
-
-}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java 2011-06-14 13:21:14 UTC (rev 3392)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/AnalyzePlanParametersTableModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,201 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.ui.models.analyzeplan;
-
-import static org.nuiton.i18n.I18n._;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import javax.swing.table.AbstractTableModel;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-
-/**
- * Model de la table de definition de parametre d'un plan d'analyse.
- *
- * Columns :
- * <li>Parameter name</li>
- * <li>Parameter value</li>
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class AnalyzePlanParametersTableModel extends AbstractTableModel {
-
- /** Log. */
- private static Log log = LogFactory
- .getLog(AnalyzePlanParametersTableModel.class);
-
- /** serialVersionUID. */
- private static final long serialVersionUID = 3169786638868209920L;
-
- /** Columns names. */
- public final static String[] COLUMN_NAMES = { _("isisfish.common.name"),
- _("isisfish.common.value") };
-
- protected AnalysePlan plan;
-
- protected List<String> planParametersNames;
-
- /**
- * Constructor with data.
- *
- * @param plan plan to edit parameters
- */
- public AnalyzePlanParametersTableModel(AnalysePlan plan) {
- super();
- this.plan = plan;
-
- //TODO map may be sorted
- planParametersNames = new ArrayList<String>();
- Map<String, Class<?>> planParametersNamesAndTypes = AnalysePlanStorage
- .getParameterNames(plan);
- for (String names : planParametersNamesAndTypes.keySet()) {
- planParametersNames.add(names);
- }
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnCount()
- */
- @Override
- public int getColumnCount() {
- return COLUMN_NAMES.length;
- }
-
- /*
- * @see javax.swing.table.TableModel#getRowCount()
- */
- @Override
- public int getRowCount() {
- return planParametersNames.size();
- }
-
- /*
- * @see javax.swing.table.TableModel#getValueAt(int, int)
- */
- @Override
- public Object getValueAt(int rowIndex, int columnIndex) {
-
- Object result = null;
-
- String name = planParametersNames.get(rowIndex);
- switch (columnIndex) {
- case 0:
- result = name;
- break;
- case 1:
- try {
- result = AnalysePlanStorage.getParameterValue(plan, name);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.debug("Can't get parameters value", e);
- }
- }
- break;
- default:
- throw new IndexOutOfBoundsException("No such column " + columnIndex);
- }
-
- return result;
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnClass(int)
- */
- @Override
- public Class<?> getColumnClass(int columnIndex) {
-
- Class<?> result = null;
-
- switch (columnIndex) {
- case 0:
- result = String.class;
- break;
- case 1:
- result = Object.class;
- break;
- default:
- throw new IndexOutOfBoundsException("No such column " + columnIndex);
- }
-
- return result;
- }
-
- /*
- * @see javax.swing.table.TableModel#getColumnName(int)
- */
- @Override
- public String getColumnName(int columnIndex) {
- return COLUMN_NAMES[columnIndex];
- }
-
- /*
- * @see javax.swing.table.TableModel#isCellEditable(int, int)
- */
- @Override
- public boolean isCellEditable(int rowIndex, int columnIndex) {
- return columnIndex > 0;
- }
-
- /*
- * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
- */
- @Override
- public void setValueAt(Object value, int rowIndex, int columnIndex) {
-
- if (log.isDebugEnabled()) {
- log.debug("Cell edition (column " + columnIndex + ") = " + value);
- }
-
- String name = planParametersNames.get(rowIndex);
- switch (columnIndex) {
- case 1:
- try {
- AnalysePlanStorage.setParameterValue(plan, name, value);
- } catch (IsisFishException e) {
- if (log.isErrorEnabled()) {
- log.error("Can't set parameter value", e);
- }
- }
- break;
- default:
- throw new IndexOutOfBoundsException("Can't edit column "
- + columnIndex);
- }
-
- }
-}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboModel.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,108 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.simulationplan;
+
+import java.util.List;
+
+import javax.swing.DefaultComboBoxModel;
+
+/**
+ * Model pour la liste des plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SimulationPlanComboModel extends DefaultComboBoxModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Analyze plan names. */
+ protected List<String> simulationPlanNames;
+
+ /**
+ * Empty constructor.
+ */
+ public SimulationPlanComboModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with simulation plans list.
+ *
+ * @param simulationPlanNames simulation names
+ */
+ public SimulationPlanComboModel(List<String> simulationPlanNames) {
+ setSimulationPlanNames(simulationPlanNames);
+ }
+
+ /**
+ * Get simulation plan names.
+ *
+ * @return the simulation plan names
+ */
+ public List<String> getSimulationPlanNames() {
+ return simulationPlanNames;
+ }
+
+ /**
+ * Set simulation plan names.
+ *
+ * @param simulationPlanNames the simulation plan names to set
+ */
+ public void setSimulationPlanNames(List<String> simulationPlanNames) {
+ this.simulationPlanNames = simulationPlanNames;
+
+ // default first selected
+ if (!simulationPlanNames.isEmpty()) {
+ setSelectedItem(simulationPlanNames.get(0));
+ }
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return simulationPlanNames.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (simulationPlanNames != null) {
+ size = simulationPlanNames.size();
+ }
+ return size;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java (from rev 3393, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanComboRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanComboRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,100 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.simulationplan;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.awt.Component;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+
+/**
+ * Renderer pour la combo des plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SimulationPlanComboRenderer extends DefaultListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /** Simulation plan cache. */
+ protected Map<String, SimulationPlan> simulationPlanCache;
+
+ /**
+ * Empty constructor.
+ */
+ public SimulationPlanComboRenderer() {
+ simulationPlanCache = new HashMap<String, SimulationPlan>();
+ }
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ String simulationPlanName = (String) value;
+ c.setText(simulationPlanName);
+
+ // c'est tres couteux d'avoir une instance
+ // on les met en cache
+ try {
+ SimulationPlan plan = simulationPlanCache.get(simulationPlanName);
+ if (plan == null) {
+ SimulationPlanStorage storage = SimulationPlanStorage
+ .getSimulationPlan(simulationPlanName);
+ plan = storage.getNewSimulationPlanInstance();
+ simulationPlanCache.put(simulationPlanName, plan);
+ }
+
+ c.setToolTipText(plan.getDescription());
+ } catch (Exception e) {
+ String errorTooltip = TooltipHelper.getErrorTooltip(_("isisfish.error.compile.fileerror", simulationPlanName));
+ c.setToolTipText(errorTooltip);
+ }
+
+ return c;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListModel.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,104 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.simulationplan;
+
+import java.util.List;
+
+import javax.swing.AbstractListModel;
+
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+
+/**
+ * Model pour la liste des instances de plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SimulationPlanListModel extends AbstractListModel {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ protected List<SimulationPlan> plans;
+
+ /**
+ * Empty constructor.
+ */
+ public SimulationPlanListModel() {
+ this(null);
+ }
+
+ /**
+ * Constructor with plan list.
+ *
+ * @param plans plans
+ */
+ public SimulationPlanListModel(List<SimulationPlan> plans) {
+ setSimulationPlan(plans);
+ }
+
+ /**
+ * Get plans list.
+ *
+ * @return the plans
+ */
+ public List<SimulationPlan> getSimulationPlans() {
+ return plans;
+ }
+
+ /**
+ * Set plans list.
+ *
+ * @param plans the plans to set
+ */
+ public void setSimulationPlan(List<SimulationPlan> plans) {
+ this.plans = plans;
+ }
+
+ /*
+ * @see javax.swing.ListModel#getElementAt(int)
+ */
+ @Override
+ public Object getElementAt(int index) {
+ return plans.get(index);
+ }
+
+ /*
+ * @see javax.swing.ListModel#getSize()
+ */
+ @Override
+ public int getSize() {
+ int size = 0;
+
+ if (plans != null) {
+ size = plans.size();
+ }
+ return size;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListRenderer.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanListRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanListRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,74 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.simulationplan;
+
+import java.awt.Component;
+
+import javax.swing.DefaultListCellRenderer;
+import javax.swing.JLabel;
+import javax.swing.JList;
+
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+
+/**
+ * Renderer pour la liste des plans d'analyse.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SimulationPlanListRenderer extends DefaultListCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -4070846632975105788L;
+
+ /*
+ * @see javax.swing.ListCellRenderer#getListCellRendererComponent(javax.swing.JList, java.lang.Object, int, boolean, boolean)
+ */
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value,
+ int index, boolean isSelected, boolean cellHasFocus) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getListCellRendererComponent(list, value,
+ index, isSelected, cellHasFocus);
+
+ SimulationPlan plan = (SimulationPlan) value;
+ c.setText(SimulationPlanStorage.getName(plan));
+
+ try {
+ c.setToolTipText(plan.getDescription());
+ } catch (Exception e) {
+ // can't get exception
+ }
+
+ return this;
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellEditor.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellEditor.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellEditor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellEditor.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,78 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.simulationplan;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+import fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor;
+
+/**
+ * Specific editor for rule parameters.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SimulationPlanParametersTableCellEditor extends
+ ParameterTableCellEditor {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 8211639776194497615L;
+
+ protected SimulationPlan plan;
+
+ protected List<Class<?>> planParametersTypes;
+
+ /**
+ * Constructor with rule parameter.
+ *
+ * @param plan plan
+ */
+ public SimulationPlanParametersTableCellEditor(SimulationPlan plan) {
+ this.plan = plan;
+ planParametersTypes = new ArrayList<Class<?>>();
+ //TODO map may be sorted
+ Map<String, Class<?>> planParametersNamesAndTypes = SimulationPlanStorage
+ .getParameterNames(plan);
+ for (Class<?> type : planParametersNamesAndTypes.values()) {
+ planParametersTypes.add(type);
+ }
+ }
+
+ /*
+ * @see fr.ifremer.isisfish.ui.widget.editor.ParameterTableCellEditor#getType(java.lang.Object, int, int)
+ */
+ @Override
+ protected Class<?> getType(Object value, int row, int column) {
+ return planParametersTypes.get(row);
+ }
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellRenderer.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableCellRenderer.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellRenderer.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableCellRenderer.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,83 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.simulationplan;
+
+import java.awt.Component;
+
+import javax.swing.JLabel;
+import javax.swing.JTable;
+import javax.swing.table.DefaultTableCellRenderer;
+import javax.swing.table.TableCellRenderer;
+
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+import fr.ifremer.isisfish.ui.util.TooltipHelper;
+import fr.ifremer.isisfish.util.Doc;
+
+/**
+ * Specific renderer for plan parameters.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SimulationPlanParametersTableCellRenderer extends
+ DefaultTableCellRenderer implements TableCellRenderer {
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = -1655744662816030649L;
+
+ protected SimulationPlan plan;
+
+ public SimulationPlanParametersTableCellRenderer(SimulationPlan plan) {
+ this.plan = plan;
+ }
+
+ /*
+ * @see javax.swing.table.TableCellRenderer#getTableCellRendererComponent(javax.swing.JTable, java.lang.Object, boolean, boolean, int, int)
+ */
+ @Override
+ public Component getTableCellRendererComponent(JTable table, Object value,
+ boolean isSelected, boolean hasFocus, int row, int column) {
+
+ // this must be used to have alterned highlight rows and default
+ // selection color
+ JLabel c = (JLabel) super.getTableCellRendererComponent(table, value,
+ isSelected, hasFocus, row, column);
+
+ String parameterName = (String) value;
+ c.setText(parameterName);
+
+ Doc doc = SimulationPlanStorage.getParameterDoc(plan, parameterName);
+ String documentation = TooltipHelper.docToString(doc);
+ c.setToolTipText(documentation);
+
+ return c;
+ }
+
+}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableModel.java (from rev 3392, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/analyzeplan/AnalyzePlanParametersTableModel.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableModel.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/models/simulationplan/SimulationPlanParametersTableModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,200 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.ui.models.simulationplan;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.swing.table.AbstractTableModel;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.IsisFishException;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+
+/**
+ * Model de la table de definition de parametre d'un plan de simulation.
+ *
+ * Columns :
+ * <li>Parameter name</li>
+ * <li>Parameter value</li>
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SimulationPlanParametersTableModel extends AbstractTableModel {
+
+ /** Log. */
+ private static Log log = LogFactory
+ .getLog(SimulationPlanParametersTableModel.class);
+
+ /** serialVersionUID. */
+ private static final long serialVersionUID = 3169786638868209920L;
+
+ /** Columns names. */
+ public final static String[] COLUMN_NAMES = { _("isisfish.common.name"),
+ _("isisfish.common.value") };
+
+ protected SimulationPlan plan;
+
+ protected List<String> planParametersNames;
+
+ /**
+ * Constructor with data.
+ *
+ * @param plan plan to edit parameters
+ */
+ public SimulationPlanParametersTableModel(SimulationPlan plan) {
+ this.plan = plan;
+
+ //TODO map may be sorted
+ planParametersNames = new ArrayList<String>();
+ Map<String, Class<?>> planParametersNamesAndTypes = SimulationPlanStorage
+ .getParameterNames(plan);
+ for (String names : planParametersNamesAndTypes.keySet()) {
+ planParametersNames.add(names);
+ }
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnCount()
+ */
+ @Override
+ public int getColumnCount() {
+ return COLUMN_NAMES.length;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getRowCount()
+ */
+ @Override
+ public int getRowCount() {
+ return planParametersNames.size();
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getValueAt(int, int)
+ */
+ @Override
+ public Object getValueAt(int rowIndex, int columnIndex) {
+
+ Object result = null;
+
+ String name = planParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 0:
+ result = name;
+ break;
+ case 1:
+ try {
+ result = SimulationPlanStorage.getParameterValue(plan, name);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.debug("Can't get parameters value", e);
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnClass(int)
+ */
+ @Override
+ public Class<?> getColumnClass(int columnIndex) {
+
+ Class<?> result = null;
+
+ switch (columnIndex) {
+ case 0:
+ result = String.class;
+ break;
+ case 1:
+ result = Object.class;
+ break;
+ default:
+ throw new IndexOutOfBoundsException("No such column " + columnIndex);
+ }
+
+ return result;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#getColumnName(int)
+ */
+ @Override
+ public String getColumnName(int columnIndex) {
+ return COLUMN_NAMES[columnIndex];
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#isCellEditable(int, int)
+ */
+ @Override
+ public boolean isCellEditable(int rowIndex, int columnIndex) {
+ return columnIndex > 0;
+ }
+
+ /*
+ * @see javax.swing.table.TableModel#setValueAt(java.lang.Object, int, int)
+ */
+ @Override
+ public void setValueAt(Object value, int rowIndex, int columnIndex) {
+
+ if (log.isDebugEnabled()) {
+ log.debug("Cell edition (column " + columnIndex + ") = " + value);
+ }
+
+ String name = planParametersNames.get(rowIndex);
+ switch (columnIndex) {
+ case 1:
+ try {
+ SimulationPlanStorage.setParameterValue(plan, name, value);
+ } catch (IsisFishException e) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't set parameter value", e);
+ }
+ }
+ break;
+ default:
+ throw new IndexOutOfBoundsException("Can't edit column "
+ + columnIndex);
+ }
+
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptAction.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -65,7 +65,7 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishRuntimeException;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.CodeSourceStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
@@ -73,7 +73,7 @@
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
import fr.ifremer.isisfish.datastore.SensitivityExportStorage;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
import fr.ifremer.isisfish.equation.Language;
import fr.ifremer.isisfish.ui.WelcomePanelUI;
@@ -291,8 +291,8 @@
script = FormuleStorage.createFormule(category, realFilename,
Language.JAVA);
break;
- case AnalysePlan:
- script = AnalysePlanStorage.getAnalysePlan(fileName);
+ case SimulationPlan:
+ script = SimulationPlanStorage.getSimulationPlan(fileName);
break;
case Export:
script = ExportStorage.getExport(fileName);
@@ -307,7 +307,7 @@
script = SimulatorStorage.getSimulator(fileName);
break;
case Sensitivity:
- script = SensitivityStorage.getSensitivity(fileName);
+ script = SensitivityAnalysisStorage.getSensitivityAnalysis(fileName);
break;
case SensitivityExport:
script = SensitivityExportStorage
@@ -439,8 +439,8 @@
case Rule:
script = RuleStorage.getRule(file.getName());
break;
- case AnalysePlan:
- script = AnalysePlanStorage.getAnalysePlan(file.getName());
+ case SimulationPlan:
+ script = SimulationPlanStorage.getSimulationPlan(file.getName());
break;
case Export:
script = ExportStorage.getExport(file.getName());
@@ -452,7 +452,7 @@
script = SimulatorStorage.getSimulator(file.getName());
break;
case Sensitivity:
- script = SensitivityStorage.getSensitivity(file.getName());
+ script = SensitivityAnalysisStorage.getSensitivityAnalysis(file.getName());
break;
case SensitivityExport:
script = SensitivityExportStorage.getSensitivityExport(file.getName());
@@ -461,7 +461,7 @@
script = RuleStorage.getCommunityRule(file.getName());
break;
case CommunityAnalysePlan:
- script = AnalysePlanStorage.getCommunityAnalysePlan(file.getName());
+ script = SimulationPlanStorage.getCommunitySimulationPlan(file.getName());
break;
case CommunityExport:
script = ExportStorage.getCommunityExport(file.getName());
@@ -473,7 +473,7 @@
script = SimulatorStorage.getCommunitySimulator(file.getName());
break;
case CommunitySensitivity:
- script = SensitivityStorage.getCommunitySensitivity(file.getName());
+ script = SensitivityAnalysisStorage.getCommunitySensitivityAnalysis(file.getName());
break;
case CommunitySensitivityExport:
script = SensitivityExportStorage.getCommunitySensitivityExport(file.getName());
@@ -1088,9 +1088,9 @@
/** enum to encapsulate a script module */
protected enum ScriptMapping {
- AnalysePlan(
- AnalysePlanStorage.getAnalysePlanDirectory(),
- AnalysePlanStorage.ANALYSE_PLAN_TEMPLATE, true),
+ SimulationPlan(
+ SimulationPlanStorage.getSimulationPlanDirectory(),
+ SimulationPlanStorage.SIMULATION_PLAN_TEMPLATE, true),
Export(
ExportStorage.getExportDirectory(),
ExportStorage.EXPORT_TEMPLATE, true),
@@ -1101,8 +1101,8 @@
ScriptStorage.getScriptDirectory(),
ScriptStorage.SCRIPT_TEMPLATE, true),
Sensitivity(
- SensitivityStorage.getSensitivityDirectory(),
- SensitivityStorage.SENSIVITY_TEMPLATE, true),
+ SensitivityAnalysisStorage.getSensitivityAnalysisDirectory(),
+ SensitivityAnalysisStorage.SENSITIVITY_ANALYSIS_TEMPLATE, true),
SensitivityExport(
SensitivityExportStorage.getSensitivityExportDirectory(),
SensitivityExportStorage.SENSITIVITY_EXPORT_TEMPLATE, true),
@@ -1114,8 +1114,8 @@
FormuleStorage.FORMULE_TEMPLATE, true),
CommunityAnalysePlan(
- AnalysePlanStorage.getCommunityAnalysePlanDirectory(),
- AnalysePlanStorage.ANALYSE_PLAN_TEMPLATE),
+ SimulationPlanStorage.getCommunitySimulationPlanDirectory(),
+ SimulationPlanStorage.SIMULATION_PLAN_TEMPLATE),
CommunityExport(
ExportStorage.getCommunityExportDirectory(),
ExportStorage.EXPORT_TEMPLATE),
@@ -1126,8 +1126,8 @@
ScriptStorage.getCommunityScriptDirectory(),
ScriptStorage.SCRIPT_TEMPLATE),
CommunitySensitivity(
- SensitivityStorage.getCommunitySensitivityDirectory(),
- SensitivityStorage.SENSIVITY_TEMPLATE),
+ SensitivityAnalysisStorage.getCommunitySensitivityAnalysisDirectory(),
+ SensitivityAnalysisStorage.SENSITIVITY_ANALYSIS_TEMPLATE),
CommunitySensitivityExport(
SensitivityExportStorage.getCommunitySensitivityExportDirectory(),
SensitivityExportStorage.SENSITIVITY_EXPORT_TEMPLATE),
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/ScriptUI.jaxx 2011-07-07 14:33:45 UTC (rev 3436)
@@ -54,7 +54,7 @@
<JMenuItem id="miNewRule" text="isisfish.script.menu.txtNewRule"
onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.Rule)' icon="script.png" />
<JMenuItem id="miNewAnalysePlan" text="isisfish.script.menu.txtNewAnalysePlan"
- onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.AnalysePlan)' icon="script.png" />
+ onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.SimulationPlan)' icon="script.png" />
<JMenuItem id="miNewSensitivity" text="isisfish.script.menu.txtNewSensitivity"
onActionPerformed='getScriptAction().newScript(ScriptAction.ScriptMapping.Sensitivity)' icon="script.png" />
<JMenuItem id="miNewSensitivityExport" text="isisfish.script.menu.txtNewSensitivityExport"
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/script/model/ScriptTreeModel.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -41,13 +41,13 @@
import org.jdesktop.swingx.tree.TreeModelSupport;
import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.FormuleStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
import fr.ifremer.isisfish.datastore.SensitivityExportStorage;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
import fr.ifremer.isisfish.vcs.VCS;
@@ -93,23 +93,23 @@
rootFiles = new HashMap<VCS, List<File>>();
List<File> offFiles = new ArrayList<File>();
- offFiles.add(AnalysePlanStorage.getAnalysePlanDirectory());
+ offFiles.add(SimulationPlanStorage.getSimulationPlanDirectory());
offFiles.add(ExportStorage.getExportDirectory());
offFiles.add(FormuleStorage.getFormuleDirectory());
offFiles.add(RuleStorage.getRuleDirectory());
offFiles.add(ScriptStorage.getScriptDirectory());
offFiles.add(SensitivityExportStorage.getSensitivityExportDirectory());
- offFiles.add(SensitivityStorage.getSensitivityDirectory());
+ offFiles.add(SensitivityAnalysisStorage.getSensitivityAnalysisDirectory());
offFiles.add(SimulatorStorage.getSimulatorDirectory());
List<File> comFiles = new ArrayList<File>();
- comFiles.add(AnalysePlanStorage.getCommunityAnalysePlanDirectory());
+ comFiles.add(SimulationPlanStorage.getCommunitySimulationPlanDirectory());
comFiles.add(ExportStorage.getCommunityExportDirectory());
comFiles.add(FormuleStorage.getCommunityFormuleDirectory());
comFiles.add(RuleStorage.getCommunityRuleDirectory());
comFiles.add(ScriptStorage.getCommunityScriptDirectory());
comFiles.add(SensitivityExportStorage.getCommunitySensitivityExportDirectory());
- comFiles.add(SensitivityStorage.getCommunitySensitivityDirectory());
+ comFiles.add(SensitivityAnalysisStorage.getCommunitySensitivityAnalysisDirectory());
comFiles.add(SimulatorStorage.getCommunitySimulatorDirectory());
rootFiles.put(IsisFish.vcs, offFiles);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx 2011-07-07 14:33:45 UTC (rev 3436)
@@ -31,7 +31,7 @@
fr.ifremer.isisfish.export.SensitivityExport
fr.ifremer.isisfish.simulator.sensitivity.Domain
fr.ifremer.isisfish.simulator.sensitivity.Factor
- fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator
+ fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis
fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain
fr.ifremer.isisfish.ui.models.common.StringListModel
fr.ifremer.isisfish.ui.models.sensitivityexport.SensitivityExportListModel
@@ -40,85 +40,82 @@
fr.ifremer.isisfish.ui.models.sensitivityexport.SensitivityExportParametersTableCellEditor
fr.ifremer.isisfish.ui.models.sensitivityexport.SensitivityExportParametersTableCellRenderer
fr.ifremer.isisfish.ui.models.sensitivityexport.SensitivityExportParametersTableModel
- fr.ifremer.isisfish.ui.models.sensitivity.SensitivityCalculatorComboModel
- fr.ifremer.isisfish.ui.models.sensitivity.SensitivityCalculatorComboRenderer
- fr.ifremer.isisfish.ui.models.sensitivity.SensitivityCalculatorListModel
- fr.ifremer.isisfish.ui.models.sensitivity.SensitivityCalculatorListRenderer
- fr.ifremer.isisfish.ui.models.sensitivity.SensitivityCalculatorParametersTableCellEditor
- fr.ifremer.isisfish.ui.models.sensitivity.SensitivityCalculatorParametersTableCellRenderer
- fr.ifremer.isisfish.ui.models.sensitivity.SensitivityCalculatorParametersTableModel
+ fr.ifremer.isisfish.ui.models.sensitivityanalysis.SensitivityAnalysisComboModel
+ fr.ifremer.isisfish.ui.models.sensitivityanalysis.SensitivityAnalysisComboRenderer
+ fr.ifremer.isisfish.ui.models.sensitivityanalysis.SensitivityAnalysisListModel
+ fr.ifremer.isisfish.ui.models.sensitivityanalysis.SensitivityAnalysisListRenderer
+ fr.ifremer.isisfish.ui.models.sensitivityanalysis.SensitivityAnalysisParametersTableCellEditor
+ fr.ifremer.isisfish.ui.models.sensitivityanalysis.SensitivityAnalysisParametersTableCellRenderer
+ fr.ifremer.isisfish.ui.models.sensitivityanalysis.SensitivityAnalysisParametersTableModel
+ fr.ifremer.isisfish.ui.sensitivity.model.FactorCardinalityTableModel
fr.ifremer.isisfish.ui.simulator.SimulAction
-
</import>
+
<script><![CDATA[
-
-
- import fr.ifremer.isisfish.ui.sensitivity.model.FactorCardinalityTableModel;
-
protected SimulAction getSimulAction() {
return getContextValue(SimulAction.class);
}
- public ComboBoxModel getSensitivityCalculatorModel() {
- java.util.List<String> sensitivityNames = getSimulAction().getSensitivityNames();
- SensitivityCalculatorComboModel model = new SensitivityCalculatorComboModel(sensitivityNames);
+ public ComboBoxModel getSensitivityAnalysisModel() {
+ java.util.List<String> sensitivityNames = getSimulAction().getSensitivityAnalysisNames();
+ SensitivityAnalysisComboModel model = new SensitivityAnalysisComboModel(sensitivityNames);
return model;
}
/**
- * Auto select calculator in JComboBox
- * with calculator selected in SimulAction.
+ * Auto select analysis in JComboBox
+ * with analysis selected in SimulAction.
*
* Used by "reloadOldSimulation" operation.
*/
- public void refreshSelectedSensitivityCalculator() {
- SensitivityCalculator calculator = getSimulAction().getSensitivityCalculator();
- if (calculator != null) {
+ public void refreshSelectedSensitivityAnalysis() {
+ SensitivityAnalysis sensitivityAnalysis = getSimulAction().getSensitivityAnalysis();
+ if (sensitivityAnalysis != null) {
if (log.isDebugEnabled()) {
- log.debug("Refreshing calculator list");
+ log.debug("Refreshing sensitivity analysis list");
}
// TODO it's not getSimpleName() here !
- fieldSensitivityCalculatorSelect.setSelectedItem(calculator.getClass().getSimpleName());
+ fieldSensitivityAnalysisSelect.setSelectedItem(sensitivityAnalysis.getClass().getSimpleName());
}
}
- protected void sensCalculatorChanged() {
+ protected void sensitivityAnalysisChanged() {
- String sensitivityName = (String)fieldSensitivityCalculatorSelect.getSelectedItem();
+ String sensitivityName = (String)fieldSensitivityAnalysisSelect.getSelectedItem();
- // when calculator is changed by refreshSelectedSensitivityCalculator
- // this event is thrown by build a new Calculator instance
+ // when analysis is changed by refreshSelectedSensitivityAnalysis
+ // this event is thrown by build a new Analysis instance
// and parameter are lost
// fix it with a small class name test
- SensitivityCalculator sensivitityCalculator = getSimulAction().getSensitivityCalculator();
- if (sensivitityCalculator != null && sensivitityCalculator.getClass().getSimpleName().equals(sensitivityName)) {
- sensivitityCalculator = getSimulAction().getSensitivityCalculator();
+ SensitivityAnalysis sensitivityAnalysis = getSimulAction().getSensitivityAnalysis();
+ if (sensitivityAnalysis != null && sensitivityAnalysis.getClass().getSimpleName().equals(sensitivityName)) {
+ sensitivityAnalysis = getSimulAction().getSensitivityAnalysis();
} else {
- sensivitityCalculator = getSimulAction().getSensivitityCalculatorInstance(sensitivityName);
+ sensitivityAnalysis = getSimulAction().getSensitivityAnalysisInstance(sensitivityName);
}
- // can be null for example if calculator can't be compiled
- if (sensivitityCalculator != null) {
- getSimulAction().setSensitivityCalculator(sensivitityCalculator);
+ // can be null for example if analysis can't be compiled
+ if (sensitivityAnalysis != null) {
+ getSimulAction().setSensitivityAnalysis(sensitivityAnalysis);
CardLayout factorPanelLayout = (CardLayout)factorCardinalityPanel.getLayout();
- if (sensivitityCalculator.canManageCardinality()) {
+ if (sensitivityAnalysis.canManageCardinality()) {
factorPanelLayout.show(factorCardinalityPanel, "factorCardinalitySupported");
} else {
factorPanelLayout.show(factorCardinalityPanel, "factorCardinalityNotSupported");
}
// update model
- SensitivityCalculatorParametersTableModel parametersTableModel = new SensitivityCalculatorParametersTableModel(sensivitityCalculator);
- simulSensitivityCalculatorParam.setModel(parametersTableModel);
- simulSensitivityCalculatorParam.getColumnModel().getColumn(0).setCellRenderer(new SensitivityCalculatorParametersTableCellRenderer(sensivitityCalculator));
- simulSensitivityCalculatorParam.getColumnModel().getColumn(1).setCellEditor(new SensitivityCalculatorParametersTableCellEditor(sensivitityCalculator));
+ SensitivityAnalysisParametersTableModel parametersTableModel = new SensitivityAnalysisParametersTableModel(sensitivityAnalysis);
+ simulSensitivityAnalysisParam.setModel(parametersTableModel);
+ simulSensitivityAnalysisParam.getColumnModel().getColumn(0).setCellRenderer(new SensitivityAnalysisParametersTableCellRenderer(sensitivityAnalysis));
+ simulSensitivityAnalysisParam.getColumnModel().getColumn(1).setCellEditor(new SensitivityAnalysisParametersTableCellEditor(sensitivityAnalysis));
}
}
public void setFactorCardinalityTableModel() {
- java.util.List<Factor> factors = getSimulAction().getFactorGroup().getFactors();
- java.util.List<Factor> factorsContinue = new ArrayList<Factor>();
+ List<Factor> factors = getSimulAction().getFactorGroup().getFactors();
+ List<Factor> factorsContinue = new ArrayList<Factor>();
/* get sublist with only Continous factor */
for (Factor f : factors) {
Domain domain = f.getDomain();
@@ -224,14 +221,14 @@
<JLabel text="isisfish.sensitivity.select"/>
</cell>
<cell fill="horizontal" weightx="1.0">
- <JComboBox id="fieldSensitivityCalculatorSelect" model='{getSensitivityCalculatorModel()}'
- renderer='{new SensitivityCalculatorComboRenderer()}' onActionPerformed='sensCalculatorChanged()'/>
+ <JComboBox id="fieldSensitivityAnalysisSelect" model='{getSensitivityAnalysisModel()}'
+ renderer='{new SensitivityAnalysisComboRenderer()}' onActionPerformed='sensitivityAnalysisChanged()'/>
</cell>
</row>
<row>
<cell columns="2" fill="both" weightx="1.0" weighty="1.0">
<JScrollPane>
- <JTable id="simulSensitivityCalculatorParam" rowHeight='24'/>
+ <JTable id="simulSensitivityAnalysisParam" rowHeight='24'/>
</JScrollPane>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2011-07-07 14:33:45 UTC (rev 3436)
@@ -178,9 +178,9 @@
getParentContainer(SensitivityUI.class).getSensitivityChooserUI().setSensitivityExportListModel();
}
}
-protected void setSensitivityCalculator() {
+protected void setSensitivityAnalysis() {
if (isSensitivity()){
- getParentContainer(SensitivityUI.class).getSensitivityChooserUI().refreshSelectedSensitivityCalculator();
+ getParentContainer(SensitivityUI.class).getSensitivityChooserUI().refreshSelectedSensitivityAnalysis();
}
}
public void setSimulationParameter(SimulAction simulAction){
@@ -202,7 +202,7 @@
setPreScript();
setAnalysePlan();
setExportSens();
- setSensitivityCalculator();
+ setSensitivityAnalysis();
setFactor();
// regles
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2011-07-07 14:33:45 UTC (rev 3436)
@@ -5,7 +5,7 @@
$Id$
$HeadURL$
%%
- Copyright (C) 2005 - 2010 Ifremer, CodeLutin
+ Copyright (C) 2005 - 2011 Ifremer, CodeLutin, Chatellier Eric
%%
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as
@@ -26,149 +26,147 @@
<import>
java.awt.Dimension
javax.swing.table.DefaultTableModel;
- fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+ fr.ifremer.isisfish.datastore.SimulationPlanStorage;
fr.ifremer.isisfish.datastore.StorageChangeEvent;
fr.ifremer.isisfish.datastore.StorageChangeListener;
- fr.ifremer.isisfish.simulator.AnalysePlan;
- fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanComboModel;
- fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanComboRenderer;
- fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanListModel;
- fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanListRenderer;
- fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableModel;
- fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableCellEditor;
- fr.ifremer.isisfish.ui.models.analyzeplan.AnalyzePlanParametersTableCellRenderer;
+ fr.ifremer.isisfish.simulator.SimulationPlan;
+ fr.ifremer.isisfish.ui.models.simulationplan.SimulationPlanComboModel;
+ fr.ifremer.isisfish.ui.models.simulationplan.SimulationPlanComboRenderer;
+ fr.ifremer.isisfish.ui.models.simulationplan.SimulationPlanListModel;
+ fr.ifremer.isisfish.ui.models.simulationplan.SimulationPlanListRenderer;
+ fr.ifremer.isisfish.ui.models.simulationplan.SimulationPlanParametersTableModel;
+ fr.ifremer.isisfish.ui.models.simulationplan.SimulationPlanParametersTableCellEditor;
+ fr.ifremer.isisfish.ui.models.simulationplan.SimulationPlanParametersTableCellRenderer;
fr.ifremer.isisfish.datastore.RegionStorage;
</import>
<SimulAction id='simulAction' javaBean='getContextValue(SimulAction.class)' />
<script><![CDATA[
-
// to be notified of storage change event
- StorageChangeListener analyzePlanStorageListener;
+ StorageChangeListener simulationPlanStorageListener;
protected void $afterCompleteSetup() {
- analyzePlanStorageListener = new StorageChangeListener() {
+ simulationPlanStorageListener = new StorageChangeListener() {
@Override
public void versionDataChanged(StorageChangeEvent e) {
refresh();
}
};
- AnalysePlanStorage.addStorageChangeListener(analyzePlanStorageListener);
+ SimulationPlanStorage.addStorageChangeListener(simulationPlanStorageListener);
}
public void refresh() {
- // analyse plans names list
- fieldSimulParamsAnalysePlansSelect.setModel(getAnalyzePlansComboModel());
- // simulation analyse plans instance
- listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
+ // simulation plans names list
+ fieldSimulParamsSimulationPlansSelect.setModel(getSimulationPlansComboModel());
+ // simulation simulation plans instance
+ listSimulParamsSimulationPlansList.setModel(getSimulationSimulationPlansListModel());
}
/**
- * Refresh analyze plan names list.
+ * Refresh simulation plan names list.
*/
- protected AnalyzePlanComboModel getAnalyzePlansComboModel() {
- java.util.List<String> analyzePlanNames = simulAction.getAnalysePlanNames();
- AnalyzePlanComboModel model = new AnalyzePlanComboModel(analyzePlanNames);
+ protected SimulationPlanComboModel getSimulationPlansComboModel() {
+ List<String> simulationPlanNames = simulAction.getSimulationPlanNames();
+ SimulationPlanComboModel model = new SimulationPlanComboModel(simulationPlanNames);
return model;
}
/**
- * Refresh simulation analyze plan list.
+ * Refresh simulation simulation plan list.
*/
- protected AnalyzePlanListModel getSimulationAnalyzePlansListModel() {
- java.util.List<AnalysePlan> analyzePlans = simulAction.getParamAnalysePlans();
- AnalyzePlanListModel model = new AnalyzePlanListModel(analyzePlans);
+ protected SimulationPlanListModel getSimulationSimulationPlansListModel() {
+ List<SimulationPlan> simulationPlans = simulAction.getParamSimulationPlans();
+ SimulationPlanListModel model = new SimulationPlanListModel(simulationPlans);
return model;
}
- protected void addAnalysePlan() {
- String selectedAnalyzePlanName = (String)fieldSimulParamsAnalysePlansSelect.getSelectedItem();
- simulAction.addAnalysePlan(selectedAnalyzePlanName);
- listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
- setAnalysePlanButtons();
+ protected void addSimulationPlan() {
+ String selectedSimulationPlanName = (String)fieldSimulParamsSimulationPlansSelect.getSelectedItem();
+ simulAction.addSimulationPlan(selectedSimulationPlanName);
+ listSimulParamsSimulationPlansList.setModel(getSimulationSimulationPlansListModel());
+ setSimulationPlanButtons();
}
- protected void removeAnalysePlan() {
- AnalysePlan selectedAnalyzePlan = (AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue();
- simulAction.removeAnalysePlan(selectedAnalyzePlan);
- listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
- setAnalysePlanButtons();
+ protected void removeSimulationPlan() {
+ SimulationPlan selectedSimulationPlan = (SimulationPlan)listSimulParamsSimulationPlansList.getSelectedValue();
+ simulAction.removeSimulationPlan(selectedSimulationPlan);
+ listSimulParamsSimulationPlansList.setModel(getSimulationSimulationPlansListModel());
+ setSimulationPlanButtons();
}
- protected void clearAnalysePlan() {
- simulAction.clearAnalysePlans();
- listSimulParamsAnalysePlansList.setModel(getSimulationAnalyzePlansListModel());
- setAnalysePlanButtons();
+ protected void clearSimulationPlan() {
+ simulAction.clearSimulationPlans();
+ listSimulParamsSimulationPlansList.setModel(getSimulationSimulationPlansListModel());
+ setSimulationPlanButtons();
}
- protected void setAnalysePlanButtons() {
- if (getContextValue(SimulAction.class).getParamAnalysePlans().isEmpty()) {
- buttonSimulParamsAnalysePlansClear.setEnabled(false);
- buttonSimulParamsAnalysePlansRemove.setEnabled(false);
+ protected void setSimulationPlanButtons() {
+ if (getContextValue(SimulAction.class).getParamSimulationPlans().isEmpty()) {
+ buttonSimulParamsSimulationPlansClear.setEnabled(false);
+ buttonSimulParamsSimulationPlansRemove.setEnabled(false);
}
else {
- if (listSimulParamsAnalysePlansList.getSelectedIndex() != -1) {
- buttonSimulParamsAnalysePlansRemove.setEnabled(true);
+ if (listSimulParamsSimulationPlansList.getSelectedIndex() != -1) {
+ buttonSimulParamsSimulationPlansRemove.setEnabled(true);
}
else {
- buttonSimulParamsAnalysePlansRemove.setEnabled(false);
+ buttonSimulParamsSimulationPlansRemove.setEnabled(false);
}
- buttonSimulParamsAnalysePlansClear.setEnabled(true);
+ buttonSimulParamsSimulationPlansClear.setEnabled(true);
}
- setSimulParamsAnalysePlans();
+ setSimulParamsSimulationPlans();
}
- protected void setSimulParamsAnalysePlans() {
- AnalysePlan selectedAnalyzePlan = (AnalysePlan)listSimulParamsAnalysePlansList.getSelectedValue();
- if (selectedAnalyzePlan != null) {
- AnalyzePlanParametersTableModel model = new AnalyzePlanParametersTableModel(selectedAnalyzePlan);
- simulParamsAnalysePlans.setModel(model);
- AnalyzePlanParametersTableCellEditor cellEditor = new AnalyzePlanParametersTableCellEditor(selectedAnalyzePlan);
+ protected void setSimulParamsSimulationPlans() {
+ SimulationPlan selectedSimulationPlan = (SimulationPlan)listSimulParamsSimulationPlansList.getSelectedValue();
+ if (selectedSimulationPlan != null) {
+ SimulationPlanParametersTableModel model = new SimulationPlanParametersTableModel(selectedSimulationPlan);
+ simulParamsSimulationPlans.setModel(model);
+ SimulationPlanParametersTableCellEditor cellEditor = new SimulationPlanParametersTableCellEditor(selectedSimulationPlan);
cellEditor.setRegionStorage(getContextValue(RegionStorage.class));
- simulParamsAnalysePlans.getColumnModel().getColumn(0).setCellRenderer(new AnalyzePlanParametersTableCellRenderer(selectedAnalyzePlan));
- simulParamsAnalysePlans.getColumnModel().getColumn(1).setCellEditor(cellEditor);
+ simulParamsSimulationPlans.getColumnModel().getColumn(0).setCellRenderer(new SimulationPlanParametersTableCellRenderer(selectedSimulationPlan));
+ simulParamsSimulationPlans.getColumnModel().getColumn(1).setCellEditor(cellEditor);
}
else {
// clear table
- simulParamsAnalysePlans.setModel(new DefaultTableModel());
+ simulParamsSimulationPlans.setModel(new DefaultTableModel());
}
}
-
- /*protected void backParameter() {
- // TODO remove getParentContainer() use
- SimulUI simul = getParentContainer(SimulUI.class);
- simul.selTab(0);
- }*/
]]>
</script>
<row>
<cell columns="2" fill="horizontal" weightx="1.0">
- <JComboBox id="fieldSimulParamsAnalysePlansSelect" model='{getAnalyzePlansComboModel()}' renderer='{new AnalyzePlanComboRenderer()}' />
+ <JComboBox id="fieldSimulParamsSimulationPlansSelect" model='{getSimulationPlansComboModel()}'
+ renderer='{new SimulationPlanComboRenderer()}' />
</cell>
</row>
<row>
<cell fill="both" weightx="0.5">
<JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JList id="listSimulParamsAnalysePlansList" selectionMode="{javax.swing.ListSelectionModel.SINGLE_SELECTION}"
- onValueChanged='setAnalysePlanButtons()' model='{getSimulationAnalyzePlansListModel()}' cellRenderer='{new AnalyzePlanListRenderer()}'/>
+ <JList id="listSimulParamsSimulationPlansList" selectionMode="{javax.swing.ListSelectionModel.SINGLE_SELECTION}"
+ onValueChanged='setSimulationPlanButtons()' model='{getSimulationSimulationPlansListModel()}'
+ cellRenderer='{new SimulationPlanListRenderer()}'/>
</JScrollPane>
</cell>
<cell fill="both" weightx="0.5">
<Table name="isisfish.sens.title">
<row>
<cell fill="both" weightx="1.0">
- <JButton id="buttonSimulParamsAnalysePlansAdd" text="isisfish.common.add" onActionPerformed='addAnalysePlan()'/>
+ <JButton id="buttonSimulParamsSimulationPlansAdd" text="isisfish.common.add"
+ onActionPerformed='addSimulationPlan()'/>
</cell>
</row>
<row>
<cell fill="both" weightx="1.0">
- <JButton id="buttonSimulParamsAnalysePlansRemove" text="isisfish.common.remove" onActionPerformed='removeAnalysePlan()' enabled='false'/>
+ <JButton id="buttonSimulParamsSimulationPlansRemove" text="isisfish.common.remove"
+ onActionPerformed='removeSimulationPlan()' enabled='false'/>
</cell>
</row>
<row>
<cell fill="both" weightx="1.0">
- <JButton id="buttonSimulParamsAnalysePlansClear" text="isisfish.common.clear" onActionPerformed='clearAnalysePlan()' enabled='false'/>
+ <JButton id="buttonSimulParamsSimulationPlansClear" text="isisfish.common.clear"
+ onActionPerformed='clearSimulationPlan()' enabled='false'/>
</cell>
</row>
</Table>
@@ -177,7 +175,7 @@
<row>
<cell columns="2" fill="both" weightx="1.0" weighty="1.0">
<JScrollPane>
- <JTable id="simulParamsAnalysePlans" rowHeight='24' name="isisfish.sens.planParameters"/>
+ <JTable id="simulParamsSimulationPlans" rowHeight='24' name="isisfish.sens.planParameters"/>
</JScrollPane>
</cell>
</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 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -63,13 +63,13 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishException;
import fr.ifremer.isisfish.IsisFishRuntimeException;
-import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
import fr.ifremer.isisfish.datastore.ScriptStorage;
+import fr.ifremer.isisfish.datastore.SensitivityAnalysisStorage;
import fr.ifremer.isisfish.datastore.SensitivityExportStorage;
-import fr.ifremer.isisfish.datastore.SensitivityStorage;
+import fr.ifremer.isisfish.datastore.SimulationPlanStorage;
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
import fr.ifremer.isisfish.entities.Population;
@@ -79,14 +79,15 @@
import fr.ifremer.isisfish.export.SensitivityExport;
import fr.ifremer.isisfish.mexico.MexicoHelper;
import fr.ifremer.isisfish.rule.Rule;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
import fr.ifremer.isisfish.simulator.SimulationParameter;
import fr.ifremer.isisfish.simulator.SimulationParameterImpl;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
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.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.FactorGroup;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
import fr.ifremer.isisfish.simulator.sensitivity.SensitivityException;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
@@ -125,7 +126,7 @@
protected SimulationStorage simulStorage = null;
protected List<String> oldSimulNames = null;
protected String simulName = null;
- protected SensitivityStorage sensitivityStorage = null;
+ protected SensitivityAnalysisStorage sensitivityStorage = null;
/**
* List de facteur sous forme d'arbre (factor group).
@@ -619,23 +620,23 @@
}
/**
- * Return Analyse plan names list.
+ * Return simulation plan names list.
*
- * @return Analyse plan names
+ * @return simulation plan names
*/
- public List<String> getAnalysePlanNames() {
- return AnalysePlanStorage.getAnalysePlanNames();
+ public List<String> getSimulationPlanNames() {
+ return SimulationPlanStorage.getSimulationPlanNames();
}
- public List<AnalysePlan> getParamAnalysePlans() {
- return param.getAnalysePlans();
+ public List<SimulationPlan> getParamSimulationPlans() {
+ return param.getSimulationPlans();
}
- public void addAnalysePlan(String name) {
+ public void addSimulationPlan(String name) {
try {
- AnalysePlan ap = AnalysePlanStorage.getAnalysePlan(name)
- .getNewAnalysePlanInstance();
- getSimulationParameter().addAnalysePlan(ap);
+ SimulationPlan sp = SimulationPlanStorage.getSimulationPlan(name)
+ .getNewSimulationPlanInstance();
+ getSimulationParameter().addSimulationPlan(sp);
} catch (IsisFishException e) {
if (log.isErrorEnabled()) {
log.error("Can't add analyse plan", e);
@@ -644,27 +645,27 @@
}
}
- public void removeAnalysePlan(AnalysePlan ap) {
- getSimulationParameter().removeAnalysePlan(ap);
+ public void removeSimulationPlan(SimulationPlan sp) {
+ getSimulationParameter().removeSimulationPlan(sp);
}
- public void clearAnalysePlans() {
+ public void clearSimulationPlans() {
getSimulationParameter().clearPlans();
}
- public Map<String, Class<?>> getAnalysePlanParameterName(AnalysePlan ap) {
+ public Map<String, Class<?>> getSimulationPlanParameterName(SimulationPlan sp) {
Map<String, Class<?>> result = null;
- if (ap != null) {
- result = AnalysePlanStorage.getParameterNames(ap);
+ if (sp != null) {
+ result = SimulationPlanStorage.getParameterNames(sp);
}
return result;
}
- public Object getAnalysePlanParameterValue(String paramName, AnalysePlan ap) {
+ public Object getSimulationPlanParameterValue(String paramName, SimulationPlan sp) {
Object result = null;
- if (ap != null) {
+ if (sp != null) {
try {
- result = AnalysePlanStorage.getParameterValue(ap, paramName);
+ result = SimulationPlanStorage.getParameterValue(sp, paramName);
} catch (IsisFishException e) {
if (log.isErrorEnabled()) {
log.error("Can't get analyse plan param value", e);
@@ -675,14 +676,14 @@
return result;
}
- public void setAnalysePlanParameterValue(String paramName, AnalysePlan ap,
+ public void setSimulationPlanParameterValue(String paramName, SimulationPlan sp,
Object value) {
if (log.isDebugEnabled()) {
- log.debug("paramName : " + paramName + " analysePlanName : " + ap
+ log.debug("paramName : " + paramName + " analysePlanName : " + sp
+ " value : " + value);
}
try {
- AnalysePlanStorage.setParameterValue(ap, paramName, value);
+ SimulationPlanStorage.setParameterValue(sp, paramName, value);
} catch (IsisFishException e) {
if (log.isErrorEnabled()) {
log.error("Can't set analyse plan param value", e);
@@ -764,13 +765,13 @@
}
/**
- * Return sensitivity calculator name without .java extension.
+ * Return sensitivity analysis name without .java extension.
*
- * @return sensitivity calculator names list
+ * @return sensitivity analysis names list
*/
- public List<String> getSensitivityNames() {
+ public List<String> getSensitivityAnalysisNames() {
List<String> result = new ArrayList<String>();
- for (String r : SensitivityStorage.getSensitivityNames()) {
+ for (String r : SensitivityAnalysisStorage.getSensitivityAnalysisNames()) {
// there is some non java files in sensitivity directory
if (r.endsWith(".java")) {
// Remove .java extention
@@ -785,8 +786,8 @@
* Get current sensitivity calculator instance.
* @return sensitivity calculator
*/
- public SensitivityCalculator getSensitivityCalculator() {
- return param.getSensitivityCalculator();
+ public SensitivityAnalysis getSensitivityAnalysis() {
+ return param.getSensitivityAnalysis();
}
/**
@@ -795,27 +796,27 @@
* @param name calculator name
* @return instance
*/
- public SensitivityCalculator getSensivitityCalculatorInstance(String name) {
- SensitivityCalculator sensitivityCalculator = null;
+ public SensitivityAnalysis getSensitivityAnalysisInstance(String name) {
+ SensitivityAnalysis sensitivityAnalysis = null;
try {
- sensitivityStorage = SensitivityStorage.getSensitivity(name);
- sensitivityCalculator = sensitivityStorage
- .getNewSensitivityInstance();
+ sensitivityStorage = SensitivityAnalysisStorage.getSensitivityAnalysis(name);
+ sensitivityAnalysis = sensitivityStorage
+ .getNewSensitivityAnalysisInstance();
} catch (IsisFishException e) {
if (log.isErrorEnabled()) {
- log.error("Can't set sensitivity", e);
+ log.error("Can't set sensitivity analysis", e);
}
}
- return sensitivityCalculator;
+ return sensitivityAnalysis;
}
/**
* Set calculator instance to use.
*
- * @param sensitivityCalculator new instance
+ * @param sensitivityAnalysis new instance
*/
- public void setSensitivityCalculator(SensitivityCalculator sensitivityCalculator) {
- param.setSensitivityCalculator(sensitivityCalculator);
+ public void setSensitivityAnalysis(SensitivityAnalysis sensitivityAnalysis) {
+ param.setSensitivityAnalysis(sensitivityAnalysis);
}
/**
@@ -1092,14 +1093,14 @@
*
* @param simulationId id of the simulation to simulate
* @param launcher launcher to use
- * @param sensitivityCalculator sensitivity calculator to use
+ * @param sensitivityAnalysis sensitivity analysis to use
*
* @see SimulatorLauncher
- * @see SensitivityCalculator
+ * @see SensitivityAnalysis
* @see DesignPlan
*/
public void launchSimulation(String simulationId,
- SimulatorLauncher launcher, SensitivityCalculator sensitivityCalculator) {
+ SimulatorLauncher launcher, SensitivityAnalysis sensitivityAnalysis) {
String fullSimulationId = "as_" + simulationId + "_"
+ DATEFORMAT.format(new java.util.Date());
@@ -1109,7 +1110,7 @@
log.debug("Launch factor simulation with custom launcher "
+ launcher.toString());
log.debug("Using sensitivityCalculator : "
- + sensitivityCalculator.getDescription());
+ + sensitivityAnalysis.getDescription());
}
try {
@@ -1122,7 +1123,7 @@
DesignPlan designPlan = new DesignPlan();
designPlan.setFactorGroup(factorGroup);
SimulationService.getService().submit(fullSimulationId, param,
- launcher, 0, sensitivityCalculator, designPlan);
+ launcher, 0, sensitivityAnalysis, designPlan);
}
} catch (Exception eee) {
if (log.isErrorEnabled()) {
@@ -1134,7 +1135,7 @@
public void launchSimulationWithSensibility(String simulationId,
SimulatorLauncher launcher) {
- launchSimulation(simulationId, launcher, getSensitivityCalculator());
+ launchSimulation(simulationId, launcher, getSensitivityAnalysis());
}
/**
@@ -1144,8 +1145,8 @@
*/
public void runSensitivitySecondPass(String masterSensitivitySimulationName) {
- // calculator found
- SensitivityCalculator sensitivityCalculator = null;
+ // sensitivity analysis found
+ SensitivityAnalysis sensitivityAnalysis = null;
//List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>();
SortedMap<Integer, SimulationStorage> simulationStorageForAnalyze = new TreeMap<Integer, SimulationStorage>();
File simuationDirectory = SimulationStorage.getSimulationDirectory();
@@ -1160,15 +1161,15 @@
simulationStorageForAnalyze.put(Integer.valueOf(suffix),
storage);
- if (sensitivityCalculator == null) {
+ if (sensitivityAnalysis == null) {
// try to find find calculator name in one storage
SimulationParameter params = storage.getParameter();
- sensitivityCalculator = params.getSensitivityCalculator();
+ sensitivityAnalysis = params.getSensitivityAnalysis();
}
}
}
- if (sensitivityCalculator != null) {
+ if (sensitivityAnalysis != null) {
try {
// build master sensitivity export directory
File masterExportDirectory = new File(SimulationStorage.getSensitivityResultsDirectory(),
@@ -1178,7 +1179,7 @@
}
List<SimulationStorage> simulationStorageForAnalyzeList = new ArrayList<SimulationStorage>(
simulationStorageForAnalyze.values());
- sensitivityCalculator.analyzeResult(
+ sensitivityAnalysis.analyzeResult(
simulationStorageForAnalyzeList, masterExportDirectory);
} catch (SensitivityException e) {
if (log.isErrorEnabled()) {
Deleted: isis-fish/trunk/src/main/resources/templates/script/analyseplan.ftl
===================================================================
--- isis-fish/trunk/src/main/resources/templates/script/analyseplan.ftl 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/resources/templates/script/analyseplan.ftl 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) ${date?date?string("yyyy")} ${author}
- *
- * 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 analyseplans;
-
-import static org.nuiton.i18n.I18n._;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import scripts.ResultName;
-
-import java.io.Writer;
-import org.nuiton.math.matrix.*;
-import org.nuiton.util.*;
-import org.nuiton.topia.*;
-
-import fr.ifremer.isisfish.util.Doc;
-import fr.ifremer.isisfish.*;
-import fr.ifremer.isisfish.simulator.SimulationContext;
-import fr.ifremer.isisfish.types.Date;
-import fr.ifremer.isisfish.entities.*;
-import fr.ifremer.isisfish.simulator.AnalysePlan;
-import fr.ifremer.isisfish.simulator.AnalysePlanContext;
-import fr.ifremer.isisfish.simulator.SimulationParameter;
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-import fr.ifremer.isisfish.datastore.ResultStorage;
-
-/**
- * ${name}.java
- *
- * Created: ${date?date?string.long}
- *
- * @author ${author} <${email}>
- * @version $Revision: 1545 $
- * Last update: $Date: ${date?date?string.long} $
- * by : $Author: ${author} $
- */
-public class ${name} implements AnalysePlan {
-
- /** to use log facility, just put in your code: log.info("..."); */
- private static Log log = LogFactory.getLog(${name}.class);
-
- public String [] necessaryResult = {
- // put here all necessary result for this rule
- // example:
- // ResultName.MATRIX_BIOMASS,
- // ResultName.MATRIX_NET_VALUE_OF_LANDINGS_PER_STRATEGY_MET,
- };
-
- @Override
- public String[] getNecessaryResult() {
- return this.necessaryResult;
- }
-
- /**
- * Permet d'afficher a l'utilisateur une aide sur le plan.
- * @return L''aide ou la description du plan
- */
- @Override
- public String getDescription() throws Exception {
- // TODO change descrition
- return _("TODO ${name} description plan");
- }
-
- /**
- * Called once before {@code beforeSimulation} call.
- *
- * @param context plan context
- */
- @Override
- public void init(AnalysePlanContext context) throws Exception {
- // TODO
- }
-
- /**
- * Call before each simulation.
- *
- * @param context plan context
- * @param nextSimulation storage used for next simulation
- * @return true if we must do next simulation, false to stop plan
- * @throws Exception
- */
- @Override
- public boolean beforeSimulation(AnalysePlanContext context,
- SimulationStorage nextSimulation) throws Exception {
-
- return true;
- }
-
- /**
- * Call after each simulation.
- *
- * @param context plan context
- * @param lastSimulation storage used for simulation
- * @return true if we must do next simulation, false to stop plan
- * @throws Exception
- */
- @Override
- public boolean afterSimulation(AnalysePlanContext context,
- SimulationStorage lastSimulation) throws Exception {
-
- return true;
- }
-}
\ No newline at end of file
Deleted: isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl
===================================================================
--- isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,117 +0,0 @@
-/*
- * Copyright (C) ${date?date?string("yyyy")} ${author}
- *
- * 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 sensitivity;
-
-import static org.nuiton.i18n.I18n._;
-
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import org.nuiton.math.matrix.*;
-
-import java.io.File;
-
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-import fr.ifremer.isisfish.entities.*;
-import fr.ifremer.isisfish.simulator.sensitivity.*;
-import fr.ifremer.isisfish.util.Doc;
-
-/**
- * ${name}.java
- *
- * Created: ${date?date?string.long}
- *
- * @author ${author} <${email}>
- * @version $Revision: 0 $
- *
- * Last update: $Date: ${date?date?string.long} $
- * by : $Author: ${author} $
- */
-public class ${name} extends AbstractSensitivityCalculator {
-
- /** to use log facility, just put in your code: log.info("..."); */
- private static Log log = LogFactory.getLog(${name}.class);
-
- /**
- * Return calculator description.
- *
- * @return calculator description
- * @throws Exception
- */
- public String getDescription() {
- // TODO change descrition
- return _("TODO ${name} description plan");
- }
-
- /**
- * Retourne vrai si le calculateur sait gerer la cardinalité
- * des facteurs continue.
- *
- * @return <tt>true</tt> s'il sait la gerer
- */
- public boolean canManageCardinality() {
- return false;
- }
-
- /**
- * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
- *
- * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
- * scenarios à prendre en compte pour les simulations.
- *
- * @param plan plan a analyser
- * @param outputdirectory master sensitivity export directory
- *
- * @return un {@link SensitivityScenarios}
- * @throws SensitivityException if calculator impl fail to execute
- *
- * @see DesignPlan
- * @see Scenario
- * @see SensitivityScenarios
- */
- public SensitivityScenarios compute(DesignPlan plan, File outputdirectory)
- throws SensitivityException {
-
- SensitivityScenarios sensitivityScenarios = new SensitivityScenarios();
-
- // FIXME add implemantation
-
- return null;
- }
-
- /**
- * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
- * de sensibilité.
- *
- * @param simulationStorages
- * ensemble des {@link SimulationStorage} qui ont résultés des
- * simulations
- * @param outputdirectory master sensitivity export directory
- * @throws SensitivityException
- * if calculator impl fail to execute
- *
- * @see SensitivityScenarios
- */
- public void analyzeResult(List<SimulationStorage> simulationStorages,
- File outputdirectory) throws SensitivityException {
-
- }
-}
\ No newline at end of file
Copied: isis-fish/trunk/src/main/resources/templates/script/sensitivityanalysis.ftl (from rev 3392, isis-fish/trunk/src/main/resources/templates/script/sensitivity.ftl)
===================================================================
--- isis-fish/trunk/src/main/resources/templates/script/sensitivityanalysis.ftl (rev 0)
+++ isis-fish/trunk/src/main/resources/templates/script/sensitivityanalysis.ftl 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,117 @@
+/*
+ * Copyright (C) ${date?date?string("yyyy")} ${author}
+ *
+ * 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 sensitivity;
+
+import static org.nuiton.i18n.I18n._;
+
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.nuiton.math.matrix.*;
+
+import java.io.File;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.entities.*;
+import fr.ifremer.isisfish.simulator.sensitivity.*;
+import fr.ifremer.isisfish.util.Doc;
+
+/**
+ * ${name}.java
+ *
+ * Created: ${date?date?string.long}
+ *
+ * @author ${author} <${email}>
+ * @version $Revision: 0 $
+ *
+ * Last update: $Date: ${date?date?string.long} $
+ * by : $Author: ${author} $
+ */
+public class ${name} extends AbstractSensitivityAnalysis {
+
+ /** to use log facility, just put in your code: log.info("..."); */
+ private static Log log = LogFactory.getLog(${name}.class);
+
+ /**
+ * Return calculator description.
+ *
+ * @return calculator description
+ * @throws Exception
+ */
+ public String getDescription() {
+ // TODO change descrition
+ return _("TODO ${name} description plan");
+ }
+
+ /**
+ * Retourne vrai si le calculateur sait gerer la cardinalité
+ * des facteurs continue.
+ *
+ * @return <tt>true</tt> s'il sait la gerer
+ */
+ public boolean canManageCardinality() {
+ return false;
+ }
+
+ /**
+ * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
+ *
+ * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
+ * scenarios à prendre en compte pour les simulations.
+ *
+ * @param plan plan a analyser
+ * @param outputdirectory master sensitivity export directory
+ *
+ * @return un {@link SensitivityScenarios}
+ * @throws SensitivityException if calculator impl fail to execute
+ *
+ * @see DesignPlan
+ * @see Scenario
+ * @see SensitivityScenarios
+ */
+ public SensitivityScenarios compute(DesignPlan plan, File outputdirectory)
+ throws SensitivityException {
+
+ SensitivityScenarios sensitivityScenarios = new SensitivityScenarios();
+
+ // FIXME add implemantation
+
+ return null;
+ }
+
+ /**
+ * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
+ * de sensibilité.
+ *
+ * @param simulationStorages
+ * ensemble des {@link SimulationStorage} qui ont résultés des
+ * simulations
+ * @param outputdirectory master sensitivity export directory
+ * @throws SensitivityException
+ * if calculator impl fail to execute
+ *
+ * @see SensitivityScenarios
+ */
+ public void analyzeResult(List<SimulationStorage> simulationStorages,
+ File outputdirectory) throws SensitivityException {
+
+ }
+}
\ No newline at end of file
Copied: isis-fish/trunk/src/main/resources/templates/script/simulationplan.ftl (from rev 3394, isis-fish/trunk/src/main/resources/templates/script/analyseplan.ftl)
===================================================================
--- isis-fish/trunk/src/main/resources/templates/script/simulationplan.ftl (rev 0)
+++ isis-fish/trunk/src/main/resources/templates/script/simulationplan.ftl 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) ${date?date?string("yyyy")} ${author}
+ *
+ * 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 simulationplans;
+
+import static org.nuiton.i18n.I18n._;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import scripts.ResultName;
+
+import java.io.Writer;
+import org.nuiton.math.matrix.*;
+import org.nuiton.util.*;
+import org.nuiton.topia.*;
+
+import fr.ifremer.isisfish.util.Doc;
+import fr.ifremer.isisfish.*;
+import fr.ifremer.isisfish.simulator.SimulationContext;
+import fr.ifremer.isisfish.types.Date;
+import fr.ifremer.isisfish.entities.*;
+import fr.ifremer.isisfish.simulator.SimulationPlan;
+import fr.ifremer.isisfish.simulator.SimulationPlanContext;
+import fr.ifremer.isisfish.simulator.SimulationParameter;
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.datastore.ResultStorage;
+
+/**
+ * ${name}.java
+ *
+ * Created: ${date?date?string.long}
+ *
+ * @author ${author} <${email}>
+ * @version $Revision: 1545 $
+ * Last update: $Date: ${date?date?string.long} $
+ * by : $Author: ${author} $
+ */
+public class ${name} implements SimulationPlan {
+
+ /** to use log facility, just put in your code: log.info("..."); */
+ private static Log log = LogFactory.getLog(${name}.class);
+
+ public String [] necessaryResult = {
+ // put here all necessary result for this rule
+ // example:
+ // ResultName.MATRIX_BIOMASS,
+ // ResultName.MATRIX_NET_VALUE_OF_LANDINGS_PER_STRATEGY_MET,
+ };
+
+ @Override
+ public String[] getNecessaryResult() {
+ return this.necessaryResult;
+ }
+
+ /**
+ * Permet d'afficher a l'utilisateur une aide sur le plan.
+ * @return L''aide ou la description du plan
+ */
+ @Override
+ public String getDescription() throws Exception {
+ // TODO change description
+ return _("TODO ${name} description plan");
+ }
+
+ /**
+ * Called once before {@code beforeSimulation} call.
+ *
+ * @param context plan context
+ */
+ @Override
+ public void init(SimulationPlanContext context) throws Exception {
+ // TODO
+ }
+
+ /**
+ * Call before each simulation.
+ *
+ * @param context plan context
+ * @param nextSimulation storage used for next simulation
+ * @return true if we must do next simulation, false to stop plan
+ * @throws Exception
+ */
+ @Override
+ public boolean beforeSimulation(SimulationPlanContext context,
+ SimulationStorage nextSimulation) throws Exception {
+
+ return true;
+ }
+
+ /**
+ * Call after each simulation.
+ *
+ * @param context plan context
+ * @param lastSimulation storage used for simulation
+ * @return true if we must do next simulation, false to stop plan
+ * @throws Exception
+ */
+ @Override
+ public boolean afterSimulation(SimulationPlanContext context,
+ SimulationStorage lastSimulation) throws Exception {
+
+ return true;
+ }
+}
\ No newline at end of file
Deleted: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/AnalysePlanStorageTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/AnalysePlanStorageTest.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/AnalysePlanStorageTest.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,101 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
- * %%
- * 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.datastore;
-
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import fr.ifremer.isisfish.AbstractIsisFishTest;
-import fr.ifremer.isisfish.IsisFish;
-import freemarker.template.Configuration;
-import freemarker.template.Template;
-
-/**
- * AnalysePlanStorageTest.
- *
- * Created: 7 août 2006 11:07:57
- *
- * @author poussin
- * @version $Revision: 1526 $
- *
- * Last update: $Date: 2008-10-07 18:46:13 +0200 (mar 07 oct 2008) $
- * by : $Author: tchemit $
- */
-public class AnalysePlanStorageTest extends AbstractIsisFishTest {
-
- protected Configuration freemarkerConfiguration;
-
- @Before
- public void setUp() throws Exception {
- freemarkerConfiguration = getFreemarkerConfiguration();
- }
-
- @Test
- public void testNewAnalysePlanWithCompilation() throws Exception {
-
- String fileName = "TestAnalysePlan1";
-
- AnalysePlanStorage analysePlanStorage = AnalysePlanStorage
- .getAnalysePlan(fileName);
-
- // get template
- Template template = freemarkerConfiguration
- .getTemplate(AnalysePlanStorage.ANALYSE_PLAN_TEMPLATE);
-
- // context values
- Map<String, Object> root = new HashMap<String, Object>();
- // FIXME what is category ?
- root.put("category", "");
- root.put("name", fileName);
- root.put("date", new Date());
- root.put("author", IsisFish.config.getUserName());
- root.put("email", IsisFish.config.getUserMail());
-
- // process template
- Writer out = new StringWriter();
- template.process(root, out);
- out.flush();
- String content = out.toString();
-
- // remove it to compile, it's in isis fish data project
- Assert.assertTrue(content.indexOf("import scripts.ResultName;") > 0);
- content = content.replaceFirst("import scripts.ResultName;", "");
-
- analysePlanStorage.setContent(content);
-
- // 0 = compile success
- int compileResult = analysePlanStorage.compile(false, null);
- Assert.assertEquals(0, compileResult);
- }
-
-}
Copied: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorageTest.java (from rev 3392, isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityStorageTest.java)
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorageTest.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityAnalysisStorageTest.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,95 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import fr.ifremer.isisfish.AbstractIsisFishTest;
+import fr.ifremer.isisfish.IsisFish;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+
+/**
+ * SensitivityStorageTest.
+ *
+ * Created: 7 août 2006 11:07:57
+ *
+ * @author poussin
+ * @version $Revision: 1526 $
+ *
+ * Last update: $Date: 2008-10-07 18:46:13 +0200 (mar 07 oct 2008) $
+ * by : $Author: tchemit $
+ */
+public class SensitivityAnalysisStorageTest extends AbstractIsisFishTest {
+
+ protected Configuration freemarkerConfiguration;
+
+ @Before
+ public void setUp() throws Exception {
+ freemarkerConfiguration = getFreemarkerConfiguration();
+ }
+
+ @Test
+ public void testNewSensitivityAnalysisWithCompilation() throws Exception {
+
+ String fileName = "TestSensitivityAnalysis1";
+
+ SensitivityAnalysisStorage sensitivityStorage = SensitivityAnalysisStorage
+ .getSensitivityAnalysis(fileName);
+
+ // get template
+ Template template = freemarkerConfiguration
+ .getTemplate(SensitivityAnalysisStorage.SENSITIVITY_ANALYSIS_TEMPLATE);
+
+ // context values
+ Map<String, Object> root = new HashMap<String, Object>();
+ // FIXME what is category ?
+ root.put("category", "");
+ root.put("name", fileName);
+ root.put("date", new Date());
+ root.put("author", IsisFish.config.getUserName());
+ root.put("email", IsisFish.config.getUserMail());
+
+ // process template
+ Writer out = new StringWriter();
+ template.process(root, out);
+ out.flush();
+ sensitivityStorage.setContent(out.toString());
+
+ // 0 = compile success
+ int compileResult = sensitivityStorage.compile(false, null);
+ Assert.assertEquals(0, compileResult);
+ }
+
+}
Deleted: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityStorageTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityStorageTest.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SensitivityStorageTest.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,95 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, CodeLutin
- * %%
- * 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.datastore;
-
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-import fr.ifremer.isisfish.AbstractIsisFishTest;
-import fr.ifremer.isisfish.IsisFish;
-import freemarker.template.Configuration;
-import freemarker.template.Template;
-
-/**
- * SensitivityStorageTest.
- *
- * Created: 7 août 2006 11:07:57
- *
- * @author poussin
- * @version $Revision: 1526 $
- *
- * Last update: $Date: 2008-10-07 18:46:13 +0200 (mar 07 oct 2008) $
- * by : $Author: tchemit $
- */
-public class SensitivityStorageTest extends AbstractIsisFishTest {
-
- protected Configuration freemarkerConfiguration;
-
- @Before
- public void setUp() throws Exception {
- freemarkerConfiguration = getFreemarkerConfiguration();
- }
-
- @Test
- public void testNewSensitivityWithCompilation() throws Exception {
-
- String fileName = "TestSensitivity1";
-
- SensitivityStorage sensitivityStorage = SensitivityStorage
- .getSensitivity(fileName);
-
- // get template
- Template template = freemarkerConfiguration
- .getTemplate(SensitivityStorage.SENSIVITY_TEMPLATE);
-
- // context values
- Map<String, Object> root = new HashMap<String, Object>();
- // FIXME what is category ?
- root.put("category", "");
- root.put("name", fileName);
- root.put("date", new Date());
- root.put("author", IsisFish.config.getUserName());
- root.put("email", IsisFish.config.getUserMail());
-
- // process template
- Writer out = new StringWriter();
- template.process(root, out);
- out.flush();
- sensitivityStorage.setContent(out.toString());
-
- // 0 = compile success
- int compileResult = sensitivityStorage.compile(false, null);
- Assert.assertEquals(0, compileResult);
- }
-
-}
Copied: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SimulationPlanStorageTest.java (from rev 3392, isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/AnalysePlanStorageTest.java)
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SimulationPlanStorageTest.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/datastore/SimulationPlanStorageTest.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,101 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore;
+
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+import fr.ifremer.isisfish.AbstractIsisFishTest;
+import fr.ifremer.isisfish.IsisFish;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+
+/**
+ * AnalysePlanStorageTest.
+ *
+ * Created: 7 août 2006 11:07:57
+ *
+ * @author poussin
+ * @version $Revision: 1526 $
+ *
+ * Last update: $Date: 2008-10-07 18:46:13 +0200 (mar 07 oct 2008) $
+ * by : $Author: tchemit $
+ */
+public class SimulationPlanStorageTest extends AbstractIsisFishTest {
+
+ protected Configuration freemarkerConfiguration;
+
+ @Before
+ public void setUp() throws Exception {
+ freemarkerConfiguration = getFreemarkerConfiguration();
+ }
+
+ @Test
+ public void testNewSimulationPlanWithCompilation() throws Exception {
+
+ String fileName = "TestSimulationPlan1";
+
+ SimulationPlanStorage simulationPlanStorage = SimulationPlanStorage
+ .getSimulationPlan(fileName);
+
+ // get template
+ Template template = freemarkerConfiguration
+ .getTemplate(SimulationPlanStorage.SIMULATION_PLAN_TEMPLATE);
+
+ // context values
+ Map<String, Object> root = new HashMap<String, Object>();
+ // FIXME what is category ?
+ root.put("category", "");
+ root.put("name", fileName);
+ root.put("date", new Date());
+ root.put("author", IsisFish.config.getUserName());
+ root.put("email", IsisFish.config.getUserMail());
+
+ // process template
+ Writer out = new StringWriter();
+ template.process(root, out);
+ out.flush();
+ String content = out.toString();
+
+ // remove it to compile, it's in isis fish data project
+ Assert.assertTrue(content.indexOf("import scripts.ResultName;") > 0);
+ content = content.replaceFirst("import scripts.ResultName;", "");
+
+ simulationPlanStorage.setContent(content);
+
+ // 0 = compile success
+ int compileResult = simulationPlanStorage.compile(false, null);
+ Assert.assertEquals(0, compileResult);
+ }
+
+}
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationParameterTest.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -73,7 +73,7 @@
//Assert.assertNotNull(params.getNumberOf(new PopulationImpl()));
Assert.assertTrue(params.getRules().isEmpty());
Assert.assertTrue(params.getExtraRules().isEmpty());
- Assert.assertTrue(params.getAnalysePlans().isEmpty());
+ Assert.assertTrue(params.getSimulationPlans().isEmpty());
Assert.assertTrue(params.getExportNames().isEmpty());
Assert.assertFalse(params.getUsePreScript());
Assert.assertEquals("", params.getPreScript());
@@ -81,7 +81,7 @@
Assert.assertEquals(-1, params.getAnalysePlanNumber());
Assert.assertTrue(params.getSensitivityExport().isEmpty());
Assert.assertEquals(-1, params.getNumberOfSensitivitySimulation());
- Assert.assertNull(params.getSensitivityCalculator());
+ Assert.assertNull(params.getSensitivityAnalysis());
Assert.assertTrue(params.getResultEnabled().isEmpty());
Assert.assertTrue(params.getTagValue().isEmpty());
Assert.assertEquals("info", params.getSimulLogLevel());
@@ -173,8 +173,8 @@
Assert.assertEquals(2, param2.getRules().size());
// test analyse plans
- Assert.assertNull(param.analysePlans);
- Assert.assertEquals(0, param2.getAnalysePlans().size());
+ Assert.assertNull(param.simulationPlans);
+ Assert.assertEquals(0, param2.getSimulationPlans().size());
// test sur les populations
Assert.assertNull(param.populations);
@@ -202,10 +202,10 @@
param2.fromProperties(props2);
// test analyse plans
- Assert.assertNull(param.analysePlans);
+ Assert.assertNull(param.simulationPlans);
Assert.assertTrue(param2.propertiesParameters.containsKey("plans"));
// ca rend zero parce que l'instanciation doit echouer
- Assert.assertEquals(0, param2.getAnalysePlans().size());
+ Assert.assertEquals(0, param2.getSimulationPlans().size());
}
/**
@@ -223,7 +223,7 @@
param.fromProperties(props);
// force some properties instantiation
- param.getAnalysePlans();
+ param.getSimulationPlans();
param.getStrategies();
// not populations
@@ -232,7 +232,7 @@
Assert.assertEquals("3.2.0.6", param2.getIsisFishVersion());
Assert.assertEquals("Done for unit testing", param2.getDescription());
// test some collections
- Assert.assertEquals(0, param2.getAnalysePlans().size());
+ Assert.assertEquals(0, param2.getSimulationPlans().size());
Assert.assertEquals(1, param2.getPopulations().size());
Assert.assertEquals(3, param2.getStrategies().size());
}
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -60,8 +60,8 @@
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.FactorGroup;
import fr.ifremer.isisfish.simulator.sensitivity.Scenario;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator;
-import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculatorRandomMock;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysis;
+import fr.ifremer.isisfish.simulator.sensitivity.SensitivityAnalysisRandomMock;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
@@ -205,12 +205,12 @@
SimulatorLauncher launcher = new InProcessSimulatorLauncher();
service.addSimulationLauncher(launcher);
- SensitivityCalculator sensitivityCalculator = new SensitivityCalculatorRandomMock();
+ SensitivityAnalysis sensitivityAnalysis = new SensitivityAnalysisRandomMock();
DesignPlan designPlan = getTestDesignPlan();
service.submit("sensitivity test number 1", params, launcher, 0,
- sensitivityCalculator, designPlan);
+ sensitivityAnalysis, designPlan);
// temporise la fin de test , sinon junit tue tous les process
try {
Copied: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisRandomMock.java (from rev 3393, isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java)
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisRandomMock.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityAnalysisRandomMock.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -0,0 +1,164 @@
+/*
+ * #%L
+ * IsisFish
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.simulator.sensitivity;
+
+import java.io.File;
+import java.util.List;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.simulator.launcher.SimulationServiceTest;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
+
+/**
+ * Implementation of SensitivityAnalysis that take random value in available
+ * factors.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 26 févr. 2009 $ By : $Author: chatellier $
+ */
+public class SensitivityAnalysisRandomMock extends AbstractSensitivityAnalysis {
+
+ private static final Log log = LogFactory.getLog(SimulationServiceTest.class);
+
+ public String getDescription() {
+ return "Implementation of random sensibility analysis";
+ }
+
+ /**
+ * Retourne vrai si le calculateur sait gerer la cardinalité des facteurs
+ * continue.
+ *
+ * @return <tt>true</tt> s'il sait la gerer
+ */
+ public boolean canManageCardinality() {
+ return false;
+ }
+
+ /**
+ * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
+ *
+ * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
+ * scenarios à prendre en compte pour les simulations.
+ *
+ * @param plan plan a analyser
+ * @param outputdirectory master sensitivity export directory
+ *
+ * @return un {@link SensitivityScenarios}
+ * @throws SensitivityException if calculator impl fail to execute
+ *
+ * @see DesignPlan
+ * @see Scenario
+ * @see SensitivityScenarios
+ */
+ public SensitivityScenarios compute(DesignPlan plan, File outputdirectory)
+ throws SensitivityException {
+
+ if (log.isDebugEnabled()) {
+ log.info("Call random mock compute()");
+ }
+
+ // return result
+ SensitivityScenarios sensitivityScenarios = new SensitivityScenarios();
+
+ List<Factor> factors = plan.getFactors();
+ for (int i = 0; i < factors.size() * 2; ++i) {
+
+ Scenario scenario = new Scenario();
+ // choose a 0 < number < factors.size()
+ int pickedFactor = (int) (Math.random() * factors.size());
+ Factor factor = factors.get(pickedFactor);
+
+ Domain domain = factor.getDomain();
+ if (domain instanceof MatrixContinuousDomain) {
+ MatrixContinuousDomain cDomain = (MatrixContinuousDomain) domain;
+ Object minValue = cDomain.getMinBound();
+ Object maxValue = cDomain.getMaxBound();
+
+ factor.setValueForIdentifier(minValue.toString());
+ scenario.addFactor(factor);
+ factor.setValueForIdentifier(maxValue.toString());
+ scenario.addFactor(factor);
+ } else if (domain instanceof EquationContinuousDomain) {
+ EquationContinuousDomain cDomain = (EquationContinuousDomain) domain;
+ Object minValue = cDomain.getMinBound();
+ Object maxValue = cDomain.getMaxBound();
+
+ factor.setValueForIdentifier(minValue.toString());
+ scenario.addFactor(factor);
+ factor.setValueForIdentifier(maxValue.toString());
+ scenario.addFactor(factor);
+ } else if (domain instanceof ContinuousDomain) {
+ ContinuousDomain cDomain = (ContinuousDomain) domain;
+ Object minValue = cDomain.getMinBound();
+ Object maxValue = cDomain.getMaxBound();
+
+ factor.setValueForIdentifier(minValue);
+ scenario.addFactor(factor);
+ factor.setValueForIdentifier(maxValue);
+ scenario.addFactor(factor);
+ } else {
+ DiscreteDomain dDomain = (DiscreteDomain) domain;
+ for (Object sValue : dDomain.getValues().keySet()) {
+ factor.setValueForIdentifier(sValue);
+ scenario.addFactor(factor);
+ }
+ }
+
+ sensitivityScenarios.getScenarios().add(scenario);
+ }
+
+ return sensitivityScenarios;
+
+ }
+
+ /**
+ * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
+ * de sensibilité.
+ *
+ * @param simulationStorages
+ * ensemble des {@link SimulationStorage} qui ont résultés des
+ * simulations
+ * @param outputdirectory
+ * master sensitivity export directory
+ * @throws SensitivityException
+ * if calculator impl fail to execute
+ *
+ * @see SensitivityScenarios
+ */
+ public void analyzeResult(List<SimulationStorage> simulationStorages,
+ File outputdirectory) throws SensitivityException {
+
+ }
+
+}
Deleted: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java 2011-07-07 12:23:33 UTC (rev 3435)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/sensitivity/SensitivityCalculatorRandomMock.java 2011-07-07 14:33:45 UTC (rev 3436)
@@ -1,164 +0,0 @@
-/*
- * #%L
- * IsisFish
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2009 - 2010 Ifremer, 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.simulator.sensitivity;
-
-import java.io.File;
-import java.util.List;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import fr.ifremer.isisfish.datastore.SimulationStorage;
-import fr.ifremer.isisfish.simulator.launcher.SimulationServiceTest;
-import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
-import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
-
-/**
- * Implementation of SensitivityCalculator that take random value in available
- * factors.
- *
- * @author chatellier
- * @version $Revision: 1.0 $
- *
- * Last update : $Date: 26 févr. 2009 $ By : $Author: chatellier $
- */
-public class SensitivityCalculatorRandomMock extends AbstractSensitivityCalculator {
-
- private static final Log log = LogFactory.getLog(SimulationServiceTest.class);
-
- public String getDescription() {
- return "Implementation of random sensibility calculator";
- }
-
- /**
- * Retourne vrai si le calculateur sait gerer la cardinalité des facteurs
- * continue.
- *
- * @return <tt>true</tt> s'il sait la gerer
- */
- public boolean canManageCardinality() {
- return false;
- }
-
- /**
- * Envoi un plan a faire analyser par l'outils d'analyse de sensibilité.
- *
- * Retourne un {@link SensitivityScenarios} qui représente l'ensemble des
- * scenarios à prendre en compte pour les simulations.
- *
- * @param plan plan a analyser
- * @param outputdirectory master sensitivity export directory
- *
- * @return un {@link SensitivityScenarios}
- * @throws SensitivityException if calculator impl fail to execute
- *
- * @see DesignPlan
- * @see Scenario
- * @see SensitivityScenarios
- */
- public SensitivityScenarios compute(DesignPlan plan, File outputdirectory)
- throws SensitivityException {
-
- if (log.isDebugEnabled()) {
- log.info("Call random mock compute()");
- }
-
- // return result
- SensitivityScenarios sensitivityScenarios = new SensitivityScenarios();
-
- List<Factor> factors = plan.getFactors();
- for (int i = 0; i < factors.size() * 2; ++i) {
-
- Scenario scenario = new Scenario();
- // choose a 0 < number < factors.size()
- int pickedFactor = (int) (Math.random() * factors.size());
- Factor factor = factors.get(pickedFactor);
-
- Domain domain = factor.getDomain();
- if (domain instanceof MatrixContinuousDomain) {
- MatrixContinuousDomain cDomain = (MatrixContinuousDomain) domain;
- Object minValue = cDomain.getMinBound();
- Object maxValue = cDomain.getMaxBound();
-
- factor.setValueForIdentifier(minValue.toString());
- scenario.addFactor(factor);
- factor.setValueForIdentifier(maxValue.toString());
- scenario.addFactor(factor);
- } else if (domain instanceof EquationContinuousDomain) {
- EquationContinuousDomain cDomain = (EquationContinuousDomain) domain;
- Object minValue = cDomain.getMinBound();
- Object maxValue = cDomain.getMaxBound();
-
- factor.setValueForIdentifier(minValue.toString());
- scenario.addFactor(factor);
- factor.setValueForIdentifier(maxValue.toString());
- scenario.addFactor(factor);
- } else if (domain instanceof ContinuousDomain) {
- ContinuousDomain cDomain = (ContinuousDomain) domain;
- Object minValue = cDomain.getMinBound();
- Object maxValue = cDomain.getMaxBound();
-
- factor.setValueForIdentifier(minValue);
- scenario.addFactor(factor);
- factor.setValueForIdentifier(maxValue);
- scenario.addFactor(factor);
- } else {
- DiscreteDomain dDomain = (DiscreteDomain) domain;
- for (Object sValue : dDomain.getValues().keySet()) {
- factor.setValueForIdentifier(sValue);
- scenario.addFactor(factor);
- }
- }
-
- sensitivityScenarios.getScenarios().add(scenario);
- }
-
- return sensitivityScenarios;
-
- }
-
- /**
- * Permet de renvoyer les resultats de simulations à l'outils de d'analyse
- * de sensibilité.
- *
- * @param simulationStorages
- * ensemble des {@link SimulationStorage} qui ont résultés des
- * simulations
- * @param outputdirectory
- * master sensitivity export directory
- * @throws SensitivityException
- * if calculator impl fail to execute
- *
- * @see SensitivityScenarios
- */
- public void analyzeResult(List<SimulationStorage> simulationStorages,
- File outputdirectory) throws SensitivityException {
-
- }
-
-}
1
0
07 Jul '11
Author: chatellier
Date: 2011-07-07 12:23:33 +0000 (Thu, 07 Jul 2011)
New Revision: 3435
Log:
Fix log level
Modified:
isis-fish/trunk/src/main/resources/log4j.properties
Modified: isis-fish/trunk/src/main/resources/log4j.properties
===================================================================
--- isis-fish/trunk/src/main/resources/log4j.properties 2011-07-06 14:45:55 UTC (rev 3434)
+++ isis-fish/trunk/src/main/resources/log4j.properties 2011-07-07 12:23:33 UTC (rev 3435)
@@ -41,7 +41,3 @@
log4j.logger.sensitivity=INFO
log4j.logger.sensitivityexports=INFO
log4j.logger.simulators=INFO
-
-log4j.logger.fr.ifremer.isisfish.datastore=DEBUG
-log4j.logger.fr.ifremer.isisfish.vcs=DEBUG
-log4j.logger.fr.ifremer.isisfish.util=DEBUG
\ No newline at end of file
1
0
r3434 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
06 Jul '11
Author: chatellier
Date: 2011-07-06 14:45:55 +0000 (Wed, 06 Jul 2011)
New Revision: 3434
Log:
Fix header and license
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2011-07-06 14:45:10 UTC (rev 3433)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2011-07-06 14:45:55 UTC (rev 3434)
@@ -2,27 +2,15 @@
* #%L
* IsisFish
*
-<<<<<<< .courant
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2002 - 2010 Ifremer, Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002 - 2011 Ifremer, Code Lutin, Benjamin Poussin, Chatellier Eric
* %%
* 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.
-=======
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2002 - 2011 Ifremer, Code Lutin, Benjamin Poussin, CHatellier Eric
- * %%
- * 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.
->>>>>>> .fusion-droit.r3392
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -57,7 +45,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.nuiton.util.ApplicationConfig;
-import org.nuiton.util.ArgumentsParserException;
import org.nuiton.util.StringUtil;
import org.nuiton.util.Version;
1
0
r3433 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
06 Jul '11
Author: chatellier
Date: 2011-07-06 14:45:10 +0000 (Wed, 06 Jul 2011)
New Revision: 3433
Log:
Remove deprecated method that was renaming renamed option keys.
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2011-07-06 14:24:29 UTC (rev 3432)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2011-07-06 14:45:10 UTC (rev 3433)
@@ -173,7 +173,7 @@
}
static final public String COPYRIGHT_TEXT = "Version " + getVersion() + " IFREMER-MAERHA © 2000-2011";
- static final public String CONFIG_FILENAME = "isis-config-" + version.getNumber(0);
+ static final public String CONFIG_FILENAME = "isis-config-" + majorVersion.toString();
/** separateur de liste */
static final public String SEP = ",";
@@ -884,92 +884,6 @@
return result;
}
- /**
- * Surcharge pour la migration des options de config qui ont change de nom
- * <p>
- * TODO: lors du passage en version 4.0 on pourrait supprimer cette methode
- *
- * @param args
- * @throws org.nuiton.util.ArgumentsParserException
- */
- @Override
- public ApplicationConfig parse(String... args) throws ArgumentsParserException {
- super.parse(args);
- // dans la version precedente (3.1) seul le fichier user existe, il est
- // donc le seul a devoir etre modifie
- boolean mustSave = false;
- String[] keys = new String[]{
- "compileDirectory", Option.COMPILATION_DIRECTORY.key,
- "defaultBackupDirectory", Option.BACKUP_DIRECTORY.key,
- "defaultExportNames", Option.DEFAULT_EXPORT_NAMES.key,
- "defaultMapFile", Option.DEFAULT_MAP_FILENAME.key,
- "defaultResultNames", Option.DEFAULT_RESULT_NAMES.key,
- "defaultSimulator", Option.SIMULATOR_CLASSFILE.key,
- "defaultTagValue", Option.DEFAULT_TAG_VALUE.key,
- "javadocURL", Option.JAVADOC_URL.key,
- "locale", Option.LOCALE.key,
- "simulationShowOnlyError", Option.SIMULATION_SHOW_ONLY_ERROR.key,
- "simulationShowOnlyQueue", null, // Option.SIMULATION_SHOW_ONLY_QUEUE.key,
- "smtpServer", Option.SMTP_SERVER.key,
- "userMail", Option.USER_MAIL.key,
- "userName", Option.USER_NAME.key,
- "vcs.keyFile", Option.SSH_KEY_FILE.key,
- "vcs.keyFile", Option.SSH_KEY_FILE.key,
- "vcs.ssh.keyFile", Option.SSH_KEY_FILE.key,
- "vcs.localDatabasePath", Option.DATABASE_DIRECTORY.key,
- // on supprime car non compatible, les valeurs par defaut sont tres bien
- "localSimulator", null,
- "vcs.databaseVersion", null,
- "vcs.hostName", null,
- "vcs.noPassPhrase", null,
- "vcs.remoteDatabase", null,
- "vcs.remotePath", null,
- "vcs.type", null,
- "vcs.typeRepo", null,
- "vcs.useSshConnexion", null,
- "vcs.userName", null,
- "version", null,
- "projectName", null,
- "simulationReportMail", null,
-
- };
-
- if (log.isInfoEnabled()) {
- log.info("Check configuration change");
- }
-
- for(int i=0; i<keys.length;) {
- String oldKey = keys[i++];
- String newKey = keys[i++];
- if (!oldKey.equals(newKey)) {
- String value = getOption(oldKey);
- if (value != null) {
- mustSave = true;
- // quoi qu'il arrive on enleve l'ancienne cle
- homefile.remove(oldKey);
- if (newKey != null) {
- setOption(newKey, value);
- }
- }
- }
- }
- if (mustSave) {
-
- // FIXME EC-20100602 this save for user and configuration can be
- // lost when multiple instance are launched at same time !!!
- saveForUser();
-
- if (log.isInfoEnabled()) {
- log.info("Config file migration done");
- }
- }
- if (log.isDebugEnabled()) {
- printConfig();
- }
-
- return this;
- }
-
//////////////////////////////////////////////////
// Toutes les options disponibles
//////////////////////////////////////////////////
1
0
r3432 - in isis-fish/trunk: . src/main/java/fr/ifremer/isisfish src/main/java/fr/ifremer/isisfish/datastore/migration src/main/java/fr/ifremer/isisfish/datastore/update src/main/java/fr/ifremer/isisfish/entities src/main/java/fr/ifremer/isisfish/ui/input src/main/java/fr/ifremer/isisfish/ui/input/check src/main/resources src/main/resources/i18n src/main/xmi
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
06 Jul '11
Author: chatellier
Date: 2011-07-06 14:24:29 +0000 (Wed, 06 Jul 2011)
New Revision: 3432
Log:
Remove population's maturity group adn group reproduction rate.
Add maturity ogive equation.
Add reproduction rate equation.
Move isis fish version to 4.0.0.0.
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V40.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationPriceUI.jaxx
Removed:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V34.java
Modified:
isis-fish/trunk/pom.xml
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/DatabaseMigrationClass.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/update/ImportFromV2.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationGroupImpl.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/WizardGroupCreationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java
isis-fish/trunk/src/main/resources/i18n/isis-fish_en_GB.properties
isis-fish/trunk/src/main/resources/i18n/isis-fish_fr_FR.properties
isis-fish/trunk/src/main/resources/log4j.properties
isis-fish/trunk/src/main/resources/sensitivity.properties
isis-fish/trunk/src/main/xmi/isis-fish.zargo
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/pom.xml 2011-07-06 14:24:29 UTC (rev 3432)
@@ -11,7 +11,7 @@
<groupId>fr.ifremer</groupId>
<artifactId>isis-fish</artifactId>
- <version>3.4.0.0-SNAPSHOT</version>
+ <version>4.0.0.0-SNAPSHOT</version>
<!-- POM Relationships : Inheritance : Dependencies -->
<dependencies>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/IsisConfig.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -132,8 +132,9 @@
* migration de donnees demande automatiquement un changement de version
* d'application.
*/
- protected final static Version version = new Version(3, 4, 0, 0);
+ protected final static Version version = new Version(4, 0, 0, 0);
+ protected final static Version majorVersion = new Version(version.getNumber(0));
protected final static Version databaseVersion = new Version(
version.getNumber(0), version.getNumber(1));
protected final static Version apiVersion = new Version(
@@ -1006,7 +1007,7 @@
/** Serveur accessible par ssh : user home directory */
SIMULATOR_SSH_USER_HOME("simulation.ssh.userhome", n_("isisfish.config.main.simulation.ssh.userhome.description"), ""),
/** Serveur accessible par ssh : remote data path */
- SIMULATOR_SSH_DATAPATH("simulation.ssh.datapath", n_("isisfish.config.main.simulation.ssh.datapath.description"), "isis-database-3"),
+ SIMULATOR_SSH_DATAPATH("simulation.ssh.datapath", n_("isisfish.config.main.simulation.ssh.datapath.description"), "isis-database-" + majorVersion.toString()),
/** Serveur accessible par ssh : remote isis home install */
SIMULATOR_SSH_ISIS_HOME("simulation.ssh.isis.home", n_("isisfish.config.main.simulation.ssh.isis.home.description"), "/home3/caparmor/poussin/isis-fish-" + IsisConfig.getApiVersion()),
/** Serveur accessible par ssh : remote tmp path */
@@ -1041,7 +1042,7 @@
// SSH (global, for both VCS and caparmor)
SSH_KEY_FILE("ssh.key.file", n_("isisfish.config.ssh.key.file.description"), getUserHome() + File.separator + ".ssh" + File.separator + "isis_rsa"),
- DATABASE_DIRECTORY("database.directory", n_("isisfish.config.vcs.localDatabasePath.description"), getUserHome() + File.separator + "isis-database-3"),
+ DATABASE_DIRECTORY("database.directory", n_("isisfish.config.vcs.localDatabasePath.description"), getUserHome() + File.separator + "isis-database-" + majorVersion.toString()),
VCS_TYPE(VCS.VCS_TYPE, n_("isisfish.config.vcs.type.description"), VCS.TYPE_SVN),
VCS_PROTOCOL(VCS.VCS_PROTOCOL, n_("isisfish.config.vcs.protocol.description"), "svn"),
VCS_USER_NAME(VCS.VCS_USER_NAME, n_("isisfish.config.vcs.userName.description"), ""),
@@ -1050,7 +1051,7 @@
VCS_PATH(VCS.VCS_PATH, n_("isisfish.config.vcs.remotePath.description"), "/svnroot/isis-fish-data/"),
// community vsc
- COMMUNITY_DATABASE_DIRECTORY("community.database.directory", n_("isisfish.config.vcs.localCommunityDatabasePath.description"), getUserHome() + File.separator + "isis-community-database-3"),
+ COMMUNITY_DATABASE_DIRECTORY("community.database.directory", n_("isisfish.config.vcs.localCommunityDatabasePath.description"), getUserHome() + File.separator + "isis-community-database-" + majorVersion.toString()),
VCS_COMMUNITY_TYPE("vcs.community.type", n_("isisfish.config.vcs.community.type.description"), VCS.TYPE_SVN),
VCS_COMMUNITY_PROTOCOL("vcs.community.protocole", n_("isisfish.config.vcs.community.protocol.description"), "http"),
VCS_COMMUNITY_USER_NAME("vcs.community.username", n_("isisfish.config.vcs.community.username.description"), ""),
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/DatabaseMigrationClass.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/DatabaseMigrationClass.java 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/DatabaseMigrationClass.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -49,7 +49,7 @@
protected static final Version VERSION_32 = new Version("3.2");
protected static final Version VERSION_33 = new Version("3.3");
- protected static final Version VERSION_34 = new Version("3.4");
+ protected static final Version VERSION_40 = new Version("4.0");
public DatabaseMigrationClass() {
super(new MigrationResolver());
@@ -69,8 +69,8 @@
else if (version.equals(VERSION_33)) {
result = MigrationV32V33.class;
}
- else if (version.equals(VERSION_34)) {
- result = MigrationV33V34.class;
+ else if (version.equals(VERSION_40)) {
+ result = MigrationV33V40.class;
}
return result;
}
@@ -82,7 +82,7 @@
*/
@Override
public Version[] getAvailableVersions() {
- Version[] result = new Version[] { VERSION_32, VERSION_33, VERSION_34 };
+ Version[] result = new Version[] { VERSION_32, VERSION_33, VERSION_40 };
return result;
}
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V34.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V34.java 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V34.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -1,70 +0,0 @@
-/*
- * #%L
- *
- *
- * $Id$
- * $HeadURL$
- * %%
- * Copyright (C) 2011 Codelutin, Chatellier Eric
- * %%
- * 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, see
- * <http://www.gnu.org/licenses/gpl-2.0.html>.
- * #L%
- */
-
-package fr.ifremer.isisfish.datastore.migration;
-
-import java.util.List;
-
-import org.nuiton.topia.TopiaException;
-import org.nuiton.topia.framework.TopiaContextImplementor;
-import org.nuiton.topia.migration.TopiaMigrationCallbackByClass;
-import org.nuiton.topia.migration.TopiaMigrationCallbackByClass.MigrationCallBackForVersion;
-import org.nuiton.util.Version;
-
-/**
- * Migration between version 3.3 and 3.4.
- *
- * @author chatellier
- * @version $Revision$
- *
- * Last update : $Date$
- * By : $Author$
- */
-public class MigrationV33V34 extends MigrationCallBackForVersion {
-
- /**
- * Constructor.
- *
- * @param version version
- * @param callback callback
- */
- public MigrationV33V34(Version version, TopiaMigrationCallbackByClass callback) {
- super(version, callback);
- }
-
- /*
- * @see org.nuiton.topia.migration.TopiaMigrationCallbackByClass.MigrationCallBackForVersion#prepareMigrationScript(org.nuiton.topia.framework.TopiaContextImplementor, java.util.List, boolean, boolean)
- */
- @Override
- protected void prepareMigrationScript(TopiaContextImplementor tx,
- List<String> queries, boolean showSql, boolean showProgression)
- throws TopiaException {
- // remove maturity group
- // CONSTRAINT_0 est la nom généré de la constainte d'unicité
- // sur les maturityGroup
- // en v3.3, il n'y a qu'une contrainte sur la table population
- queries.add("ALTER TABLE POPULATION DROP CONSTRAINT IF EXISTS CONSTRAINT_0;");
- }
-}
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V40.java (from rev 3393, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V34.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V40.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/MigrationV33V40.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -0,0 +1,69 @@
+/*
+ * #%L
+ *
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2011 Ifremer, Codelutin, Chatellier Eric
+ * %%
+ * 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, see
+ * <http://www.gnu.org/licenses/gpl-2.0.html>.
+ * #L%
+ */
+
+package fr.ifremer.isisfish.datastore.migration;
+
+import java.util.List;
+
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.framework.TopiaContextImplementor;
+import org.nuiton.topia.migration.TopiaMigrationCallbackByClass;
+import org.nuiton.topia.migration.TopiaMigrationCallbackByClass.MigrationCallBackForVersion;
+import org.nuiton.util.Version;
+
+/**
+ * Migration between version 3.3 and 4.0.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class MigrationV33V40 extends MigrationCallBackForVersion {
+
+ /**
+ * Constructor.
+ *
+ * @param version version
+ * @param callback callback
+ */
+ public MigrationV33V40(Version version, TopiaMigrationCallbackByClass callback) {
+ super(version, callback);
+ }
+
+ /*
+ * @see org.nuiton.topia.migration.TopiaMigrationCallbackByClass.MigrationCallBackForVersion#prepareMigrationScript(org.nuiton.topia.framework.TopiaContextImplementor, java.util.List, boolean, boolean)
+ */
+ @Override
+ protected void prepareMigrationScript(TopiaContextImplementor tx,
+ List<String> queries, boolean showSql, boolean showProgression)
+ throws TopiaException {
+ queries.add("alter table POPULATIONGROUP drop column REPRODUCTIONRATE;");
+ queries.add("alter table POPULATION drop column MATURITYGROUP;");
+ queries.add("alter table POPULATION add column MATURITYOGIVEEQUATION VARCHAR(255);");
+ queries.add("alter table POPULATION add column REPRODUCTIONRATEEQUATION VARCHAR(255);");
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/update/ImportFromV2.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/update/ImportFromV2.java 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/update/ImportFromV2.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -550,7 +550,7 @@
"if (group == null) return 0;\n" +
" switch (group.getId()) {\n";
- int classMat = getIntValue(pop, "classeMature");
+ //int classMat = getIntValue(pop, "classeMature");
List<Node> classes = getListValue(pop, "classes");
for (Node classeId : classes) {
Node classe = getElementById(classeId.getText());
@@ -563,7 +563,8 @@
group.setId(getIntValue(classe, "id"));
group.setAge(getDoubleValue(classe, "age"));
- group.setReproductionRate(getDoubleValue(classe, "coefficientFecondite"));
+ // group's reproduction rate removed in isis 3.4
+ //group.setReproductionRate(getDoubleValue(classe, "coefficientFecondite"));
group.setMinLength(getDoubleValue(classe, "longueurMin"));
group.setMaxLength(getDoubleValue(classe, "longueurMax"));
group.setComment(getStringValue(classe, "commentaire"));
@@ -572,9 +573,10 @@
eqMeanWeight += " case " + group.getId() + ": return " + getStringValue(classe, "poidsMoyen") + ";\n";
eqPrice += " case " + group.getId() + ": return " + getStringValue(classe, "price") + ";\n";
+ /* MaturityGroup removed in isis 3.4
if (group.getId() == classMat) {
pop3.setMaturityGroup(group);
- }
+ }*/
}
eqMeanWeight +=
@@ -804,8 +806,8 @@
* @throws Exception
*/
private void importTripTypes(TopiaContext context, Element region) throws Exception {
- String regionId = getId(region);
-// log.error(regionId + "******" + root.selectNodes("/dbobjects/dbobject[@type='TripType']/attribute[@name='region' and text()='" + regionId + "']").size());
+ //String regionId = getId(region);
+ //log.error(regionId + "******" + root.selectNodes("/dbobjects/dbobject[@type='TripType']/attribute[@name='region' and text()='" + regionId + "']").size());
List<Node> tripTypes = getListValue("TripType", "region", getId(region));
log.info("import de " + tripTypes.size() + " TripTypes");
for (Node tripType : tripTypes) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationGroupImpl.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationGroupImpl.java 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationGroupImpl.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2006 - 2010 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
+ * Copyright (C) 2006 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -156,7 +156,51 @@
return result;
}
+ /*
+ * @see fr.ifremer.isisfish.entities.PopulationGroup#getMaturityOgive()
+ */
@Override
+ public double getMaturityOgive() {
+ double result = 0;
+ try {
+ Equation eq = getPopulation().getMaturityOgiveEquation();
+ if (eq != null) {
+ result = eq.evaluate("group", this);
+ }
+ } catch (Exception eee) {
+ if (log.isWarnEnabled()) {
+ log.warn("Error in maturityOgive equation");
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("StackTrace", eee);
+ }
+ }
+ return result;
+ }
+
+ /*
+ * @see fr.ifremer.isisfish.entities.PopulationGroup#getReproductionRate()
+ */
+ @Override
+ public double getReproductionRate() {
+ double result = 0;
+ try {
+ Equation eq = getPopulation().getReproductionRateEquation();
+ if (eq != null) {
+ result = eq.evaluate("group", this);
+ }
+ } catch (Exception eee) {
+ if (log.isWarnEnabled()) {
+ log.warn("Error in reproductionRate equation");
+ }
+ if (log.isDebugEnabled()) {
+ log.debug("StackTrace", eee);
+ }
+ }
+ return result;
+ }
+
+ @Override
public String toString() {
return _("isisfish.populationGroup.toString", this.getPopulation(),
this.getId());
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2006 - 2010 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
+ * Copyright (C) 2006 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -45,10 +45,12 @@
import fr.ifremer.isisfish.equation.Language;
import fr.ifremer.isisfish.equation.PopulationGrowth;
import fr.ifremer.isisfish.equation.PopulationGrowthReverse;
+import fr.ifremer.isisfish.equation.PopulationMaturityOgiveEquation;
import fr.ifremer.isisfish.equation.PopulationMeanWeight;
import fr.ifremer.isisfish.equation.PopulationNaturalDeathRate;
import fr.ifremer.isisfish.equation.PopulationPrice;
import fr.ifremer.isisfish.equation.PopulationReproductionEquation;
+import fr.ifremer.isisfish.equation.PopulationReproductionRateEquation;
import fr.ifremer.isisfish.types.Month;
/**
@@ -129,6 +131,14 @@
if (eq != null) {
eq.setName(getName());
}
+ eq = getMaturityOgiveEquation();
+ if (eq != null) {
+ eq.setName(getName());
+ }
+ eq = getReproductionRateEquation();
+ if (eq != null) {
+ eq.setName(getName());
+ }
}
public void setReproductionEquationContent(String content) {
@@ -290,7 +300,71 @@
_("isisfish.error.change.equation"), eee);
}
}
+
+ public void setMaturityOgiveEquationContent(String content) {
+ try {
+ Equation eq = getMaturityOgiveEquation();
+ if (eq == null) {
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
+ // create MaturityOgive equation
+ eq = dao.create();
+ eq.setCategory("MaturityOgive");
+ eq.setJavaInterface(PopulationMaturityOgiveEquation.class);
+ eq.setLanguage(Language.JAVA);
+ setMaturityOgiveEquation(eq);
+ }
+
+ eq.setName(getName());
+
+ // Fire
+ String _oldValue = eq.getContent();
+ fireOnPreWrite("content", _oldValue, content);
+
+ eq.setContent(content);
+ eq.update();
+
+ fireOnPostWrite("content", _oldValue, content);
+
+ } catch (TopiaException eee) {
+ throw new IsisFishRuntimeException(_("isisfish.change.equation"),
+ eee);
+ }
+ }
+
+ public void setReproductionRateEquationContent(String content) {
+ try {
+ Equation eq = getReproductionRateEquation();
+
+ if (eq == null) {
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
+ // create ReproductionRate equation
+ eq = dao.create();
+ eq.setCategory("ReproductionRate");
+ eq.setJavaInterface(PopulationReproductionRateEquation.class);
+ eq.setLanguage(Language.JAVA);
+ setReproductionRateEquation(eq);
+ }
+
+ eq.setName(getName());
+
+ // Fire
+ String _oldValue = eq.getContent();
+ fireOnPreWrite("content", _oldValue, content);
+
+ eq.setContent(content);
+ eq.update();
+
+ fireOnPostWrite("content", _oldValue, content);
+
+ } catch (TopiaException eee) {
+ throw new IsisFishRuntimeException(_("isisfish.change.equation"),
+ eee);
+ }
+ }
+
public void setPriceContent(String content) {
try {
Equation eq = getPrice();
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2011-07-06 14:24:29 UTC (rev 3432)
@@ -54,13 +54,9 @@
fieldPopulationBasicsGeographicID.setText("");
fieldPopulationBasicsNbClasses.setText("");
fieldPopulationBasicsComment.setText("");
- fieldPopulationBasicsMatureClass.setSelectedItem(null);
tableAgeLength.setModel(new DefaultTableModel());
}
if (evt.getNewValue() != null) {
- if (getBean().getPopulationGroup() != null) {
- jaxx.runtime.SwingUtil.fillComboBox(fieldPopulationBasicsMatureClass, getBean().getPopulationGroup(), getBean().getMaturityGroup(), true);
- }
setTableAgeLengthModel();
}
}
@@ -76,9 +72,6 @@
setBean(population);
if (getBean() != null) {
- if (getBean().getPopulationGroup() != null) {
- jaxx.runtime.SwingUtil.fillComboBox(fieldPopulationBasicsMatureClass, getBean().getPopulationGroup(), getBean().getMaturityGroup(), true);
- }
setTableAgeLengthModel();
}
//getSaveVerifier().addCurrentPanel(growthEquation, growthReverseEquation);
@@ -112,12 +105,7 @@
}
}
-protected void matureClassChanged(){
- Object selected = fieldPopulationBasicsMatureClass.getSelectedItem();
- if (getBean() != null){
- getBean().setMaturityGroup((PopulationGroup) selected);
- }
-}
+
protected void setTableAgeLengthModel() {
java.util.List<PopulationGroup> popGroup = getBean().getPopulationGroup();
if (popGroup != null){
@@ -189,15 +177,9 @@
</cell>
</row>
<row>
- <cell anchor='east'>
- <JLabel text="isisfish.populationBasics.maturityGroup" enabled='{getBean() != null}'/>
- </cell>
- <cell fill='horizontal' weightx='1.0'>
- <JAXXComboBox id="fieldPopulationBasicsMatureClass" onActionPerformed='matureClassChanged()'
- enabled='{isActive()}' decorator='boxed'/>
- </cell>
- <cell fill='horizontal'>
+ <cell fill='horizontal' columns="3">
<JCheckBox id="fieldPopulationBasicsPlusGroup" text="isisfish.populationBasics.plusGroup"
+ toolTipText="isisfish.populationBasics.plusGroupTip"
selected='{getBean().getPlusGroup()}'
onActionPerformed='getBean().setPlusGroup(fieldPopulationBasicsPlusGroup.isSelected())'
enabled='{isActive()}' decorator='boxed' _sensitivityBean='{Population.class}' _sensitivityMethod='"PlusGroup"'/>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2011-07-06 14:24:29 UTC (rev 3432)
@@ -71,14 +71,23 @@
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='price' constructorParams='this'
- text='isisfish.populationEquation.price' active="{isActive()}"
- bean='{getBean()}' formuleCategory='Price' beanProperty='Price'
- clazz='{fr.ifremer.isisfish.equation.PopulationPrice.class}'
- decorator='boxed' _sensitivityBean='{Population.class}' _sensitivityMethod='"Price"'/>
+ <InputOneEquationUI id='maturityOgive' constructorParams='this'
+ text='isisfish.populationEquation.MaturityOgive' active="{isActive()}"
+ bean='{getBean()}' formuleCategory='MaturityOgive' beanProperty='MaturityOgiveEquation'
+ clazz='{fr.ifremer.isisfish.equation.PopulationMaturityOgiveEquation.class}'
+ decorator='boxed' _sensitivityBean='{Population.class}' _sensitivityMethod='"MaturityOgiveEquation"'/>
</cell>
</row>
<row>
+ <cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
+ <InputOneEquationUI id='reproductionRate' constructorParams='this'
+ text='isisfish.populationEquation.reproductionRate' active="{isActive()}"
+ bean='{getBean()}' formuleCategory='ReproductionRate' beanProperty='ReproductionRateEquation'
+ clazz='{fr.ifremer.isisfish.equation.PopulationReproductionRateEquation.class}'
+ decorator='boxed' _sensitivityBean='{Population.class}' _sensitivityMethod='"ReproductionRateEquation"'/>
+ </cell>
+ </row>
+ <row>
<cell fill='horizontal' weightx='0.5'>
<JButton id='save' decorator='boxed'
text="isisfish.common.save"
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2011-07-06 14:24:29 UTC (rev 3432)
@@ -150,11 +150,23 @@
<JLabel text="isisfish.common.populationGroup" enabled='{isActive()}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='1.0'>
- <JAXXComboBox id='populationGroupPopulationGroupComboBox' onActionPerformed='populationGroupChanged()' enabled='{isActive()}'/>
+ <JAXXComboBox id='populationGroupPopulationGroupComboBox' onActionPerformed='populationGroupChanged()'
+ enabled='{isActive()}'/>
</cell>
</row>
<row>
<cell fill='horizontal' anchor='east'>
+ <JLabel text="isisfish.populationGroup.naturalDeathRate" enabled='{getPopulationGroup() != null}'/>
+ </cell>
+ <cell columns='2' fill='both' weightx='1.0' weighty='0.5'>
+ <org.nuiton.math.matrix.gui.MatrixPanelEditor id='fieldPopulationGroupNaturalDeathRate'
+ enabled='false' decorator='boxed' _sensitivityBean='{Population.class}' _sensitivityMethod='"NaturalDeathRateMatrix"' />
+ <!-- this bindings totally break UI
+ matrix='{getBean() == null || getPopulationGroup() == null ? null : ((AbstractMatrixND)getBean().getNaturalDeathRateMatrix()).getSubMatrixOnSemantic(0, getPopulationGroup())}' -->
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal' anchor='east'>
<JLabel text="isisfish.populationGroup.meanWeigth" enabled='{getPopulationGroup() != null}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='1.0'>
@@ -165,37 +177,32 @@
</row>
<row>
<cell fill='horizontal' anchor='east'>
- <JLabel text="isisfish.populationGroup.price" enabled='{getPopulationGroup() != null}'/>
+ <JLabel text="isisfish.populationGroup.maturityOgive" enabled='{getPopulationGroup() != null}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='1.0'>
- <JTextField id="fieldPopulationGroupPrice" text='{String.valueOf(getPopulationGroup().getPrice())}'
+ <JTextField id="fieldPopulationGroupMaturityOgive" text='{String.valueOf(getPopulationGroup().getMaturityOgive())}'
editable="false"
enabled='{getPopulationGroup() != null}' decorator='boxed'/>
</cell>
</row>
<row>
<cell fill='horizontal' anchor='east'>
- <JLabel text="isisfish.populationGroup.naturalDeathRate" enabled='{getPopulationGroup() != null}'/>
+ <JLabel text="isisfish.populationGroup.reproductionRate" enabled='{getPopulationGroup() != null}'/>
</cell>
- <cell columns='2' fill='both' weightx='1.0' weighty='0.5'>
- <org.nuiton.math.matrix.gui.MatrixPanelEditor id='fieldPopulationGroupNaturalDeathRate'
- enabled='false' decorator='boxed' _sensitivityBean='{Population.class}' _sensitivityMethod='"NaturalDeathRateMatrix"' />
- <!-- this bindings totally break UI
- matrix='{getBean() == null || getPopulationGroup() == null ? null : ((AbstractMatrixND)getBean().getNaturalDeathRateMatrix()).getSubMatrixOnSemantic(0, getPopulationGroup())}' -->
+ <cell columns='2' fill='horizontal' weightx='1.0'>
+ <JTextField id="fieldPopulationGroupReproductionRate" text='{String.valueOf(getPopulationGroup().getReproductionRate())}'
+ editable="false"
+ enabled='{getPopulationGroup() != null}' decorator='boxed'/>
</cell>
</row>
<row>
<cell fill='horizontal' anchor='east'>
- <JLabel text="isisfish.populationGroup.reproductionRate" enabled='{getPopulationGroup() != null}'/>
+ <JLabel text="isisfish.populationGroup.price" enabled='{getPopulationGroup() != null}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='1.0'>
- <!--NumberEditor id='fieldPopulationGroupReproductionRate' constructorParams='this'
- bean='{getPopulationGroup()}' property='reproductionRate'
- useSign='true' enabled='{isPopGroupNotNull()}' decorator='boxed'
- _sensitivityBean='{PopulationGroup.class}' _sensitivityMethod='"ReproductionRate"'/-->
- <JTextField id="fieldPopulationGroupReproductionRate" text='{String.valueOf(getPopulationGroup().getReproductionRate())}'
- onKeyReleased='getPopulationGroup().setReproductionRate(Double.parseDouble(fieldPopulationGroupReproductionRate.getText()))'
- enabled='{getPopulationGroup() != null}' decorator='boxed' _sensitivityBean='{PopulationGroup.class}' _sensitivityMethod='"ReproductionRate"'/>
+ <JTextField id="fieldPopulationGroupPrice" text='{String.valueOf(getPopulationGroup().getPrice())}'
+ editable="false"
+ enabled='{getPopulationGroup() != null}' decorator='boxed'/>
</cell>
</row>
<row>
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationPriceUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationPriceUI.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationPriceUI.jaxx 2011-07-06 14:24:29 UTC (rev 3432)
@@ -0,0 +1,79 @@
+<!--
+ #%L
+ IsisFish
+
+ $Id$
+ $HeadURL$
+ %%
+ Copyright (C) 2009 - 2011 Ifremer, Code Lutin, Chatellier Eric
+ %%
+ 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, see
+ <http://www.gnu.org/licenses/gpl-2.0.html>.
+ #L%
+ -->
+<fr.ifremer.isisfish.ui.input.InputContentUI superGenericType='Population'>
+
+ <!-- bean property -->
+ <fr.ifremer.isisfish.entities.Population id='bean' javaBean='null'/>
+
+ <import>
+ fr.ifremer.isisfish.entities.Population;
+ </import>
+
+ <BeanValidator id='validator' context="equation"
+ bean='{getBean()}' beanClass='fr.ifremer.isisfish.entities.Population'
+ uiClass="jaxx.runtime.validator.swing.ui.ImageValidationUI">
+ </BeanValidator>
+
+ <script><![CDATA[
+/*public void refresh() {
+ Population population = getSaveVerifier().getEntity(Population.class);
+
+ // add null before, for second to be considered as a changed event
+ // otherwize, setBean has no effect
+ setBean(null);
+ setBean(population);
+
+ getSaveVerifier().addCurrentPanel(naturalDeathRate, meanWeight, price);
+}*/
+ ]]>
+ </script>
+ <JPanel id="body">
+ <Table>
+ <row>
+ <cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
+ <InputOneEquationUI id='price' constructorParams='this'
+ text='isisfish.populationEquation.price' active="{isActive()}"
+ bean='{getBean()}' formuleCategory='Price' beanProperty='Price'
+ clazz='{fr.ifremer.isisfish.equation.PopulationPrice.class}'
+ decorator='boxed' _sensitivityBean='{Population.class}' _sensitivityMethod='"Price"'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal' weightx='0.5'>
+ <JButton id='save' decorator='boxed'
+ text="isisfish.common.save"
+ enabled="{validator.isValid() && validator.isChanged()}"
+ onActionPerformed="getSaveVerifier().save();validator.setChanged(false);"/>
+ </cell>
+ <cell fill='horizontal' weightx='0.5'>
+ <JButton id='cancel' decorator='boxed'
+ text="isisfish.common.cancel"
+ enabled="{validator.isChanged()}"
+ onActionPerformed="getSaveVerifier().cancel()"/>
+ </cell>
+ </row>
+ </Table>
+ </JPanel>
+</fr.ifremer.isisfish.ui.input.InputContentUI>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2011-07-06 14:24:29 UTC (rev 3432)
@@ -58,6 +58,7 @@
populationGroupUI.setLayer(active);
populationCapturabilityUI.setLayer(active);
populationMigrationUI.setLayer(active);
+ populationPriceUI.setLayer(active);
}
]]>
</script>
@@ -95,6 +96,10 @@
<tab title='isisfish.populationMigration.title'>
<PopulationMigrationUI id='populationMigrationUI' bean="{getBean()}" active="{isActive()}" constructorParams='this'/>
</tab>
+ <!-- Price -->
+ <tab title='isisfish.populationPrice.title'>
+ <PopulationPriceUI id='populationPriceUI' bean="{getBean()}" active="{isActive()}" constructorParams='this'/>
+ </tab>
</JTabbedPane>
</JPanel>
</fr.ifremer.isisfish.ui.input.InputContentUI>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/WizardGroupCreationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/WizardGroupCreationUI.jaxx 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/WizardGroupCreationUI.jaxx 2011-07-06 14:24:29 UTC (rev 3432)
@@ -231,8 +231,6 @@
try {
Population pop = popBasic.getBean();
- // remove maturity group
- pop.setMaturityGroup(null);
// remove all old group
pop.clearPopulationGroup();
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/check/CheckRegion.java 2011-07-06 14:24:29 UTC (rev 3432)
@@ -307,9 +307,8 @@
if (StringUtils.isBlank(pop.getGeographicId())) {
result.addInfo(pop, _("isisfish.error.empty.id.geographic"));
}
- if (pop.getMaturityGroup() == null) {
- result.addInfo(pop, _("isisfish.error.not.null.class.grown"));
- }
+ check(pop, "MaturityOgiveEquation", pop.getMaturityOgiveEquation(), result);
+ check(pop, "ReproductionRateEquation", pop.getReproductionRateEquation(), result);
check(pop, "Growth", pop.getGrowth(), result);
check(pop, "GrowthReverse", pop.getGrowthReverse(), result);
List<PopulationGroup> classes = pop.getPopulationGroup();
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 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish_en_GB.properties 2011-07-06 14:24:29 UTC (rev 3432)
@@ -678,25 +678,29 @@
isisfish.populationBasics.name=Name
isisfish.populationBasics.numberGroup=Number of group
isisfish.populationBasics.plusGroup=Plus group
+isisfish.populationBasics.plusGroupTip=Collecting survivors in the last group
isisfish.populationBasics.recreateClasses=Recreate classes
-isisfish.populationBasics.title=Population input
+isisfish.populationBasics.title=Population structure
isisfish.populationCapturability.comments=Comments
isisfish.populationCapturability.selectCoefficient=Select a coefficient per season and per class
-isisfish.populationCapturability.title=Capturability input
+isisfish.populationCapturability.title=Capturability
+isisfish.populationEquation.MaturityOgive=Maturity ogive
isisfish.populationEquation.meanWeight=Mean weight
isisfish.populationEquation.naturalDeathRate=Natural death rate
isisfish.populationEquation.price=Price
-isisfish.populationEquation.title=Equations input
+isisfish.populationEquation.reproductionRate=Reproduction rate
+isisfish.populationEquation.title=Equations
isisfish.populationGroup.age=Age
isisfish.populationGroup.comments=Comments
isisfish.populationGroup.length=Length
+isisfish.populationGroup.maturityOgive=Maturity ogive
isisfish.populationGroup.maximumLength=Maximum length
isisfish.populationGroup.meanWeigth=Mean Weigth
isisfish.populationGroup.minimumLength=Minimum length
isisfish.populationGroup.naturalDeathRate=Natural death rate
isisfish.populationGroup.price=Price
isisfish.populationGroup.reproductionRate=Reproduction rate
-isisfish.populationGroup.title=Population group input
+isisfish.populationGroup.title=Groups
isisfish.populationGroup.toString=%1$s Group %2$s
isisfish.populationMigration.comments=Comments
isisfish.populationMigration.selectSeason=Select a season
@@ -712,11 +716,12 @@
isisfish.populationMigrationMigration.coefficient=Coefficient
isisfish.populationMigrationMigration.departureZone=Departure zone
isisfish.populationMigrationMigration.title=Population migration
+isisfish.populationPrice.title=Price
isisfish.populationRecruitment.comments=Comments
isisfish.populationRecruitment.monthgapgetweenreprorecruitment=Month gap between repro and recruitment
isisfish.populationRecruitment.recruitmentDistribution=Recruitment distribution
isisfish.populationRecruitment.reproductionEquation=Reproduction equation
-isisfish.populationRecruitment.title=Recruitment input
+isisfish.populationRecruitment.title=Recruitment
isisfish.populationSeasonInfo.arrival=Arrival
isisfish.populationSeasonInfo.departure=Departure
isisfish.populationSeasonInfo.distributionSpawing=Distribution of spawing
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 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish_fr_FR.properties 2011-07-06 14:24:29 UTC (rev 3432)
@@ -659,7 +659,7 @@
isisfish.params.toString.strategies=Stratégies d'exploitation \:
isisfish.params.useAnalysePlan=Utiliser le plan de simulation
isisfish.params.usePreSimulationScript=Utiliser un script de pré-simulation
-isisfish.population.capturability=Capturabilit?9e
+isisfish.population.capturability=Capturabilité
isisfish.population.comments=Commentaires
isisfish.population.group=Groupe
isisfish.population.groups=Groupes
@@ -678,25 +678,29 @@
isisfish.populationBasics.name=Nom
isisfish.populationBasics.numberGroup=Nombre de groupes
isisfish.populationBasics.plusGroup=Groupe plus
+isisfish.populationBasics.plusGroupTip=Cummuler les survivants dans le dernier groupe
isisfish.populationBasics.recreateClasses=Reconstruire les groupes
-isisfish.populationBasics.title=Saisie des populations
+isisfish.populationBasics.title=Structure population
isisfish.populationCapturability.comments=Commentaires
isisfish.populationCapturability.selectCoefficient=Sélectionnez un coefficient par saison et par classe
-isisfish.populationCapturability.title=Saisie de la capturabilité
+isisfish.populationCapturability.title=Capturabilité
+isisfish.populationEquation.MaturityOgive=Ogive de maturité
isisfish.populationEquation.meanWeight=Poids moyen
isisfish.populationEquation.naturalDeathRate=Taux de mortalité naturelle
isisfish.populationEquation.price=Prix
-isisfish.populationEquation.title=Saisie des équations
+isisfish.populationEquation.reproductionRate=Taux de reproduction
+isisfish.populationEquation.title=Traits de vie
isisfish.populationGroup.age=Age
isisfish.populationGroup.comments=Commentaires
isisfish.populationGroup.length=Longueur
+isisfish.populationGroup.maturityOgive=Ogive de maturité
isisfish.populationGroup.maximumLength=Longueur maximale
isisfish.populationGroup.meanWeigth=Poids principal
isisfish.populationGroup.minimumLength=Longueur minimale
isisfish.populationGroup.naturalDeathRate=Taux de mortalité naturelle
isisfish.populationGroup.price=Prix
isisfish.populationGroup.reproductionRate=Taux de reproduction
-isisfish.populationGroup.title=Saisie des groupes de population
+isisfish.populationGroup.title=Groupes
isisfish.populationGroup.toString=%1$s Groupe %2$s
isisfish.populationMigration.comments=Commentaires
isisfish.populationMigration.selectSeason=Sélectionnez une saison
@@ -712,11 +716,12 @@
isisfish.populationMigrationMigration.coefficient=Coefficient
isisfish.populationMigrationMigration.departureZone=Zone de départ
isisfish.populationMigrationMigration.title=Migration de population
+isisfish.populationPrice.title=Prix
isisfish.populationRecruitment.comments=Commentaires
isisfish.populationRecruitment.monthgapgetweenreprorecruitment=Nombre de mois entre ponte et recrutement
isisfish.populationRecruitment.recruitmentDistribution=Distribution du recrutement
isisfish.populationRecruitment.reproductionEquation=Equation de reproduction
-isisfish.populationRecruitment.title=Saisie des reproductions
+isisfish.populationRecruitment.title=Reproductions
isisfish.populationSeasonInfo.arrival=Arrivée
isisfish.populationSeasonInfo.departure=Départ
isisfish.populationSeasonInfo.distributionSpawing=Distribution de la reproduction
Modified: isis-fish/trunk/src/main/resources/log4j.properties
===================================================================
--- isis-fish/trunk/src/main/resources/log4j.properties 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/resources/log4j.properties 2011-07-06 14:24:29 UTC (rev 3432)
@@ -41,3 +41,7 @@
log4j.logger.sensitivity=INFO
log4j.logger.sensitivityexports=INFO
log4j.logger.simulators=INFO
+
+log4j.logger.fr.ifremer.isisfish.datastore=DEBUG
+log4j.logger.fr.ifremer.isisfish.vcs=DEBUG
+log4j.logger.fr.ifremer.isisfish.util=DEBUG
\ No newline at end of file
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2011-07-06 14:17:27 UTC (rev 3431)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2011-07-06 14:24:29 UTC (rev 3432)
@@ -5,7 +5,7 @@
# $Id$
# $HeadURL$
# %%
-# Copyright (C) 2009 - 2010 Ifremer, CodeLutin
+# Copyright (C) 2009 - 2011 Ifremer, CodeLutin, Chatellier Eric
# %%
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as
@@ -22,7 +22,7 @@
# <http://www.gnu.org/licenses/gpl-2.0.html>.
# #L%
###
-#?this file contains authorized entities factors creation
+# this file contains authorized entities factors creation
EffortDescription.crewFoodCost
EffortDescription.crewShareRate
EffortDescription.crewSize
@@ -38,15 +38,16 @@
Gear.standardisationFactor
Metier.gearParameterValue
Population.capturability
-PopulationGroup.reproductionRate
Population.growth
Population.growthReverse
+Population.maturityOgiveEquation
Population.meanWeight
Population.monthGapBetweenReproRecrutement
Population.naturalDeathRate
Population.price
Population.recruitmentDistribution
Population.reproductionEquation
+Population.reproductionRateEquation
PopulationSeasonInfo.lengthChangeMatrix
PopulationSeasonInfo.migrationEquation
PopulationSeasonInfo.emigrationEquation
Modified: isis-fish/trunk/src/main/xmi/isis-fish.zargo
===================================================================
(Binary files differ)
1
0
r3431 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
by chatellier@users.labs.libre-entreprise.org 06 Jul '11
06 Jul '11
Author: chatellier
Date: 2011-07-06 14:17:27 +0000 (Wed, 06 Jul 2011)
New Revision: 3431
Log:
Fix import.
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/StorageHelper.java
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2011-06-29 08:34:30 UTC (rev 3430)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/CodeSourceStorage.java 2011-07-06 14:17:27 UTC (rev 3431)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2006 - 2010 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
+ * Copyright (C) 2006 - 2011 Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin, Chatellier Eric
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
@@ -33,7 +33,6 @@
import org.nuiton.util.FileUtil;
import fr.ifremer.isisfish.IsisFishRuntimeException;
-import fr.ifremer.isisfish.vcs.VCSException;
/**
* Classes abstraite permettant la gestion des fichiers de code source.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2011-06-29 08:34:30 UTC (rev 3430)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/JavaSourceStorage.java 2011-07-06 14:17:27 UTC (rev 3431)
@@ -40,7 +40,6 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.util.CompileHelper;
import fr.ifremer.isisfish.util.Doc;
import fr.ifremer.isisfish.util.Docable;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2011-06-29 08:34:30 UTC (rev 3430)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/SensitivityExportStorage.java 2011-07-06 14:17:27 UTC (rev 3431)
@@ -30,8 +30,6 @@
import java.util.Map;
import org.apache.commons.collections.map.ReferenceMap;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishException;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/StorageHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/StorageHelper.java 2011-06-29 08:34:30 UTC (rev 3430)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/StorageHelper.java 2011-07-06 14:17:27 UTC (rev 3431)
@@ -35,7 +35,6 @@
import org.nuiton.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.util.ConverterUtil;
/**
1
0