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
November 2009
- 1 participants
- 65 discussions
Author: chatellier
Date: 2009-11-19 17:23:16 +0000 (Thu, 19 Nov 2009)
New Revision: 2766
Modified:
isis-fish/trunk/changelog.txt
Log:
Upate changelog about migration
Modified: isis-fish/trunk/changelog.txt
===================================================================
--- isis-fish/trunk/changelog.txt 2009-11-19 17:21:50 UTC (rev 2765)
+++ isis-fish/trunk/changelog.txt 2009-11-19 17:23:16 UTC (rev 2766)
@@ -10,7 +10,8 @@
* Global VCS improvement (code, script UI, input UI)
* Update to svnkit 1.3.1
* Unification of error frames
- * Move codelutin librairies to nuiton.org
+ * Add ".shp" extension to database map files list (database migration)
+ * Move codelutin librairies to nuiton.org (database migration)
-- mar. oct. 13 09:48:15 CEST 2009
1
0
r2765 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration
by chatellier@users.labs.libre-entreprise.org 19 Nov '09
by chatellier@users.labs.libre-entreprise.org 19 Nov '09
19 Nov '09
Author: chatellier
Date: 2009-11-19 17:21:50 +0000 (Thu, 19 Nov 2009)
New Revision: 2765
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/SwingMigrationCallbackHandler.java
Log:
Modify 3.2 to 3.3 migration : add .shp extension to each file in map list
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/SwingMigrationCallbackHandler.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/SwingMigrationCallbackHandler.java 2009-11-18 13:26:59 UTC (rev 2764)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/migration/SwingMigrationCallbackHandler.java 2009-11-19 17:21:50 UTC (rev 2765)
@@ -154,8 +154,10 @@
"update POPULATIONSEASONINFO set emigrationMatrix_semantics = replace(emigrationMatrix_semantics, 'org.codelutin.', 'org.nuiton.') where emigrationMatrix_semantics IS NOT null;",
"update POPULATIONSEASONINFO set immigrationMatrix_semantics = replace(immigrationMatrix_semantics, 'org.codelutin.', 'org.nuiton.') where immigrationMatrix_semantics IS NOT null;",
"update RESULT set matrix_semantics = replace(matrix_semantics, 'org.codelutin.', 'org.nuiton.') where matrix_semantics IS NOT null;",
- "update STRATEGYMONTHINFO set proportionMetier_semantics = replace(proportionMetier_semantics, 'org.codelutin.', 'org.nuiton.') where proportionMetier_semantics IS NOT null;"
-
+ "update STRATEGYMONTHINFO set proportionMetier_semantics = replace(proportionMetier_semantics, 'org.codelutin.', 'org.nuiton.') where proportionMetier_semantics IS NOT null;",
+ // add .shp default extension
+ "update FISHERYREGION set MAPFILES = regexp_replace(MAPFILES, '(,|$)', '.shp$1') where MAPFILES IS NOT null;"
+
};
for (String sql : sqls) {
log.info("try " + sql);
1
0
18 Nov '09
Author: chatellier
Date: 2009-11-18 13:26:59 +0000 (Wed, 18 Nov 2009)
New Revision: 2764
Modified:
isis-fish/trunk/src/main/resources/sensitivity.properties
Log:
Fix again factors list
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-11-17 17:07:59 UTC (rev 2763)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-11-18 13:26:59 UTC (rev 2764)
@@ -14,20 +14,19 @@
Gear.StandardisationFactor
Metier.GearParameterValue
Population.Capturability
-Population.GeographicId
PopulationGroup.ReproductionRate
Population.Growth
Population.GrowthReverse
-Population.MaturityGroup
Population.MeanWeight
Population.MonthGapBetweenReproRecrutement
Population.NaturalDeathRate
-Population.PlusGroup
Population.Price
Population.RecruitmentDistribution
Population.ReproductionEquation
-PopulationSeasonInfo.GroupChange
PopulationSeasonInfo.LengthChangeMatrix
+PopulationSeasonInfo.MigrationEquation
+PopulationSeasonInfo.EmigrationEquation
+PopulationSeasonInfo.ImmigrationEquation
SetOfVessels.FixedCosts
SetOfVessels.NumberOfVessels
SetOfVessels.TechnicalEfficiencyEquation
@@ -35,7 +34,6 @@
StrategyMonthInfo.MinInactivityDays
StrategyMonthInfo.ProportionMetier
Strategy.ProportionSetOfVessels
-Strategy.SetOfVessels
TripType.MinTimeBetweenTrip
TripType.TripDuration
VesselType.ActivityRange
1
0
r2763 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
17 Nov '09
Author: chatellier
Date: 2009-11-17 17:07:59 +0000 (Tue, 17 Nov 2009)
New Revision: 2763
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx
Log:
Wrong _bean and _method
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-11-17 16:47:21 UTC (rev 2762)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-11-17 17:07:59 UTC (rev 2763)
@@ -53,7 +53,7 @@
lblText='{_("isisfish.common.migration")}' actif='{isActif()}'
bean='{getPopInfo()}' nameEquation='Migration' methodGet='MigrationEquation' methodSet='MigrationEquationAsString'
clazz='{fr.ifremer.isisfish.equation.MigrationEquation.class}'
- decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
+ decorator='boxed' _bean='{PopulationSeasonInfoImpl.class}' _method='"MigrationEquation"'/>
</cell>
</row>
<row>
@@ -62,7 +62,7 @@
lblText='{_("isisfish.common.emigration")}' actif='{isActif()}'
bean='{getPopInfo()}' nameEquation='Emigration' methodGet='EmigrationEquation' methodSet='EmigrationEquationAsString'
clazz='{fr.ifremer.isisfish.equation.EmigrationEquation.class}'
- decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
+ decorator='boxed' _bean='{PopulationSeasonInfoImpl.class}' _method='"EmigrationEquation"'/>
</cell>
</row>
<row>
@@ -71,7 +71,7 @@
lblText='{_("isisfish.common.immigration")}' actif='{isActif()}'
bean='{getPopInfo()}' nameEquation='Immigration' methodGet='ImmigrationEquation' methodSet='ImmigrationEquationAsString'
clazz='{fr.ifremer.isisfish.equation.ImmigrationEquation.class}'
- decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
+ decorator='boxed' _bean='{PopulationSeasonInfoImpl.class}' _method='"ImmigrationEquation"'/>
</cell>
</row>
</Table>
1
0
r2762 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
17 Nov '09
Author: chatellier
Date: 2009-11-17 16:47:21 +0000 (Tue, 17 Nov 2009)
New Revision: 2762
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx
Log:
GearParameterValue can be factorisable
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx 2009-11-17 16:32:39 UTC (rev 2761)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierTabUI.jaxx 2009-11-17 16:47:21 UTC (rev 2762)
@@ -101,7 +101,8 @@
<!-- jaxx.runtime.SwingUtil.getStringValue() => when null values -->
<cell fill='horizontal' weightx='1.0'>
<JTextField id="fieldMetierParam" text='{jaxx.runtime.SwingUtil.getStringValue(getBean().getGearParameterValue())}'
- onKeyReleased='getBean().setGearParameterValue(fieldMetierParam.getText())' enabled='{isActif()}' decorator='boxed'/>
+ onKeyReleased='getBean().setGearParameterValue(fieldMetierParam.getText())' enabled='{isActif()}' decorator='boxed'
+ _bean='{MetierImpl.class}' _method='"GearParameterValue"' />
</cell>
</row>
<row>
1
0
r2761 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
17 Nov '09
Author: chatellier
Date: 2009-11-17 16:32:39 +0000 (Tue, 17 Nov 2009)
New Revision: 2761
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
Log:
Mistake due to formating problems ?
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-11-17 15:38:42 UTC (rev 2760)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-11-17 16:32:39 UTC (rev 2761)
@@ -662,11 +662,10 @@
} else if (value instanceof Long) {
return true;
}
- /* always false
- else if (InputOneEquationUI.class.isInstance(component)) {
- return true;
- }*/
}
+ else if (component instanceof InputOneEquationUI) {
+ return true;
+ }
return false;
}
1
0
r2760 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish/ui/input main/java/fr/ifremer/isisfish/ui/sensitivity main/resources/i18n test/java/fr/ifremer/isisfish/ui/sensitivity
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
17 Nov '09
Author: chatellier
Date: 2009-11-17 15:38:42 +0000 (Tue, 17 Nov 2009)
New Revision: 2760
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityAction.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtilsTest.java
Removed:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanelUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizardUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanelUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtils.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:
Refactoring of sensitivity (phase1)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-11-17 15:38:42 UTC (rev 2760)
@@ -34,13 +34,6 @@
<!-- Layer bloquant completement la saisie -->
<jaxx.runtime.swing.BlockingLayerUI id='layerUI'
blockingColor='{new Color(50,50,50)}' />
- <!-- acceptAction='{new AbstractAction() {
- private static final long serialVersionUID = 1L;
- @Override
- public void actionPerformed(ActionEvent e) {
- accept(e);
- }
- }}' -->
<!-- Layer avec les icones permettant d'ajouter des facteurs -->
<jaxx.runtime.swing.BlockingLayerUI2 id='layerUI2'
@@ -133,7 +126,8 @@
String method = (String)boxed.getClientProperty("method");
boolean isSensitivityFactorEnabled = false;
if (classBean != null) {
- isSensitivityFactorEnabled = SensitivityUtils.isSensitivityFactorEnabled(classBean.getSimpleName().replace("Impl", "") + "." + method);
+ String sensitivityFactorName = classBean.getSimpleName().replace("Impl", "") + "." + method;
+ isSensitivityFactorEnabled = SensitivityUtils.isSensitivityFactorEnabled(sensitivityFactorName);
}
if (isSensitivityFactorEnabled) {
jaxx.runtime.swing.BlockingLayerUI2 ui = layerUI2.clone();
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanelUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanelUI.jaxx 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/DefaultContinuousPanelUI.jaxx 2009-11-17 15:38:42 UTC (rev 2760)
@@ -23,27 +23,23 @@
protected JTextField continueMax = null;
protected JTextField continueMin = null;
-addPropertyChangeListener("continuePossible", new PropertyChangeListener(){
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- continueMax.setVisible((Boolean)evt.getNewValue());
- continueMin.setVisible((Boolean)evt.getNewValue());
- }
-
+addPropertyChangeListener("continuePossible", new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ continueMax.setVisible((Boolean)evt.getNewValue());
+ continueMin.setVisible((Boolean)evt.getNewValue());
+ }
});
-addPropertyChangeListener("continueSelected", new PropertyChangeListener(){
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- continueMax.setEnabled((Boolean)evt.getNewValue());
- continueMin.setEnabled((Boolean)evt.getNewValue());
- }
-
+addPropertyChangeListener("continueSelected", new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ continueMax.setEnabled((Boolean)evt.getNewValue());
+ continueMin.setEnabled((Boolean)evt.getNewValue());
+ }
});
-public void init(JTextField cMin, JTextField cMax){
+public void init(JTextField cMin, JTextField cMax) {
continueMax = cMax;
continueMin = cMin;
continueMax.setEnabled(isContinueSelected());
@@ -54,10 +50,12 @@
continueMaxPanel.add(continueMax, BorderLayout.CENTER);
continueMinPanel.add(continueMin, BorderLayout.CENTER);
}
-public String getMin(){
+
+public String getMin() {
return continueMin.getText();
}
-public String getMax(){
+
+public String getMax() {
return continueMax.getText();
}
]]>
@@ -65,13 +63,13 @@
<Table id='content' constraints='BorderLayout.CENTER'>
<row>
<cell fill='horizontal'>
- <JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <JLabel text='isisfish.sensitivity.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
<JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
</cell>
<cell fill='horizontal'>
- <JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <JLabel text='isisfish.sensitivity.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
<JPanel id='continueMaxPanel' layout='{new BorderLayout()}'/>
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-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-11-17 15:38:42 UTC (rev 2760)
@@ -18,6 +18,30 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.swing.JCheckBox;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JList;
+import javax.swing.JRadioButton;
+import javax.swing.JTable;
+import javax.swing.JTextField;
+import javax.swing.text.JTextComponent;
+
+import jaxx.runtime.JAXXInitialContext;
+import jaxx.runtime.swing.editor.NumberEditor;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.math.matrix.MatrixND;
+import org.nuiton.math.matrix.gui.MatrixEditor;
+import org.nuiton.math.matrix.gui.MatrixPanelEditor;
+import org.nuiton.topia.persistence.TopiaEntity;
+
import fr.ifremer.isisfish.entities.Formule;
import fr.ifremer.isisfish.entities.Selectivity;
import fr.ifremer.isisfish.entities.TargetSpecies;
@@ -35,64 +59,60 @@
import fr.ifremer.isisfish.ui.input.PopulationMigrationImmigrationUI;
import fr.ifremer.isisfish.ui.input.PopulationMigrationMigrationUI;
import fr.ifremer.isisfish.ui.input.PopulationZonesEditorUI;
+import fr.ifremer.isisfish.ui.input.RangeOfValuesUI;
+import fr.ifremer.isisfish.ui.input.SelectivityEditorUI;
import fr.ifremer.isisfish.ui.input.SpeciesStructuredUI;
import fr.ifremer.isisfish.ui.widget.IntervalPanel;
-import java.lang.reflect.Method;
-import javax.swing.JCheckBox;
-import javax.swing.JComboBox;
-import javax.swing.JComponent;
-import javax.swing.JList;
-import javax.swing.JRadioButton;
-import javax.swing.JTable;
-import javax.swing.JTextField;
-import javax.swing.text.JTextComponent;
-import jaxx.runtime.JAXXInitialContext;
-import jaxx.runtime.swing.JAXXList;
-import org.nuiton.math.matrix.MatrixND;
-import org.nuiton.math.matrix.gui.MatrixPanelEditor;
-import org.nuiton.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;
-import jaxx.runtime.swing.editor.NumberEditor;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.math.matrix.gui.MatrixEditor;
/**
+ * Helper for sensitivity Swing component manipulation.
+ *
+ * @author letellier
+ * @version $Revision$
*
- * @author letellier
+ * Last update: $Date$
+ * by : $Author$
*/
public class EditorHelper {
/** Class logger. */
private static Log log = LogFactory.getLog(InputTabbedPaneListener.class);
- public static String getMethod(JComponent c) {
- return (String) c.getClientProperty("method");
+ /**
+ * Get "method" property value for wing component.
+ *
+ * @param component component
+ * @return property value
+ */
+ public static String getMethod(JComponent component) {
+ return (String) component.getClientProperty("method");
}
- public static JComponent getEditor(JComponent c, TopiaEntity e) {
+ /**
+ * Get copy of component with original entity value as default value.
+ *
+ * @param component component
+ * @param entity entity
+ * @return component copy
+ */
+ public static JComponent getEditor(JComponent component, TopiaEntity entity) {
JComponent result = null;
try {
- String fieldName = getMethod(c);
- result = c.getClass().newInstance();
+ String fieldName = getMethod(component);
+ result = component.getClass().newInstance();
if (result instanceof JTextField) {
- ((JTextComponent) result).setText(String.valueOf(callMethod(e,
- fieldName)));
+ ((JTextComponent) result).setText(String.valueOf(getMethodValue(entity, fieldName)));
} else if (result instanceof NumberEditor) {
- NumberEditor ui = (NumberEditor) c;
+ NumberEditor ui = (NumberEditor) component;
JTextField numEditor = new JTextField();
numEditor.setText(String.valueOf(ui.getModel()));
result = numEditor;
} else if (result instanceof MatrixEditor) {
- MatrixEditor ui = (MatrixEditor) c;
- MatrixND m = (MatrixND) callMethod(e, fieldName);
+ MatrixEditor ui = (MatrixEditor) component;
+ MatrixND m = (MatrixND) getMethodValue(entity, fieldName);
MatrixPanelEditor matrix = new MatrixPanelEditor(false);
if (m != null) {
matrix.setMatrix(m.clone());
@@ -102,38 +122,37 @@
result = matrix;
} else if (result instanceof JTable) {
- ((JTable) result).setModel(((JTable) c).getModel());
+ ((JTable) result).setModel(((JTable) component).getModel());
} else if (result instanceof JComboBox) {
- JComboBox combo = (JComboBox) c;
+ JComboBox combo = (JComboBox) component;
JComboBox comboResult = new JComboBox();
comboResult.setModel(combo.getModel());
comboResult.setSelectedIndex(combo.getSelectedIndex());
result = comboResult;
} else if (result instanceof JList) {
- JList list = (JList) c;
+ JList list = (JList) component;
JList listResult = new JList();
listResult.setModel(list.getModel());
listResult.setSelectedIndices(list.getSelectedIndices());
result = listResult;
} else if (result instanceof JCheckBox) {
- ((JCheckBox) result).setSelected((Boolean) callMethod(e,
+ ((JCheckBox) result).setSelected((Boolean) getMethodValue(entity,
fieldName));
- JCheckBox cOrigin = (JCheckBox) c;
+ JCheckBox cOrigin = (JCheckBox) component;
((JCheckBox) result).setText(cOrigin.getText());
} else if (result instanceof JRadioButton) {
- ((JRadioButton) result).setSelected((Boolean) callMethod(e,
+ ((JRadioButton) result).setSelected((Boolean) getMethodValue(entity,
fieldName));
- JRadioButton cOrigin = (JRadioButton) c;
+ JRadioButton cOrigin = (JRadioButton) component;
((JRadioButton) result).setText(cOrigin.getText());
} else if (result instanceof SpeciesStructuredUI) {
- SpeciesStructuredUI origine = (SpeciesStructuredUI) c;
SpeciesStructuredUI ui = new SpeciesStructuredUI();
ui.setActif(true);
result = ui;
} else if (result instanceof InputOneEquationUI) {
- InputOneEquationUI origine = (InputOneEquationUI) c;
+ InputOneEquationUI origine = (InputOneEquationUI) component;
InputOneEquationUI ui = new InputOneEquationUI(
new JAXXInitialContext().add(new InputAction()));
ui.setSelectedEquation(origine.getSelectedEquation());
@@ -142,20 +161,20 @@
ui.setClazz(origine.getClazz());
ui.setMethodGet(origine.getMethodGet());
ui.setMethodSet(origine.getMethodSet());
- ui.setBean(e);
+ ui.setBean(entity);
ui.setActif(true);
ui.refresh();
result = ui;
} else if (result instanceof IntervalPanel) {
IntervalPanel ipResult = new IntervalPanel();
- IntervalPanel ip = (IntervalPanel) c;
+ IntervalPanel ip = (IntervalPanel) component;
ipResult.setLabelRenderer(Month.MONTH);
ipResult.setModel(ip.getModel().clone());
result = ipResult;
} else if (result instanceof RangeOfValuesUI) {
result = new JTextField("");
} else if (result instanceof SelectivityEditorUI) {
- SelectivityEditorUI origine = (SelectivityEditorUI) c;
+ SelectivityEditorUI origine = (SelectivityEditorUI) component;
SelectivityEditorUI ui = new SelectivityEditorUI(
new JAXXInitialContext().add(new InputAction()).add(
origine.getRegion()).add(
@@ -166,7 +185,7 @@
ui.setActif(true);
result = ui;
} else if (result instanceof MetierSeasonInfoSpeciesEditorUI) {
- MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI) c;
+ MetierSeasonInfoSpeciesEditorUI origine = (MetierSeasonInfoSpeciesEditorUI) component;
MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(
new JAXXInitialContext().add(new InputAction()).add(
origine.getRegion()).add(
@@ -180,16 +199,14 @@
ui.refresh();
result = ui;
} else if (result instanceof PopulationZonesEditorUI) {
- PopulationZonesEditorUI origine = (PopulationZonesEditorUI) c;
- PopulationZonesEditorUI ui = new PopulationZonesEditorUI(
- new JAXXInitialContext().add(new InputAction()).add(
- origine.getRegion()));
+ PopulationZonesEditorUI origine = (PopulationZonesEditorUI) component;
+ PopulationZonesEditorUI ui = new PopulationZonesEditorUI(new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()));
ui.setBean(origine.getBean());
ui.setActif(true);
ui.refresh();
result = ui;
} else if (result instanceof PopulationMigrationMigrationUI) {
- PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI) c;
+ PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI) component;
PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI(
new JAXXInitialContext().add(new InputAction()));
ui.setBean(origine.getBean());
@@ -198,149 +215,179 @@
ui.refreshPanel();
result = ui;
} else if (result instanceof PopulationMigrationEmigrationUI) {
- PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI) c;
- PopulationMigrationEmigrationUI ui = new PopulationMigrationEmigrationUI(
- new JAXXInitialContext().add(new InputAction()));
+ PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI) component;
+ PopulationMigrationEmigrationUI ui = new PopulationMigrationEmigrationUI(new JAXXInitialContext().add(new InputAction()));
ui.setBean(origine.getBean());
ui.setPopInfo(origine.getPopInfo());
ui.setActif(true);
ui.refreshPanel();
result = ui;
} else if (result instanceof PopulationMigrationImmigrationUI) {
- PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI) c;
- PopulationMigrationImmigrationUI ui = new PopulationMigrationImmigrationUI(
- new JAXXInitialContext().add(new InputAction()));
+ PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI) component;
+ PopulationMigrationImmigrationUI ui = new PopulationMigrationImmigrationUI(new JAXXInitialContext().add(new InputAction()));
ui.setBean(origine.getBean());
ui.setPopInfo(origine.getPopInfo());
ui.setActif(true);
ui.refreshPanel();
result = ui;
}
- } catch (Exception ex) {
- log.error(ex);
+ } catch (IllegalAccessException ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't make new instance of " + component, ex);
+ }
+ } catch (InstantiationException ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't make new instance of " + component, ex);
+ }
}
return result;
}
- public static ContinuousPanelContainerUI getContinuousPanel(JComponent c,
- TopiaEntity e) {
+ /**
+ * Get copy of component with original entity value as default value.
+ *
+ * @param component component
+ * @param entity entity
+ * @return component copy
+ */
+ public static ContinuousPanelContainerUI getContinuousPanel(JComponent component, TopiaEntity entity) {
ContinuousPanelContainerUI result = null;
- try {
- String fieldName = getMethod(c);
- DefaultContinuousPanelUI continuousPanel = null;
- if (c instanceof InputOneEquationUI) {
- InputOneEquationUI origine = (InputOneEquationUI) c;
- EquationContinuousPanelUI ui = new EquationContinuousPanelUI(
- new JAXXInitialContext().add(new InputAction()));
- ui.setSelectedEquation(origine.getSelectedEquation());
- ui.setLblText(origine.getLblText());
- ui.setNameEquation(origine.getNameEquation());
- ui.setClazz(origine.getClazz());
- ui.setMethodGet(origine.getMethodGet());
- ui.setMethodSet(origine.getMethodSet());
- ui.setBean(e);
- result = ui;
- } else if (c instanceof MatrixEditor) {
- MatrixContinuousPanelUI matrixPanel = new MatrixContinuousPanelUI();
- MatrixND m = (MatrixND) callMethod(e, fieldName);
- if (m != null) {
- matrixPanel.setMatrix(m.clone());
- }
- result = matrixPanel;
- } else {
- continuousPanel = new DefaultContinuousPanelUI();
- result = continuousPanel;
+ String fieldName = getMethod(component);
+ DefaultContinuousPanelUI continuousPanel = null;
+ if (component instanceof InputOneEquationUI) {
+ InputOneEquationUI origine = (InputOneEquationUI) component;
+ EquationContinuousPanelUI ui = new EquationContinuousPanelUI(
+ new JAXXInitialContext().add(new InputAction()));
+ ui.setSelectedEquation(origine.getSelectedEquation());
+ ui.setLblText(origine.getLblText());
+ ui.setNameEquation(origine.getNameEquation());
+ ui.setClazz(origine.getClazz());
+ ui.setMethodGet(origine.getMethodGet());
+ ui.setMethodSet(origine.getMethodSet());
+ ui.setBean(entity);
+ result = ui;
+ } else if (component instanceof MatrixEditor) {
+ MatrixContinuousPanelUI matrixPanel = new MatrixContinuousPanelUI();
+ MatrixND m = (MatrixND) getMethodValue(entity, fieldName);
+ if (m != null) {
+ matrixPanel.setMatrix(m.clone());
}
- if (continuousPanel != null) {
- continuousPanel.init(getNewBoundEditor(c, e),
- getNewBoundEditor(c, e));
- }
- } catch (Exception ex) {
- log.error(ex);
+ result = matrixPanel;
+ } else {
+ continuousPanel = new DefaultContinuousPanelUI();
+ result = continuousPanel;
}
+ if (continuousPanel != null) {
+ continuousPanel.init(getNewBoundEditor(component, entity), getNewBoundEditor(component, entity));
+ }
return result;
}
- public static JTextField getNewBoundEditor(JComponent c, TopiaEntity e) {
- String fieldName = getMethod(c);
- Object value = callMethod(e, fieldName);
- if (JTextComponent.class.isInstance(c)) {
+ /**
+ * Get new text component with current entity default value.
+ *
+ * @param component component
+ * @param entity entity
+ * @return
+ */
+ protected static JTextField getNewBoundEditor(JComponent component, TopiaEntity entity) {
+ String fieldName = getMethod(component);
+ Object value = getMethodValue(entity, fieldName);
+ if (component instanceof JTextComponent) {
return new JTextField(String.valueOf(value));
}
return new JTextField();
}
+ /**
+ * Get continuous editor for component with given value.
+ *
+ * @param component component
+ * @param domain domain
+ * @param factor factor
+ * @return component copy
+ */
public static ContinuousPanelContainerUI getContinuousPanelWithValue(
- JComponent c, ContinuousDomain domain, Factor f) {
+ JComponent component, ContinuousDomain<?, ?> domain, Factor<?, ?> factor) {
ContinuousPanelContainerUI result = null;
- try {
- DefaultContinuousPanelUI continuousPanel = null;
- if (c instanceof InputOneEquationUI) {
- InputOneEquationUI origine = (InputOneEquationUI) c;
- EquationContinuousPanelUI ui = new EquationContinuousPanelUI(
- new JAXXInitialContext().add(new InputAction()));
- ui.setLblText(origine.getLblText());
- ui.setNameEquation(origine.getNameEquation());
- ui.getEditor().getEditor().setText((String) f.getValue());
- ui.setClazz(origine.getClazz());
- ui.setMethodGet(origine.getMethodGet());
- ui.setMethodSet(origine.getMethodSet());
- ui.setBean(origine.getBean());
- EquationContinuousDomain equationDomain = (EquationContinuousDomain) domain;
- ui.addDomain(equationDomain);
- ui.setTable();
+ DefaultContinuousPanelUI continuousPanel = null;
+ if (component instanceof InputOneEquationUI) {
+ InputOneEquationUI origine = (InputOneEquationUI) component;
+ EquationContinuousPanelUI ui = new EquationContinuousPanelUI(
+ new JAXXInitialContext().add(new InputAction()));
+ ui.setLblText(origine.getLblText());
+ ui.setNameEquation(origine.getNameEquation());
+ ui.getEditor().getEditor().setText((String) factor.getValue());
+ ui.setClazz(origine.getClazz());
+ ui.setMethodGet(origine.getMethodGet());
+ ui.setMethodSet(origine.getMethodSet());
+ ui.setBean(origine.getBean());
- result = ui;
- } else if (c instanceof MatrixEditor) {
- MatrixContinuousPanelUI panel = new MatrixContinuousPanelUI();
- MatrixContinuousDomain matrixDomain = (MatrixContinuousDomain) domain;
- MatrixND m = matrixDomain.getMatrix();
- if (m != null) {
- panel.setMatrix(m.clone());
- }
- panel.getOperator().setSelectedItem(matrixDomain.getOperator());
- panel.getCoef().setText(String.valueOf(matrixDomain.getCoefficient() * 100));
- result = panel;
- } else {
- continuousPanel = new DefaultContinuousPanelUI();
- result = continuousPanel;
+ EquationContinuousDomain equationDomain = (EquationContinuousDomain) domain;
+ ui.addDomain(equationDomain);
+ ui.setTable();
+
+ result = ui;
+ } else if (component instanceof MatrixEditor) {
+ MatrixContinuousPanelUI panel = new MatrixContinuousPanelUI();
+ MatrixContinuousDomain matrixDomain = (MatrixContinuousDomain) domain;
+ MatrixND m = matrixDomain.getMatrix();
+ if (m != null) {
+ panel.setMatrix(m.clone());
}
- if (continuousPanel != null) {
- continuousPanel.init(new JTextField(String.valueOf(domain
- .getMinBound())), new JTextField(String.valueOf(domain
- .getMaxBound())));
- }
- } catch (Exception ex) {
- log.error(ex);
+ panel.getOperator().setSelectedItem(matrixDomain.getOperator());
+ panel.getCoef().setText(
+ String.valueOf(matrixDomain.getCoefficient() * 100));
+ result = panel;
+ } else {
+ continuousPanel = new DefaultContinuousPanelUI();
+ result = continuousPanel;
}
+ if (continuousPanel != null) {
+ continuousPanel.init(new JTextField(String.valueOf(domain
+ .getMinBound())), new JTextField(String.valueOf(domain
+ .getMaxBound())));
+ }
+
return result;
}
- public static JComponent getEditorWithValue(JComponent c) {
- return getEditorWithValue(c, getValue(c));
+ /**
+ * Get new instance of component filled with original swing component value.
+ *
+ * @param component component
+ * @return new component instance
+ */
+ public static JComponent getEditorWithValue(JComponent component) {
+ Object value = getValue(component);
+ return getEditorWithValue(component, value);
}
- public static JComponent getEditorWithValue(JComponent c, Object value) {
+ /**
+ * Get new instance of component filled with specified value depending
+ * of component type.
+ *
+ * @param component component
+ * @param value value
+ * @return new component instance
+ */
+ public static JComponent getEditorWithValue(JComponent component, Object value) {
JComponent result = null;
+
try {
- result = c.getClass().newInstance();
+ result = component.getClass().newInstance();
if (result instanceof JTextComponent) {
((JTextComponent) result).setText(String.valueOf(value));
-
} else if (result instanceof NumberEditor) {
JTextField numEditor = new JTextField();
numEditor.setText(String.valueOf(value));
result = numEditor;
-
- } else if (result instanceof JTable) {
- // ((JTable) result).setModel(((JTable)c).getModel());
-
} else if (result instanceof RangeOfValuesUI) {
result = new JTextField(value.toString());
} else if (result instanceof MatrixEditor) {
- MatrixEditor ui = (MatrixEditor) c;
+ MatrixEditor ui = (MatrixEditor) component;
MatrixND m = (MatrixND) value;
MatrixPanelEditor matrix = new MatrixPanelEditor(false);
if (m != null) {
@@ -350,37 +397,36 @@
matrix.setLinearModelShowDefault(ui.isLinearModelShowDefault());
result = matrix;
} else if (result instanceof JComboBox) {
- JComboBox combo = (JComboBox) c;
+ JComboBox combo = (JComboBox) component;
JComboBox comboResult = new JComboBox();
comboResult.setModel(combo.getModel());
comboResult.setSelectedItem(value);
result = comboResult;
- } else if (result instanceof JAXXList) {
- JAXXList list = (JAXXList) c;
- JAXXList listResult = new JAXXList();
+ } else if (result instanceof JList) {
+ JList list = (JList) component;
+ JList listResult = new JList();
listResult.setModel(list.getModel());
- listResult.setSelectedValues((Object[]) value);
+ //listResult.setSelectedValues((Object[]) value);
listResult.setSelectedIndices(list.getSelectedIndices());
result = listResult;
} else if (result instanceof JCheckBox) {
((JCheckBox) result).setSelected((Boolean) value);
- JCheckBox ch = (JCheckBox) c;
+ JCheckBox ch = (JCheckBox) component;
((JCheckBox) result).setText(ch.getText());
} else if (result instanceof JRadioButton) {
((JRadioButton) result).setSelected((Boolean) value);
- JRadioButton cOrigin = (JRadioButton) c;
+ JRadioButton cOrigin = (JRadioButton) component;
((JRadioButton) result).setText(cOrigin.getText());
} else if (result instanceof SpeciesStructuredUI) {
- SpeciesStructuredUI origine = (SpeciesStructuredUI) c;
+ //SpeciesStructuredUI origine = (SpeciesStructuredUI) component;
SpeciesStructuredUI ui = new SpeciesStructuredUI();
ui.getFieldSpeciesDynamicAge().setSelected((Boolean) value);
ui.setActif(true);
result = ui;
} else if (result instanceof InputOneEquationUI) {
- InputOneEquationUI origine = (InputOneEquationUI) c;
- InputOneEquationUI ui = new InputOneEquationUI(
- new JAXXInitialContext().add(new InputAction()));
+ InputOneEquationUI origine = (InputOneEquationUI) component;
+ InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction()));
ui.getEditor().setText((String) value);
ui.setLblText(origine.getLblText());
ui.setNameEquation(origine.getNameEquation());
@@ -391,25 +437,23 @@
result = ui;
} else if (result instanceof IntervalPanel) {
IntervalPanel ipResult = new IntervalPanel();
- IntervalPanel ip = (IntervalPanel) c;
+ IntervalPanel ip = (IntervalPanel) component;
ipResult.setLabelRenderer(Month.MONTH);
ipResult.setModel(ip.getModel().clone());
result = ipResult;
} else if (result instanceof SelectivityEditorUI) {
- SelectivityEditorUI origine = (SelectivityEditorUI) c;
+ SelectivityEditorUI origine = (SelectivityEditorUI) component;
SelectivityEditorUI ui = new SelectivityEditorUI(
new JAXXInitialContext().add(new InputAction()).add(
- origine.getRegion()).add(
- new InputSaveVerifier()));
+ origine.getRegion()).add(new InputSaveVerifier()));
ui.setBean(origine.getBean());
- ui.getBean().setPopulationSelectivity(
- (Collection<Selectivity>) value);
+ 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 origine = (MetierSeasonInfoSpeciesEditorUI) component;
MetierSeasonInfoSpeciesEditorUI ui = new MetierSeasonInfoSpeciesEditorUI(
new JAXXInitialContext().add(new InputAction()).add(
origine.getRegion()).add(
@@ -417,144 +461,155 @@
ui.setBean(origine.getBean());
if (origine.getMetierSeasonInfo() != null) {
ui.setMetierSeasonInfo(origine.getMetierSeasonInfo());
- ui.getMetierSeasonInfo().setSpeciesTargetSpecies(
- (Collection<TargetSpecies>) value);
+ ui.getMetierSeasonInfo().setSpeciesTargetSpecies((Collection<TargetSpecies>) value);
ui.setMetierSeasonSelected(true);
ui.setActif(true);
}
ui.refresh();
result = ui;
} else if (result instanceof PopulationZonesEditorUI) {
- PopulationZonesEditorUI origine = (PopulationZonesEditorUI) c;
+ PopulationZonesEditorUI origine = (PopulationZonesEditorUI) component;
PopulationZonesEditorUI ui = new PopulationZonesEditorUI(
- new JAXXInitialContext().add(new InputAction()).add(
- origine.getRegion()));
+ new JAXXInitialContext().add(new InputAction()).add(origine.getRegion()));
ui.setBean(origine.getBean());
MatrixND m = (MatrixND) value;
- ui.getFieldPopulationMappingZoneReproZoneRecru().setMatrix(
- m == null ? null : m.clone());
+ ui.getFieldPopulationMappingZoneReproZoneRecru().setMatrix(m == null ? null : m.clone());
ui.setActif(true);
ui.refresh();
result = ui;
} else if (result instanceof PopulationMigrationMigrationUI) {
- PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI) c;
+ PopulationMigrationMigrationUI origine = (PopulationMigrationMigrationUI) component;
PopulationMigrationMigrationUI ui = new PopulationMigrationMigrationUI(
new JAXXInitialContext().add(new InputAction()));
ui.setBean(origine.getBean());
ui.setPopInfo(origine.getPopInfo());
MatrixND m = (MatrixND) value;
- ui.getPopInfo()
- .setMigrationMatrix(m == null ? null : m.clone());
+ ui.getPopInfo().setMigrationMatrix(m == null ? null : m.clone());
ui.setActif(true);
ui.refreshPanel();
result = ui;
} else if (result instanceof PopulationMigrationEmigrationUI) {
- PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI) c;
+ PopulationMigrationEmigrationUI origine = (PopulationMigrationEmigrationUI) component;
PopulationMigrationEmigrationUI ui = new PopulationMigrationEmigrationUI(
new JAXXInitialContext().add(new InputAction()));
ui.setBean(origine.getBean());
ui.setPopInfo(origine.getPopInfo());
MatrixND m = (MatrixND) value;
- ui.getPopInfo().setEmigrationMatrix(
- m == null ? null : m.clone());
+ ui.getPopInfo().setEmigrationMatrix(m == null ? null : m.clone());
ui.setActif(true);
ui.refreshPanel();
result = ui;
} else if (result instanceof PopulationMigrationImmigrationUI) {
- PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI) c;
+ PopulationMigrationImmigrationUI origine = (PopulationMigrationImmigrationUI) component;
PopulationMigrationImmigrationUI ui = new PopulationMigrationImmigrationUI(
new JAXXInitialContext().add(new InputAction()));
ui.setBean(origine.getBean());
ui.setPopInfo(origine.getPopInfo());
MatrixND m = (MatrixND) value;
- ui.getPopInfo().setImmigrationMatrix(
- m == null ? null : m.clone());
+ ui.getPopInfo().setImmigrationMatrix(m == null ? null : m.clone());
ui.setActif(true);
ui.refreshPanel();
result = ui;
}
- } catch (Exception ex) {
- log.error(ex);
+ } catch (IllegalAccessException ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't make new instance of " + component, ex);
+ }
+ } catch (InstantiationException ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't make new instance of " + component, ex);
+ }
}
return result;
}
- public static Object getValue(JComponent c) {
+ /**
+ * Return value in swing component that could be next used into factor.
+ *
+ * @param component component
+ * @return factor value
+ */
+ public static Object getValue(JComponent component) {
Object result = null;
- if (c instanceof JTextComponent) {
- result = ((JTextComponent) c).getText();
- } else if (c instanceof NumberEditor) {
- result = ((NumberEditor) c).getModel();
- } else if (c instanceof PopulationZonesEditorUI) {
- result = ((PopulationZonesEditorUI) c)
+ if (component instanceof JTextComponent) {
+ result = ((JTextComponent) component).getText();
+ } else if (component instanceof NumberEditor) {
+ result = ((NumberEditor) component).getModel();
+ } else if (component instanceof PopulationZonesEditorUI) {
+ result = ((PopulationZonesEditorUI) component)
.getFieldPopulationMappingZoneReproZoneRecru().getMatrix();
- } else if (c instanceof JTable) {
- // ((JTable) result).setText(BeanUtils.getProperty(e, fieldName));
+ } else if (component instanceof MatrixPanelEditor) {
+ result = ((MatrixPanelEditor) component).getMatrix();
- } else if (c instanceof MatrixPanelEditor) {
- result = ((MatrixPanelEditor) c).getMatrix();
+ } else if (component instanceof JComboBox) {
+ result = ((JComboBox) component).getSelectedItem();
- } else if (c instanceof JComboBox) {
- result = ((JComboBox) c).getSelectedItem();
+ } else if (component instanceof JList) {
+ result = ((JList) component).getSelectedValues();
- } else if (c instanceof JList) {
- result = ((JList) c).getSelectedValues();
+ } else if (component instanceof JCheckBox) {
+ result = ((JCheckBox) component).isSelected();
- } else if (c instanceof JCheckBox) {
- result = ((JCheckBox) c).isSelected();
+ } else if (component instanceof JRadioButton) {
+ result = ((JRadioButton) component).isSelected();
- } else if (c instanceof JRadioButton) {
- result = ((JRadioButton) c).isSelected();
+ } else if (component instanceof InputOneEquationUI) {
+ result = ((InputOneEquationUI) component).getEditor().getText();
- } else if (c instanceof InputOneEquationUI) {
- result = ((InputOneEquationUI) c).getEditor().getText();
+ } else if (component instanceof SpeciesStructuredUI) {
+ result = ((SpeciesStructuredUI) component)
+ .getFieldSpeciesDynamicAge().isSelected();
- } else if (c instanceof IntervalPanel) {
- // ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
-
- } else if (c instanceof SpeciesStructuredUI) {
- result = ((SpeciesStructuredUI) c).getFieldSpeciesDynamicAge()
- .isSelected();
-
- } else if (c instanceof SelectivityEditorUI) {
- result = ((SelectivityEditorUI) c).getBean()
+ } else if (component instanceof SelectivityEditorUI) {
+ result = ((SelectivityEditorUI) component).getBean()
.getPopulationSelectivity();
- } else if (c instanceof MetierSeasonInfoSpeciesEditorUI) {
- result = ((MetierSeasonInfoSpeciesEditorUI) c)
+ } else if (component instanceof MetierSeasonInfoSpeciesEditorUI) {
+ result = ((MetierSeasonInfoSpeciesEditorUI) component)
.getMetierSeasonInfo().getSpeciesTargetSpecies();
- } else if (c instanceof PopulationZonesEditorUI) {
- result = ((PopulationZonesEditorUI) c)
+ } else if (component instanceof PopulationZonesEditorUI) {
+ result = ((PopulationZonesEditorUI) component)
.getFieldPopulationMappingZoneReproZoneRecru().getMatrix();
- } else if (c instanceof RangeOfValuesUI) {
+ } /*else if (component instanceof RangeOfValuesUI) {
- } else if (c instanceof PopulationMigrationMigrationUI) {
- result = ((PopulationMigrationMigrationUI) c).getPopInfo()
+ } */else if (component instanceof PopulationMigrationMigrationUI) {
+ result = ((PopulationMigrationMigrationUI) component).getPopInfo()
.getMigrationMatrix();
- } else if (c instanceof PopulationMigrationEmigrationUI) {
- result = ((PopulationMigrationEmigrationUI) c).getPopInfo()
+ } else if (component instanceof PopulationMigrationEmigrationUI) {
+ result = ((PopulationMigrationEmigrationUI) component).getPopInfo()
.getEmigrationMatrix();
- } else if (c instanceof PopulationMigrationImmigrationUI) {
- result = ((PopulationMigrationImmigrationUI) c).getPopInfo()
- .getImmigrationMatrix();
+ } else if (component instanceof PopulationMigrationImmigrationUI) {
+ result = ((PopulationMigrationImmigrationUI) component)
+ .getPopInfo().getImmigrationMatrix();
}
return result;
}
- public static boolean isRangeOfValue(JComponent c) {
- if (c instanceof RangeOfValuesUI) {
+ /**
+ * Return if component is instanceof {@link RangeOfValuesUI}.
+ * @param component component
+ * @return {@code true} if component is intance of {@link RangeOfValuesUI}
+ */
+ public static boolean isRangeOfValue(JComponent component) {
+ if (component instanceof RangeOfValuesUI) {
return true;
}
return false;
}
- public static boolean isContinue(JComponent c) {
- if (c instanceof RangeOfValuesUI) {
- RangeOfValuesUI ui = (RangeOfValuesUI) c;
+ /**
+ * Return if component is is continue factor enable.
+ *
+ * @param component component
+ * @return {@code true} if component is is continue factor enable
+ */
+ public static boolean isContinue(JComponent component) {
+ if (component instanceof RangeOfValuesUI) {
+ RangeOfValuesUI ui = (RangeOfValuesUI) component;
if (ui.getFieldGearParamType().getSelectedItem().equals("Float")) {
String value = ui.getFieldGearParamPossibleValue().getText();
if (value.matches("^\\ *[0-9]*\\ *\\-\\ *[0-9]*\\ *$")) {
@@ -565,19 +620,27 @@
return false;
}
- public static boolean canBeContinue(JComponent c, TopiaEntity e) {
- String fieldName = (String) c.getClientProperty("method");
- if (c instanceof JTextComponent) {
- Object o = callMethod(e, fieldName);
- return canBeContinue(c, o);
- } else if (c instanceof NumberEditor) {
+ /**
+ * Return true if component or entity can be defined in continuous factor.
+ *
+ * @param component component
+ * @param entity entity
+ * @return continuous enabled
+ */
+ public static boolean canBeContinuous(JComponent component,
+ TopiaEntity entity) {
+ String fieldName = (String) component.getClientProperty("method");
+ if (component instanceof JTextComponent) {
+ Object o = getMethodValue(entity, fieldName);
+ return canBeContinue(component, o);
+ } else if (component instanceof NumberEditor) {
return true;
- } else if (c instanceof InputOneEquationUI) {
+ } else if (component instanceof InputOneEquationUI) {
return true;
- } else if (c instanceof MatrixEditor) {
+ } else if (component instanceof MatrixEditor) {
return true;
- } else if (c instanceof RangeOfValuesUI) {
- RangeOfValuesUI ui = (RangeOfValuesUI) c;
+ } else if (component instanceof RangeOfValuesUI) {
+ RangeOfValuesUI ui = (RangeOfValuesUI) component;
if (ui.getFieldGearParamType().getSelectedItem().equals("Float")) {
return true;
}
@@ -585,26 +648,44 @@
return false;
}
- public static boolean canBeContinue(JComponent c, Object o) {
- if (c instanceof JTextComponent) {
- if (Double.class.isInstance(o)) {
+ /**
+ * Return true if component or value can be defined in continuous factor.
+ *
+ * @param component component
+ * @param value value
+ * @return continuous enabled
+ */
+ public static boolean canBeContinue(JComponent component, Object value) {
+ if (component instanceof JTextComponent) {
+ if (value instanceof Double) {
return true;
- } else if (Long.class.isInstance(o)) {
+ } else if (value instanceof Long) {
return true;
- } else if (InputOneEquationUI.class.isInstance(c)) {
+ }
+ /* always false
+ else if (InputOneEquationUI.class.isInstance(component)) {
return true;
- }
+ }*/
}
return false;
}
- protected static Object callMethod(TopiaEntity e, String fieldName) {
+ /**
+ * Get value for fieldName in entity.
+ *
+ * @param entity
+ * @param fieldName
+ * @return
+ */
+ protected static Object getMethodValue(TopiaEntity entity, String fieldName) {
Object result = null;
try {
- Method m = e.getClass().getMethod("get" + fieldName, null);
- result = m.invoke(e, (Object[]) null);
+ Method m = entity.getClass().getMethod("get" + fieldName);
+ result = m.invoke(entity, (Object[]) null);
} catch (Exception ex) {
- log.error(ex);
+ if (log.isErrorEnabled()) {
+ log.error(ex);
+ }
}
return result;
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EquationContinuousPanelUI.jaxx 2009-11-17 15:38:42 UTC (rev 2760)
@@ -40,11 +40,11 @@
import org.apache.commons.lang.StringUtils;
protected String[] columnNames = {
- _("isisfish.factor.equation.variable.name"),
- _("isisfish.factor.equation.variable.value"),
- _("isisfish.factor.equation.variable.coefficient"),
- _("isisfish.factor.equation.variable.operator"),
- _("isisfish.factor.equation.variable.action")};
+ _("isisfish.sensitivity.equation.variable.name"),
+ _("isisfish.sensitivity.equation.variable.value"),
+ _("isisfish.sensitivity.equation.variable.coefficient"),
+ _("isisfish.sensitivity.equation.variable.operator"),
+ _("isisfish.sensitivity.equation.variable.action")};
protected java.util.List<EquationContinuousDomain> datas = new ArrayList<EquationContinuousDomain>();
protected java.util.List<JComboBox> operateurs = new ArrayList<JComboBox>();
protected java.util.List<JButton> actions = new ArrayList<JButton>();
@@ -94,7 +94,7 @@
} else if (columnIndex == 3) {
return datas.get(rowIndex).getOperator();
} else if (columnIndex == 4) {
- return _("isisfish.factor.validDiscretNumber");
+ return _("isisfish.sensitivity.validDiscretNumber");
}
return null;
}
@@ -145,7 +145,7 @@
}
protected void newButton(){
JButton result = new JButton();
- result.setText(_("isisfish.factor.validDiscretNumber"));
+ result.setText(_("isisfish.sensitivity.validDiscretNumber"));
actions.add(result);
result.addActionListener(new ActionListener() {
Deleted: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-11-17 15:38:42 UTC (rev 2760)
@@ -1,119 +0,0 @@
-/* *##%
- * 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.ui.sensitivity;
-
-import static org.nuiton.i18n.I18n._;
-
-import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
-import fr.ifremer.isisfish.ui.simulator.SimulAction;
-import java.io.Serializable;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-import javax.swing.JComponent;
-import javax.swing.JOptionPane;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.nuiton.math.matrix.MatrixND;
-import org.nuiton.topia.persistence.TopiaEntity;
-
-/**
- *
- * @author letellier
- */
-public class FactorAction {
-
- /** to use log facility, just put in your code: log.info(\"...\"); */
- private static Log log = LogFactory.getLog(FactorAction.class);
-
- public static void saveContinue(JComponent cOrigine, String name, String comment, String path, ContinuousPanelContainerUI panel, SimulAction action, boolean exist){
- DefaultContinuousPanelUI defaultPanel = null;
- if (MatrixContinuousPanelUI.class.isInstance(panel)){
- MatrixContinuousPanelUI matrixPanel = (MatrixContinuousPanelUI)panel;
- Double coef = Double.valueOf(matrixPanel.getCoef().getText()) / 100;
- MatrixND matrix = matrixPanel.getMatrix();
- String operateur = (String)matrixPanel.getOperator().getSelectedItem();
- action.addContinuousMatrixFactor(name, comment, path, coef, matrix, operateur, cOrigine, exist);
-
- } else if (EquationContinuousPanelUI.class.isInstance(panel)){
- try {
- EquationContinuousPanelUI equationPanel = (EquationContinuousPanelUI) panel;
-
- TopiaEntity bean = equationPanel.getBean();
- String methodSet = equationPanel.getMethodSet();
- Method m = bean.getClass().getMethod("set" + methodSet, String.class);
- m.invoke(bean, equationPanel.getEditor().getEditor().getText());
-
- // Save equation
- bean.update();
- bean.getTopiaContext().commitTransaction();
-
- List<EquationContinuousDomain> domains = equationPanel.getDomains();
- for (EquationContinuousDomain domain : domains) {
- if (domain.getReferenceValue() != null
- && domain.getCoefficient() != null
- && domain.getCoefficient() <= 100
- && domain.getCoefficient() > 0
- && domain.getOperator() != null
- && domain.getVariableName() != null ){
- action.addContinuousEquationFactor(name, comment, path, domain, cOrigine, exist);
- } else {
- log.warn("domain: " + domain);
- log.warn("domain invalid: " +
- "domain.getReferenceValue() != null(" +
- (domain.getReferenceValue()) +
- ") domain.getCoefficient() != null(" +
- (domain.getCoefficient()) +
- ") domain.getCoefficient() <= 100 (" +
- (domain.getCoefficient()) +
- ") domain.getCoefficient() > 0 (" +
- (domain.getCoefficient()) +
- ") domain.getOperator() != null (" +
- (domain.getOperator()) +
- ") domain.getVariableName() != null(" +
- (domain.getVariableName()) +
- ")");
- JOptionPane.showMessageDialog(equationPanel, _("isisfish.error.factor.invalid") + domain.getVariableName());
- }
- }
- } catch (Exception ex) {
- if (log.isErrorEnabled()) {
- log.error("Can't call method : ", ex);
- }
- }
- } else if (DefaultContinuousPanelUI.class.isInstance(panel)){
- defaultPanel = (DefaultContinuousPanelUI)panel;
- action.addContinuousFactor(name, comment, path, getMin(defaultPanel), getMax(defaultPanel), cOrigine, exist);
- }
- }
- protected static Double getMin(DefaultContinuousPanelUI defaultPanel){
- return Double.parseDouble(defaultPanel.getMin());
- }
- protected static Double getMax(DefaultContinuousPanelUI defaultPanel){
- return Double.parseDouble(defaultPanel.getMax());
- }
- public static void saveDiscret(JComponent cOrigine, String name, String comment, String path, List<JComponent> components, SimulAction action, boolean exist){
- List<Serializable> values = new ArrayList<Serializable>();
- for(JComponent c: components){
- values.add((Serializable)EditorHelper.getValue(c));
- }
- action.addDiscreteFactor(name, comment, path, values, cOrigine, exist);
- }
-}
-;
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java 2009-11-17 15:38:42 UTC (rev 2760)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2009 Code Lutin
+ * 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
@@ -33,10 +33,10 @@
* Factor tree cell renderer.
*
* @author chatellier
- * @version $Revision: 1.0 $
+ * @version $Revision$
*
- * Last update : $Date: 9 mars 2009 $
- * By : $Author: chatellier $
+ * Last update : $Date$
+ * By : $Author$
*/
public class FactorTreeCellRenderer extends DefaultTreeCellRenderer {
@@ -53,10 +53,10 @@
JLabel c = (JLabel)super.getTreeCellRendererComponent(tree, value, selected, expanded, leaf, row, hasFocus);
- if (value instanceof List) {
- c.setText(_("isisfish.factor.factors") + " : ");
+ if (value instanceof List<?>) {
+ c.setText(_("isisfish.sensitivity.factors") + " : ");
}
- else if (value instanceof Factor) {
+ else if (value instanceof Factor<?, ?>) {
Factor<? ,?> factor = (Factor<?, ?>)value;
if (factor.getDomain() instanceof EquationContinuousDomain) {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeCellRenderer.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java 2009-11-17 15:38:42 UTC (rev 2760)
@@ -32,10 +32,10 @@
* Cette classe gere l'affichage d'une liste de facteurs dans l'arbre.
*
* @author chatellier
- * @version $Revision: 2011 $
+ * @version $Revision$
*
* Last update : $Date: 2008-06-13 11:05:57 +0200 (ven., 13 juin 2008)
- * $ By : $Author: chatellier $
+ * $ By : $Author$
*/
public class FactorTreeModel implements TreeModel {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorTreeModel.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizardUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizardUI.jaxx 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizardUI.jaxx 2009-11-17 15:38:42 UTC (rev 2760)
@@ -16,7 +16,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/ -->
-<JDialog id="FactorTypeChooser" title='isisfish.factor.title' modal='{true}' layout='{new BorderLayout()}'>
+<JDialog title='isisfish.sensitivity.title' modal='{true}' layout='{new BorderLayout()}'>
<Boolean id='continuePossible' javaBean='true'/>
@@ -43,29 +43,25 @@
protected ContinuousPanelContainerUI continuousPanel = null;
protected Factor factor = null;
-addPropertyChangeListener("continuePossible", new PropertyChangeListener(){
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- if (continuousPanel != null){
- continuousPanel.setContinuePossible((Boolean)evt.getNewValue());
- }
+addPropertyChangeListener("continuePossible", new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (continuousPanel != null) {
+ continuousPanel.setContinuePossible((Boolean)evt.getNewValue());
}
-
+ }
});
-addPropertyChangeListener("continueSelected", new PropertyChangeListener(){
-
- @Override
- public void propertyChange(PropertyChangeEvent evt) {
- if (continuousPanel != null){
- continuousPanel.setContinueSelected((Boolean)evt.getNewValue());
- }
+addPropertyChangeListener("continueSelected", new PropertyChangeListener() {
+ @Override
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (continuousPanel != null) {
+ continuousPanel.setContinueSelected((Boolean)evt.getNewValue());
}
-
+ }
});
-public void initNew(JComponent c, TopiaEntity be, Boolean b){
+public void initNew(JComponent c, TopiaEntity be, Boolean b) {
this.bean = be;
this.cOrigine = c;
@@ -80,9 +76,9 @@
setContinuePossible(b);
boolean selected = EditorHelper.isContinue(cOrigine);
setContinueSelected(selected);
- continueRadion.setSelected(selected);
+ continueRadio.setSelected(selected);
if (isContinuePossible()){
- if (EditorHelper.isRangeOfValue(cOrigine)){
+ if (EditorHelper.isRangeOfValue(cOrigine)) {
continuousPanel = EditorHelper.getContinuousRangeOfValuePanel(cOrigine, bean);
}
else {
@@ -90,23 +86,23 @@
}
init();
}
- if (!isContinueSelected() && EditorHelper.isRangeOfValue(cOrigine)){
+ if (!isContinueSelected() && EditorHelper.isRangeOfValue(cOrigine)) {
int i = 0;
- for (String s : EditorHelper.getDiscretRangeOfValueValues(cOrigine, bean)){
+ for (String s : EditorHelper.getDiscretRangeOfValueValues(cOrigine, bean)) {
JTextField text = new JTextField(s);
discretComponents.add(text);
tabPane.add(text, "Factor " + (i+1));
i++;
}
}
- if (continuousPanel != null){
+ if (continuousPanel != null) {
continuousPanel.setContinueSelected(selected);
}
setContinueSelected(EditorHelper.isContinue(cOrigine));
setSaveEnabled(!factorName.getText().equals(""));
}
-public void initExisting(JComponent cOrigine, Factor f){
+public void initExisting(JComponent cOrigine, Factor f) {
setExistingValue(true);
this.cOrigine = cOrigine;
this.path = f.getPath();
@@ -115,16 +111,16 @@
Domain domain = f.getDomain();
this.factor = f;
- if (ContinuousDomain.class.isInstance(domain)){
+ if (domain instanceof ContinuousDomain) {
ContinuousDomain cDomain = (ContinuousDomain) domain;
continuousPanel = EditorHelper.getContinuousPanelWithValue(cOrigine, cDomain, f);
init();
- continueRadion.setSelected(true);
+ continueRadio.setSelected(true);
setContinueSelected(true);
setContinuePossible(true);
- }else{
+ } else {
DiscreteDomain dDomain = (DiscreteDomain)domain;
int nb = dDomain.getValues().size();
@@ -140,7 +136,7 @@
i++;
cache = o;
JComponent c = null;
- if (o != null){
+ if (o != null) {
c = EditorHelper.getEditorWithValue(cOrigine, o);
}
else {
@@ -156,18 +152,18 @@
}
setSaveEnabled(!factorName.getText().equals(""));
}
-protected void init(){
+protected void init() {
continuousPanelContainer.add(continuousPanel, BorderLayout.CENTER);
this.pack();
}
-protected JComponent getNewComponent(){
+protected JComponent getNewComponent() {
return EditorHelper.getEditor(cOrigine, bean);
}
-protected void addTabs(String sNbTab){
+protected void addTabs(String sNbTab) {
int nbTab = Integer.parseInt(sNbTab);
discretComponents.clear();
tabPane.removeAll();
- for (int i=0;i<nbTab;i++){
+ for (int i=0;i<nbTab;i++) {
JComponent c = getNewComponent();
discretComponents.add(c);
JScrollPane js = new JScrollPane(c);
@@ -175,35 +171,35 @@
}
this.pack();
}
-protected FactorAction getFactorAction(){
- return getContextValue(FactorAction.class);
+protected SensitivityAction getSensitivityAction() {
+ return getContextValue(SensitivityAction.class);
}
-protected SimulAction getSimulAction(){
+protected SimulAction getSimulAction() {
return getContextValue(SimulAction.class);
}
-protected void save(){
- if (continueRadion.isSelected()){
- getFactorAction().saveContinue(cOrigine, factorName.getText(), comment.getText(), path, continuousPanel, getSimulAction(), isExistingValue());
+protected void save() {
+ if (continueRadio.isSelected()) {
+ getSensitivityAction().saveContinue(cOrigine, factorName.getText(), comment.getText(), path, continuousPanel, getSimulAction(), isExistingValue());
} else {
- getFactorAction().saveDiscret(cOrigine, factorName.getText(), comment.getText(), path, discretComponents, getSimulAction(), isExistingValue());
+ getSensitivityAction().saveDiscret(cOrigine, factorName.getText(), comment.getText(), path, discretComponents, getSimulAction(), isExistingValue());
}
getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel();
exit();
}
-protected void remove(){
+protected void remove() {
getSimulAction().removeFactor(factor);
getContextValue(InputSaveVerifier.class).getSensPanel().setFactorModel();
exit();
}
-protected void exit(){
+protected void exit() {
this.dispose();
}
- ]]>
- </script>
+ ]]>
+ </script>
<Table constraints='BorderLayout.CENTER'>
<row>
<cell columns='1' fill='horizontal'>
- <JLabel text='isisfish.factor.name'/>
+ <JLabel text='isisfish.sensitivity.name'/>
</cell>
<cell columns='3' fill='horizontal' weightx='1'>
<JTextField id='factorName' onKeyReleased='setSaveEnabled(!factorName.getText().equals(""))'/>
@@ -211,7 +207,7 @@
</row>
<row>
<cell columns='4' fill='horizontal' weightx='1'>
- <JRadioButton id='continueRadion' text='isisfish.factor.continue' buttonGroup='factorType' visible='{isContinuePossible()}' selected='{false}' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
+ <JRadioButton id='continueRadio' text='isisfish.sensitivity.continue' buttonGroup='factorType' visible='{isContinuePossible()}' selected='{false}' onActionPerformed='setContinueSelected(continueRadio.isSelected())'/>
</cell>
</row>
<row>
@@ -221,18 +217,18 @@
</row>
<row>
<cell columns='4' fill='horizontal' weightx='1'>
- <JRadioButton id='discret' text='isisfish.factor.discret' selected='{true}' buttonGroup='factorType' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
+ <JRadioButton id='discret' text='isisfish.sensitivity.discret' selected='{true}' buttonGroup='factorType' onActionPerformed='setContinueSelected(continueRadio.isSelected())'/>
</cell>
</row>
<row>
<cell fill='horizontal'>
- <JLabel text='isisfish.factor.selectDiscretNumber' enabled='{!isContinueSelected()}'/>
+ <JLabel text='isisfish.sensitivity.selectDiscretNumber' enabled='{!isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
<JTextField id='discretNumber' enabled='{!isContinueSelected()}'/>
</cell>
<cell columns='2' fill='horizontal' weightx='0.5'>
- <JButton text='isisfish.factor.validDiscretNumber' enabled='{!isContinueSelected()}' onActionPerformed='addTabs(discretNumber.getText())'/>
+ <JButton text='isisfish.sensitivity.validDiscretNumber' enabled='{!isContinueSelected()}' onActionPerformed='addTabs(discretNumber.getText())'/>
</cell>
</row>
<row>
@@ -242,7 +238,7 @@
</row>
<row>
<cell columns='4' fill='horizontal'>
- <JLabel text='isisfish.factor.comment'/>
+ <JLabel text='isisfish.sensitivity.comment'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanelUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanelUI.jaxx 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/MatrixContinuousPanelUI.jaxx 2009-11-17 15:38:42 UTC (rev 2760)
@@ -24,7 +24,7 @@
<Table id='content' constraints='BorderLayout.CENTER'>
<row>
<cell fill='horizontal'>
- <JLabel text='isisfish.factor.value' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <JLabel text='isisfish.sensitivity.value' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='both' weightx='1' weighty='1'>
<org.nuiton.math.matrix.gui.MatrixPanelEditor id='componentPanel' dimensionEdit='{false}'
@@ -34,7 +34,7 @@
</row>
<row>
<cell fill='horizontal'>
- <JLabel text='isisfish.factor.coefficient' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <JLabel text='isisfish.sensitivity.coefficient' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='both' columns='2' weightx='1' weighty='1'>
<JTextField id='coef' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
@@ -42,7 +42,7 @@
</row>
<row>
<cell fill='horizontal'>
- <JLabel text='isisfish.factor.operateur' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ <JLabel text='isisfish.sensitivity.operator' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='1' columns='3'>
<JComboBox id='operator' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'>
Copied: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityAction.java (from rev 2668, isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java)
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityAction.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityAction.java 2009-11-17 15:38:42 UTC (rev 2760)
@@ -0,0 +1,138 @@
+/* *##%
+ * 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.ui.sensitivity;
+
+import static org.nuiton.i18n.I18n._;
+
+import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import java.io.Serializable;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.JComponent;
+import javax.swing.JOptionPane;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.nuiton.math.matrix.MatrixND;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+/**
+ * Action for sensitivity package.
+ *
+ * @author letellier
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
+ */
+public class SensitivityAction {
+
+ /** to use log facility, just put in your code: log.info(\"...\"); */
+ private static Log log = LogFactory.getLog(SensitivityAction.class);
+
+ public void saveContinue(JComponent cOrigine, String name,
+ String comment, String path, ContinuousPanelContainerUI panel,
+ SimulAction action, boolean exist) {
+ DefaultContinuousPanelUI defaultPanel = null;
+ if (panel instanceof MatrixContinuousPanelUI) {
+ MatrixContinuousPanelUI matrixPanel = (MatrixContinuousPanelUI) panel;
+ Double coef = Double.valueOf(matrixPanel.getCoef().getText()) / 100;
+ MatrixND matrix = matrixPanel.getMatrix();
+ String operateur = (String) matrixPanel.getOperator()
+ .getSelectedItem();
+ action.addContinuousMatrixFactor(name, comment, path, coef, matrix,
+ operateur, cOrigine, exist);
+
+ } else if (panel instanceof EquationContinuousPanelUI) {
+ try {
+ EquationContinuousPanelUI equationPanel = (EquationContinuousPanelUI) panel;
+
+ TopiaEntity bean = equationPanel.getBean();
+ String methodSet = equationPanel.getMethodSet();
+ Method m = bean.getClass().getMethod("set" + methodSet,
+ String.class);
+ m.invoke(bean, equationPanel.getEditor().getEditor().getText());
+
+ // Save equation
+ bean.update();
+ bean.getTopiaContext().commitTransaction();
+
+ List<EquationContinuousDomain> domains = equationPanel
+ .getDomains();
+ for (EquationContinuousDomain domain : domains) {
+ if (domain.getReferenceValue() != null
+ && domain.getCoefficient() != null
+ && domain.getCoefficient() <= 100
+ && domain.getCoefficient() > 0
+ && domain.getOperator() != null
+ && domain.getVariableName() != null) {
+ action.addContinuousEquationFactor(name, comment, path,
+ domain, cOrigine, exist);
+ } else {
+ log.warn("domain: " + domain);
+ log.warn("domain invalid: "
+ + "domain.getReferenceValue() != null("
+ + (domain.getReferenceValue())
+ + ") domain.getCoefficient() != null("
+ + (domain.getCoefficient())
+ + ") domain.getCoefficient() <= 100 ("
+ + (domain.getCoefficient())
+ + ") domain.getCoefficient() > 0 ("
+ + (domain.getCoefficient())
+ + ") domain.getOperator() != null ("
+ + (domain.getOperator())
+ + ") domain.getVariableName() != null("
+ + (domain.getVariableName()) + ")");
+ JOptionPane.showMessageDialog(equationPanel,
+ _("isisfish.error.factor.invalid")
+ + domain.getVariableName());
+ }
+ }
+ } catch (Exception ex) {
+ if (log.isErrorEnabled()) {
+ log.error("Can't call method : ", ex);
+ }
+ }
+ } else if (panel instanceof DefaultContinuousPanelUI) {
+ defaultPanel = (DefaultContinuousPanelUI) panel;
+ action.addContinuousFactor(name, comment, path,
+ getMin(defaultPanel), getMax(defaultPanel),
+ cOrigine, exist);
+ }
+ }
+
+ protected Double getMin(DefaultContinuousPanelUI defaultPanel) {
+ return Double.parseDouble(defaultPanel.getMin());
+ }
+
+ protected Double getMax(DefaultContinuousPanelUI defaultPanel) {
+ return Double.parseDouble(defaultPanel.getMax());
+ }
+
+ public void saveDiscret(JComponent cOrigine, String name,
+ String comment, String path, List<JComponent> components,
+ SimulAction action, boolean exist) {
+ List<Serializable> values = new ArrayList<Serializable>();
+ for (JComponent c : components) {
+ values.add((Serializable) EditorHelper.getValue(c));
+ }
+ action.addDiscreteFactor(name, comment, path, values, cOrigine, exist);
+ }
+}
\ No newline at end of file
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityAction.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
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-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx 2009-11-17 15:38:42 UTC (rev 2760)
@@ -121,8 +121,8 @@
factorsContinueCardinalities.add(continuousDomain.getCardinality() + "");
}
}
- model.addColumn(_("isisfish.factor.factor"), factorsContinue.toArray());
- model.addColumn(_("isisfish.factor.increment"), factorsContinueCardinalities.toArray());
+ model.addColumn(_("isisfish.sensitivity.factor"), factorsContinue.toArray());
+ model.addColumn(_("isisfish.sensitivity.increment"), factorsContinueCardinalities.toArray());
factorCardinality.setModel(model);
factorCardinality.getModel().addTableModelListener(new TableModelListener() {
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
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-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabUI.jaxx 2009-11-17 15:38:42 UTC (rev 2760)
@@ -30,20 +30,21 @@
<fr.ifremer.isisfish.entities.FisheryRegionImpl id='region' javaBean='null'/>
<script><![CDATA[
+import javax.swing.JPopupMenu;
+import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.TreePath;
+import javax.swing.tree.DefaultMutableTreeNode;
+import javax.swing.tree.TreeNode;
+
import fr.ifremer.isisfish.datastore.RegionStorage;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.ui.WelcomePanelUI;
import fr.ifremer.isisfish.ui.input.InputAction;
-import javax.swing.tree.DefaultTreeModel;
-import javax.swing.tree.TreePath;
+import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
import jaxx.runtime.swing.navigation.NavigationTreeModel;
-import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
import jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode;
import jaxx.runtime.swing.navigation.NavigationUtil;
-import fr.ifremer.isisfish.ui.simulator.SimulAction;
-import javax.swing.tree.DefaultMutableTreeNode;
-import javax.swing.tree.TreeNode;
-import javax.swing.JPopupMenu;
-import fr.ifremer.isisfish.simulator.sensitivity.Factor;
// end code constructor
getVerifier().setSensPanel(this);
@@ -100,6 +101,15 @@
wizard.pack();
wizard.setVisible(true);
}
+ else {
+
+ // factor path are :
+ // fr.ifremer.isisfish.entities.Strategy#1190373398255#0.7889364141850967#proportionSetOfVessels
+ if (log.isInfoEnabled()) {
+ log.info("UI not found for factor " + selectedFactor.getName());
+ log.info(" with path " + selectedFactor.getPath());
+ }
+ }
}
}
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtils.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtils.java 2009-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtils.java 2009-11-17 15:38:42 UTC (rev 2760)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -22,6 +22,9 @@
import java.io.InputStream;
import java.io.IOException;
import java.util.Properties;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -40,10 +43,10 @@
private static final Log log = LogFactory.getLog(SensitivityUtils.class);
/** Properties file resource path. */
- private final static String PROPERTIES_PATH = "/sensitivity.properties";
+ protected final static String PROPERTIES_PATH = "/sensitivity.properties";
/** Cached properties. */
- private static Properties sensitivityProperties;
+ protected static Properties sensitivityProperties;
/**
* Is field sensitivity enabled.
@@ -54,7 +57,7 @@
* @return <tt>true</tt> if factor name is sensitivity enabled
*/
public static boolean isSensitivityFactorEnabled(String sensitivityFactorName) {
- Properties data = loadProperties();
+ Properties data = getProperties();
return data.getProperty(sensitivityFactorName) != null;
}
@@ -65,7 +68,7 @@
*
* @return properties
*/
- private static Properties loadProperties() {
+ protected static Properties getProperties() {
if (sensitivityProperties == null) {
sensitivityProperties = new Properties();
@@ -91,4 +94,29 @@
}
return sensitivityProperties;
}
+
+ /**
+ * Return factor name for topiaId composed path.
+ *
+ * For example :
+ * fr.ifremer.isisfish.entities.Strategy#1190373398255#0.7889364141850967#proportionSetOfVessels
+ * will return :
+ * Strategy.proportionSetOfVessels
+ *
+ * @param path factor path
+ * @return factor name
+ */
+ public static String getFactorNameForPath(String path) {
+
+ Pattern pattern = Pattern.compile("^([^#]*\\.)?(\\w+).*#(\\w+)$");
+ Matcher matcher = pattern.matcher(path);
+
+ String result = null;
+
+ if (matcher.find()) {
+ result = matcher.group(2) + "." + matcher.group(3);
+ }
+
+ return result;
+ }
}
Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtils.java
___________________________________________________________________
Modified: svn:keywords
- Author Date Revision
+ Author Date Id Revision
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-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-11-17 15:38:42 UTC (rev 2760)
@@ -405,26 +405,6 @@
isisfish.export.directory=Export directory
isisfish.export.saved=Export saved
isisfish.export.title=Results export
-isisfish.factor.coefficient=Coefficient (in %)
-isisfish.factor.comment=Comment
-isisfish.factor.continue=Continuous factor
-isisfish.factor.discret=Discret factor
-isisfish.factor.equation.variable.action=Action
-isisfish.factor.equation.variable.coefficient=Coef. (in %)
-isisfish.factor.equation.variable.name=Name
-isisfish.factor.equation.variable.operator=Operator
-isisfish.factor.equation.variable.value=Value
-isisfish.factor.factor=Factor
-isisfish.factor.factors=Factors
-isisfish.factor.firstValue=First value
-isisfish.factor.increment=Cardinality
-isisfish.factor.lastValue=Last value
-isisfish.factor.name=Factor name
-isisfish.factor.operateur=Operator
-isisfish.factor.selectDiscretNumber=Number of factors
-isisfish.factor.title=Factor input
-isisfish.factor.validDiscretNumber=Ok
-isisfish.factor.value=Value
isisfish.filter=Filter
isisfish.filter.apply=Apply filter
isisfish.filter.cancel=Cancel
@@ -943,12 +923,31 @@
isisfish.selectivity.title=Selectivity
isisfish.sens.backParameter=Back to parameter tab
isisfish.sens.title=Simulation plan
+isisfish.sensitivity.coefficient=Coefficient (in %)
+isisfish.sensitivity.comment=Comment
+isisfish.sensitivity.continue=Continuous factor
+isisfish.sensitivity.discret=Discret factor
isisfish.sensitivity.displaysecondpass=Display results
+isisfish.sensitivity.equation.variable.action=Action
+isisfish.sensitivity.equation.variable.coefficient=Coef. (in %)
+isisfish.sensitivity.equation.variable.name=Name
+isisfish.sensitivity.equation.variable.operator=Operator
+isisfish.sensitivity.equation.variable.value=Value
isisfish.sensitivity.export=Export
+isisfish.sensitivity.factor=Factor
+isisfish.sensitivity.factors=Factors
+isisfish.sensitivity.firstValue=First value
+isisfish.sensitivity.increment=Cardinality
+isisfish.sensitivity.lastValue=Last value
+isisfish.sensitivity.name=Factor name
+isisfish.sensitivity.operator=Operator
isisfish.sensitivity.secondpass=Analyze results
isisfish.sensitivity.secondpass.title=Analyze results
isisfish.sensitivity.select=Method
+isisfish.sensitivity.selectDiscretNumber=Number of factors
isisfish.sensitivity.title=Sensitivity analysis
+isisfish.sensitivity.validDiscretNumber=Ok
+isisfish.sensitivity.value=Value
isisfish.sensitivityChooser.title=Sensitivities input
isisfish.server.ssh.generateKey.title=Generate Ssh key
isisfish.setOfVessels.comments=Comments
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-11-17 13:15:23 UTC (rev 2759)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-11-17 15:38:42 UTC (rev 2760)
@@ -405,26 +405,6 @@
isisfish.export.directory=Dossier d'export
isisfish.export.saved=Exports des r\u00E9sultats sauvegard\u00E9s
isisfish.export.title=Export des r\u00E9sultats
-isisfish.factor.coefficient=Coefficient (en %)
-isisfish.factor.comment=Commentaires
-isisfish.factor.continue=Facteur continu
-isisfish.factor.discret=Facteur discret
-isisfish.factor.equation.variable.action=Action
-isisfish.factor.equation.variable.coefficient=Coef (en %)
-isisfish.factor.equation.variable.name=Nom
-isisfish.factor.equation.variable.operator=Op\u00E9rateur
-isisfish.factor.equation.variable.value=Valeur
-isisfish.factor.factor=Facteur
-isisfish.factor.factors=Facteurs
-isisfish.factor.firstValue=Premi\u00E8re valeur
-isisfish.factor.increment=Cardinalit\u00E9
-isisfish.factor.lastValue=Derni\u00E8re valeur
-isisfish.factor.name=Nom du facteur
-isisfish.factor.operateur=Op\u00E9rateur
-isisfish.factor.selectDiscretNumber=Nombre de facteurs
-isisfish.factor.title=Saisie d'un facteur
-isisfish.factor.validDiscretNumber=Valider
-isisfish.factor.value=Valeur
isisfish.filter=Filtrer
isisfish.filter.apply=Appliquer le filtre
isisfish.filter.cancel=Annuler
@@ -943,12 +923,31 @@
isisfish.selectivity.title=S\u00E9lectivit\u00E9
isisfish.sens.backParameter=Retour aux param\u00E8tres
isisfish.sens.title=Plan de simulation
+isisfish.sensitivity.coefficient=Coefficient (en %)
+isisfish.sensitivity.comment=Commentaires
+isisfish.sensitivity.continue=Facteur continu
+isisfish.sensitivity.discret=Facteur discret
isisfish.sensitivity.displaysecondpass=Afficher les r\u00E9sultats
+isisfish.sensitivity.equation.variable.action=Action
+isisfish.sensitivity.equation.variable.coefficient=Coef (en %)
+isisfish.sensitivity.equation.variable.name=Nom
+isisfish.sensitivity.equation.variable.operator=Op\u00E9rateur
+isisfish.sensitivity.equation.variable.value=Valeur
isisfish.sensitivity.export=Export
+isisfish.sensitivity.factor=Facteur
+isisfish.sensitivity.factors=Facteurs
+isisfish.sensitivity.firstValue=Premi\u00E8re valeur
+isisfish.sensitivity.increment=Cardinalit\u00E9
+isisfish.sensitivity.lastValue=Derni\u00E8re valeur
+isisfish.sensitivity.name=Nom du facteur
+isisfish.sensitivity.operator=Op\u00E9rateur
isisfish.sensitivity.secondpass=Analyse des r\u00E9sultats
isisfish.sensitivity.secondpass.title=Analyse des r\u00E9sultats
isisfish.sensitivity.select=M\u00E9thode
+isisfish.sensitivity.selectDiscretNumber=Nombre de facteurs
isisfish.sensitivity.title=Analyse de sensibilit\u00E9
+isisfish.sensitivity.validDiscretNumber=Valider
+isisfish.sensitivity.value=Valeur
isisfish.sensitivityChooser.title=M\u00E9thode de la sensibilit\u00E9
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
isisfish.setOfVessels.comments=Commentaires
Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtilsTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtilsTest.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtilsTest.java 2009-11-17 15:38:42 UTC (rev 2760)
@@ -0,0 +1,136 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin, Chatellier Eric
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.ui.sensitivity;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.Properties;
+
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.topia.TopiaContext;
+import org.nuiton.topia.TopiaContextFactory;
+import org.nuiton.topia.TopiaException;
+import org.nuiton.topia.TopiaNotFoundException;
+import org.nuiton.topia.persistence.TopiaDAO;
+import org.nuiton.topia.persistence.TopiaEntity;
+
+import fr.ifremer.isisfish.AbstractIsisFishTest;
+import fr.ifremer.isisfish.IsisFishDAOHelper;
+import fr.ifremer.isisfish.datastore.IsisH2Config;
+
+/**
+ * Test for {@link SensitivityUtils} class.
+ *
+ * @author chatellier
+ * @version $Revision$
+ *
+ * Last update : $Date$
+ * By : $Author$
+ */
+public class SensitivityUtilsTest extends AbstractIsisFishTest {
+
+ /** Logger for this class */
+ private static final Log log = LogFactory
+ .getLog(SensitivityUtilsTest.class);
+
+ /**
+ * Return a basic valid topia context.
+ *
+ * @throws TopiaNotFoundException
+ */
+ protected TopiaContext getTopiaContext() throws TopiaNotFoundException {
+ Properties config = new Properties();
+ IsisH2Config.addMemDatabaseConfig(config, "test");
+ IsisH2Config.addHibernateMapping(config);
+ TopiaContext context = TopiaContextFactory.getContext(config);
+ return context;
+ }
+
+ /**
+ * Test return of getFactorNameForPath().
+ */
+ @Test
+ public void testGetFactorNameForPath() {
+
+ String result = SensitivityUtils.getFactorNameForPath("fr.ifremer.isisfish.entities.Strategy#1190373398255#0.7889364141850967#proportionSetOfVessels");
+ Assert.assertEquals("Strategy.proportionSetOfVessels", result);
+
+ result = SensitivityUtils.getFactorNameForPath("fr.ifremer.isisfish.entities.Gear#1234#5678#name");
+ Assert.assertEquals("Gear.name", result);
+
+ result = SensitivityUtils.getFactorNameForPath("Gear#1234#5678#name");
+ Assert.assertEquals("Gear.name", result);
+
+ result = SensitivityUtils.getFactorNameForPath("fr.ifremer.isisfish.entities.Gear#name");
+ Assert.assertEquals("Gear.name", result);
+
+ result = SensitivityUtils.getFactorNameForPath("fr.ifremer.isisfish.entities.Gear");
+ Assert.assertNull(result);
+
+ result = SensitivityUtils.getFactorNameForPath("fr.ifremer.isisfish.entities.Gear.name");
+ Assert.assertNull(result);
+ }
+
+ /**
+ * Test (par introspection) que tous les facteurs existent.
+ *
+ * @throws NoSuchMethodException
+ * @throws SecurityException
+ * @throws TopiaException
+ * @throws InvocationTargetException
+ * @throws IllegalAccessException
+ * @throws IllegalArgumentException
+ */
+ @Test
+ public void testFactorExistence() throws SecurityException,
+ NoSuchMethodException, TopiaException, IllegalArgumentException,
+ IllegalAccessException, InvocationTargetException {
+ Properties factors = SensitivityUtils.getProperties();
+
+ TopiaContext testTC = getTopiaContext();
+ TopiaContext context = testTC.beginTransaction();
+ for (String factorName : factors.stringPropertyNames()) {
+ String className = factorName.substring(0, factorName.indexOf("."));
+ String propertyName = StringUtils.capitalize(factorName.substring(factorName.indexOf(".") + 1));
+
+ // get proper DAO
+ if (log.isDebugEnabled()) {
+ log.debug("Call get" + className + "DAO() on " + IsisFishDAOHelper.class.getSimpleName());
+ }
+ Method mStatic = IsisFishDAOHelper.class.getMethod("get" + className + "DAO", TopiaContext.class);
+ TopiaDAO<TopiaEntity> dao = (TopiaDAO<TopiaEntity>) mStatic.invoke(null, new Object[] { context });
+ Assert.assertNotNull("No DOA found for factor " + factorName, dao);
+
+ // create one instance
+ TopiaEntity entity = dao.create();
+
+ // call proper property
+ if (log.isDebugEnabled()) {
+ log.debug(" and call get" + propertyName + "() on " + className);
+ }
+ Method m = entity.getClass().getMethod("get" + propertyName);
+ m.invoke(entity, (Object[]) null);
+ }
+ context.closeContext();
+ }
+}
Property changes on: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUtilsTest.java
___________________________________________________________________
Added: svn:keywords
+ "Author Date Id Revision HeadURL"
1
0
17 Nov '09
Author: chatellier
Date: 2009-11-17 13:15:23 +0000 (Tue, 17 Nov 2009)
New Revision: 2759
Modified:
isis-fish/trunk/src/main/resources/sensitivity.properties
Log:
Fix sensitivity enabled factor name.
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-11-17 10:24:31 UTC (rev 2758)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-11-17 13:15:23 UTC (rev 2759)
@@ -1,3 +1,4 @@
+# this file contains authorized entities factors creation
EffortDescription.CrewFoodCost
EffortDescription.CrewShareRate
EffortDescription.CrewSize
@@ -12,7 +13,6 @@
Gear.PossibleValue
Gear.StandardisationFactor
Metier.GearParameterValue
-Metier.Zone
Population.Capturability
Population.GeographicId
PopulationGroup.ReproductionRate
@@ -31,8 +31,7 @@
SetOfVessels.FixedCosts
SetOfVessels.NumberOfVessels
SetOfVessels.TechnicalEfficiencyEquation
-Strategy.Inactivity
-StrategyMonthInfo.LengthChangeMatrix
+Strategy.InactivityEquation
StrategyMonthInfo.MinInactivityDays
StrategyMonthInfo.ProportionMetier
Strategy.ProportionSetOfVessels
1
0
r2758 - in isis-fish/trunk: . src/main/java/fr/ifremer/isisfish/ui/input src/main/resources/i18n
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
by chatellier@users.labs.libre-entreprise.org 17 Nov '09
17 Nov '09
Author: chatellier
Date: 2009-11-17 10:24:31 +0000 (Tue, 17 Nov 2009)
New Revision: 2758
Modified:
isis-fish/trunk/changelog.txt
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.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:
Add confirmation message before launching groups creation wizard
Modified: isis-fish/trunk/changelog.txt
===================================================================
--- isis-fish/trunk/changelog.txt 2009-11-16 13:38:26 UTC (rev 2757)
+++ isis-fish/trunk/changelog.txt 2009-11-17 10:24:31 UTC (rev 2758)
@@ -1,5 +1,6 @@
isis-fish (3.3.0.0) stable; urgency=low
+ * Add confirmation message before launching groups creation wizard
* Fix metierSeasonInfo deletion (#1914)
* Remove some deprecated unused UI classes
* Remove all GenericCell reference (now model based implementation)
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-11-16 13:38:26 UTC (rev 2757)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-11-17 10:24:31 UTC (rev 2758)
@@ -78,23 +78,33 @@
getVerifier().setNewButton(create, "Population", false);
getVerifier().setDeleteButton(remove);
}
+
+/**
+ * Open creation classe wizard after confirmation.
+ */
+protected void createGroups() {
+
+ int response = JOptionPane.showConfirmDialog(this, _("isisfish.populationBasics.confirmCreateGroups"), _("isisfish.common.confirm"),
+ JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
-protected void createClasses(){
- JFrame wizardFrame = new JFrame();
- wizardFrame.setLayout(new BorderLayout());
- WizardGroupCreationUI wizard = new WizardGroupCreationUI(this);
- wizard.init(this);
- wizardFrame.add(wizard, BorderLayout.CENTER);
- wizardFrame.setTitle(_("isisfish.wizardGroupCreation.title"));
- wizardFrame.setVisible(true);
- wizardFrame.pack();
- wizard.setAgeType(getBean().getSpecies().getAgeGroupType());
- if (wizard.isAgeType()) {
- wizard.setCard("singleGroupAge");
- } else {
- wizard.setCard("beginGroupLength");
+ if (response == JOptionPane.YES_OPTION) {
+ JFrame wizardFrame = new JFrame();
+ wizardFrame.setLayout(new BorderLayout());
+ WizardGroupCreationUI wizard = new WizardGroupCreationUI(this);
+ wizard.init(this);
+ wizardFrame.add(wizard, BorderLayout.CENTER);
+ wizardFrame.setTitle(_("isisfish.wizardGroupCreation.title"));
+ wizard.setAgeType(getBean().getSpecies().getAgeGroupType());
+ if (wizard.isAgeType()) {
+ wizard.setCard("singleGroupAge");
+ } else {
+ wizard.setCard("beginGroupLength");
+ }
+ wizardFrame.pack();
+ wizardFrame.setVisible(true);
+ //refresh();
}
- refresh();
+
}
protected void matureClassChanged(){
Object selected = fieldPopulationBasicsMatureClass.getSelectedItem();
@@ -161,7 +171,7 @@
<JTextField id="fieldPopulationBasicsNbClasses" text='{getBean() == null ? "" : getBean().sizePopulationGroup()}' editable="false" enabled='{isActif()}' decorator='boxed'/>
</cell>
<cell fill='horizontal'>
- <JButton id="buttonPopulationBasicsCreateClasses" text="isisfish.populationBasics.recreateClasses" onActionPerformed='createClasses()' enabled='{isActif()}' decorator='boxed'/>
+ <JButton id="buttonPopulationBasicsCreateClasses" text="isisfish.populationBasics.recreateClasses" onActionPerformed='createGroups()' enabled='{isActif()}' decorator='boxed'/>
</cell>
</row>
<row>
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-11-16 13:38:26 UTC (rev 2757)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-11-17 10:24:31 UTC (rev 2758)
@@ -93,6 +93,7 @@
isisfish.common.cancel=Cancel
isisfish.common.check=Check
isisfish.common.clear=Clear
+isisfish.common.confirm=Confirm
isisfish.common.date=Date
isisfish.common.debug=debug
isisfish.common.delete=Delete
@@ -633,7 +634,7 @@
isisfish.message.import.zip=Import zip file
isisfish.message.launchui.notlaunch=
isisfish.message.load.finished=load finished
-isisfish.message.load.map=Try to load map file\: %1$s (%2$s, %3$s)
+isisfish.message.load.map=Try to load map file\: %1$s (%2$s)
isisfish.message.loading.old.simulation=Loading old simulation ...
isisfish.message.loading.region=Loading region ...
isisfish.message.name.imported.region=Enter name for imported region
@@ -732,6 +733,7 @@
isisfish.population.reproduction=Reproduction
isisfish.population.season=Season
isisfish.population.zones=Zones
+isisfish.populationBasics.confirmCreateGroups=Warning, running groups creation wizard will delete all existing groups and objects which depend on it.\nDo you want to re-create groups ?
isisfish.populationBasics.geographicID=Geographic identifier
isisfish.populationBasics.growth=Growth
isisfish.populationBasics.growthReverse=Reverse growth
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-11-16 13:38:26 UTC (rev 2757)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-11-17 10:24:31 UTC (rev 2758)
@@ -93,6 +93,7 @@
isisfish.common.cancel=Annuler
isisfish.common.check=V\u00E9rifier
isisfish.common.clear=Effacer
+isisfish.common.confirm=Confirmation
isisfish.common.date=Date
isisfish.common.debug=Debug
isisfish.common.delete=Supprimer
@@ -633,7 +634,7 @@
isisfish.message.import.zip=Import zip file
isisfish.message.launchui.notlaunch=Interface utilisateur non lanc\u00E9e
isisfish.message.load.finished=Chargement termin\u00E9
-isisfish.message.load.map=Chargement de la carte \: %1$s (%2$s, %3$s)
+isisfish.message.load.map=Chargement de la carte \: %1$s (%2$s)
isisfish.message.loading.old.simulation=Chargement d'une ancienne simulation ...
isisfish.message.loading.region=Chargement de la r\u00E9gion
isisfish.message.name.imported.region=Entrez le nom de la r\u00E9gion \u00E0 importer
@@ -732,6 +733,7 @@
isisfish.population.reproduction=Reproduction
isisfish.population.season=Saison
isisfish.population.zones=Zones
+isisfish.populationBasics.confirmCreateGroups=Attention, la re-cr\u00E9ation des groupes supprimera les groupes existants et tous les objets qui en d\u00E9pendent.\n\u00CAtes vous sur de vouloir re-cr\u00E9er les groupes ?
isisfish.populationBasics.geographicID=Identifiant g\u00E9ographique
isisfish.populationBasics.growth=Croissance
isisfish.populationBasics.growthReverse=Croissance inverse
@@ -884,7 +886,7 @@
isisfish.script.cut=Couper
isisfish.script.cut.tooltip=Couper la s\u00E9lection courante (Ctrl-x)
isisfish.script.evaluate=\u00C9valuer
-isisfish.script.evaluate.tooltip=Lance le script (doit contenir un methode main() pour fonctionner)
+isisfish.script.evaluate.tooltip=Lance le script (doit contenir une methode main() pour fonctionner)
isisfish.script.export=Exporter
isisfish.script.export.checkAll=Tout (d\u00E9-)s\u00E9lectionner
isisfish.script.export.chooseDir=...
1
0
r2757 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher
by chatellier@users.labs.libre-entreprise.org 16 Nov '09
by chatellier@users.labs.libre-entreprise.org 16 Nov '09
16 Nov '09
Author: chatellier
Date: 2009-11-16 13:38:26 +0000 (Mon, 16 Nov 2009)
New Revision: 2757
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
Log:
Modify independent analyze plan loop to known which simulation is the last one.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-11-13 08:53:26 UTC (rev 2756)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-11-16 13:38:26 UTC (rev 2757)
@@ -712,7 +712,7 @@
}
} catch (Exception eee) {
// add manual log
- // we are in a thread, IsisFishRuntimeException is displyed
+ // we are in a thread, IsisFishRuntimeException is displayed
// outside a log
if (log.isErrorEnabled()) {
log.error(_("isisfish.error.evaluate.preplan.script"), eee);
@@ -723,8 +723,14 @@
/**
* Genere toutes les sous simulations et les places dans la queue.
+ *
+ * Cette methode {@code run()} est appelée seulement dans le cas de la
+ * génération de plans indépendants.
+ *
+ * @see SimulationJob#run() pour les plans dépendants
*/
public void run() {
+ /* Original code
while (hasNext()) {
try {
SimulationJob subJob = next();
@@ -739,8 +745,48 @@
.getControl().getId()), eee);
}
}
+ }*/
+
+ // New iteration remember always simulation N and N+1
+ // needed to know witch simulation is the last one
+ // get simulation N
+ SimulationJob subJobN = null;
+ if (hasNext()) {
+ subJobN = next();
}
+ while (subJobN != null) {
+
+ try {
+ if (log.isInfoEnabled()) {
+ log.info("Simulation generated: " + subJobN.getId());
+ }
+
+ // set item additionnal informations
+ SimulationItem itemN = subJobN.getItem();
+ itemN.setStandaloneSimulation(true); // idependant plan
+ // - 1 because planContext.getNumber() is set to next simulation to generate
+ itemN.setSimulationNumber(planContext.getNumber() - 1);
+
+ // job N+1
+ // carefull call this next after itemN.setSimulationNumber()
+ SimulationJob subJobNp1 = next();
+ if (subJobNp1 == null) {
+ // there is no N+1 job, N is the last one
+ itemN.setLastSimulation(true);
+ }
+
+ simulationService.submitSubJob(subJobN);
+
+ subJobN = subJobNp1;
+ }
+ catch (Exception eee) {
+ if (log.isErrorEnabled()) {
+ log.error(_("Can't add simulation: %s", job.getItem()
+ .getControl().getId()), eee);
+ }
+ }
+ }
}
/**
1
0