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
March 2009
- 5 participants
- 159 discussions
r1994 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator
by chatellier@users.labs.libre-entreprise.org 18 Mar '09
by chatellier@users.labs.libre-entreprise.org 18 Mar '09
18 Mar '09
Author: chatellier
Date: 2009-03-18 10:26:18 +0000 (Wed, 18 Mar 2009)
New Revision: 1994
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
Log:
Agrandissement de la taille pour la sensibilit?\195?\169
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 2009-03-18 10:14:55 UTC (rev 1993)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-18 10:26:18 UTC (rev 1994)
@@ -417,7 +417,7 @@
<Table>
<row>
<cell fill="horizontal">
- <JLabel id='lblName' text='{isSensitivity() ? _("isisfish.params.sensibilityName") : _("isisfish.params.simulationName")}' minimumSize='{new Dimension(140,25)}' preferredSize='{new Dimension(140,25)}'/>
+ <JLabel id='lblName' text='{isSensitivity() ? _("isisfish.params.sensibilityName") : _("isisfish.params.simulationName")}' minimumSize='{new Dimension(195,25)}' preferredSize='{new Dimension(195,25)}'/>
</cell>
<cell fill="both" weightx="1.0">
<JTextField id="fieldSimulParamsName" onFocusLost='saveName()'/>
1
0
r1993 - isis-fish/trunk/src/main/resources/i18n
by chatellier@users.labs.libre-entreprise.org 18 Mar '09
by chatellier@users.labs.libre-entreprise.org 18 Mar '09
18 Mar '09
Author: chatellier
Date: 2009-03-18 10:14:55 +0000 (Wed, 18 Mar 2009)
New Revision: 1993
Modified:
isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
Log:
Update i18n
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-18 10:09:52 UTC (rev 1992)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-18 10:14:55 UTC (rev 1993)
@@ -80,7 +80,7 @@
isisfish.advancedParams.simulationStatistique=Simulation statistique
isisfish.advancedParams.simulatorUse=Simulateur \u00E0 utiliser
isisfish.cell.comments=Commentaires
-isisfish.cell.land=Land
+isisfish.cell.land=Terre
isisfish.cell.latitude=Latitude
isisfish.cell.longitude=Longitude
isisfish.cell.name=Nom
@@ -903,7 +903,7 @@
isisfish.species.scientificName=Scientific name
isisfish.species.structured=Structur\u00E9
isisfish.strategy.comments=Commentaires
-isisfish.strategy.inactivity=
+isisfish.strategy.inactivity=Equation d'inactivit\u00E9
isisfish.strategy.inactivityEquationUsed=Utiliser une \u00E9quation d'inactivit\u00E9
isisfish.strategy.name=Nom
isisfish.strategy.proportionSetOfVessels=Proportion des ensembles de navires
1
0
r1992 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources/i18n
by chatellier@users.labs.libre-entreprise.org 18 Mar '09
by chatellier@users.labs.libre-entreprise.org 18 Mar '09
18 Mar '09
Author: chatellier
Date: 2009-03-18 10:09:52 +0000 (Wed, 18 Mar 2009)
New Revision: 1992
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.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
Log:
Add button to only display results.
Play with beanbindings.
Update I18N.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2009-03-17 17:28:22 UTC (rev 1991)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivitySecondPassUI.jaxx 2009-03-18 10:09:52 UTC (rev 1992)
@@ -41,7 +41,26 @@
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
import fr.ifremer.isisfish.datastore.SimulationStorage;
+ import org.jdesktop.beansbinding.Bindings;
+ import org.jdesktop.beansbinding.ELProperty;
+ import org.jdesktop.beansbinding.AutoBinding;
+ import org.jdesktop.beansbinding.BeanProperty;
+ initBindings();
+
+ protected void initBindings() {
+ Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ,
+ fieldSensitivitySimulationSelect,
+ ELProperty.create("${selectedItem != null}"),
+ runSecondPassButton,
+ BeanProperty.create("enabled")).bind();
+ Bindings.createAutoBinding(AutoBinding.UpdateStrategy.READ,
+ fieldSensitivitySimulationSelect,
+ ELProperty.create("${selectedItem != null}"),
+ displaySecondPassButton,
+ BeanProperty.create("enabled")).bind();
+ }
+
/**
* Model de contenu de la liste des nom de simulations
*/
@@ -72,9 +91,16 @@
protected void launchSecondPass(ActionEvent event) {
if (fieldSensitivitySimulationSelect.getSelectedIndex() != -1) {
+ getSimulAction().runSensitivitySecondPass((String)fieldSensitivitySimulationSelect.getSelectedItem());
+ displaySensitivitySecondPass(event);
+ }
+ }
+
+ protected void displaySensitivitySecondPass(ActionEvent event) {
+ if (fieldSensitivitySimulationSelect.getSelectedIndex() != -1) {
try {
- List<File> files = getSimulAction().runSensitivitySecondPass((String)fieldSensitivitySimulationSelect.getSelectedItem());
+ List<File> files = getSimulAction().getSensitivitySecondPassResults((String)fieldSensitivitySimulationSelect.getSelectedItem());
String content = "";
for(File file : files) {
@@ -100,12 +126,15 @@
<JComboBox id="fieldSensitivitySimulationSelect" model='{getSensitivitySimulationModel()}' />
</cell>
<cell fill="horizontal">
- <JButton text='isisfish.sensitivity.secondpass' onActionPerformed='launchSecondPass(event)' />
+ <JButton id="runSecondPassButton" text='isisfish.sensitivity.secondpass' onActionPerformed='launchSecondPass(event)' enabled="false" />
</cell>
+ <cell fill="horizontal">
+ <JButton id="displaySecondPassButton" text='isisfish.sensitivity.displaysecondpass' onActionPerformed='displaySensitivitySecondPass(event)' enabled="false" />
+ </cell>
</row>
<row>
- <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
- <JTextArea id='textAreaSensitivitySecondpassResult' text=''/>
+ <cell columns="3" fill="both" weightx="1.0" weighty="1.0">
+ <JTextArea id='textAreaSensitivitySecondpassResult' text='' editable="false" />
</cell>
</row>
</Table>
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-17 17:28:22 UTC (rev 1991)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-18 10:09:52 UTC (rev 1992)
@@ -25,6 +25,7 @@
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.io.Serializable;
import java.lang.reflect.Field;
import java.text.ParseException;
import java.text.SimpleDateFormat;
@@ -34,12 +35,17 @@
import java.util.List;
import java.util.Map;
import java.util.Properties;
+import java.util.SortedMap;
+import java.util.TreeMap;
import java.util.logging.Level;
import java.util.logging.Logger;
+import javax.swing.JComponent;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.codelutin.log.UserLog;
+import org.codelutin.math.matrix.MatrixND;
import org.codelutin.topia.TopiaContext;
import fr.ifremer.isisfish.IsisFish;
@@ -74,9 +80,6 @@
import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil;
import fr.ifremer.isisfish.ui.widget.ErrorDialogUI;
import fr.ifremer.isisfish.ui.widget.filter.FilterModel;
-import java.io.Serializable;
-import javax.swing.JComponent;
-import org.codelutin.math.matrix.MatrixND;
/**
* SimulAction.
@@ -847,24 +850,19 @@
* Lance la second passe d'une analyse de sensibilité.
*
* @param masterSensitivitySimulationName nom du prefix de toutes les simulations (without _)
- *
- * @return les fichiers genere lors de la seconde passe (seulement ceux qui ne commence pas par ".")
*/
- public List<File> runSensitivitySecondPass(String masterSensitivitySimulationName) {
-
- List<File> result = new ArrayList<File>();
-
- // following code may be factorizable with :
- // fr.ifremer.isisfish.simulator.launcher.SimulationMonitor.analyzeSensitivityResult(SimulationJob, SimulationStorage)
-
+ public void runSensitivitySecondPass(String masterSensitivitySimulationName) {
+
// calculator found
SensitivityCalculator sensitivityCalculator = null;
- List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>();
+ //List<SimulationStorage> simulationStorageForAnalyze = new ArrayList<SimulationStorage>();
+ SortedMap<Integer, SimulationStorage> simulationStorageForAnalyze = new TreeMap<Integer, SimulationStorage>();
File simuationDirectory = SimulationStorage.getSimulationDirectory();
for (File simuation : simuationDirectory.listFiles()) {
if (simuation.isDirectory() && simuation.getName().startsWith(masterSensitivitySimulationName + "_")) {
SimulationStorage storage = SimulationStorage.getSimulation(simuation.getName());
- simulationStorageForAnalyze.add(storage);
+ String suffix = simuation.getName().substring(simuation.getName().lastIndexOf("_") + 1);
+ simulationStorageForAnalyze.put(Integer.valueOf(suffix), storage);
if (sensitivityCalculator == null) {
// try to find find calculator name in one storage
@@ -881,14 +879,9 @@
if( !masterExportDirectory.isDirectory()) {
masterExportDirectory.mkdirs();
}
- sensitivityCalculator.analyzeResult(simulationStorageForAnalyze, masterExportDirectory);
-
- // FIXME take all files ?
- for(File exportFile : masterExportDirectory.listFiles()) {
- if (exportFile.isFile() && !exportFile.getName().startsWith(".")) {
- result.add(exportFile);
- }
- }
+ List<SimulationStorage> simulationStorageForAnalyzeList =
+ new ArrayList<SimulationStorage>(simulationStorageForAnalyze.values());
+ sensitivityCalculator.analyzeResult(simulationStorageForAnalyzeList, masterExportDirectory);
}
catch(SensitivityException e) {
if (log.isErrorEnabled()) {
@@ -901,7 +894,29 @@
log.warn("Can't run sensitivity second pass");
}
}
-
+ }
+
+ /**
+ * Renvoie les resultats de la seconde pass.
+ *
+ * @param masterSensitivitySimulationName nom du prefix de toutes les simulations (without _)
+ *
+ * @return les fichiers genere lors de la seconde passe (seulement ceux qui ne commence pas par ".")
+ */
+ public List<File> getSensitivitySecondPassResults(String masterSensitivitySimulationName) {
+
+ List<File> result = new ArrayList<File>();
+
+ // build master sensitivity export directory
+ File masterExportDirectory = new File(IsisFish.config.getDefaultExportDirectory(), masterSensitivitySimulationName);
+ if( masterExportDirectory.isDirectory()) {
+ for(File exportFile : masterExportDirectory.listFiles()) {
+ if (exportFile.isFile() && !exportFile.getName().startsWith(".")) {
+ result.add(exportFile);
+ }
+ }
+ }
+
return result;
}
}
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-17 17:28:22 UTC (rev 1991)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-18 10:09:52 UTC (rev 1992)
@@ -671,19 +671,19 @@
isisfish.populationEquation.meanWeight=Mean weight
isisfish.populationEquation.naturalDeathRate=Natural death rate
isisfish.populationEquation.price=Price
-isisfish.populationEquation.title=inputPopulationEquation
-isisfish.populationGroup.age=age
+isisfish.populationEquation.title=Equations input
+isisfish.populationGroup.age=Age
isisfish.populationGroup.comments=Comments
-isisfish.populationGroup.length=length
-isisfish.populationGroup.meanWeigth=meanWeigth
-isisfish.populationGroup.naturalDeathRate=naturalDeathRate
-isisfish.populationGroup.price=price
-isisfish.populationGroup.reproductionRate=reproductionRate
-isisfish.populationGroup.title=inputPopulationGroup
+isisfish.populationGroup.length=Length
+isisfish.populationGroup.meanWeigth=Mean Weigth
+isisfish.populationGroup.naturalDeathRate=Natural death rate
+isisfish.populationGroup.price=Price
+isisfish.populationGroup.reproductionRate=Reproduction rate
+isisfish.populationGroup.title=Population group input
isisfish.populationGroup.toString=%1$s Group %2$s
isisfish.populationMigration.comments=Comments
isisfish.populationMigration.selectSeason=Select a season
-isisfish.populationMigration.title=inputPopulationMigration
+isisfish.populationMigration.title=Migration
isisfish.populationMigration.useEquation=Use equation
isisfish.populationMigrationEmigration.coefficient=Coefficient
isisfish.populationMigrationEmigration.departureZone=Departure Zone
@@ -858,6 +858,7 @@
isisfish.sensWizardPanels.validate=Validate
isisfish.sensWizardPanels.values=Values
isisfish.sensibilityWizard.title=Sensibility Wizard
+isisfish.sensitivity.displaysecondpass=Display results
isisfish.sensitivity.export=Export
isisfish.sensitivity.secondpass=Analyze results
isisfish.sensitivity.secondpass.title=Analyze results
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-17 17:28:22 UTC (rev 1991)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-18 10:09:52 UTC (rev 1992)
@@ -671,13 +671,13 @@
isisfish.populationEquation.meanWeight=Poids principal
isisfish.populationEquation.naturalDeathRate=Taux de mortalit\u00E9 naturelle
isisfish.populationEquation.price=Prix
-isisfish.populationEquation.title=inputPopulationEquation
-isisfish.populationGroup.age=age
+isisfish.populationEquation.title=Saisie des \u00E9quations
+isisfish.populationGroup.age=Age
isisfish.populationGroup.comments=Commentaires
-isisfish.populationGroup.length=longueur
+isisfish.populationGroup.length=Longueur
isisfish.populationGroup.meanWeigth=Poids principal
isisfish.populationGroup.naturalDeathRate=Taux de mortalit\u00E9 naturelle
-isisfish.populationGroup.price=prix
+isisfish.populationGroup.price=Prix
isisfish.populationGroup.reproductionRate=Taux de reproduction
isisfish.populationGroup.title=Saisie des groupes de population
isisfish.populationGroup.toString=%1$s Groupe %2$s
@@ -858,6 +858,7 @@
isisfish.sensWizardPanels.validate=Valider
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
+isisfish.sensitivity.displaysecondpass=Afficher les r\u00E9sultats
isisfish.sensitivity.export=Export
isisfish.sensitivity.secondpass=Analyse des r\u00E9sultats
isisfish.sensitivity.secondpass.title=Analyse des r\u00E9sultats
1
0
r1991 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: sletellier
Date: 2009-03-17 17:28:22 +0000 (Tue, 17 Mar 2009)
New Revision: 1991
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
Log:
Bug JComboBox and JList factor fixed
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-17 17:26:32 UTC (rev 1990)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-17 17:28:22 UTC (rev 1991)
@@ -385,10 +385,10 @@
result = ((MatrixPanelEditor)c).getMatrix();
} else if (c instanceof JComboBox){
- result = ((JComboBox) result).getSelectedItem();
+ result = ((JComboBox) c).getSelectedItem();
} else if (c instanceof JList){
- result = ((JList) result).getSelectedValues();
+ result = ((JList) c).getSelectedValues();
} else if (c instanceof JCheckBox){
result = ((JCheckBox)c).isSelected();
@@ -397,7 +397,7 @@
result = ((JRadioButton)c).isSelected();
} else if (c instanceof InputOneEquationUI){
- result = ((InputOneEquationUI) result).getFormule();
+ result = ((InputOneEquationUI) c).getFormule();
} else if (c instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
1
0
r1990 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: datastore export simulator
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: chatellier
Date: 2009-03-17 17:26:32 +0000 (Tue, 17 Mar 2009)
New Revision: 1990
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/Export.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/ExportHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java
Log:
Gestion des parametres des exports.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2009-03-17 17:22:24 UTC (rev 1989)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/ExportStorage.java 2009-03-17 17:26:32 UTC (rev 1990)
@@ -19,25 +19,29 @@
package fr.ifremer.isisfish.datastore;
+import static org.codelutin.i18n.I18n._;
+
+import java.io.File;
+import java.lang.reflect.Field;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.collections.map.ReferenceMap;
+import org.apache.commons.lang.ObjectUtils;
+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.IsisFishRuntimeException;
-import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.export.Export;
+import fr.ifremer.isisfish.rule.Rule;
import fr.ifremer.isisfish.util.Doc;
import fr.ifremer.isisfish.util.DocHelper;
import fr.ifremer.isisfish.util.Docable;
import fr.ifremer.isisfish.vcs.VCSException;
-import static org.codelutin.i18n.I18n._;
-
-import org.apache.commons.collections.map.ReferenceMap;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import java.io.File;
-import java.util.List;
-import java.util.Map;
-
/**
* Gestion des fichers VCS de type {@link Export}
* (appartenant au module exports).
@@ -50,19 +54,21 @@
* Last update: $Date$
* by : $Author$
*/
-public class ExportStorage extends JavaSourceStorage implements Docable {
+public class ExportStorage extends JavaSourceStorage implements Docable {
- /** to use log facility, just put in your code: log.info(\"...\"); */
+ /** Class logger. */
private static Log log = LogFactory.getLog(ExportStorage.class);
-
+
+ /** Prefix des noms de paramètres. */
+ private final static String PARAM_PREFIX = "param_";
+
public static final String EXPORT_PATH = "exports";
/** Template freemarker pour les scripts d'export . */
public static final String EXPORT_TEMPLATE = "templates/script/export.ftl";
-
+
@SuppressWarnings("unchecked")
- private static Map<String, ExportStorage> scriptsCache =
- (Map<String, ExportStorage>) new ReferenceMap();
+ private static Map<String, ExportStorage> scriptsCache = (Map<String, ExportStorage>) new ReferenceMap();
/**
* Constructeur.
@@ -81,7 +87,7 @@
result.mkdirs();
return result;
}
-
+
/**
* Retourne une nouvelle instance de la regle. Compile le fichier si besoin
*
@@ -99,7 +105,7 @@
* @param name le nom de la regle souhaitée
* @return Le storage pour la regle
*/
- static public ExportStorage getExport(String name) {
+ public static ExportStorage getExport(String name) {
ExportStorage result = scriptsCache.get(name);
if (result == null) {
result = new ExportStorage(IsisFish.config.getDatabaseDirectory(),
@@ -114,12 +120,12 @@
*
* @return la liste des noms de toutes les régions disponible en local
*/
- static public List<String> getExportNames() {
+ public static List<String> getExportNames() {
File dir = getExportDirectory();
return getStorageNames(dir);
}
- static public void checkout() throws VCSException {
+ public static void checkout() throws VCSException {
checkout(IsisFish.config.getDatabaseDirectory(), EXPORT_PATH);
}
@@ -130,17 +136,17 @@
* @see Docable
*/
public Doc getClassDoc() {
- Doc result=null;
+ Doc result = null;
try {
- Class klazz = getCodeClass();
+ Class<?> klazz = getCodeClass();
result = DocHelper.getClassDoc(klazz);
} catch (IsisFishException e) {
- log.warn(_("isisfish.error.not.found.code",this));
+ log.warn(_("isisfish.error.not.found.code", this));
}
return result;
}
- /**
+ /**
* @param fieldName name of the field to inspect
* @return the @Doc of the given field of the underlied Rule class
* @see DocHelper
@@ -148,21 +154,90 @@
* @see Docable
*/
public Doc getFieldDoc(String fieldName) {
- throw new IsisFishRuntimeException(_("isisfish.error.not.found.class" +
- "support Docable#getFieldDoc(String) method %1$s",this));
+ throw new IsisFishRuntimeException(_("isisfish.error.not.found.class"
+ + "support Docable#getFieldDoc(String) method %1$s", this));
}
- /**
- * <b>Be ware this method require to instanciate a Rule, so
+ /**
+ * <b>Be ware this method require to instanciate a Export, so
* it would be better to call as often as possible.</b>
*
- * @return the descript of the instanciate AnalysePlan
+ * @return the description of the instanciate Export
* @see Doc
* @see Docable
*/
public String getDescription() {
- throw new IsisFishRuntimeException(_("isisfish.error.not.support.class" +
- "Docable#getDescription() method %1$s",this));
+ throw new IsisFishRuntimeException(_("isisfish.error.not.support.class"
+ + "Docable#getDescription() method %1$s", this));
}
+ /**
+ * Recherche par introspection tous les parametres de la classe
+ * commencant par {@link #PARAM_PREFIX}.
+ *
+ * @param export the export to inspect
+ * @return the list of parameters for a given export
+ */
+ public static Map<String, Class<?>> getParameterNames(Export export) {
+ Map<String, Class<?>> result = new LinkedHashMap<String, Class<?>>();
+ for (Field field : export.getClass().getFields()) {
+ if (field.getName().startsWith(PARAM_PREFIX)) {
+ result.put(field.getName().substring(PARAM_PREFIX.length()),
+ field.getType());
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Donne la valeur d'un parametre par introspection.
+ *
+ * @param name le nom du parametre
+ * @param export the export to inspect
+ * @return la valeur courante du parametre
+ * @throws IsisFishException if any exception
+ */
+ public static Object getParameterValue(Export export, String name) throws IsisFishException {
+ if (export == null || name == null || "".equals(name)) {
+ return null;
+ }
+ try {
+ String fieldName = PARAM_PREFIX + name;
+ Field field = export.getClass().getDeclaredField(fieldName);
+ return field.get(export);
+ } catch (IllegalAccessException eee) {
+ throw new IsisFishException("Can't get rule parameter: " + name, eee);
+ } catch (NoSuchFieldException eee) {
+ throw new IsisFishException("Can't get rule parameter: " + name, eee);
+ }
+ }
+
+ /**
+ * Modifie la valeur d'un attribut par introspection.
+ *
+ * @param name le nom de l'attribut
+ * @param value la valeur de l'attribut
+ * @param export the export to inspect
+ * @throws IsisFishException if any exception
+ */
+ public static void setParameterValue(Export export, String name,
+ Object value) throws IsisFishException {
+ try {
+ String fieldName = PARAM_PREFIX + name;
+ Field field = export.getClass().getDeclaredField(fieldName);
+ field.set(export, value);
+ } catch (IllegalAccessException eee) {
+ throw new IsisFishException("Can't modify export parameter: "
+ + name + " with '" + value + "'("
+ + ObjectUtils.identityToString(value) + ")", eee);
+ } catch (NoSuchFieldException eee) {
+ throw new IsisFishException("Can't modify export parameter: "
+ + name + " with '" + value + "'("
+ + ObjectUtils.identityToString(value) + ")", eee);
+ } catch (IllegalArgumentException eee) {
+ throw new IsisFishException("Can't modify export parameter: "
+ + name + " with '" + value + "'("
+ + ObjectUtils.identityToString(value) + ")", eee);
+ }
+ }
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/Export.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/Export.java 2009-03-17 17:22:24 UTC (rev 1989)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/Export.java 2009-03-17 17:26:32 UTC (rev 1990)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2006
+ * Copyright (C) 2006 - 2009
* Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
@@ -17,68 +17,59 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * Export.java
- *
- * Created: 22 janv. 2006 21:12:58
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.export;
import java.io.Writer;
import fr.ifremer.isisfish.datastore.SimulationStorage;
-
/**
* Interface que doivent implanter les classes d'export de resultats
*
* Le nom du fichier d'export qui sera utilisé sera le basé sur le nom de la
* classe d'export
*
+ * Created: 22 janv. 2006 21:12:58
+ *
* @author poussin
+ * @version $Revision$
*
+ * Last update: $Date$
+ * by : $Author$
*/
-
public interface Export {
-
+
/**
* @return the necessaryResult name
*/
public String[] getNecessaryResult();
-
+
/**
* Return Export description
* @return string displayable to the end user
*/
public String getDescription();
-
+
/**
* Return filename used to contains export data
* @return filename by example "myexport"
*/
public String getExportFilename();
-
+
/**
* Return extension used as filename name extension
* @return extension by example ".csv"
*/
public String getExtensionFilename();
-
+
/**
* Exporte les resultat
*
* @param simulation la simulation dont on souhaite exporter les resultats
* @param out la sortie sur lequel il faut ecrire l'export
+ * @throws Exception if export fail
*/
- public void export(SimulationStorage simulation, Writer out) throws Exception;
-
-}
+ public void export(SimulationStorage simulation, Writer out)
+ throws Exception;
-
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/ExportHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/ExportHelper.java 2009-03-17 17:22:24 UTC (rev 1989)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/ExportHelper.java 2009-03-17 17:26:32 UTC (rev 1990)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2006
+ * Copyright (C) 2006 - 2009
* Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
@@ -17,18 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * ExportHelper.java
- *
- * Created: 20 janv. 2006 01:52:04
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.export;
import java.io.BufferedWriter;
@@ -38,33 +26,44 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
+import org.apache.commons.beanutils.ConvertUtilsBean;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.codelutin.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.datastore.ExportStorage;
+import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.SimulationStorage;
+import fr.ifremer.isisfish.util.ConverterUtil;
-
/**
+ * Export helper.
+ *
+ * Created: 20 janv. 2006 01:52:04
+ *
* @author poussin
+ * @version $Revision$
*
+ * Last update: $Date$
+ * by : $Author$
*/
-
public class ExportHelper {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ExportHelper.class);
+ /** Class logger. */
+ private static Log log = LogFactory.getLog(ExportHelper.class);
/**
- * Permet de faire les exports pour une simulation
+ * Permet de faire les exports pour une simulation.
*
* @param simulation La simulation pour lequel il faut faire les exports
* @param destdir le repertoire dans lequel il faut ecrire les exports
* @param exportNames le nom des exports a faire
* @param compileDir le nom du répertoire ou les classes d'export sont compilées
*/
- static public void doExport(SimulationStorage simulation, File destdir, List<String> exportNames, File compileDir) {
+ public static void doExport(SimulationStorage simulation, File destdir,
+ List<String> exportNames, File compileDir) {
Map<String, Integer> usingFilename = new HashMap<String, Integer>();
long timeStart = System.currentTimeMillis();
for (String exportName : exportNames) {
@@ -72,10 +71,10 @@
try {
ExportStorage storage = ExportStorage.getExport(exportName);
Export export = storage.getNewExportInstance();
-
+
String filename = export.getExportFilename();
String extension = export.getExtensionFilename();
-
+
// prevent two export with same name
// name MyExport.csv become MyExport_1.csv
Integer val = usingFilename.get(filename + extension);
@@ -85,7 +84,7 @@
} else {
usingFilename.put(filename + extension, 1);
}
-
+
File file = new File(destdir, filename + extension);
Writer out = new BufferedWriter(new FileWriter(file));
export.export(simulation, out);
@@ -95,10 +94,50 @@
log.warn("Can't export object: " + exportName, eee);
}
}
- simulation.getInformation().addExportTime(exportName, System.currentTimeMillis()-time);
+ simulation.getInformation().addExportTime(exportName,
+ System.currentTimeMillis() - time);
}
- simulation.getInformation().addExportTime("All export", System.currentTimeMillis()-timeStart);
+ simulation.getInformation().addExportTime("All export",
+ System.currentTimeMillis() - timeStart);
}
-}
+ /**
+ * Recupere dans prop les valeurs des champs specifique au export et met a
+ * jour les champs de l'export.
+ *
+ * @param exportIndex l'index de l'export
+ * @param export l'export a mettre à jour
+ * @param region le topia context dont on a besoin
+ * @param props les proprietes contenant les parametre de l'export
+ */
+ public static void populateExport(int exportIndex, RegionStorage region,
+ Export export, Properties props) {
+ ConvertUtilsBean beanUtils = ConverterUtil.getConverter(region
+ .getStorage());
+ String exportName = ExportStorage.getName(export);
+ String paramTag = "export." + exportIndex + ".parameter.";
+ for (Map.Entry<String, Class<?>> entry : ExportStorage
+ .getParameterNames(export).entrySet()) {
+ String propName = entry.getKey();
+ Class<?> type = entry.getValue();
+ if (TopiaEntity.class.isAssignableFrom(type)) {
+ type = TopiaEntity.class;
+ }
+ String valueString = "not initialized";
+ try {
+ valueString = props.getProperty(paramTag + propName);
+ Object value = beanUtils.convert(valueString, type);
+ log.info("DEBUG: set export param: " + paramTag + propName
+ + " = " + value + "(" + valueString + ")");
+ ExportStorage.setParameterValue(export, propName, value);
+ } catch (Exception eee) {
+ if (log.isWarnEnabled()) {
+ log.info("Properties: " + props);
+ log.warn("Can't reload field " + propName + " for export "
+ + exportName + " with value " + valueString, eee);
+ }
+ }
+ }
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java 2009-03-17 17:22:24 UTC (rev 1989)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java 2009-03-17 17:26:32 UTC (rev 1990)
@@ -1,14 +1,33 @@
-/**
- *
- */
+/* *##%
+ * Copyright (C) 2009 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, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
package fr.ifremer.isisfish.export;
/**
* Interface that need to be implemented by the sensitivity result export classes
*
* The export filename that will be used will be based on the export class name.
+ *
* @author couteau
+ * @version $Revision$
*
+ * Last update: $Date$
+ * by : $Author$
*/
public interface SensitivityExport extends Export {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/export/SensitivityExport.java
___________________________________________________________________
Name: svn:keywords
+ Revision Date Author
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-03-17 17:22:24 UTC (rev 1989)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulationParameter.java 2009-03-17 17:26:32 UTC (rev 1990)
@@ -46,6 +46,7 @@
import fr.ifremer.isisfish.IsisFishDAOHelper;
import fr.ifremer.isisfish.IsisFishException;
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.SensitivityStorage;
@@ -53,6 +54,9 @@
import fr.ifremer.isisfish.entities.PopulationDAO;
import fr.ifremer.isisfish.entities.Strategy;
import fr.ifremer.isisfish.entities.StrategyDAO;
+import fr.ifremer.isisfish.export.Export;
+import fr.ifremer.isisfish.export.ExportHelper;
+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;
@@ -140,7 +144,7 @@
protected int analysePlanNumber = -1;
/** Export utilisés pour les analyses de sensibilités. */
- protected List<String> sensitivityExportNames = new ArrayList<String>();
+ protected List<SensitivityExport> sensitivityExport = new ArrayList<SensitivityExport>();
/**
* Nombre de simulation constituant l'analyse de sensibilité.
@@ -275,11 +279,13 @@
result.setProperty("plans", planList);
String exportList = "";
+ int exportIndex = 0;
for (String export : getExportNames()) {
exportList += export + ",";
+
}
result.setProperty("exports", exportList);
-
+
// number of sensitivity simulation
result.setProperty("numberOfSensitivitySimulation", String.valueOf(numberOfSensitivitySimulation));
@@ -290,8 +296,11 @@
}
// number of sensitivity simulation
String sensitivityExportList = "";
- for (String export : getSensitivityExportNames()) {
+ // WARN only SENSITIVITY are parametrable for now
+ for (SensitivityExport export : getSensitivityExport()) {
sensitivityExportList += export + ",";
+ Properties exportProp = exportParametertoProperties(exportIndex++, export);
+ result.putAll(exportProp);
}
result.setProperty("sensitivityexports", sensitivityExportList);
@@ -436,6 +445,7 @@
}
String[] exportList = props.getProperty("exports", "").split(",");
+ int exportIndex = 0;
for (String name : exportList) {
if (name != null && !"".equals(name)) {
getExportNames().add(name);
@@ -459,8 +469,16 @@
// sensitivity export
String[] sensitivityExportList = props.getProperty("sensitivityexports", "").split(",");
for (String name : sensitivityExportList) {
- if (!StringUtils.isEmpty(name)) {
- getSensitivityExportNames().add(name);
+ try {
+ if (!StringUtils.isEmpty(name)) {
+ SensitivityExport export = (SensitivityExport)ExportStorage.getExport(name).getNewExportInstance();
+ ExportHelper.populateExport(exportIndex++, getRegion(), export, props);
+ getSensitivityExport().add(export);
+ }
+ } catch (IsisFishException eee) {
+ if (log.isWarnEnabled()) {
+ log.warn("Can't find SensitivityExport: " + name, eee);
+ }
}
}
@@ -533,7 +551,7 @@
}
/**
- * Permet de mettre les parametres de la regle sont une forme String pour
+ * Permet de mettre les parametres de la regle sous une forme String pour
* pouvoir les relire ensuite.
*
* @param ruleIndex l'index de la rule
@@ -556,7 +574,7 @@
}
} catch (IsisFishException eee) {
if (log.isWarnEnabled()) {
- log.warn("Can't convert parametre value to String: "
+ log.warn("Can't convert parameter value to String: "
+ paramName, eee);
}
}
@@ -564,7 +582,40 @@
return result;
}
+
+ /**
+ * Permet de mettre les parametres de l'export sous une forme String pour
+ * pouvoir les relire ensuite.
+ *
+ * @param exportIndex l'index de l'export
+ * @param export L'export dont on souhaite mettre les parametres dans l'objet
+ * Properties retourne
+ * @return L'objet Properties contenant les valeurs des parametres de la
+ * regle
+ */
+ protected Properties exportParametertoProperties(int exportIndex, Export export) {
+ Properties result = new Properties();
+ ConvertUtilsBean beanUtils = ConverterUtil.getConverter(getRegion().getStorage());
+ for (String paramName : ExportStorage.getParameterNames(export).keySet()) {
+ String paramValueString;
+ try {
+ Object value = ExportStorage.getParameterValue(export, paramName);
+ paramValueString = beanUtils.convert(value);
+ if (paramValueString != null) {
+ result.setProperty("export." + exportIndex + ".parameter."
+ + paramName, paramValueString);
+ }
+ } catch (IsisFishException eee) {
+ if (log.isWarnEnabled()) {
+ log.warn("Can't convert parameter value to String: "
+ + paramName, eee);
+ }
+ }
+ }
+ return result;
+ }
+
/**
* Permet de mettre les parametres du plan sous une forme String pour
* pouvoir les relire ensuite.
@@ -815,18 +866,18 @@
/**
* @return the sensitivityExportNames
*/
- public List<String> getSensitivityExportNames() {
- if (sensitivityExportNames == null) {
- sensitivityExportNames = new ArrayList<String>();
+ public List<SensitivityExport> getSensitivityExport() {
+ if (sensitivityExport == null) {
+ sensitivityExport = new ArrayList<SensitivityExport>();
}
- return sensitivityExportNames;
+ return sensitivityExport;
}
/**
- * @param sensitivityExportNames the sensitivityExportNames to set
+ * @param sensitivityExport the sensitivityExportNames to set
*/
- public void setSensitivityExportNames(List<String> sensitivityExportNames) {
- this.sensitivityExportNames = sensitivityExportNames;
+ public void setSensitivityExport(List<SensitivityExport> sensitivityExport) {
+ this.sensitivityExport = sensitivityExport;
}
/**
@@ -1056,7 +1107,7 @@
result.scriptLogLevel= scriptLogLevel;
result.libLogLevel= libLogLevel;
result.numberOfSensitivitySimulation = numberOfSensitivitySimulation;
- result.sensitivityExportNames = sensitivityExportNames;
+ result.sensitivityExport= sensitivityExport;
result.sensitivityCalculator = sensitivityCalculator;
return result;
1
0
r1989 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/simulator/sensitivity java/fr/ifremer/isisfish/ui/sensitivity resources/i18n
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: sletellier
Date: 2009-03-17 17:22:24 +0000 (Tue, 17 Mar 2009)
New Revision: 1989
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
Log:
Input factor cardinality
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-17 16:35:51 UTC (rev 1988)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-17 17:22:24 UTC (rev 1989)
@@ -207,4 +207,9 @@
return f;
}
+
+ @Override
+ public String toString(){
+ return name;
+ }
}
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 2009-03-17 16:35:51 UTC (rev 1988)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx 2009-03-17 17:22:24 UTC (rev 1989)
@@ -40,6 +40,9 @@
import fr.ifremer.isisfish.ui.simulator.SimulAction;
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
public ComboBoxModel getSensitivityModel(){
java.util.List<Item> items = new ArrayList<Item>();
@@ -101,18 +104,142 @@
}
}
+public void setFactorCardinalityModel(){
+ DefaultTableModel model = new DefaultTableModel(){
+ @Override
+ public boolean isCellEditable(int row, int column) {
+ boolean result = false;
+ if (column > 0){
+ result =true;
+ }
+ return result;
+ }
+ };
+ java.util.List<Factor<? extends Serializable>> factors = getSimulAction().getFactors();
+
+ java.util.List<Factor<? extends Serializable>> factorsContinue = new ArrayList<Factor<? extends Serializable>>();
+ java.util.List<String> incs = new ArrayList<String>();
+ for (Factor f : factors){
+ Domain domain = f.getDomain();
+ if (ContinuousDomain.class.isInstance(domain)){
+ ContinuousDomain continuousDomain = (ContinuousDomain)domain;
+ factorsContinue.add(f);
+ incs.add(continuousDomain.getCardinality() + "");
+ }
+ }
+ model.addColumn("Factor", factorsContinue.toArray());
+ model.addColumn("Cardinality", incs.toArray());
+
+ factorCardinality.setModel(model);
+ factorCardinality.getModel().addTableModelListener(new TableModelListener() {
+ @Override
+ public void tableChanged(TableModelEvent e) {
+ int row = e.getFirstRow();
+ TableModel model = (TableModel)e.getSource();
+ Factor f = (Factor) model.getValueAt(row, 0);
+ ((ContinuousDomain)f.getDomain()).setCardinality(Integer.parseInt((String)model.getValueAt(row, 1)));
+ }
+ });
+}
+protected DefaultComboBoxModel getExportModel(){
+ DefaultComboBoxModel model = new DefaultComboBoxModel();
+ return model;
+}
+protected void exportListSelected(){
+}
+protected void add(){
+}
+protected void remove(){
+}
+protected void clear(){
+}
]]>
</script>
<row>
- <cell columns="2" fill="horizontal" weightx="1.0">
+ <cell fill="horizontal">
+ <JLabel text="isisfish.sensitivity.select"/>
+ </cell>
+ <cell fill="horizontal" weightx="1.0">
<JComboBox id="fieldSensitivitySelect" model='{getSensitivityModel()}' onActionPerformed='sensChanged()'/>
</cell>
</row>
<row>
- <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
+ <cell columns="2" fill="both" weightx="1.0" weighty="0.1">
<JScrollPane>
<JTable id="simulSensitivityParam" rowHeight='24'/>
</JScrollPane>
</cell>
</row>
+ <row>
+ <cell columns="2" fill="both" weightx="1.0" weighty="0.1">
+ <JScrollPane>
+ <JTable id="factorCardinality" rowHeight='24'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
+ <cell fill="both" columns='2' weightx="1" weighty="0.5">
+ <Table>
+ <row>
+ <cell fill="both" weightx="1" weighty="1">
+ <Table>
+ <row>
+ <cell fill="horizontal">
+ <JLabel text="isisfish.sensitivity.export"/>
+ </cell>
+ </row>
+ <row>
+ <cell fill="horizontal">
+ <JComboBox id="export" model='{getExportModel()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill="both" weightx="1.0" weighty="1.0">
+ <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
+ <JList id="exportList" selectionMode="0" onMouseClicked='exportListSelected()'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ <cell fill="both" weighty="1">
+ <Table>
+ <row>
+ <cell fill="horizontal">
+ <JLabel text=" " minimumSize='{new Dimension(2,15)}' preferredSize='{new Dimension(2,15)}'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JButton id="add" text="isisfish.common.add" onActionPerformed='add()'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JButton id="remove" text="isisfish.common.remove" enabled="false" onActionPerformed='remove()'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal'>
+ <JButton id="clear" text="isisfish.common.clear" enabled="false" onActionPerformed='clear()'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='both' weighty="1.0">
+ <JPanel/>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ <row>
+ <cell fill="both" columns='2' weightx="1" weighty="0.3">
+ <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
+ <JTable id="exportParams" rowHeight='24'/>
+ </JScrollPane>
+ </cell>
+ </row>
</Table>
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-17 16:35:51 UTC (rev 1988)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-03-17 17:22:24 UTC (rev 1989)
@@ -152,6 +152,7 @@
FactorTreeModel model = new FactorTreeModel(root);
factors.setModel(model);
factors.setCellRenderer(new FactorTreeCellRenderer());
+ getParentContainer(SensitivityUI.class).getSensitivityChooserUI().setFactorCardinalityModel();
}
]]>
</script>
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-17 16:35:51 UTC (rev 1988)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-17 17:22:24 UTC (rev 1989)
@@ -858,8 +858,10 @@
isisfish.sensWizardPanels.validate=Validate
isisfish.sensWizardPanels.values=Values
isisfish.sensibilityWizard.title=Sensibility Wizard
+isisfish.sensitivity.export=Export
isisfish.sensitivity.secondpass=Analyze results
isisfish.sensitivity.secondpass.title=Analyze results
+isisfish.sensitivity.select=Method
isisfish.sensitivity.title=Factors input
isisfish.sensitivityChooser.title=Sensitivities input
isisfish.server.ssh.generateKey.title=Generate Ssh key
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-17 16:35:51 UTC (rev 1988)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-17 17:22:24 UTC (rev 1989)
@@ -858,8 +858,10 @@
isisfish.sensWizardPanels.validate=Valider
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
+isisfish.sensitivity.export=Export
isisfish.sensitivity.secondpass=Analyse des r\u00E9sultats
isisfish.sensitivity.secondpass.title=Analyse des r\u00E9sultats
+isisfish.sensitivity.select=M\u00E9thode
isisfish.sensitivity.title=S\u00E9lection des facteurs
isisfish.sensitivityChooser.title=M\u00E9thode de la sensibilit\u00E9
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
1
0
Author: chatellier
Date: 2009-03-17 16:35:51 +0000 (Tue, 17 Mar 2009)
New Revision: 1988
Modified:
isis-fish/trunk/pom.xml
Log:
Use 0.14-SNAPSHOT for SDoc background color on nimbus
Modified: isis-fish/trunk/pom.xml
===================================================================
--- isis-fish/trunk/pom.xml 2009-03-17 16:18:50 UTC (rev 1987)
+++ isis-fish/trunk/pom.xml 2009-03-17 16:35:51 UTC (rev 1988)
@@ -351,7 +351,7 @@
<lutinmatrix.version>1.3-SNAPSHOT</lutinmatrix.version>
<lutinutil.version>1.0.3</lutinutil.version>
<i18n.version>0.9</i18n.version>
- <lutinwidget.version>0.13</lutinwidget.version>
+ <lutinwidget.version>0.14-SNAPSHOT</lutinwidget.version>
<generator.version>0.64</generator.version>
<lutinj2r.version>0.2</lutinj2r.version>
<jrst.version>0.8.4</jrst.version>
1
0
r1987 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: sletellier
Date: 2009-03-17 16:18:50 +0000 (Tue, 17 Mar 2009)
New Revision: 1987
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx
Log:
Bug PopulationGroup fixed
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-17 15:54:53 UTC (rev 1986)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-17 16:18:50 UTC (rev 1987)
@@ -296,6 +296,10 @@
topiaChanged();
}
});
+ TopiaEntity entity = getEntity(currentEntity.getClass());
+ if (entity != null){
+ currentEntities.remove(entity);
+ }
this.currentEntities.add(currentEntity);
setPanelsActifs();
}
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 2009-03-17 15:54:53 UTC (rev 1986)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationGroupUI.jaxx 2009-03-17 16:18:50 UTC (rev 1987)
@@ -117,7 +117,7 @@
<JLabel text="isisfish.populationGroup.meanWeigth" enabled='{isPopGroupNotNull()}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='1.0'>
- <JTextField id="fieldPopulationGroupMeanWeight" text='{getPopulationGroup().getMeanWeight()}' editable='{false}' enabled='{isPopGroupNotNull()}' _bean='{PopulationGroupImpl.class}' _method='"MeanWeight"'/>
+ <JTextField id="fieldPopulationGroupMeanWeight" text='{getPopulationGroup().getMeanWeight()}' editable='{false}' enabled='{isPopGroupNotNull()}' decorator='boxed'/>
</cell>
</row>
<row>
@@ -125,7 +125,7 @@
<JLabel text="isisfish.populationGroup.price" enabled='{isPopGroupNotNull()}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='1.0'>
- <JTextField id="fieldPopulationGroupPrice" text='{getPopulationGroup().getPrice()}' editable='{false}' enabled='{isPopGroupNotNull()}' decorator='boxed' _bean='{PopulationGroupImpl.class}' _method='"Price"'/>
+ <JTextField id="fieldPopulationGroupPrice" text='{getPopulationGroup().getPrice()}' editable='{false}' enabled='{isPopGroupNotNull()}' decorator='boxed'/>
</cell>
</row>
<row>
1
0
r1986 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity resources
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
by sletellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: sletellier
Date: 2009-03-17 15:54:53 +0000 (Tue, 17 Mar 2009)
New Revision: 1986
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityEditorUI.jaxx
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/resources/sensitivity.properties
Log:
Factor of Sensitivity is done
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-03-17 15:41:44 UTC (rev 1985)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-03-17 15:54:53 UTC (rev 1986)
@@ -57,7 +57,7 @@
<JPanel id='body' layout='{new BorderLayout()}'>
<JTabbedPane constraints='BorderLayout.CENTER' id="gearTab" name="Gear">
<tab title='{_("isisfish.gear.title")}'><GearTabUI id="gearTabUI" constructorParams='this'/></tab>
- <tab title='{_("isisfish.selectivity.title")}'><SelectivityUI id="selectivityUI" constructorParams='this' decorator='boxed' _bean='{GearImpl.class}' _method='"PopulationSelectivity"'/></tab>
+ <tab title='{_("isisfish.selectivity.title")}'><SelectivityUI id="selectivityUI" constructorParams='this'/></tab>
</JTabbedPane>
</JPanel>
</fr.ifremer.isisfish.ui.input.InputContentUI>
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityEditorUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityEditorUI.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityEditorUI.jaxx 2009-03-17 15:54:53 UTC (rev 1986)
@@ -0,0 +1,215 @@
+<!--
+/* *##%
+ * Copyright (C) 2005
+ * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+/* *
+ * IsisFish.java
+ *
+ * Created: 1 aout 2005 18:37:25 CEST
+ *
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ * @version $Revision: 1312 $
+ *
+ * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $
+ * by : $Author: sletellier $
+ */
+ -->
+<fr.ifremer.isisfish.ui.input.InputContentUI>
+
+ <!-- bean property -->
+ <fr.ifremer.isisfish.entities.GearImpl id='bean' javaBean='null'/>
+
+ <fr.ifremer.isisfish.entities.PopulationImpl id='population' javaBean='null'/>
+
+ <Boolean id='selectivityPopulationSelected' javaBean='false'/>
+
+ <script>
+ <![CDATA[
+
+import fr.ifremer.isisfish.entities.Population;
+import fr.ifremer.isisfish.entities.PopulationImpl;
+import fr.ifremer.isisfish.entities.Gear;
+import fr.ifremer.isisfish.entities.GearImpl;
+import fr.ifremer.isisfish.entities.Species;
+import fr.ifremer.isisfish.entities.Formule;
+import fr.ifremer.isisfish.ui.WelcomePanelUI;
+import fr.ifremer.isisfish.ui.widget.editor.EquationTableEditor;
+import javax.swing.table.DefaultTableModel;
+import fr.ifremer.isisfish.entities.Selectivity;
+import fr.ifremer.isisfish.entities.GearImpl;
+import fr.ifremer.isisfish.entities.Equation;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import org.codelutin.topia.TopiaContext;
+import org.codelutin.topia.persistence.TopiaEntity;
+import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
+import fr.ifremer.isisfish.entities.Metier;
+import fr.ifremer.isisfish.entities.MetierImpl;
+
+addPropertyChangeListener("bean", new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getOldValue() != null || evt.getNewValue() == null) {
+ // remove previous binding on getBean()
+ //jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
+ }
+ if (evt.getNewValue() != null) {
+ // add binding on getBean()
+ //jaxx.runtime.SwingUtil.applyDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
+ }
+ }
+});
+
+selectivityTable.addMouseListener(new MouseListener() {
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ remove.setEnabled(selectivityTable.getSelectedRow() != -1);
+ }
+
+ @Override
+ public void mouseEntered(MouseEvent e) {
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e) {
+ }
+});
+public void refresh(){
+ if (getBean() != null){
+ setSelectivityTableModel();
+ fieldSelectivityPopulation.setModel(getSelectivityPopulationModel());
+ }
+ getVerifier().addCurrentPanel(selectivityEquation);
+
+ remove.setEnabled(false);
+}
+protected void setSelectivityTableModel(){
+ DefaultTableModel model = new DefaultTableModel(){
+ @Override
+ public boolean isCellEditable(int row, int column) {
+ boolean result = false;
+ if (column > 0){
+ result =true;
+ }
+ return result;
+ }
+ };
+ Collection<Selectivity> selectivity = getBean().getPopulationSelectivity();
+ java.util.List<Population> populations = new ArrayList<Population>();
+ java.util.List<Equation> equations = new ArrayList<Equation>();
+ if (selectivity != null){
+ for (Selectivity s : selectivity){
+ populations.add(s.getPopulation());
+ equations.add(s.getEquation());
+ }
+ }
+ model.addColumn("Population", populations.toArray());
+ model.addColumn("Equation", equations.toArray());
+
+ selectivityTable.setModel(model);
+ EquationTableEditor cellEditor = new EquationTableEditor();
+ selectivityTable.getColumnModel().getColumn(1).setCellEditor(cellEditor);
+}
+protected void add(){
+ getAction().addSelectivity((Population)getPopulation(), selectivityEquation.getEditor().getText(), getBean());
+ setSelectivityTableModel();
+}
+protected void remove(){
+ getAction().removeSelectivity(getBean(), (Selectivity) getBean().getPopulationSelectivity((Population) selectivityTable.getValueAt(selectivityTable.getSelectedRow(), 0)));
+ setSelectivityTableModel();
+}
+protected DefaultComboBoxModel getSelectivityPopulationModel(){
+ java.util.List<Species> species = getRegion().getSpecies();
+ DefaultComboBoxModel selectivityPopulationModel = new DefaultComboBoxModel();
+ if (species != null){
+ selectivityPopulationModel.addElement(new GenericCell(" ", null, null));
+ for (Species s : species){
+ if (s.getPopulation() != null){
+ for (Population p : s.getPopulation()){
+ selectivityPopulationModel.addElement(new GenericCell(p.getName(), p, Population.class));
+ }
+ }
+ }
+ }
+ return selectivityPopulationModel;
+}
+protected void selectivityChanged(){
+ setSelectivityPopulationSelected(fieldSelectivityPopulation.getSelectedItem() != null);
+ setPopulation((PopulationImpl) ((GenericCell) fieldSelectivityPopulation.getSelectedItem()).getValue());
+ add.setEnabled(isSelectivityPopulationSelected());
+}
+ ]]>
+ </script>
+ <Table id='body'>
+ <row>
+ <cell fill='both' weightx='1.0' weighty='1.0'>
+ <Table>
+ <row>
+ <cell fill='horizontal' anchor='east'>
+ <JLabel text="isisfish.selectivity.selectPopulation" enabled='{isActif()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='1.0'>
+ <JComboBox id="fieldSelectivityPopulation" onActionPerformed='selectivityChanged()' enabled='{isActif()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
+ <InputOneEquationUI id='selectivityEquation' constructorParams='this'
+ lblText='{_("isisfish.selectivity.equation")}'
+ bean='{getBean()}' nameEquation='Selectivity' actif='{isActif()}'
+ clazz='{fr.ifremer.isisfish.equation.SelectivityEquation.class}'
+ decorator='boxed' _bean='{GearImpl.class}' _method='""'/>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ <row>
+ <cell fill='both' weightx='1.0' weighty='1.0'>
+ <Table>
+ <row>
+ <cell columns='2' fill='horizontal' weightx='1.0'>
+ <JButton id="add" text="isisfish.common.add" onActionPerformed='add()' enabled='{isActif()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
+ <JScrollPane>
+ <JTable id="selectivityTable" rowHeight='24' enabled='{isActif()}'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill='horizontal' weightx='1.0'>
+ <JButton id="remove" text="isisfish.common.remove" onActionPerformed='remove()' enabled='{isActif()}'/>
+ </cell>
+ </row>
+ </Table>
+ </cell>
+ </row>
+ </Table>
+</fr.ifremer.isisfish.ui.input.InputContentUI>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-17 15:41:44 UTC (rev 1985)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-17 15:54:53 UTC (rev 1986)
@@ -35,28 +35,19 @@
<!-- bean property -->
<fr.ifremer.isisfish.entities.GearImpl id='bean' javaBean='null'/>
- <Boolean id='selectivityPopulationSelected' javaBean='false'/>
-
<script>
<![CDATA[
-import fr.ifremer.isisfish.entities.Population;
-import fr.ifremer.isisfish.entities.Gear;
-import fr.ifremer.isisfish.entities.Species;
-import fr.ifremer.isisfish.entities.Formule;
-import fr.ifremer.isisfish.ui.WelcomePanelUI;
-import fr.ifremer.isisfish.ui.widget.editor.EquationTableEditor;
-import javax.swing.table.DefaultTableModel;
-import fr.ifremer.isisfish.entities.Selectivity;
-import fr.ifremer.isisfish.entities.GearImpl;
-import fr.ifremer.isisfish.entities.Equation;
import java.util.logging.Level;
import java.util.logging.Logger;
-import org.codelutin.topia.TopiaContext;
-import org.codelutin.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.entities.Metier;
import fr.ifremer.isisfish.entities.MetierImpl;
+import fr.ifremer.isisfish.entities.Population;
+import fr.ifremer.isisfish.entities.PopulationImpl;
+import fr.ifremer.isisfish.entities.Gear;
+import fr.ifremer.isisfish.entities.GearImpl;
+import fr.ifremer.isisfish.entities.Species;
addPropertyChangeListener("bean", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
@@ -70,103 +61,15 @@
}
}
});
-
-selectivityTable.addMouseListener(new MouseListener() {
-
- @Override
- public void mouseClicked(MouseEvent e) {
- }
-
- @Override
- public void mousePressed(MouseEvent e) {
- }
-
- @Override
- public void mouseReleased(MouseEvent e) {
- remove.setEnabled(selectivityTable.getSelectedRow() != -1);
- }
-
- @Override
- public void mouseEntered(MouseEvent e) {
- }
-
- @Override
- public void mouseExited(MouseEvent e) {
- }
-});
public void refresh(){
getVerifier().setSaveButton(save);
getVerifier().setCancelButton(cancel);
setBean(null);
Gear gear = (Gear)getVerifier().getEntity(Gear.class);
setBean((GearImpl) gear);
- if (getBean() != null){
- fieldSelectivityPopulation.setModel(getSelectivityPopulationModel());
- setSelectivityTableModel();
- }
- getVerifier().addCurrentPanel(selectivityEquation);
-
- remove.setEnabled(false);
- setAddButton();
+ getVerifier().addCurrentPanel(editor);
}
-protected void setSelectivityTableModel(){
- DefaultTableModel model = new DefaultTableModel(){
- @Override
- public boolean isCellEditable(int row, int column) {
- boolean result = false;
- if (column > 0){
- result =true;
- }
- return result;
- }
- };
- Collection<Selectivity> selectivity = getBean().getPopulationSelectivity();
- java.util.List<Population> populations = new ArrayList<Population>();
- java.util.List<Equation> equations = new ArrayList<Equation>();
- if (selectivity != null){
- for (Selectivity s : selectivity){
- populations.add(s.getPopulation());
- equations.add(s.getEquation());
- }
- }
- model.addColumn("Population", populations.toArray());
- model.addColumn("Equation", equations.toArray());
-
- selectivityTable.setModel(model);
- EquationTableEditor cellEditor = new EquationTableEditor();
- selectivityTable.getColumnModel().getColumn(1).setCellEditor(cellEditor);
-}
-protected DefaultComboBoxModel getSelectivityPopulationModel(){
- java.util.List<Species> species = getRegion().getSpecies();
- DefaultComboBoxModel selectivityPopulationModel = new DefaultComboBoxModel();
- if (species != null){
- selectivityPopulationModel.addElement(new GenericCell(" ", null, null));
- for (Species s : species){
- if (s.getPopulation() != null){
- for (Population p : s.getPopulation()){
- selectivityPopulationModel.addElement(new GenericCell(p.getName(), p, Population.class));
- }
- }
- }
- }
- return selectivityPopulationModel;
-}
-protected void add(){
- getAction().addSelectivity((Population) ((GenericCell) fieldSelectivityPopulation.getSelectedItem()).getValue(), selectivityEquation.getEditor().getText(), getBean());
- setSelectivityTableModel();
-}
-protected void remove(){
- getAction().removeSelectivity(getBean(), (Selectivity) getBean().getPopulationSelectivity((Population) selectivityTable.getValueAt(selectivityTable.getSelectedRow(), 0)));
- setSelectivityTableModel();
-}
-protected void selectivityChanged(){
- setSelectivityPopulationSelected(fieldSelectivityPopulation.getSelectedItem() != null);
- setAddButton();
-}
-protected void setAddButton(){
- add.setEnabled(getSelectivityPopulationSelected());
-}
]]>
</script>
<Table id='body'>
@@ -174,46 +77,18 @@
<cell fill='both' weightx='1.0' weighty='1.0'>
<Table>
<row>
- <cell fill='horizontal' anchor='east'>
- <JLabel text="isisfish.selectivity.selectPopulation" enabled='{isActif()}'/>
- </cell>
- <cell fill='horizontal' weightx='1.0'>
- <JComboBox id="fieldSelectivityPopulation" onActionPerformed='selectivityChanged()' enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='selectivityEquation' constructorParams='this'
- lblText='{_("isisfish.selectivity.equation")}'
- bean='{getBean()}' nameEquation='Selectivity'
- clazz='{fr.ifremer.isisfish.equation.SelectivityEquation.class}'
- decorator='boxed' _bean='{GearImpl.class}' _method='""'/>
+ <SelectivityEditorUI id='editor' constructorParams='this' bean='{getBean()}'
+ decorator='boxed' _bean='{GearImpl.class}' _method='"PopulationSelectivity"'/>
</cell>
</row>
</Table>
</cell>
</row>
<row>
- <cell fill='both' weightx='1.0' weighty='1.0'>
+ <cell fill='horizontal' weightx='1.0'>
<Table>
<row>
- <cell columns='2' fill='horizontal' weightx='1.0'>
- <JButton id="add" text="isisfish.common.add" onActionPerformed='add()' enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
- <cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <JScrollPane>
- <JTable id="selectivityTable" rowHeight='24' enabled='{isActif()}'/>
- </JScrollPane>
- </cell>
- </row>
- <row>
- <cell columns='2' fill='horizontal' weightx='1.0'>
- <JButton id="remove" text="isisfish.common.remove" onActionPerformed='remove()' enabled='{isActif()}'/>
- </cell>
- </row>
- <row>
<cell fill='horizontal' weightx='1.0'>
<JButton id='save'/>
</cell>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-17 15:41:44 UTC (rev 1985)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-17 15:54:53 UTC (rev 1986)
@@ -19,6 +19,7 @@
package fr.ifremer.isisfish.ui.sensitivity;
import fr.ifremer.isisfish.entities.Formule;
+import fr.ifremer.isisfish.entities.Selectivity;
import fr.ifremer.isisfish.entities.TargetSpecies;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
@@ -49,6 +50,7 @@
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
import org.codelutin.topia.persistence.TopiaEntity;
import fr.ifremer.isisfish.ui.input.RangeOfValuesUI;
+import fr.ifremer.isisfish.ui.input.SelectivityEditorUI;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@@ -124,6 +126,14 @@
result = ipResult;
} else if (result instanceof RangeOfValuesUI){
result = new JTextField("");
+ } else if (result instanceof SelectivityEditorUI){
+ SelectivityEditorUI origine = (SelectivityEditorUI)c;
+ SelectivityEditorUI ui = new SelectivityEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier()));
+ ui.setBean(origine.getBean());
+ ui.setActif(true);
+ ui.refresh();
+ ui.setActif(true);
+ result = ui;
} else if (result instanceof MetierSeasonInfoSpeciesEditorUI){
MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI)c;
MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier()));
@@ -300,6 +310,15 @@
ipResult.setLabelRenderer(Month.MONTH);
ipResult.setModel(ip.getModel().clone());
result = ipResult;
+ } else if (result instanceof SelectivityEditorUI){
+ SelectivityEditorUI origine = (SelectivityEditorUI)c;
+ SelectivityEditorUI ui = new SelectivityEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier()));
+ ui.setBean(origine.getBean());
+ ui.getBean().setPopulationSelectivity((Collection<Selectivity>) value);
+ ui.setActif(true);
+ ui.refresh();
+ ui.setActif(true);
+ result = ui;
} else if (result instanceof MetierSeasonInfoSpeciesEditorUI){
MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI)c;
MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()).add(new InputSaveVerifier()));
@@ -383,6 +402,9 @@
} else if (c instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
+ } else if (c instanceof SelectivityEditorUI){
+ result = ((SelectivityEditorUI)c).getBean().getPopulationSelectivity();
+
} else if (c instanceof MetierSeasonInfoSpeciesEditorUI){
result = ((MetierSeasonInfoSpeciesEditorUI)c).getMetierInfo().getSpeciesTargetSpecies();
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-17 15:41:44 UTC (rev 1985)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-17 15:54:53 UTC (rev 1986)
@@ -16,14 +16,12 @@
Gear.StandardisationFactor
Gear.ParameterName
Gear.PossibleValue
-Gear.PopulationSelectivity
Metier.GearParameterValue
Metier.Interval
Metier.Zone
MetierSeasonInfo.SpeciesTargetSpecies
Population.GeographicId
Population.PlusGroup
-Population.Capturability
Population.MappingZoneReproZoneRecru
Population.Growth
Population.GrowthReverse
1
0
r1985 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
by chatellier@users.labs.libre-entreprise.org 17 Mar '09
17 Mar '09
Author: chatellier
Date: 2009-03-17 15:41:44 +0000 (Tue, 17 Mar 2009)
New Revision: 1985
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java
Log:
Fix bug were a population cannot be delete.
Seams to be resaved by species
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 2009-03-17 15:11:59 UTC (rev 1984)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/entities/PopulationImpl.java 2009-03-17 15:41:44 UTC (rev 1985)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2006
+ * Copyright (C) 2006 - 2009
* Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
@@ -17,18 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * PopulationImpl.java
- *
- * Created: 11 janv. 2006 20:16:27
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.entities;
import static org.codelutin.i18n.I18n._;
@@ -57,30 +45,47 @@
import fr.ifremer.isisfish.equation.PopulationReproductionEquation;
import fr.ifremer.isisfish.types.Month;
-
/**
+ * PopulationImpl.
+ *
+ * Created: 11 janv. 2006 20:16:27
+ *
* @author poussin
+ * @version $Revision$
*
+ * Last update: $Date$
+ * by : $Author$
*/
-
public class PopulationImpl extends PopulationAbstract {
+ /** Logger for this class. */
+ private static final Log log = LogFactory.getLog(PopulationImpl.class);
+
+ /** serialVersionUID */
+ private static final long serialVersionUID = 1L;
+
/**
- * Logger for this class
+ * Overwrite delete.
+ * @throws TopiaException
*/
- private static final Log log = LogFactory.getLog(PopulationImpl.class);
+ @Override
+ public void delete() throws TopiaException {
+ // chatellier 20090317 fix hibernate exeception
+ // object will be resaved ...
+ // FIXME should be fixed on topia maybe ?
+ this.getSpecies().getPopulation().remove(this);
- /** */
- private static final long serialVersionUID = 1L;
+ super.delete();
+ }
- /* (non-Javadoc)
+ /*
* @see fr.ifremer.isisfish.entities.PopulationAbstract#toString()
*/
@Override
public String toString() {
return getName();
}
-
+
/**
* override to change name of equation
* @see fr.ifremer.isisfish.entities.PopulationAbstract#setName(java.lang.String)
@@ -90,7 +95,7 @@
super.setName(value);
updateEquationName();
}
-
+
private void updateEquationName() {
Equation eq = null;
eq = getGrowth();
@@ -118,21 +123,22 @@
eq.setName(getName());
}
}
-
+
public void setEquationReproductionEquation(String content) {
try {
Equation eq = getReproductionEquation();
-
+
if (eq == null) {
- EquationDAO dao = IsisFishDAOHelper.getEquationDAO(getTopiaContext());
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
// create equation
- eq = dao.create();
+ eq = dao.create();
eq.setCategory("Reproduction");
eq.setJavaInterface(PopulationReproductionEquation.class);
eq.setLanguage(Language.JAVA);
setReproductionEquation(eq);
}
-
+
eq.setName(getName());
// Fire
@@ -143,25 +149,28 @@
eq.update();
fireOnPostWrite("content", _oldValue, content);
-
+
} catch (TopiaException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee);
+ throw new IsisFishRuntimeException(
+ _("isisfish.error.change.equation"), eee);
}
}
+
public void setEquationGrowth(String content) {
try {
Equation eq = getGrowth();
-
+
if (eq == null) {
- EquationDAO dao = IsisFishDAOHelper.getEquationDAO(getTopiaContext());
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
// create Growth equation
- eq = dao.create();
+ eq = dao.create();
eq.setCategory("Growth");
eq.setJavaInterface(PopulationGrowth.class);
eq.setLanguage(Language.JAVA);
setGrowth(eq);
}
-
+
eq.setName(getName());
// Fire
@@ -174,23 +183,26 @@
fireOnPostWrite("content", _oldValue, content);
} catch (TopiaException eee) {
- throw new IsisFishRuntimeException(_("isisfish.change.equation"), eee);
+ throw new IsisFishRuntimeException(_("isisfish.change.equation"),
+ eee);
}
}
+
public void setEquationGrowthReverse(String content) {
try {
Equation eq = getGrowthReverse();
-
+
if (eq == null) {
- EquationDAO dao = IsisFishDAOHelper.getEquationDAO(getTopiaContext());
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
// create equation
- eq = dao.create();
+ eq = dao.create();
eq.setCategory("GrowthReverse");
eq.setJavaInterface(PopulationGrowthReverse.class);
eq.setLanguage(Language.JAVA);
setGrowthReverse(eq);
}
-
+
eq.setName(getName());
// Fire
@@ -203,23 +215,26 @@
fireOnPostWrite("content", _oldValue, content);
} catch (TopiaException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee);
+ throw new IsisFishRuntimeException(
+ _("isisfish.error.change.equation"), eee);
}
}
+
public void setEquationNaturalDeathRate(String content) {
try {
Equation eq = getNaturalDeathRate();
-
+
if (eq == null) {
- EquationDAO dao = IsisFishDAOHelper.getEquationDAO(getTopiaContext());
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
// create equation
- eq = dao.create();
+ eq = dao.create();
eq.setCategory("NaturalDeathRate");
eq.setJavaInterface(PopulationNaturalDeathRate.class);
eq.setLanguage(Language.JAVA);
setNaturalDeathRate(eq);
}
-
+
eq.setName(getName());
// Fire
@@ -232,23 +247,26 @@
fireOnPostWrite("content", _oldValue, content);
} catch (TopiaException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee);
+ throw new IsisFishRuntimeException(
+ _("isisfish.error.change.equation"), eee);
}
}
+
public void setEquationMeanWeight(String content) {
try {
Equation eq = getMeanWeight();
-
+
if (eq == null) {
- EquationDAO dao = IsisFishDAOHelper.getEquationDAO(getTopiaContext());
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
// create equation
- eq = dao.create();
+ eq = dao.create();
eq.setCategory("MeanWeight");
eq.setJavaInterface(PopulationMeanWeight.class);
eq.setLanguage(Language.JAVA);
setMeanWeight(eq);
}
-
+
eq.setName(getName());
// Fire
@@ -261,23 +279,26 @@
fireOnPostWrite("content", _oldValue, content);
} catch (TopiaException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee);
+ throw new IsisFishRuntimeException(
+ _("isisfish.error.change.equation"), eee);
}
}
+
public void setEquationPrice(String content) {
try {
Equation eq = getPrice();
-
+
if (eq == null) {
- EquationDAO dao = IsisFishDAOHelper.getEquationDAO(getTopiaContext());
+ EquationDAO dao = IsisFishDAOHelper
+ .getEquationDAO(getTopiaContext());
// create equation
- eq = dao.create();
+ eq = dao.create();
eq.setCategory("Price");
eq.setJavaInterface(PopulationPrice.class);
eq.setLanguage(Language.JAVA);
setPrice(eq);
}
-
+
eq.setName(getName());
// Fire
@@ -290,13 +311,15 @@
fireOnPostWrite("content", _oldValue, content);
} catch (TopiaException eee) {
- throw new IsisFishRuntimeException(_("isisfish.error.change.equation"), eee);
+ throw new IsisFishRuntimeException(
+ _("isisfish.error.change.equation"), eee);
}
}
-
- /* (non-Javadoc)
+
+ /*
* @see fr.ifremer.isisfish.entities.Population#getNaturalDeathBirth()
*/
+ @Override
public double getNaturalDeathBirth(Zone zone) {
double result = 0;
try {
@@ -312,36 +335,38 @@
}
return result;
}
-
+
/**
* return Matrix [groups x zones] of Natural death rate
* @return
*/
+ @Override
public MatrixND getNaturalDeathRateMatrix() {
List<PopulationGroup> groups = getPopulationGroup();
List<Zone> zones = getPopulationZone();
-
+
MatrixND result = MatrixFactory.getInstance().create(
- "Natural death rate",
- new List[]{groups, zones},
- new String[]{"Groups", "Zones"});
-
- for (MatrixIterator i=result.iterator(); i.hasNext();) {
+ "Natural death rate", new List[] { groups, zones },
+ new String[] { "Groups", "Zones" });
+
+ for (MatrixIterator i = result.iterator(); i.hasNext();) {
i.next();
- PopulationGroup group = (PopulationGroup)i.getSemanticsCoordinates()[0];
- Zone zone = (Zone)i.getSemanticsCoordinates()[1];
-
+ PopulationGroup group = (PopulationGroup) i
+ .getSemanticsCoordinates()[0];
+ Zone zone = (Zone) i.getSemanticsCoordinates()[1];
+
double value = group.getNaturalDeathRate(zone);
i.setValue(value);
}
-
+
return result;
}
-
+
+ @Override
public PopulationSeasonInfo getPopulationSeasonInfo(Month month) {
Collection<PopulationSeasonInfo> all = getPopulationSeasonInfo();
PopulationSeasonInfo result = null;
- for(PopulationSeasonInfo psi : all) {
+ for (PopulationSeasonInfo psi : all) {
if (psi.containsMonth(month)) {
result = psi;
break;
@@ -349,13 +374,14 @@
}
return result;
}
-
+
/**
* Compute age of group with length
* @param length length of group
* @param group group
* @return age in month
*/
+ @Override
public double getAge(double length, PopulationGroup group) {
double result = 0;
try {
@@ -363,7 +389,7 @@
result = growth.evaluate("length", length, "group", group);
} catch (Exception eee) {
if (log.isWarnEnabled()) {
- log.warn("Error in growth equation");
+ log.warn("Error in get age");
}
if (log.isDebugEnabled()) {
log.debug("StackTrace", eee);
@@ -371,13 +397,14 @@
}
return result;
}
-
+
/**
* Compute length of group with age
* @param age age of group in month
* @param group group
* @return length of group
*/
+ @Override
public double getLength(double age, PopulationGroup group) {
double result = 0;
try {
@@ -385,7 +412,7 @@
result = growth.evaluate("age", age, "group", group);
} catch (Exception eee) {
if (log.isWarnEnabled()) {
- log.warn("Error in growth equation");
+ log.warn("Error in get length");
}
if (log.isDebugEnabled()) {
log.debug("StackTrace", eee);
@@ -393,47 +420,47 @@
}
return result;
}
-
-// /* (non-Javadoc)
-// * @see fr.ifremer.isisfish.entities.PopulationAbstract#addPopulationSeasonInfo(fr.ifremer.isisfish.entities.PopulationSeasonInfo)
-// */
-// @Override
-// public void addPopulationSeasonInfo(PopulationSeasonInfo populationSeasonInfo) {
-// super.addPopulationSeasonInfo(populationSeasonInfo);
-// changeCapturability();
-// }
-//
-// /* (non-Javadoc)
-// * @see fr.ifremer.isisfish.entities.PopulationAbstract#addPopulationGroup(fr.ifremer.isisfish.entities.PopulationGroup)
-// */
-// @Override
-// public void addPopulationGroup(PopulationGroup populationGroup) {
-// super.addPopulationGroup(populationGroup);
-// changeCapturability();
-// }
-// protected void changeCapturability() {
-// MatrixND mat = null;
-// if (sizePopulationGroup() == 0 || sizePopulationSeasonInfo() == 0) {
-// log.warn("Population doesn't have population group or population season info");
-// } else {
-// List [] sems = new List[]{
-// getPopulationGroup(),
-// getPopulationSeasonInfo(),
-// };
-// mat = MatrixFactory.getInstance().create(_("isisfish.population.capturability"), sems,
-// new String[]{_("isisfish.population.group"), _("isisfish.population.season")});
-//
-//
-// MatrixND oldMat = getCapturability();
-// if (oldMat != null) {
-// mat.pasteSemantics(oldMat);
-// }
-// }
-// setCapturability(mat);
-// }
-
- /* (non-Javadoc)
+ // /* (non-Javadoc)
+ // * @see fr.ifremer.isisfish.entities.PopulationAbstract#addPopulationSeasonInfo(fr.ifremer.isisfish.entities.PopulationSeasonInfo)
+ // */
+ // @Override
+ // public void addPopulationSeasonInfo(PopulationSeasonInfo populationSeasonInfo) {
+ // super.addPopulationSeasonInfo(populationSeasonInfo);
+ // changeCapturability();
+ // }
+ //
+ // /* (non-Javadoc)
+ // * @see fr.ifremer.isisfish.entities.PopulationAbstract#addPopulationGroup(fr.ifremer.isisfish.entities.PopulationGroup)
+ // */
+ // @Override
+ // public void addPopulationGroup(PopulationGroup populationGroup) {
+ // super.addPopulationGroup(populationGroup);
+ // changeCapturability();
+ // }
+
+ // protected void changeCapturability() {
+ // MatrixND mat = null;
+ // if (sizePopulationGroup() == 0 || sizePopulationSeasonInfo() == 0) {
+ // log.warn("Population doesn't have population group or population season info");
+ // } else {
+ // List [] sems = new List[]{
+ // getPopulationGroup(),
+ // getPopulationSeasonInfo(),
+ // };
+ // mat = MatrixFactory.getInstance().create(_("isisfish.population.capturability"), sems,
+ // new String[]{_("isisfish.population.group"), _("isisfish.population.season")});
+ //
+ //
+ // MatrixND oldMat = getCapturability();
+ // if (oldMat != null) {
+ // mat.pasteSemantics(oldMat);
+ // }
+ // }
+ // setCapturability(mat);
+ // }
+
+ /*
* @see fr.ifremer.isisfish.entities.PopulationAbstract#getCapturability()
*/
@Override
@@ -441,24 +468,31 @@
MatrixND mat = super.getCapturability();
// check the validity
if (sizePopulationGroup() == 0 || sizePopulationSeasonInfo() == 0) {
- log.warn("Population doesn't have population group or population season info");
+ log
+ .warn("Population doesn't have population group or population season info");
return null;
}
- List [] sems = new List[]{
- getPopulationGroup(),
- getPopulationSeasonInfo(),
- };
+ List[] sems = new List[] { getPopulationGroup(),
+ getPopulationSeasonInfo(), };
if (mat == null) {
log.debug("Capturability is null, create new matrix");
- mat = MatrixFactory.getInstance().create(n_("isisfish.population.capturability"), sems,
- new String[]{n_("isisfish.population.group"), n_("isisfish.population.season")});
+ mat = MatrixFactory.getInstance().create(
+ n_("isisfish.population.capturability"),
+ sems,
+ new String[] { n_("isisfish.population.group"),
+ n_("isisfish.population.season") });
// we don't call setCapturability because is better to create a valid
// matrix when capturability is null instead check validity and
// create new one and paste the old
- } else if (!Arrays.equals(mat.getSemantics(), sems)){
- log.debug("Capturability has changed, create new matrix and copy old: " + mat.getSemantics() + " " + sems);
- MatrixND newmat = MatrixFactory.getInstance().create(n_("isisfish.population.capturability"), sems,
- new String[]{n_("isisfish.population.group"), n_("isisfish.population.season")});
+ } else if (!Arrays.equals(mat.getSemantics(), sems)) {
+ log
+ .debug("Capturability has changed, create new matrix and copy old: "
+ + mat.getSemantics() + " " + sems);
+ MatrixND newmat = MatrixFactory.getInstance().create(
+ n_("isisfish.population.capturability"),
+ sems,
+ new String[] { n_("isisfish.population.group"),
+ n_("isisfish.population.season") });
newmat.pasteSemantics(mat);
mat = newmat;
// perhaps call setCapturability, but if possible wait the user
@@ -467,35 +501,39 @@
return mat;
}
- /* (non-Javadoc)
+ /*
* @see fr.ifremer.isisfish.entities.PopulationAbstract#getMappingZoneReproZoneRecru()
*/
@Override
public MatrixND getMappingZoneReproZoneRecru() {
if (sizeReproductionZone() == 0 || sizeRecruitmentZone() == 0) {
- log.warn("Population doesn't have zone reproduction or zone recruitment");
- return null;
+ log
+ .warn("Population doesn't have zone reproduction or zone recruitment");
+ return null;
}
MatrixND mat = super.getMappingZoneReproZoneRecru();
- List [] sems = new List[]{
- getReproductionZone(),
- getRecruitmentZone(),
- };
+ List[] sems = new List[] { getReproductionZone(), getRecruitmentZone(), };
if (mat == null) {
- mat = MatrixFactory.getInstance().create(n_("isisfish.population.mappingZoneReproZoneRecru"), sems,
- new String[]{n_("isisfish.population.reproduction"), n_("isisfish.population.recruitment")});
+ mat = MatrixFactory.getInstance().create(
+ n_("isisfish.population.mappingZoneReproZoneRecru"),
+ sems,
+ new String[] { n_("isisfish.population.reproduction"),
+ n_("isisfish.population.recruitment") });
// we don't call setMappingZoneReproZoneRecru because is better to create a valid
// matrix when MappingZoneReproZoneRecru is null instead check validity and
// create new one and paste the old
} else if (!Arrays.equals(mat.getSemantics(), sems)) {
- MatrixND newmat = MatrixFactory.getInstance().create(n_("isisfish.population.mappingZoneReproZoneRecru"), sems,
- new String[]{n_("isisfish.population.reproduction"), n_("isisfish.population.recruitment")});
+ MatrixND newmat = MatrixFactory.getInstance().create(
+ n_("isisfish.population.mappingZoneReproZoneRecru"),
+ sems,
+ new String[] { n_("isisfish.population.reproduction"),
+ n_("isisfish.population.recruitment") });
newmat.paste(mat);
mat = newmat;
}
return mat;
}
-
+
/**
* convertie une matrice N 2D en une matrice N 1D strucutre pour les
* calcules.
@@ -509,15 +547,16 @@
MatrixND result = MatrixFactory.getInstance().create(
n_("isisfish.population.matrixAbundance1D"),
- new int[]{1, maxX * maxY});
-
- for(int x=0; x<maxX; x++){
- for(int y=0; y<maxY; y++){
- result.setValue(0, x*maxY+y, N.getValue(x, y));
+ new int[] { 1, maxX * maxY });
+
+ for (int x = 0; x < maxX; x++) {
+ for (int y = 0; y < maxY; y++) {
+ result.setValue(0, x * maxY + y, N.getValue(x, y));
}
}
return result;
}
+
/**
* a partir d'une matrice N structure selon l'ecriture matricielle
* en classe puis en zone, construit une matrice 2D en Classe(X)
@@ -532,25 +571,24 @@
MatrixND result = MatrixFactory.getInstance().create(
n_("isisfish.population.matrixAbundance"),
- new List[]{groups, zones},
- new String[]{n_("isisfish.population.groups"), n_("isisfish.population.zones")});
+ new List[] { groups, zones },
+ new String[] { n_("isisfish.population.groups"),
+ n_("isisfish.population.zones") });
try {
int c = 0;
int z = 0;
- for(MatrixIterator mi=N.iterator(); mi.next();){
- result.setValue(c,z, mi.getValue());
- if (z+1 == nbZone){
+ for (MatrixIterator mi = N.iterator(); mi.next();) {
+ result.setValue(c, z, mi.getValue());
+ if (z + 1 == nbZone) {
c++;
}
- z = (z+1)%nbZone;
+ z = (z + 1) % nbZone;
}
- } catch(MatrixException eee) {
+ } catch (MatrixException eee) {
log.warn("MatrixException", eee);
}
return result;
- }
-
+ }
+
}
-
-
1
0