Isis-fish-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- 3175 discussions
r1949 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources/i18n resources/icons
by sletellier@users.labs.libre-entreprise.org 12 Mar '09
by sletellier@users.labs.libre-entreprise.org 12 Mar '09
12 Mar '09
Author: sletellier
Date: 2009-03-12 11:44:11 +0000 (Thu, 12 Mar 2009)
New Revision: 1949
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.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
isis-fish/trunk/src/main/resources/icons/building.png
isis-fish/trunk/src/main/resources/icons/building_add.png
Log:
Adding color glassPane, factor rangeOfValue, debug....
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearTabUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -37,6 +37,7 @@
<script><![CDATA[
+import fr.ifremer.isisfish.types.RangeOfValues;
import fr.ifremer.isisfish.entities.Gear;
import fr.ifremer.isisfish.entities.GearImpl;
import fr.ifremer.isisfish.ui.WelcomePanelUI;
@@ -44,8 +45,7 @@
import org.codelutin.topia.TopiaException;
import jaxx.runtime.swing.navigation.NavigationTreeModel;
import jaxx.runtime.swing.navigation.NavigationTreeModel.NavigationTreeNode;
-import fr.ifremer.isisfish.types.RangeOfValues;
-boolean init = false;
+
addPropertyChangeListener("bean", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getOldValue() != null || evt.getNewValue() == null) {
@@ -55,7 +55,6 @@
fieldGearEffortUnit.setText("");
fieldGearStandardisationFactor.setText("");
fieldGearParamName.setText("");
- fieldGearParamPossibleValue.setText("");
fieldGearComment.setText("");
}
if (evt.getNewValue() != null) {
@@ -71,23 +70,8 @@
getVerifier().setDeleteButton(remove);
Gear gear = getVerifier().getEntity(Gear.class);
setBean((GearImpl) gear);
- java.util.List<Object> values = new ArrayList<Object>();
- for (String value : fr.ifremer.isisfish.types.RangeOfValues.getPossibleTypes())
- values.add(value);
- if (getBean() != null){
- if (values != null){
- init = true;
- jaxx.runtime.SwingUtil.fillComboBox(fieldGearParamType, values, getBean().getPossibleValue() == null ? null : getBean().getPossibleValue().getType(), true);
- init = false;
- }
- }
+ getVerifier().addCurrentPanel(rangeOfValues);
}
-protected void paramChanged(){
- if (fieldGearParamType.getSelectedItem() != null){
- if (!init)
- getBean().setPossibleValue(new RangeOfValues(fieldGearParamType.getSelectedItem().toString().concat("[" + fieldGearParamPossibleValue.getText() + "]")));
- }
-}
]]>
</script>
<Table id='body'>
@@ -130,12 +114,9 @@
<cell fill='horizontal' anchor='east'>
<JLabel text="isisfish.gear.rangeValues" enabled='{isActif()}'/>
</cell>
- <cell fill='horizontal' weightx='0.5'>
- <JComboBox id="fieldGearParamType" onActionPerformed='paramChanged()' enabled='{isActif()}'/>
+ <cell fill='horizontal' weightx='1.0'>
+ <RangeOfValuesUI id="rangeOfValues" actif='{isActif()}' constructorParams='{this}'/>
</cell>
- <cell fill='horizontal' weightx='0.5'>
- <JTextField id="fieldGearParamPossibleValue" text='{getBean().getPossibleValue() == null ? "" : getBean().getPossibleValue().getValues()}' onKeyReleased='paramChanged()' enabled='{isActif()}' decorator='boxed' _bean='{GearImpl.class}' _method='"PossibleValue"'/>
- </cell>
</row>
<row>
<cell fill='horizontal' anchor='east'>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -14,6 +14,8 @@
<jaxx.runtime.swing.BlockingLayerUI id='layerUI'
blockIcon='{SwingUtil.createImageIcon("building.png")}'
acceptIcon='{SwingUtil.createImageIcon("building_add.png")}'
+ useIcon='true'
+ blockingColor='{new Color(50,50,50)}'
acceptAction='{new AbstractAction() { private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent e) {
@@ -62,16 +64,20 @@
// Verifie si dans l'entré existe dans le fichier sensitivity.properties
Class classBean = (Class)boxed.getClientProperty("bean");
String method = (String)boxed.getClientProperty("method");
- boolean isSensitivity = UtilsUI.isSensitivity(classBean.getSimpleName().replace("Impl", "") + "." + method);
-
+ boolean isSensitivity = false;
+ if (classBean != null){
+ isSensitivity = UtilsUI.isSensitivity(classBean.getSimpleName().replace("Impl", "") + "." + method);
+ }
jaxx.runtime.swing.BlockingLayerUI ui = active ? layerUI.clone() : null;
+ if (classBean == null && ui != null){
+ ui.setBlock(true);
+ }
ui.setUseIcon(isSensitivity && isActif());
SwingUtil.getLayer(boxed).setUI(ui);
}
}
}
-
protected void accept(ActionEvent e) {
JComponent source = (JComponent) e.getSource();
FactorWizard wizard = new FactorWizard(this);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -36,6 +36,8 @@
<!-- bean property -->
<fr.ifremer.isisfish.entities.MetierImpl id='bean' javaBean='null'/>
+ <fr.ifremer.isisfish.entities.MetierSeasonInfoImpl id='metierInfo' javaBean='null'/>
+
<Boolean id='metierSeasonSelected' javaBean='false'/>
<Boolean id='targetSpeciesSelected' javaBean='false'/>
@@ -49,6 +51,7 @@
import fr.ifremer.isisfish.entities.Metier;
import fr.ifremer.isisfish.entities.MetierImpl;
import fr.ifremer.isisfish.entities.MetierSeasonInfo;
+import fr.ifremer.isisfish.entities.MetierSeasonInfoImpl;
import fr.ifremer.isisfish.entities.TargetSpecies;
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
import fr.ifremer.isisfish.ui.widget.editor.EquationTableEditor;
@@ -192,15 +195,13 @@
}
}
protected void remove(){
- Object season = ((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue();
- if (season != null){
- MetierSeasonInfo m = (MetierSeasonInfo) season;
- Object[] targetSpecies = m.getSpeciesTargetSpecies().toArray();
+ if (isMetierSeasonSelected()){
+ Object[] targetSpecies = getMetierInfo().getSpeciesTargetSpecies().toArray();
- Object o = targetSpecies[tableTargetSpecies.getSelectedRow() + 1];
+ Object o = targetSpecies[tableTargetSpecies.getSelectedRow()];
if (o != null){
TargetSpecies ts = (TargetSpecies)o;
- getAction().removeTargetSpecies(m, ts);
+ getAction().removeTargetSpecies(getMetierInfo(), ts);
setTableTargetSpeciesModel();
}
}
@@ -208,7 +209,8 @@
protected void metierSeasonChanged(){
setMetierSeasonSelected(fieldMetierSeasonInfo.getSelectedItem() != null);
if (isMetierSeasonSelected()){
- getVerifier().addCurrentEntity((TopiaEntity)((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue());
+ setMetierInfo((MetierSeasonInfoImpl)((GenericCell)fieldMetierSeasonInfo.getSelectedItem()).getValue());
+ getVerifier().addCurrentEntity(getMetierInfo());
}
setTargetSpeciesModel();
setTableTargetSpeciesModel();
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/RangeOfValuesUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -0,0 +1,57 @@
+<fr.ifremer.isisfish.ui.input.InputContentUI>
+
+ <!-- bean property -->
+ <fr.ifremer.isisfish.entities.GearImpl id='bean' javaBean='null'/>
+
+ <script><![CDATA[
+import fr.ifremer.isisfish.types.RangeOfValues;
+import fr.ifremer.isisfish.entities.Gear;
+import fr.ifremer.isisfish.entities.GearImpl;
+
+addPropertyChangeListener("bean", new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt) {
+ if (evt.getOldValue() != null || evt.getNewValue() == null) {
+ // remove previous binding on getBean()
+ //jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");fieldPopulationBasicsName.setText("");
+ fieldGearParamPossibleValue.setText("");
+ }
+ if (evt.getNewValue() != null) {
+ // add binding on getBean()
+ //jaxx.runtime.SwingUtil.applyDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
+ }
+ }
+});
+
+boolean init = false;
+public void refresh(){
+ Gear gear = getVerifier().getEntity(Gear.class);
+ setBean((GearImpl) gear);
+ java.util.List<Object> values = new ArrayList<Object>();
+ for (String value : fr.ifremer.isisfish.types.RangeOfValues.getPossibleTypes())
+ values.add(value);
+ if (getBean() != null){
+ if (values != null){
+ init = true;
+ jaxx.runtime.SwingUtil.fillComboBox(fieldGearParamType, values, getBean().getPossibleValue() == null ? null : getBean().getPossibleValue().getType(), true);
+ init = false;
+ }
+ }
+}
+protected void paramChanged(){
+ if (fieldGearParamType.getSelectedItem() != null){
+ if (!init)
+ getBean().setPossibleValue(new RangeOfValues(fieldGearParamType.getSelectedItem().toString().concat("[" + fieldGearParamPossibleValue.getText() + "]")));
+ }
+}
+ ]]></script>
+ <Table id='body'>
+ <row>
+ <cell fill='horizontal' weightx='0.5'>
+ <JComboBox id="fieldGearParamType" onActionPerformed='paramChanged()' enabled='{isActif()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.5'>
+ <JTextField id="fieldGearParamPossibleValue" text='{getBean().getPossibleValue() == null ? "" : getBean().getPossibleValue().getValues()}' onKeyReleased='paramChanged()' enabled='{isActif()}' decorator='boxed' _bean='{GearImpl.class}' _method='"PossibleValue"'/>
+ </cell>
+ </row>
+ </Table>
+</fr.ifremer.isisfish.ui.input.InputContentUI>
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyOneMonthInfoUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -149,7 +149,7 @@
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <org.codelutin.math.matrix.gui.MatrixPanelEditor id="fieldStrategyMonthInfoProportion" linearModelShowDefault='{true}' linearModel='{true}' matrix='{getStrategyMonthInfo().getProportionMetier() == null ? null : getStrategyMonthInfo().getProportionMetier().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{StrategyMonthInfoImpl.class}' _method='"ProportionMetier"'/>
+ <org.codelutin.math.matrix.gui.MatrixPanelEditor id="fieldStrategyMonthInfoProportion" linearModelShowDefault='{true}' linearModel='{false}' matrix='{getStrategyMonthInfo().getProportionMetier() == null ? null : getStrategyMonthInfo().getProportionMetier().copy()}' enabled='{isActif()}' decorator='boxed' _bean='{StrategyMonthInfoImpl.class}' _method='"ProportionMetier"'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -122,13 +122,13 @@
<JPanel/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JCheckBox id="fieldUseEquationInactivity" selected='{getBean().getInactivityEquationUsed()}' text="isisfish.strategy.inactivityEquationUsed" onActionPerformed='getBean().setInactivityEquationUsed(fieldUseEquationInactivity.isSelected())' enabled='{isActif()}' decorator='boxed' _bean='{StrategyImpl.class}' _method='"InactivityEquationUsed"'/>
+ <JCheckBox id="fieldUseEquationInactivity" selected='{getBean().getInactivityEquationUsed()}' text="isisfish.strategy.inactivityEquationUsed" onActionPerformed='getBean().setInactivityEquationUsed(fieldUseEquationInactivity.isSelected());strategyInactivity.setActif(fieldUseEquationInactivity.isSelected())' enabled='{isActif()}' decorator='boxed' _bean='{StrategyImpl.class}' _method='"InactivityEquationUsed"'/>
</cell>
</row>
<row>
<cell columns="2" fill='both' weightx='1.0'>
<InputOneEquationUI id="strategyInactivity" constructorParams='this'
- lblText='{_("isisfish.strategy.inactivity")}'
+ lblText='{_("isisfish.strategy.inactivity")}' actif='{fieldUseEquationInactivity.isSelected()}'
bean='{getBean()}' nameEquation='Inactivity' methodGet='InactivityEquation' methodSet='EquationInactivity'
clazz='{fr.ifremer.isisfish.equation.StrategyInactivityEquation.class}'
decorator='boxed' _bean='{StrategyImpl.class}' _method='"Inactivity"'/>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/ZoneUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -163,6 +163,7 @@
<JTextArea id="fieldZoneComment"
text='{jaxx.runtime.SwingUtil.getStringValue(getBean().getComment())}'
enabled='{isActif()}'
+ decorator='boxed'
onKeyReleased='getBean().setComment(fieldZoneComment.getText())'/>
</JScrollPane>
</cell>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -30,7 +30,7 @@
* by : $Author: sletellier $
*/
-->
-<JDialog id="FactorTypeChooser" title='isisfish.factor.title' layout='{new BorderLayout()}'>
+<JDialog id="FactorTypeChooser" title='isisfish.factor.title' modal='{true}' layout='{new BorderLayout()}'>
<Boolean id='continuePossible' javaBean='true'/>
@@ -89,7 +89,7 @@
// ex : fwn#fsd#0.3425345#name
this.path = bean.getTopiaId() + "#" + EditorHelper.getMethod(cOrigine);
- factorName.setText(path);
+ factorName.setText(bean.toString() + "." + EditorHelper.getMethod(cOrigine));
setContinuePossible(b);
init();
}
@@ -203,17 +203,13 @@
<JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
- <JScrollPane>
- <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
- </JScrollPane>
+ <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
</cell>
<cell fill='horizontal'>
<JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
- <JScrollPane>
- <JPanel id='continueMaxPanel' layout='{new BorderLayout()}'/>
- </JScrollPane>
+ <JPanel id='continueMaxPanel' layout='{new BorderLayout()}'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -50,7 +50,7 @@
</script>
<JTabbedPane id="sensitivityTabs" constraints="BorderLayout.CENTER">
<tab title='isisfish.params.title'>
- <ParamsUI id='paramsUI' constructorParams='getContextValue(SimulAction.class)'/>
+ <ParamsUI id='paramsUI' sensitivity='{true}' constructorParams='getContextValue(SimulAction.class)'/>
</tab>
<tab title='isisfish.sensitivityChooser.title'>
<SensitivityChooserUI id="sensitivityChooserUI" constructorParams='new JAXXInitialContext().add(this)'/>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-12 11:44:11 UTC (rev 1949)
@@ -36,359 +36,355 @@
<Boolean id='sensitivity' javaBean='false'/>
<script><![CDATA[
- import static org.codelutin.i18n.I18n._;
- import fr.ifremer.isisfish.ui.Common;
- import fr.ifremer.isisfish.datastore.RuleStorage;
- import fr.ifremer.isisfish.ui.WelcomeUI;
- import fr.ifremer.isisfish.ui.WelcomePanelUI;
- import fr.ifremer.isisfish.ui.WelcomeTabUI;
- import fr.ifremer.isisfish.simulator.SimulationParameter;
- import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
- import fr.ifremer.isisfish.entities.Strategy;
- import fr.ifremer.isisfish.entities.Population;
- import fr.ifremer.isisfish.rule.Rule;
- import org.codelutin.math.matrix.gui.MatrixPanelEditor;
- import javax.swing.table.DefaultTableModel;
- import java.text.ParseException;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- import java.awt.event.ItemEvent;
- import javax.swing.table.TableModel;
- import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
- import javax.swing.table.TableColumn;
- import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
- import static javax.swing.JOptionPane.showMessageDialog;
- import javax.swing.text.JTextComponent;
- import org.dom4j.DocumentHelper;
- import org.dom4j.Element;
- import fr.ifremer.isisfish.simulator.launcher.SimulationService;
- import fr.ifremer.isisfish.simulator.launcher.SimulationJob;
- import fr.ifremer.isisfish.ui.sensitivity.SensitivityUI;
- import fr.ifremer.isisfish.entities.FisheryRegionImpl;
- import fr.ifremer.isisfish.datastore.StorageException;
- import fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener;
- SimulationServiceListener simulationListener;
+import static org.codelutin.i18n.I18n._;
+import fr.ifremer.isisfish.ui.Common;
+import fr.ifremer.isisfish.datastore.RuleStorage;
+import fr.ifremer.isisfish.ui.WelcomeUI;
+import fr.ifremer.isisfish.ui.WelcomePanelUI;
+import fr.ifremer.isisfish.ui.WelcomeTabUI;
+import fr.ifremer.isisfish.simulator.SimulationParameter;
+import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
+import fr.ifremer.isisfish.entities.Strategy;
+import fr.ifremer.isisfish.entities.Population;
+import fr.ifremer.isisfish.rule.Rule;
+import org.codelutin.math.matrix.gui.MatrixPanelEditor;
+import javax.swing.table.DefaultTableModel;
+import java.text.ParseException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.awt.event.ItemEvent;
+import javax.swing.table.TableModel;
+import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
+import javax.swing.table.TableColumn;
+import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
+import static javax.swing.JOptionPane.showMessageDialog;
+import javax.swing.text.JTextComponent;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import fr.ifremer.isisfish.simulator.launcher.SimulationService;
+import fr.ifremer.isisfish.simulator.launcher.SimulationJob;
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityUI;
+import fr.ifremer.isisfish.entities.FisheryRegionImpl;
+import fr.ifremer.isisfish.datastore.StorageException;
+import fr.ifremer.isisfish.simulator.launcher.SimulationServiceListener;
+SimulationServiceListener simulationListener;
- simulationListener = new SimulationServiceListener() {
- @Override
- public void simulationStart(SimulationService simService, SimulationJob job) {
- }
+simulationListener = new SimulationServiceListener() {
+ @Override
+ public void simulationStart(SimulationService simService, SimulationJob job) {
+ }
- @Override
- public void simulationStop(SimulationService simService, SimulationJob job) {
- fieldSimulParamsSelect.setModel(getSimulParamsSelectModel(true));
- }
+ @Override
+ public void simulationStop(SimulationService simService, SimulationJob job) {
+ fieldSimulParamsSelect.setModel(getSimulParamsSelectModel(true));
+ }
- @Override
- public void clearJobDone(SimulationService simService) {
- }
+ @Override
+ public void clearJobDone(SimulationService simService) {
}
-
- public ParamsUI(SimulAction action){
-
- setContextValue(action);
+}
+
+public ParamsUI(SimulAction action){
+
+ setContextValue(action);
+}
+public void refresh(){
+ SimulationService.getService().removeSimulationServiceListener(simulationListener);
+ SimulationService.getService().addSimulationServiceListener(simulationListener);
+ if (getContextValue(SimulAction.class).getSimulationStorage() != null){
+ fieldSimulParamsName.setText(getContextValue(SimulAction.class).getSimulationStorage().getName());
}
- public void refresh(){
- setSensitivity(getParentContainer(SensitivityUI.class) != null);
- SimulationService.getService().removeSimulationServiceListener(simulationListener);
- SimulationService.getService().addSimulationServiceListener(simulationListener);
- if (getContextValue(SimulAction.class).getSimulationStorage() != null){
- fieldSimulParamsName.setText(getContextValue(SimulAction.class).getSimulationStorage().getName());
- }
- fieldSimulParamsDesc.setText(getContextValue(SimulAction.class).getSimulationParameter().getDescription());
- setListSimulParamsStrategiesItems();
- setListSimulParamsPopulationsItems();
- setRulesItems();
- fieldSimulParamsRegion.setSelectedItem(getContextValue(SimulAction.class).getSimulationParameter().getRegionName());
- if (getContextValue(SimulAction.class).getSimulationParameter().getUsePreScript()){
- SimulUI simul = getParentContainer(SimulUI.class);
- simul.enablePreSimul();
- }
- if (getContextValue(SimulAction.class).getSimulationParameter().getUseAnalysePlan()){
- SimulUI simul = getParentContainer(SimulUI.class);
- simul.enableAnalysePlan();
- }
+ fieldSimulParamsDesc.setText(getContextValue(SimulAction.class).getSimulationParameter().getDescription());
+ setListSimulParamsStrategiesItems();
+ setListSimulParamsPopulationsItems();
+ setRulesItems();
+ fieldSimulParamsRegion.setSelectedItem(getContextValue(SimulAction.class).getSimulationParameter().getRegionName());
+ if (getContextValue(SimulAction.class).getSimulationParameter().getUsePreScript()){
+ SimulUI simul = getParentContainer(SimulUI.class);
+ simul.enablePreSimul();
}
-// public void setSimulName(String name){
-// fieldSimulParamsName.setText(name);
-// }
- protected void regionChange(ItemEvent e){
- if (e.getStateChange() == ItemEvent.SELECTED) {
- // le premier item est " " pour ne pas avoir de selection par defaut
- final String selected = fieldSimulParamsRegion.getSelectedItem().toString();
- if (log.isDebugEnabled()) {
- log.debug(" selected " + selected);
- }
- if(selected != null && !selected.trim().isEmpty()) {
- getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.loading.region"));
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- getContextValue(SimulAction.class).regionChange(selected);
- refresh();
- if (isSensitivity()){
- try {
- getParentContainer(SensitivityUI.class).getSensitivityTabUI().setRegion((FisheryRegionImpl) getContextValue(SimulAction.class).getSimulationParameter().getRegion().getFisheryRegion());
- getParentContainer(SensitivityUI.class).getSensitivityTabUI().setTreeModel();
- } catch (StorageException ex) {
- log.debug(ex.getMessage(), ex);
- };
- }
- getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.region.loaded"));
- }
- });
- }
- }
+ if (getContextValue(SimulAction.class).getSimulationParameter().getUseAnalysePlan()){
+ SimulUI simul = getParentContainer(SimulUI.class);
+ simul.enableAnalysePlan();
}
- public void setSimulationParameter(SimulAction simulAction){
- getContextValue(SimulAction.class).setSimulationParameter(simulAction.getSimulationParameter());
- }
- protected void loadOldSimulation(){
- final String selected = fieldSimulParamsSelect.getSelectedItem().toString();
+}
+protected void regionChange(ItemEvent e){
+ if (e.getStateChange() == ItemEvent.SELECTED) {
// le premier item est " " pour ne pas avoir de selection par defaut
- if (selected != null && !selected.equals(" ")){
- getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.loading.old.simulation"));
- SwingUtilities.invokeLater(new Runnable() {
+ final String selected = fieldSimulParamsRegion.getSelectedItem().toString();
+ if (log.isDebugEnabled()) {
+ log.debug(" selected " + selected);
+ }
+ if(selected != null && !selected.trim().isEmpty()) {
+ getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.loading.region"));
+ SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
- getContextValue(SimulAction.class).loadOldSimulation(selected);
+ getContextValue(SimulAction.class).regionChange(selected);
refresh();
- getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.old.simulation.loaded"));
+ if (isSensitivity()){
+ try {
+ getParentContainer(SensitivityUI.class).getSensitivityTabUI().setRegion((FisheryRegionImpl) getContextValue(SimulAction.class).getSimulationParameter().getRegion().getFisheryRegion());
+ getParentContainer(SensitivityUI.class).getSensitivityTabUI().setTreeModel();
+ } catch (StorageException ex) {
+ log.debug(ex.getMessage(), ex);
+ };
+ }
+ getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.region.loaded"));
}
});
-
}
}
- protected void addRules(){
- getContextValue(SimulAction.class).addRules(fieldSimulParamsMesuresSelect.getSelectedItem().toString());
- setRulesItems();
+}
+public void setSimulationParameter(SimulAction simulAction){
+ getContextValue(SimulAction.class).setSimulationParameter(simulAction.getSimulationParameter());
+}
+protected void loadOldSimulation(){
+ final String selected = fieldSimulParamsSelect.getSelectedItem().toString();
+ // le premier item est " " pour ne pas avoir de selection par defaut
+ if (selected != null && !selected.equals(" ")){
+ getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.loading.old.simulation"));
+ SwingUtilities.invokeLater(new Runnable() {
+ @Override
+ public void run() {
+ getContextValue(SimulAction.class).loadOldSimulation(selected);
+ refresh();
+ getParentContainer(WelcomePanelUI.class).setInfoText(_("isisfish.message.old.simulation.loaded"));
+ }
+ });
+
}
- protected void removeRules(){
- getContextValue(SimulAction.class).removeRules(listSimulParamsMesuresList.getSelectedValue().toString());
- setRulesItems();
+}
+protected void addRules(){
+ getContextValue(SimulAction.class).addRules(fieldSimulParamsMesuresSelect.getSelectedItem().toString());
+ setRulesItems();
+}
+protected void removeRules(){
+ getContextValue(SimulAction.class).removeRules(listSimulParamsMesuresList.getSelectedValue().toString());
+ setRulesItems();
+}
+protected void clearRules(){
+ getContextValue(SimulAction.class).getSimulationParameter().clearRules();
+ setRulesItems();
+}
+protected void simul(){
+ if (!isSensitivity()){
+ getContextValue(SimulAction.class).launchSimulation(fieldSimulParamsName.getText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
}
- protected void clearRules(){
- getContextValue(SimulAction.class).getSimulationParameter().clearRules();
- setRulesItems();
+ else{
+ getContextValue(SimulAction.class).launchSimulationWhithSensibility(fieldSimulParamsName.getText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
}
- protected void simul(){
- if (!isSensitivity()){
- getContextValue(SimulAction.class).launchSimulation(fieldSimulParamsName.getText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
- }
- else{
- getContextValue(SimulAction.class).launchSimulationWhithSensibility(fieldSimulParamsName.getText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
- }
- getParentContainer(WelcomeTabUI.class).selTab(5);
+ getParentContainer(WelcomeTabUI.class).selTab(5);
+}
+protected void enablePreSimul(){
+ if (fieldUseSimulPreScripts.isSelected()){
+ SimulUI simul = getParentContainer(SimulUI.class);
+ simul.enablePreSimul();
}
- protected void enablePreSimul(){
- if (fieldUseSimulPreScripts.isSelected()){
- SimulUI simul = getParentContainer(SimulUI.class);
- simul.enablePreSimul();
- }
+}
+protected void enableAnalysePlan(){
+ if (fieldSimulUseAnalysePlan.isSelected()){
+ getContextValue(SimulAction.class).getSimulationParameter().setUseAnalysePlan(true);
+ SimulUI simul = getParentContainer(SimulUI.class);
+ simul.enableAnalysePlan();
}
- protected void enableAnalysePlan(){
- if (fieldSimulUseAnalysePlan.isSelected()){
- getContextValue(SimulAction.class).getSimulationParameter().setUseAnalysePlan(true);
- SimulUI simul = getParentContainer(SimulUI.class);
- simul.enableAnalysePlan();
- }
- else{
- getContextValue(SimulAction.class).getSimulationParameter().setUseAnalysePlan(false);
- }
+ else{
+ getContextValue(SimulAction.class).getSimulationParameter().setUseAnalysePlan(false);
}
- protected void enableOnlyExport(){
- if (fieldSimulOnlyExport.isSelected()){
- getContextValue(SimulAction.class).getSimulationParameter().setOnlyExport(true);
- }
- else{
- getContextValue(SimulAction.class).getSimulationParameter().setOnlyExport(false);
- }
+}
+protected void enableOnlyExport(){
+ if (fieldSimulOnlyExport.isSelected()){
+ getContextValue(SimulAction.class).getSimulationParameter().setOnlyExport(true);
}
- protected void setNbAnnees(){
- getContextValue(SimulAction.class).setNbAnnees(fieldSimulParamsNbAnnees.getText());
+ else{
+ getContextValue(SimulAction.class).getSimulationParameter().setOnlyExport(false);
}
- protected void setListSimulParamsStrategiesItems(){
- DefaultListModel listSimulParamsStrategiesModel = new DefaultListModel();
- java.util.List<Strategy> strategies = getContextValue(SimulAction.class).getStrategies();
- for (Strategy s : strategies){
- listSimulParamsStrategiesModel.addElement(s);
- }
- listSimulParamsStrategies.setModel(listSimulParamsStrategiesModel);
- java.util.List<Strategy> strategiesSelected = getContextValue(SimulAction.class).getSimulationParameter().getStrategies();
- if (listSimulParamsStrategiesModel.size() != 0){
- int[] indexs = new int[listSimulParamsStrategiesModel.size()];
- int i = 0;
- for (Strategy s : strategiesSelected){
- indexs[i] = listSimulParamsStrategiesModel.indexOf(s);
- i++;
- }
- listSimulParamsStrategies.setSelectedIndices(indexs);
- strategySelected();
- }
+}
+protected void setNbAnnees(){
+ getContextValue(SimulAction.class).setNbAnnees(fieldSimulParamsNbAnnees.getText());
+}
+protected void setListSimulParamsStrategiesItems(){
+ DefaultListModel listSimulParamsStrategiesModel = new DefaultListModel();
+ java.util.List<Strategy> strategies = getContextValue(SimulAction.class).getStrategies();
+ for (Strategy s : strategies){
+ listSimulParamsStrategiesModel.addElement(s);
}
- protected void setListSimulParamsPopulationsItems(){
- DefaultListModel listSimulParamsPopulationsModel = new DefaultListModel();
- java.util.List<Population> populations = getContextValue(SimulAction.class).getPopulations();
- for (Population p : populations){
- listSimulParamsPopulationsModel.addElement(p);
+ listSimulParamsStrategies.setModel(listSimulParamsStrategiesModel);
+ java.util.List<Strategy> strategiesSelected = getContextValue(SimulAction.class).getSimulationParameter().getStrategies();
+ if (listSimulParamsStrategiesModel.size() != 0){
+ int[] indexs = new int[listSimulParamsStrategiesModel.size()];
+ int i = 0;
+ for (Strategy s : strategiesSelected){
+ indexs[i] = listSimulParamsStrategiesModel.indexOf(s);
+ i++;
}
- listSimulParamsPopulations.setModel(listSimulParamsPopulationsModel);
- java.util.List<Population> populationsSelected = getContextValue(SimulAction.class).getSimulationParameter().getPopulations();
- if (listSimulParamsPopulationsModel.size() != 0){
- int[] indexs = new int[listSimulParamsPopulationsModel.size()];
- int i = 0;
- for (Population p : populationsSelected){
- indexs[i] = listSimulParamsPopulationsModel.indexOf(p);
- i++;
- }
- listSimulParamsPopulations.setSelectedIndices(indexs);
- populationSelected();
- }
+ listSimulParamsStrategies.setSelectedIndices(indexs);
+ strategySelected();
}
- protected void setRulesItems(){
- listSimulParamsMesuresList.setListData(getContextValue(SimulAction.class).getRules().toArray());
- setRulesButton();
+}
+protected void setListSimulParamsPopulationsItems(){
+ DefaultListModel listSimulParamsPopulationsModel = new DefaultListModel();
+ java.util.List<Population> populations = getContextValue(SimulAction.class).getPopulations();
+ for (Population p : populations){
+ listSimulParamsPopulationsModel.addElement(p);
}
- protected void populationSelected(){
- if (listSimulParamsPopulations.getSelectedIndex() != -1){
- getContextValue(SimulAction.class).setPopulations(listSimulParamsPopulations.getSelectedValues());
- simulParamsNumbers.setMatrix(getContextValue(SimulAction.class).getSimulationParameter().getNumberOf((Population) listSimulParamsPopulations.getSelectedValue()));
+ listSimulParamsPopulations.setModel(listSimulParamsPopulationsModel);
+ java.util.List<Population> populationsSelected = getContextValue(SimulAction.class).getSimulationParameter().getPopulations();
+ if (listSimulParamsPopulationsModel.size() != 0){
+ int[] indexs = new int[listSimulParamsPopulationsModel.size()];
+ int i = 0;
+ for (Population p : populationsSelected){
+ indexs[i] = listSimulParamsPopulationsModel.indexOf(p);
+ i++;
}
+ listSimulParamsPopulations.setSelectedIndices(indexs);
+ populationSelected();
}
- protected void strategySelected(){
- getContextValue(SimulAction.class).setStrategies(listSimulParamsStrategies.getSelectedValues());
+}
+protected void setRulesItems(){
+ listSimulParamsMesuresList.setListData(getContextValue(SimulAction.class).getRules().toArray());
+ setRulesButton();
+}
+protected void populationSelected(){
+ if (listSimulParamsPopulations.getSelectedIndex() != -1){
+ getContextValue(SimulAction.class).setPopulations(listSimulParamsPopulations.getSelectedValues());
+ simulParamsNumbers.setMatrix(getContextValue(SimulAction.class).getSimulationParameter().getNumberOf((Population) listSimulParamsPopulations.getSelectedValue()));
}
- protected void saveDescription(){
- getContextValue(SimulAction.class).getSimulationParameter().setDescription(fieldSimulParamsDesc.getText());
- }
- protected void setRulesButton(){
- if (getContextValue(SimulAction.class).getRules().toArray().length == 0){
- buttonSimulParamsMesuresClear.setEnabled(false);
- buttonSimulParamsMesuresRemove.setEnabled(false);
- }
- else{
- if (listSimulParamsMesuresList.getSelectedIndex() != -1){
- buttonSimulParamsMesuresRemove.setEnabled(true);
- setSimulParamsRulesModel();
- }
- buttonSimulParamsMesuresClear.setEnabled(true);
- }
- }
- protected void setSimulParamsRulesModel(){
- DefaultTableModel model = new DefaultTableModel();
- Map<String, Class> values;
+}
+protected void strategySelected(){
+ getContextValue(SimulAction.class).setStrategies(listSimulParamsStrategies.getSelectedValues());
+}
+protected void saveDescription(){
+ getContextValue(SimulAction.class).getSimulationParameter().setDescription(fieldSimulParamsDesc.getText());
+}
+protected void setRulesButton(){
+ if (getContextValue(SimulAction.class).getRules().toArray().length == 0){
+ buttonSimulParamsMesuresClear.setEnabled(false);
+ buttonSimulParamsMesuresRemove.setEnabled(false);
+ }
+ else{
if (listSimulParamsMesuresList.getSelectedIndex() != -1){
- values = getContextValue(SimulAction.class).getRuleParameterName(listSimulParamsMesuresList.getSelectedValue().toString());
- model = new DefaultTableModel(){
- @Override
- public boolean isCellEditable(int row, int column) {
- boolean result = false;
- if (column > 0){
- result =true;
- }
- return result;
+ buttonSimulParamsMesuresRemove.setEnabled(true);
+ setSimulParamsRulesModel();
+ }
+ buttonSimulParamsMesuresClear.setEnabled(true);
+ }
+}
+ protected void setSimulParamsRulesModel(){
+ DefaultTableModel model = new DefaultTableModel();
+ Map<String, Class> values;
+ if (listSimulParamsMesuresList.getSelectedIndex() != -1){
+ values = getContextValue(SimulAction.class).getRuleParameterName(listSimulParamsMesuresList.getSelectedValue().toString());
+ model = new DefaultTableModel(){
+ @Override
+ public boolean isCellEditable(int row, int column) {
+ boolean result = false;
+ if (column > 0){
+ result =true;
}
- };
- java.util.List<Object> properties = new ArrayList<Object>();
- java.util.List<GenericCell> cells = new ArrayList<GenericCell>();
- for (Iterator<String> it = values.keySet().iterator(); it.hasNext();) {
- String name = it.next();
- Object propertie = getContextValue(SimulAction.class).getRuleParameterValue(name, listSimulParamsMesuresList.getSelectedValue().toString());
- GenericCell value = new GenericCell(name, values.get(name), null);
- properties.add(propertie);
- cells.add(value);
- }
- model.addColumn("Name", cells.toArray());
- model.addColumn("Value", properties.toArray());
+ return result;
+ }
+ };
+ java.util.List<Object> properties = new ArrayList<Object>();
+ java.util.List<GenericCell> cells = new ArrayList<GenericCell>();
+ for (Iterator<String> it = values.keySet().iterator(); it.hasNext();) {
+ String name = it.next();
+ Object propertie = getContextValue(SimulAction.class).getRuleParameterValue(name, listSimulParamsMesuresList.getSelectedValue().toString());
+ GenericCell value = new GenericCell(name, values.get(name), null);
+ properties.add(propertie);
+ cells.add(value);
}
- simulParamsRules.setModel(model);
- ParameterColumnEditor cellEditor = new ParameterColumnEditor();
- cellEditor.setRegion(getContextValue(SimulAction.class).getRegionStorage());
- simulParamsRules.getColumnModel().getColumn(1).setCellEditor(cellEditor);
- simulParamsRules.getModel().addTableModelListener(new TableModelListener() {
- @Override
- public void tableChanged(TableModelEvent e) {
- int row = e.getFirstRow();
- TableModel model = (TableModel)e.getSource();
- GenericCell data = (GenericCell) model.getValueAt(row, 0);
- getContextValue(SimulAction.class).setRuleParameterValue(data.getName(), listSimulParamsMesuresList.getSelectedValue().toString(), model.getValueAt(row, 1));
- }
- });
+ model.addColumn("Name", cells.toArray());
+ model.addColumn("Value", properties.toArray());
}
- protected void selectFilter(){
- try {
- getContextValue(SimulAction.class).setOldSimulatorNames(fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil.filterSimulation(getContextValue(SimulAction.class).getOldSimulationItem()));
- refresh();
- } catch (ParseException ex) {
- Logger.getLogger(ParamsUI.class.getName()).log(Level.SEVERE, null, ex);
- } catch (IOException ex) {
- Logger.getLogger(ParamsUI.class.getName()).log(Level.SEVERE, null, ex);
+ simulParamsRules.setModel(model);
+ ParameterColumnEditor cellEditor = new ParameterColumnEditor();
+ cellEditor.setRegion(getContextValue(SimulAction.class).getRegionStorage());
+ simulParamsRules.getColumnModel().getColumn(1).setCellEditor(cellEditor);
+ simulParamsRules.getModel().addTableModelListener(new TableModelListener() {
+ @Override
+ public void tableChanged(TableModelEvent e) {
+ int row = e.getFirstRow();
+ TableModel model = (TableModel)e.getSource();
+ GenericCell data = (GenericCell) model.getValueAt(row, 0);
+ getContextValue(SimulAction.class).setRuleParameterValue(data.getName(), listSimulParamsMesuresList.getSelectedValue().toString(), model.getValueAt(row, 1));
}
+ });
+}
+protected void selectFilter(){
+ try {
+ getContextValue(SimulAction.class).setOldSimulatorNames(fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil.filterSimulation(getContextValue(SimulAction.class).getOldSimulationItem()));
+ refresh();
+ } catch (ParseException ex) {
+ Logger.getLogger(ParamsUI.class.getName()).log(Level.SEVERE, null, ex);
+ } catch (IOException ex) {
+ Logger.getLogger(ParamsUI.class.getName()).log(Level.SEVERE, null, ex);
}
- protected ComboBoxModel getSimulParamsSelectModel() {
- return getSimulParamsSelectModel(false);
- }
- protected ComboBoxModel getSimulParamsSelectModel(boolean force) {
- java.util.List<String> items = getContextValue(SimulAction.class).getFilteredOldSimulatorNames(force);
- DefaultComboBoxModel result = new DefaultComboBoxModel();
- if (items != null){
- for (String s : items){
- result.addElement(s);
- }
+}
+protected ComboBoxModel getSimulParamsSelectModel() {
+ return getSimulParamsSelectModel(false);
+}
+protected ComboBoxModel getSimulParamsSelectModel(boolean force) {
+ java.util.List<String> items = getContextValue(SimulAction.class).getFilteredOldSimulatorNames(force);
+ DefaultComboBoxModel result = new DefaultComboBoxModel();
+ if (items != null){
+ for (String s : items){
+ result.addElement(s);
}
- return result;
}
- protected void resetFilter(){
- getContextValue(SimulAction.class).resetOldSimulatorNames();
- }
- protected void saveName(){
- getContextValue(SimulAction.class).setName(fieldSimulParamsName.getText());
- }
- public Element save(){
- Element result = DocumentHelper.createElement("paramsUI");
- for (String name : $objectMap.keySet()){
- Object o = $objectMap.get(name);
- if (!name.matches("^\\$.*")){
- Element child = DocumentHelper.createElement(name);
- if (JComboBox.class.isInstance(o)){
- Object value = ((JComboBox)o).getSelectedItem();
- child.addAttribute("value", value.toString());
+ return result;
+}
+protected void resetFilter(){
+ getContextValue(SimulAction.class).resetOldSimulatorNames();
+}
+protected void saveName(){
+ getContextValue(SimulAction.class).setName(fieldSimulParamsName.getText());
+}
+public Element save(){
+ Element result = DocumentHelper.createElement("paramsUI");
+ for (String name : $objectMap.keySet()){
+ Object o = $objectMap.get(name);
+ if (!name.matches("^\\$.*")){
+ Element child = DocumentHelper.createElement(name);
+ if (JComboBox.class.isInstance(o)){
+ Object value = ((JComboBox)o).getSelectedItem();
+ child.addAttribute("value", value.toString());
+ }
+ if (JList.class.isInstance(o)){
+ Object[] values = ((JList)o).getSelectedValues();
+ for (Object value : values){
+ child.add(DocumentHelper.createElement("item").addAttribute("value", value.toString()));
}
- if (JList.class.isInstance(o)){
- Object[] values = ((JList)o).getSelectedValues();
- for (Object value : values){
- child.add(DocumentHelper.createElement("item").addAttribute("value", value.toString()));
- }
- }
- else if (JTextComponent.class.isInstance(o)){
- child.addText(((JTextComponent)o).getText());
- }
- else if (AbstractButton.class.isInstance(o)){
- child.addAttribute("selected", ((AbstractButton)o).isSelected() + "");
- }
- else if (JTable.class.isInstance(o)){
- JTable table = (JTable)o;
- for (int i=0;i<table.getColumnCount();i++){
- Element column = DocumentHelper.createElement("column");
- for (int j=0;j<table.getRowCount();j++){
- Element row = DocumentHelper.createElement("row");
- Object value = table.getValueAt(j, i);
- if (value != null){
- row.add(DocumentHelper.createElement("cell").addAttribute("value", value.toString()));
- }
- else {
- row.add(DocumentHelper.createElement("cell").addAttribute("value", null));
- }
- column.add(row);
+ }
+ else if (JTextComponent.class.isInstance(o)){
+ child.addText(((JTextComponent)o).getText());
+ }
+ else if (AbstractButton.class.isInstance(o)){
+ child.addAttribute("selected", ((AbstractButton)o).isSelected() + "");
+ }
+ else if (JTable.class.isInstance(o)){
+ JTable table = (JTable)o;
+ for (int i=0;i<table.getColumnCount();i++){
+ Element column = DocumentHelper.createElement("column");
+ for (int j=0;j<table.getRowCount();j++){
+ Element row = DocumentHelper.createElement("row");
+ Object value = table.getValueAt(j, i);
+ if (value != null){
+ row.add(DocumentHelper.createElement("cell").addAttribute("value", value.toString()));
}
- child.add(column);
+ else {
+ row.add(DocumentHelper.createElement("cell").addAttribute("value", null));
+ }
+ column.add(row);
}
+ child.add(column);
}
- result.add(child);
}
+ result.add(child);
}
- return result;
}
+ return result;
+}
]]>
</script>
<row>
@@ -421,7 +417,7 @@
<Table>
<row>
<cell fill="horizontal">
- <JLabel text="isisfish.params.simulationName" minimumSize='{new Dimension(140,25)}' preferredSize='{new Dimension(140,25)}'/>
+ <JLabel id='lblName' text='{isSensitivity() ? _("isisfish.params.sensibilityName") : _("isisfish.params.simulationName")}' minimumSize='{new Dimension(140,25)}' preferredSize='{new Dimension(140,25)}'/>
</cell>
<cell fill="both" weightx="1.0">
<JTextField id="fieldSimulParamsName" onFocusLost='saveName()'/>
@@ -586,10 +582,10 @@
<Table>
<row>
<cell fill="horizontal" weightx="0.3">
- <JCheckBox text="isisfish.params.usePreSimulationScript" id="fieldUseSimulPreScripts" onItemStateChanged='enablePreSimul()'/>
+ <JCheckBox text="isisfish.params.usePreSimulationScript" id="fieldUseSimulPreScripts" visible='{!isSensitivity()}' onItemStateChanged='enablePreSimul()'/>
</cell>
<cell fill="horizontal" weightx="0.3">
- <JCheckBox text="isisfish.params.useAnalysePlan" id="fieldSimulUseAnalysePlan" onItemStateChanged='enableAnalysePlan()'/>
+ <JCheckBox text="isisfish.params.useAnalysePlan" id="fieldSimulUseAnalysePlan" visible='{!isSensitivity()}' onItemStateChanged='enableAnalysePlan()'/>
</cell>
<cell fill="horizontal" weightx="0.3">
<JCheckBox text="isisfish.params.onlyExportSimulation" id="fieldSimulOnlyExport" onItemStateChanged='enableOnlyExport()'/>
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-12 11:44:11 UTC (rev 1949)
@@ -625,6 +625,8 @@
isisfish.params.onlyExportSimulation=Only export simulation
isisfish.params.populationNumbers=Population numbers input
isisfish.params.ruleParameters=Rule's parameters
+isisfish.params.sensibility=Sensibility
+isisfish.params.sensibilityName=Sensitivity name
isisfish.params.simulationName=Simulation name
isisfish.params.title=Parameters
isisfish.params.toString.fishery=P\u00EAcherie\: %1$s\n\n
@@ -683,14 +685,14 @@
isisfish.populationMigration.useEquation=Use equation
isisfish.populationMigrationEmigration.coefficient=Coefficient
isisfish.populationMigrationEmigration.departureZone=Departure Zone
-isisfish.populationMigrationEmigration.title=
+isisfish.populationMigrationEmigration.title=Population emigration
isisfish.populationMigrationImmigration.arrivalZone=Arrival Zone
isisfish.populationMigrationImmigration.coefficient=Coefficient
-isisfish.populationMigrationImmigration.title=
+isisfish.populationMigrationImmigration.title=Population immigration
isisfish.populationMigrationMigration.arrivalZone=Arrival Zone
isisfish.populationMigrationMigration.coefficient=Coefficient
isisfish.populationMigrationMigration.departureZone=Departure Zone
-isisfish.populationMigrationMigration.title=
+isisfish.populationMigrationMigration.title=Population migration
isisfish.populationRecruitment.comments=Comments
isisfish.populationRecruitment.recruitmentDistribution=Recruitment Distribution
isisfish.populationRecruitment.reproductionEquation=ReproductionEquation
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-11 17:14:53 UTC (rev 1948)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-12 11:44:11 UTC (rev 1949)
@@ -625,6 +625,8 @@
isisfish.params.onlyExportSimulation=Exporter uniquement des simulations
isisfish.params.populationNumbers=Donn\u00E9es de population
isisfish.params.ruleParameters=Param\u00E8tres des r\u00E8gles
+isisfish.params.sensibility=Sensibilit\u00E9
+isisfish.params.sensibilityName=Nom de l'analyse de sensibilit\u00E9
isisfish.params.simulationName=Nom de la simulation
isisfish.params.title=Param\u00E8tres
isisfish.params.toString.fishery=P\u00EAcherie\: %1$s\n\n
@@ -683,14 +685,14 @@
isisfish.populationMigration.useEquation=Utiliser l'\u00E9quation
isisfish.populationMigrationEmigration.coefficient=Coefficient
isisfish.populationMigrationEmigration.departureZone=Zone de d\u00E9part
-isisfish.populationMigrationEmigration.title=
+isisfish.populationMigrationEmigration.title=Population emmigration
isisfish.populationMigrationImmigration.arrivalZone=Zone d'arriv\u00E9e
isisfish.populationMigrationImmigration.coefficient=Coefficient
-isisfish.populationMigrationImmigration.title=
+isisfish.populationMigrationImmigration.title=Population immigration
isisfish.populationMigrationMigration.arrivalZone=Zone d'arriv\u00E9e
isisfish.populationMigrationMigration.coefficient=Coefficient
isisfish.populationMigrationMigration.departureZone=Zone de d\u00E9part
-isisfish.populationMigrationMigration.title=
+isisfish.populationMigrationMigration.title=Population migration
isisfish.populationRecruitment.comments=Commentaires
isisfish.populationRecruitment.recruitmentDistribution=Distribution du recrutement
isisfish.populationRecruitment.reproductionEquation=Equation de reproduction
@@ -855,7 +857,7 @@
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
isisfish.sensitivity.title=S\u00E9lection des facteurs
-isisfish.sensitivityChooser.title=S\u00E9lection des sensibilit\u00E9es
+isisfish.sensitivityChooser.title=Param\u00E8tres de la sensibilit\u00E9
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
isisfish.setOfVessels.comments=Commentaires
isisfish.setOfVessels.fixedCosts=Co\u00FBts fixes
Modified: isis-fish/trunk/src/main/resources/icons/building.png
===================================================================
(Binary files differ)
Modified: isis-fish/trunk/src/main/resources/icons/building_add.png
===================================================================
(Binary files differ)
1
0
r1948 - isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 17:14:53 +0000 (Wed, 11 Mar 2009)
New Revision: 1948
Modified:
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
Log:
Fix test
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-11 17:03:35 UTC (rev 1947)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-11 17:14:53 UTC (rev 1948)
@@ -18,25 +18,35 @@
package fr.ifremer.isisfish.mexico;
+import java.io.File;
+import java.io.IOException;
+
import junit.framework.Assert;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.codelutin.math.matrix.MatrixFactory;
+import org.codelutin.math.matrix.MatrixND;
+import org.codelutin.util.FileUtil;
+import org.junit.Ignore;
import org.junit.Test;
+import fr.ifremer.TestUtils;
import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.MatrixContinuousDomain;
/**
- * TODO COMMENT ME.
+ * Test for MexicoHelper class.
*
* @author chatellier
- * @version $Revision: 1.0 $
- *
- * Last update : $Date: 5 mars 2009 $
- * By : $Author: chatellier $
+ * @version $Revision: 1526 $
+ *
+ * Last update: $Date: 2008-10-07 18:46:13 +0200 (mar 07 oct 2008) $
+ * by : $Author: tchemit $
*/
public class MexicoHelperTest {
@@ -45,51 +55,86 @@
/**
* Test method {@link MexicoHelper#getDesignPlanAsXML(DesignPlan)}.
+ * @throws IOException
*/
@Test
- public void testGetDesignPlanAsXML() {
+ public void testGetDesignPlanAsXML() throws IOException {
+ // matrix 1
+ MatrixND matrix1 = MatrixFactory.getInstance().create("test1",
+ new int[] { 3, 2 }, new String[] { "col1", "col2" });
+ matrix1.setValue(new int[] { 0, 0 }, 13);
+ matrix1.setValue(new int[] { 0, 1 }, -14);
+ matrix1.setValue(new int[] { 1, 0 }, 21);
+ matrix1.setValue(new int[] { 1, 1 }, 2);
+ matrix1.setValue(new int[] { 2, 0 }, 12);
+ matrix1.setValue(new int[] { 2, 1 }, -1);
+
DesignPlan designPlan = new DesignPlan();
// factor 1
- Factor<Double> factor1 = new Factor<Double>("factor 1 (double)");
+ Factor<Double> factorContinuous = new Factor<Double>("factor 1 (double)");
ContinuousDomain<Double> domain1 = new ContinuousDomain<Double>();
domain1.setMinBound(0.0);
domain1.setMaxBound(50.0);
- factor1.setDomain(domain1);
- factor1.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength");
+ factorContinuous.setDomain(domain1);
+ factorContinuous.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521013#0.1715620681984218#maxLength");
// factor 2
- Factor<Double> factor2 = new Factor<Double>("factor 2 (double)");
+ Factor<Double> factorDiscrete = new Factor<Double>("factor 2 (double)");
DiscreteDomain<Double> domain2 = new DiscreteDomain<Double>();
domain2.getValues().put(0.0, 12.3);
domain2.getValues().put(1.0, 70.9);
domain2.getValues().put(2.0, 21.0);
domain2.getValues().put(3.0, -12.1);
domain2.getValues().put(4.0, -8.45);
- factor2.setDomain(domain2);
- factor2.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength");
- factor2.setValue(3.0);
+ factorDiscrete.setDomain(domain2);
+ factorDiscrete.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521064#0.022976136053553198#minLength");
+ factorDiscrete.setValue(3.0);
// factor 3
- Factor<Double> factor3 = new Factor<Double>("factor 3 (double)");
- ContinuousDomain<Double> domain3 = new ContinuousDomain<Double>();
- domain3.setMinBound(12.0);
- domain3.setMaxBound(99.0);
- factor3.setDomain(domain3);
- factor3.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength");
+ Factor<MatrixND> factorContinuous2 = new Factor<MatrixND>("factor 3 (discrete matrix)");
+ DiscreteDomain<MatrixND> domain3 = new DiscreteDomain<MatrixND>();
+ domain3.getValues().put(0.0, matrix1);
+ factorContinuous2.setDomain(domain3);
+ factorContinuous2.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength");
+
+ // factor 4
+ Factor<Double> factorMatrixContinuous = new Factor<Double>("factor 4 (MatrixContinuous)");
+ MatrixContinuousDomain<Double> domain4 = new MatrixContinuousDomain<Double>();
+ domain4.setMinBound(1.0);
+ domain4.setMaxBound(2.0);
+ domain4.setMatrix(matrix1);
+ domain4.setOperator("-");
+ factorMatrixContinuous.setDomain(domain4);
+ factorMatrixContinuous.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#minLength");
+
+ // factor 5
+ Factor<Double> factorEquationContinuous = new Factor<Double>("factor 5 (EquationContinuous)");
+ EquationContinuousDomain<Double> domain5 = new EquationContinuousDomain<Double>();
+ domain5.setMinBound(1.0);
+ domain5.setMaxBound(2.0);
+ domain5.setVariableName("L1");
+ domain5.setOperator("-");
+ factorEquationContinuous.setDomain(domain5);
+ factorEquationContinuous.setPath("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673#maxLength");
- designPlan.getFactors().add(factor1);
- designPlan.getFactors().add(factor2);
- designPlan.getFactors().add(factor3);
+ designPlan.getFactors().add(factorContinuous);
+ designPlan.getFactors().add(factorDiscrete);
+ designPlan.getFactors().add(factorContinuous2);
+ designPlan.getFactors().add(factorMatrixContinuous);
+ designPlan.getFactors().add(factorEquationContinuous);
// test xml export
String xml = MexicoHelper.getDesignPlanAsXML(designPlan);
+
Assert.assertTrue(xml.indexOf("<factor name=\"factor 2 (double)\"") != -1);
- Assert.assertTrue(xml.indexOf("<value label=\"0.0\">12.3</value>") != -1);
- Assert.assertTrue(xml.indexOf("<value label=\"min\">12.0</value>") != -1);
+ //Assert.assertTrue(xml.indexOf("<range min=\"12.0\" max=\"99.0\" />") != -1);
+ Assert.assertTrue(xml.indexOf("<value>70.9</value>") != -1);
- if (log.isInfoEnabled()) {
+ if (log.isDebugEnabled()) {
+ xml = xml.replaceAll(">", ">\n");
+ FileUtil.writeString(new File(TestUtils.getTargetdir(),"mexicohelper_factors.xml"), xml);
log.info("Designplan xml = " + xml);
}
}
1
0
r1947 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 17:03:35 +0000 (Wed, 11 Mar 2009)
New Revision: 1947
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
Log:
Set # in path
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 16:59:53 UTC (rev 1946)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 17:03:35 UTC (rev 1947)
@@ -85,7 +85,9 @@
continueMax = getNewComponent();
continueMin = getNewComponent();
- this.path = bean.getTopiaId() + "." + EditorHelper.getMethod(cOrigine);
+ // path is topiaId#property
+ // ex : fwn#fsd#0.3425345#name
+ this.path = bean.getTopiaId() + "#" + EditorHelper.getMethod(cOrigine);
factorName.setText(path);
setContinuePossible(b);
1
0
r1946 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: sletellier
Date: 2009-03-11 16:59:53 +0000 (Wed, 11 Mar 2009)
New Revision: 1946
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
Log:
Debug sensibility path
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 16:41:51 UTC (rev 1945)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 16:59:53 UTC (rev 1946)
@@ -85,7 +85,7 @@
continueMax = getNewComponent();
continueMin = getNewComponent();
- this.path = bean.toString() + "." + EditorHelper.getMethod(cOrigine);
+ this.path = bean.getTopiaId() + "." + EditorHelper.getMethod(cOrigine);
factorName.setText(path);
setContinuePossible(b);
@@ -239,7 +239,7 @@
</cell>
</row>
<row>
- <cell columns='4' fill='both' weightx='1' weighty='1'>
+ <cell columns='4' fill='both' weightx='1' weighty='0.5'>
<JTabbedPane id='tabPane' visible='{isTabVisible() && !isContinueSelected()}' enabled='{!isContinueSelected()}'/>
</cell>
</row>
@@ -249,7 +249,7 @@
</cell>
</row>
<row>
- <cell columns='4' fill='both' weightx='1' weighty='1'>
+ <cell columns='4' fill='both' weightx='1' weighty='0.5'>
<JScrollPane>
<JTextArea id='comment'/>
</JScrollPane>
1
0
r1945 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator resources/i18n
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
by sletellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: sletellier
Date: 2009-03-11 16:41:51 +0000 (Wed, 11 Mar 2009)
New Revision: 1945
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
Log:
Simulation with sensibility is enabled
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx 2009-03-11 15:24:51 UTC (rev 1944)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationUI.jaxx 2009-03-11 16:41:51 UTC (rev 1945)
@@ -137,9 +137,9 @@
<JPanel id="hidablePanel" layout='{new CardLayout()}'>
<PopulationMigrationEquationUI id='populationMigrationEquationUI' constraints='"fieldUseEquation"' constructorParams='this'/>
<JTabbedPane id="fieldUseMatrix" constraints='"fieldUseMatrix"'>
- <tab title='{_("isisfish.metier.title")}'><PopulationMigrationMigrationUI id="populationMigrationMigrationUI" constructorParams='this'/></tab>
- <tab title='{_("isisfish.metierSeasonInfoZone.title")}'><PopulationMigrationImmigrationUI id="populationMigrationImmigrationUI" constructorParams='this'/></tab>
- <tab title='{_("isisfish.metierSeasonInfoSpecies.title")}'><PopulationMigrationEmigrationUI id="populationMigrationEmigrationUI" constructorParams='this'/></tab>
+ <tab title='{_("isisfish.populationMigrationMigration.title")}'><PopulationMigrationMigrationUI id="populationMigrationMigrationUI" constructorParams='this'/></tab>
+ <tab title='{_("isisfish.populationMigrationImmigration.title")}'><PopulationMigrationImmigrationUI id="populationMigrationImmigrationUI" constructorParams='this'/></tab>
+ <tab title='{_("isisfish.populationMigrationEmigration.title")}'><PopulationMigrationEmigrationUI id="populationMigrationEmigrationUI" constructorParams='this'/></tab>
</JTabbedPane>
</JPanel>
</cell>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 15:24:51 UTC (rev 1944)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-11 16:41:51 UTC (rev 1945)
@@ -201,13 +201,17 @@
<JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
- <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
+ <JScrollPane>
+ <JPanel id='continueMinPanel' layout='{new BorderLayout()}'/>
+ </JScrollPane>
</cell>
<cell fill='horizontal'>
<JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
</cell>
<cell fill='horizontal' weightx='0.5'>
- <JPanel id='continueMaxPanel' layout='{new BorderLayout()}'/>
+ <JScrollPane>
+ <JPanel id='continueMaxPanel' layout='{new BorderLayout()}'/>
+ </JScrollPane>
</cell>
</row>
<row>
@@ -240,6 +244,18 @@
</cell>
</row>
<row>
+ <cell columns='4' fill='horizontal'>
+ <JLabel text='isisfish.factor.comment'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='4' fill='both' weightx='1' weighty='1'>
+ <JScrollPane>
+ <JTextArea id='comment'/>
+ </JScrollPane>
+ </cell>
+ </row>
+ <row>
<cell fill='horizontal' weightx='0.25'>
<JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/>
</cell>
Added: 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 (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityChooserUI.jaxx 2009-03-11 16:41:51 UTC (rev 1945)
@@ -0,0 +1,118 @@
+<!--
+/* *##%
+ * Copyright (C) 2005
+ * Ifremer, Code Lutin, Cedric Pineau, Benjamin Poussin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+/* *
+ * IsisFish.java
+ *
+ * Created: 1 aout 2005 18:37:25 CEST
+ *
+ * @author Benjamin POUSSIN <poussin at codelutin.com>
+ * @version $Revision: 1312 $
+ *
+ * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $
+ * by : $Author: sletellier $
+ */
+ -->
+
+<Table>
+<script><![CDATA[
+import javax.swing.table.DefaultTableModel;
+import javax.swing.table.TableModel;
+import jaxx.runtime.swing.Item;
+import fr.ifremer.isisfish.datastore.SensitivityStorage;
+import fr.ifremer.isisfish.ui.simulator.SimulAction;
+import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
+import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor;
+
+public ComboBoxModel getSensitivityModel(){
+ java.util.List<Item> items = new ArrayList<Item>();
+ items.add(new Item("null", " ", null, true));
+ for (String s : getSimulAction().getSensitivityName()){
+ items.add(new Item(s, s, s, false));
+ }
+ fieldSensitivitySelect.setItems(items);
+ return fieldSensitivitySelect.getModel();
+}
+protected SimulAction getSimulAction(){
+ return getContextValue(SimulAction.class);
+}
+protected void sensChanged(){
+ if (fieldSensitivitySelect.getSelectedIndex() != -1){
+ getSimulAction().setSensitivity((String)fieldSensitivitySelect.getSelectedItem());
+ setTableModel();
+ }
+}
+protected void setTableModel(){
+ Map<String, Class<?>> values = getSimulAction().getSensitivityParameterNames((String)fieldSensitivitySelect.getSelectedItem());
+ int row = 0;
+ if (values != null){
+ DefaultTableModel model = new DefaultTableModel(){
+ @Override
+ public boolean isCellEditable(int row, int column) {
+ boolean result = false;
+ if (column > 0){
+ result =true;
+ }
+ return result;
+ }
+ };
+ java.util.List<GenericCell> valuesList = new ArrayList<GenericCell>();
+ java.util.List<Object> propertyList = new ArrayList<Object>();
+ for (Iterator<String> it = values.keySet().iterator(); it.hasNext();) {
+ String name = it.next();
+ Object properties = getContextValue(SimulAction.class).getSensitivityParameterValue(name);
+ GenericCell value = new GenericCell(name, values.get(name), null);
+ valuesList.add(value);
+ propertyList.add(properties);
+ row++;
+ }
+ model.addColumn("Name", valuesList.toArray());
+ model.addColumn("Value", propertyList.toArray());
+ simulSensitivityParam.setModel(model);
+ ParameterColumnEditor cellEditor = new ParameterColumnEditor();
+ cellEditor.setRegion(getContextValue(SimulAction.class).getRegionStorage());
+ simulSensitivityParam.getColumnModel().getColumn(1).setCellEditor(cellEditor);
+ simulSensitivityParam.getModel().addTableModelListener(new TableModelListener() {
+ @Override
+ public void tableChanged(TableModelEvent e) {
+ int row = e.getFirstRow();
+ TableModel model = (TableModel)e.getSource();
+ GenericCell data = (GenericCell) model.getValueAt(row, 0);
+ getContextValue(SimulAction.class).setSensitivityParameterValue(data.getName(), model.getValueAt(row, 1));
+ }
+ });
+
+ }
+}
+ ]]>
+ </script>
+ <row>
+ <cell columns="2" fill="horizontal" weightx="1.0">
+ <JComboBox id="fieldSensitivitySelect" model='{getSensitivityModel()}' onActionPerformed='sensChanged()'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns="2" fill="both" weightx="1.0" weighty="1.0">
+ <JScrollPane>
+ <JTable id="simulSensitivityParam" rowHeight='24'/>
+ </JScrollPane>
+ </cell>
+ </row>
+</Table>
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-11 15:24:51 UTC (rev 1944)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityUI.jaxx 2009-03-11 16:41:51 UTC (rev 1945)
@@ -52,6 +52,9 @@
<tab title='isisfish.params.title'>
<ParamsUI id='paramsUI' constructorParams='getContextValue(SimulAction.class)'/>
</tab>
+ <tab title='isisfish.sensitivityChooser.title'>
+ <SensitivityChooserUI id="sensitivityChooserUI" constructorParams='new JAXXInitialContext().add(this)'/>
+ </tab>
<tab title='isisfish.sensitivity.title'>
<SensitivityTabUI id="sensitivityTabUI" constructorParams='new JAXXInitialContext().add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
</tab>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-11 15:24:51 UTC (rev 1944)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-11 16:41:51 UTC (rev 1945)
@@ -172,7 +172,12 @@
setRulesItems();
}
protected void simul(){
- getContextValue(SimulAction.class).launchSimulation(fieldSimulParamsName.getText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
+ if (!isSensitivity()){
+ getContextValue(SimulAction.class).launchSimulation(fieldSimulParamsName.getText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
+ }
+ else{
+ getContextValue(SimulAction.class).launchSimulationWhithSensibility(fieldSimulParamsName.getText(), (SimulatorLauncher)comboSelLauncher.getSelectedItem());
+ }
getParentContainer(WelcomeTabUI.class).selTab(5);
}
protected void enablePreSimul(){
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-11 15:24:51 UTC (rev 1944)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-11 16:41:51 UTC (rev 1945)
@@ -105,6 +105,8 @@
protected SensitivityStorage sensitivityStorage = null;
protected Map<String, Factor<? extends Serializable>> factors = new HashMap<String, Factor<? extends Serializable>>();
protected Map<String, JComponent> factorComponent = new HashMap<String, JComponent>();
+ protected DesignPlan designPlan = new DesignPlan();
+ protected SensitivityCalculator sensitivityCalculator = null;
/*
************
* Init
@@ -607,11 +609,54 @@
public List<String> getSensitivityName(){
return SensitivityStorage.getSensitivityNames();
}
+ public void addSensitivity(String name){
+ try {
+ SensitivityCalculator sens = SensitivityStorage.getSensitivity(name).getNewSensitivityInstance();
+ getSimulationParameter().setSensitivityCalculator(sens);
+ } catch (IsisFishException ex) {
+ Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex);
+ showMsgBox(ex);
+ }
+ }
+ public Map<String, Class<?>> getSensitivityParameterNames(String name){
+ Map<String, Class<?>> result = null;
+ try {
+ SensitivityStorage sens = SensitivityStorage.getSensitivity(name);
+ result = sens.getParameterNames();
+ } catch (IsisFishException ex) {
+ Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ return result;
+ }
+ public Object getSensitivityParameterValue(String paramName){
+ Object result = null;
+ try {
+ result = SensitivityStorage.getParameterValue(param.getSensitivityCalculator(), paramName);
+ } catch (IsisFishException ex) {
+ Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex);
+ showMsgBox(ex);
+ }
+ return result;
+ }
+ public void setSensitivityParameterValue(String paramName, Object value){
+ try {
+ SensitivityStorage.setParameterValue(param.getSensitivityCalculator(), paramName, value);
+ } catch (IsisFishException ex) {
+ Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex);
+ showMsgBox(ex);
+ }
+ }
public SensitivityStorage getSensitivity(String name){
return SensitivityStorage.getSensitivity(name);
}
public void setSensitivity(String name){
- sensitivityStorage = SensitivityStorage.getSensitivity(name);
+ try {
+ sensitivityStorage = SensitivityStorage.getSensitivity(name);
+ SensitivityCalculator sensCal = sensitivityStorage.getNewSensitivityInstance();
+ sensitivityCalculator = sensCal;
+ } catch (IsisFishException ex) {
+ Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex);
+ }
}
public List<Factor<? extends Serializable>> getFactors(){
List<Factor<? extends Serializable>> result = new ArrayList<Factor<? extends Serializable>>();
@@ -623,6 +668,7 @@
public void addFactor(String path, Factor f, JComponent c){
factors.put(path, f);
factorComponent.put(path, c);
+ designPlan.setFactors(getFactors());
}
public Factor<? extends Serializable> getFactor(String name){
return factors.get(name);
@@ -659,6 +705,7 @@
public void removeFactor(String path){
factors.remove(path);
factorComponent.remove(path);
+ designPlan.setFactors(getFactors());
}
/*
@@ -763,4 +810,9 @@
showMsgBox(eee);
}
}
+
+
+ public void launchSimulationWhithSensibility(String simulationId, SimulatorLauncher launcher) {
+ launchSimulation(simulationId, launcher, sensitivityCalculator, designPlan);
+ }
}
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-11 15:24:51 UTC (rev 1944)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-11 16:41:51 UTC (rev 1945)
@@ -351,6 +351,7 @@
isisfish.export.directory=Export directory
isisfish.export.saved=Export saved
isisfish.export.title=Results export
+isisfish.factor.comment=Comment
isisfish.factor.continue=Continue factor
isisfish.factor.discret=Discret factor
isisfish.factor.firstValue=First value
@@ -638,7 +639,7 @@
isisfish.params.toString.simul.logger.level=Level of simulator's logger %1$s
isisfish.params.toString.simulation.done=Simulation done with %1$s\:
isisfish.params.toString.strategies=Strat\u00E9gies d'exploitation\:
-isisfish.params.useAnalysePlan=Use analyse plan
+isisfish.params.useAnalysePlan=Use simulation plan
isisfish.params.usePreSimulationScript=Use pre simulation script
isisfish.population.capturability=Capturability
isisfish.population.comments=Comments
@@ -682,11 +683,14 @@
isisfish.populationMigration.useEquation=Use equation
isisfish.populationMigrationEmigration.coefficient=Coefficient
isisfish.populationMigrationEmigration.departureZone=Departure Zone
+isisfish.populationMigrationEmigration.title=
isisfish.populationMigrationImmigration.arrivalZone=Arrival Zone
isisfish.populationMigrationImmigration.coefficient=Coefficient
+isisfish.populationMigrationImmigration.title=
isisfish.populationMigrationMigration.arrivalZone=Arrival Zone
isisfish.populationMigrationMigration.coefficient=Coefficient
isisfish.populationMigrationMigration.departureZone=Departure Zone
+isisfish.populationMigrationMigration.title=
isisfish.populationRecruitment.comments=Comments
isisfish.populationRecruitment.recruitmentDistribution=Recruitment Distribution
isisfish.populationRecruitment.reproductionEquation=ReproductionEquation
@@ -850,7 +854,8 @@
isisfish.sensWizardPanels.validate=Validate
isisfish.sensWizardPanels.values=Values
isisfish.sensibilityWizard.title=Sensibility Wizard
-isisfish.sensitivity.title=Sensitivities input
+isisfish.sensitivity.title=Factors input
+isisfish.sensitivityChooser.title=Sensitivities input
isisfish.server.ssh.generateKey.title=Generate Ssh key
isisfish.setOfVessels.comments=Comments
isisfish.setOfVessels.fixedCosts=Fixed costs
Modified: isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties
===================================================================
--- isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-11 15:24:51 UTC (rev 1944)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-11 16:41:51 UTC (rev 1945)
@@ -351,6 +351,7 @@
isisfish.export.directory=Dossier d'export
isisfish.export.saved=Exports des r\u00E9sultats sauvegard\u00E9s
isisfish.export.title=Export des r\u00E9sultats
+isisfish.factor.comment=Commentaires
isisfish.factor.continue=Facteur continue
isisfish.factor.discret=Facteur discret
isisfish.factor.firstValue=Premi\u00E8re valeur
@@ -638,7 +639,7 @@
isisfish.params.toString.simul.logger.level=niveau du logger de simulateur %1$s
isisfish.params.toString.simulation.done=Simulation r\u00E9alis\u00E9e avec %1$s\:
isisfish.params.toString.strategies=Strat\u00E9gies d'exploitation\:
-isisfish.params.useAnalysePlan=Utiliser le plan d'analyse
+isisfish.params.useAnalysePlan=Utiliser le plan de simulation
isisfish.params.usePreSimulationScript=Utiliser un script de pr\u00E9-simulation
isisfish.population.capturability=Capturabilit\u0E009e
isisfish.population.comments=Commentaires
@@ -682,11 +683,14 @@
isisfish.populationMigration.useEquation=Utiliser l'\u00E9quation
isisfish.populationMigrationEmigration.coefficient=Coefficient
isisfish.populationMigrationEmigration.departureZone=Zone de d\u00E9part
+isisfish.populationMigrationEmigration.title=
isisfish.populationMigrationImmigration.arrivalZone=Zone d'arriv\u00E9e
isisfish.populationMigrationImmigration.coefficient=Coefficient
+isisfish.populationMigrationImmigration.title=
isisfish.populationMigrationMigration.arrivalZone=Zone d'arriv\u00E9e
isisfish.populationMigrationMigration.coefficient=Coefficient
isisfish.populationMigrationMigration.departureZone=Zone de d\u00E9part
+isisfish.populationMigrationMigration.title=
isisfish.populationRecruitment.comments=Commentaires
isisfish.populationRecruitment.recruitmentDistribution=Distribution du recrutement
isisfish.populationRecruitment.reproductionEquation=Equation de reproduction
@@ -851,6 +855,7 @@
isisfish.sensWizardPanels.values=Valeurs
isisfish.sensibilityWizard.title=Sensibility Wizard
isisfish.sensitivity.title=S\u00E9lection des facteurs
+isisfish.sensitivityChooser.title=S\u00E9lection des sensibilit\u00E9es
isisfish.server.ssh.generateKey.title=G\u00E9n\u00E9rer une cl\u00E9 SSH
isisfish.setOfVessels.comments=Commentaires
isisfish.setOfVessels.fixedCosts=Co\u00FBts fixes
1
0
r1944 - in isis-fish/trunk/src: main/resources/templates/prescript test/java/fr/ifremer/isisfish/simulator
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 15:24:51 +0000 (Wed, 11 Mar 2009)
New Revision: 1944
Modified:
isis-fish/trunk/src/main/resources/templates/prescript/factorprescript.ftl
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java
Log:
Gestion des EquationContinuousDomain. Positionnement des valeurs dans le contexte.
Modified: isis-fish/trunk/src/main/resources/templates/prescript/factorprescript.ftl
===================================================================
--- isis-fish/trunk/src/main/resources/templates/prescript/factorprescript.ftl 2009-03-11 15:23:48 UTC (rev 1943)
+++ isis-fish/trunk/src/main/resources/templates/prescript/factorprescript.ftl 2009-03-11 15:24:51 UTC (rev 1944)
@@ -25,6 +25,9 @@
TopiaEntity entity = db.findByTopiaId("fr.ifremer.isisfish.entities.PopulationGroup#1156461521076#0.6526656643346673");
BeanUtils.setProperty(entity, "minLength", value);
+Or :
+
+context.setValue("K1", 2, "-");
-->
import org.apache.commons.beanutils.BeanUtils;
@@ -35,6 +38,10 @@
<#list scenario.factors as factor>
// Factor : ${factor.name}
+<#-- Following is java instanceof equivalent -->
+<#if factor.domain.class.simpleName.equals("EquationContinuousDomain")>
+context.setValue("${factor.domain.variableName}", ${factor.value}, "${factor.domain.operator}");
+<#else>
<#assign value=factor.value />
<#assign serializedValue=beanUtils.convert(value)/>
<#assign path=factor.path />
@@ -43,5 +50,6 @@
Object value = beanUtils.convert("${serializedValue}", ${value.class.name}.class);
TopiaEntity entity = db.findByTopiaId("${topiaId}");
BeanUtils.setProperty(entity, "${propertyName}", value);
+</#if>
-</#list>
\ No newline at end of file
+</#list>
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java 2009-03-11 15:23:48 UTC (rev 1943)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java 2009-03-11 15:24:51 UTC (rev 1944)
@@ -52,6 +52,7 @@
import fr.ifremer.isisfish.simulator.sensitivity.Scenario;
import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.EquationContinuousDomain;
import fr.ifremer.isisfish.util.ConverterUtil;
import freemarker.template.Configuration;
import freemarker.template.Template;
@@ -69,8 +70,6 @@
*
* Last update : $Date: 24 févr. 2009 $
* By : $Author: chatellier $
- *
- * FIXME fix this test (empty schema error)
*/
public class SimulationPreScriptTest {
@@ -83,14 +82,13 @@
@BeforeClass
public static void init() throws Exception {
- //TestUtils.init();
freemarkerConfiguration = TestUtils.getFreemarkerConfiguration();
}
@Before
public void setUp() throws Exception {
// not do it in @BeforeClass
- // test wil fail !
+ // test will fail !
TestUtils.init();
System.setProperty("hibernate.hbm2ddl.auto", "create");
}
@@ -106,7 +104,9 @@
* @throws IOException
* @throws TemplateException
* @throws StorageException
- * @throws TopiaException
+ * @throws TopiaException
+ *
+ * FIXME fix this test (empty schema error)
*/
@Test
public void testFactorPreScriptFactorInt() throws IOException, TemplateException, StorageException, TopiaException {
@@ -173,7 +173,7 @@
// FIXME should test value remplaced by precript
//Assert.assertEquals(49, vesselType.getLength());
}
-
+
/**
* Creer un simulation.
* Creer un populationSeasonInfoDAO.
@@ -183,7 +183,9 @@
* @throws IOException
* @throws TemplateException
* @throws StorageException
- * @throws TopiaException
+ * @throws TopiaException
+ *
+ * FIXME fix this test (empty schema error)
*/
@Test
public void testFactorPreScriptFactorMatrix() throws IOException, TemplateException, StorageException, TopiaException {
@@ -246,12 +248,12 @@
factors.add(factor1);
factors.add(factor2);
scenario.setFactors(factors);
-
+
// context values
Map<String, Object> root = new HashMap<String, Object>();
root.put("scenario", scenario);
root.put("beanUtils", ConverterUtil.getConverter(null));
-
+
// process template
Template template = freemarkerConfiguration
.getTemplate("templates/prescript/factorprescript.ftl");
@@ -275,4 +277,49 @@
// FIXME should test value remplaced by precript
//Assert.assertEquals(matrix2, populationSeasonInfo.getMigrationMatrix());
}
+
+ /**
+ * Creer un scenario basé sur les EquationDomain.
+ *
+ * @throws IOException
+ * @throws TemplateException
+ * @throws StorageException
+ * @throws TopiaException
+ */
+ @Test
+ public void testFactorPreScriptEquation() throws IOException, TemplateException, StorageException, TopiaException {
+
+ // factor
+ Factor<Double> factorEquation = new Factor<Double>("test equation");
+ EquationContinuousDomain<Double> domain1 = new EquationContinuousDomain<Double>();
+ domain1.setMinBound(0.0);
+ domain1.setMaxBound(3.0);
+ domain1.setOperator("-");
+ domain1.setVariableName("PopulationEquation.K1");
+ factorEquation.setDomain(domain1);
+ factorEquation.setPath("org.codelutin.equation1#testFactorPreScriptEquation");
+ factorEquation.setValueForIdentifier(2.0);
+
+ log.info("Script = " + domain1.getClass().getSimpleName());
+
+ // scenario
+ Scenario scenario = new Scenario();
+ List<Factor<? extends Serializable>> factors = new ArrayList<Factor<? extends Serializable>>();
+ factors.add(factorEquation);
+ scenario.setFactors(factors);
+
+ // context values
+ Map<String, Object> root = new HashMap<String, Object>();
+ root.put("scenario", scenario);
+ root.put("beanUtils", ConverterUtil.getConverter(null));
+
+ // process template
+ Template template = freemarkerConfiguration.getTemplate("templates/prescript/factorprescript.ftl");
+ Writer out = new StringWriter();
+ template.process(root, out);
+ out.flush();
+ String scriptContent = out.toString();
+ //log.info("Script = " + scriptContent);
+ Assert.assertTrue(scriptContent.indexOf("\"PopulationEquation.K1\", 2, \"-\"") != -1);
+ }
}
1
0
r1943 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 15:23:48 +0000 (Wed, 11 Mar 2009)
New Revision: 1943
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
Log:
Ajout des parametres concernant les plan de sensibilit?\195?\169s.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-03-11 15:23:13 UTC (rev 1942)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-03-11 15:23:48 UTC (rev 1943)
@@ -401,6 +401,10 @@
SensitivityScenarios sensitivityScenarios = sensitivitycalculator
.compute(designPlan);
+ // ajout des parametres de simulation
+ param.setSensitivityCalculator(sensitivitycalculator);
+ param.setNumberOfSensitivitySimulation(sensitivityScenarios.getScenarios().size());
+
// on l'ajoute tout de suite a la liste des simulations demandee
// init with default "id" must been changed for designPlan
// simulation
1
0
r1942 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 15:23:13 +0000 (Wed, 11 Mar 2009)
New Revision: 1942
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java
Log:
Improve visitors.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java 2009-03-11 15:23:06 UTC (rev 1941)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java 2009-03-11 15:23:13 UTC (rev 1942)
@@ -48,7 +48,7 @@
* @param label value label or property name
* @param value value
*/
- <E extends Serializable> void visit(Domain<E> domain, Serializable label, E value);
+ <E extends Serializable> void visit(Domain<E> domain, Serializable label, Serializable value);
/**
* End.
1
0
r1941 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 15:23:06 +0000 (Wed, 11 Mar 2009)
New Revision: 1941
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinousDomainXMLVisitor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DiscreteDomainXMLVisitor.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java
Log:
Improve visitors.
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinousDomainXMLVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinousDomainXMLVisitor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/ContinousDomainXMLVisitor.java 2009-03-11 15:23:06 UTC (rev 1941)
@@ -0,0 +1,90 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.mexico.xml;
+
+import java.io.Serializable;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+
+/**
+ * XML domain visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class ContinousDomainXMLVisitor extends DomainXMLVisitor {
+
+ /** XML text buffer. */
+ protected StringBuffer xmlBuffer;
+
+ /**
+ * Constructor.
+ *
+ * Init xml buffer.
+ */
+ public ContinousDomainXMLVisitor() {
+ xmlBuffer = new StringBuffer();
+ }
+
+ /**
+ * Get xml buffer content.
+ *
+ * @return content as string
+ */
+ public String getXML() {
+ String xml = xmlBuffer.toString();
+ return xml;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void start(Domain<? extends Serializable> domain) {
+ xmlBuffer.append("<domain>");
+ xmlBuffer.append("<fixed");
+
+ ContinuousDomain<?> cDomain = (ContinuousDomain<?>)domain;
+ xmlBuffer.append(" cardinality=\"" + cDomain.getCardinality() + "\">");
+
+ xmlBuffer.append("<range min=\"" + cDomain.getMinBound() + "\" max=\"" + cDomain.getMaxBound() + "\" />");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public <E extends Serializable> void visit(Domain<E> domain,
+ Serializable label, Serializable value) {
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void end(Domain<? extends Serializable> domain) {
+ xmlBuffer.append("<fixed>");
+ xmlBuffer.append("</domain>");
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java 2009-03-11 15:21:43 UTC (rev 1940)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java 2009-03-11 15:23:06 UTC (rev 1941)
@@ -62,7 +62,8 @@
*/
@Override
public void start(DesignPlan designPlan) {
- xmlBuffer.append("<designplan>");
+ xmlBuffer.append("<experimentalDesign>");
+ xmlBuffer.append("<factors>");
}
/**
@@ -81,7 +82,8 @@
*/
@Override
public void end(DesignPlan designPlan) {
- xmlBuffer.append("</designplan>");
+ xmlBuffer.append("</factors>");
+ xmlBuffer.append("</experimentalDesign>");
}
}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DiscreteDomainXMLVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DiscreteDomainXMLVisitor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DiscreteDomainXMLVisitor.java 2009-03-11 15:23:06 UTC (rev 1941)
@@ -0,0 +1,92 @@
+/* *##%
+ * Copyright (C) 2009 Code Lutin
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *##%*/
+
+package fr.ifremer.isisfish.mexico.xml;
+
+import java.io.Serializable;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
+
+/**
+ * XML domain visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class DiscreteDomainXMLVisitor extends DomainXMLVisitor {
+
+ /** XML text buffer. */
+ protected StringBuffer xmlBuffer;
+
+ /**
+ * Constructor.
+ *
+ * Init xml buffer.
+ */
+ public DiscreteDomainXMLVisitor() {
+ xmlBuffer = new StringBuffer();
+ }
+
+ /**
+ * Get xml buffer content.
+ *
+ * @return content as string
+ */
+ public String getXML() {
+ String xml = xmlBuffer.toString();
+ return xml;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void start(Domain<? extends Serializable> domain) {
+ xmlBuffer.append("<domain>");
+ xmlBuffer.append("<fixed");
+
+ DiscreteDomain<?> dDomain = (DiscreteDomain<?>)domain;
+ xmlBuffer.append(" cardinality=\"" + dDomain.getValues().size() + "\"");
+
+ xmlBuffer.append(">");
+ xmlBuffer.append("<enumeration>");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public <E extends Serializable> void visit(Domain<E> domain,
+ Serializable label, Serializable value) {
+ xmlBuffer.append("<value>" + value + "</value>");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void end(Domain<? extends Serializable> domain) {
+ xmlBuffer.append("</enumeration>");
+ xmlBuffer.append("<fixed>");
+ xmlBuffer.append("</domain>");
+ }
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java 2009-03-11 15:21:43 UTC (rev 1940)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java 2009-03-11 15:23:06 UTC (rev 1941)
@@ -63,12 +63,16 @@
*/
@Override
public void start(Domain<? extends Serializable> domain) {
- xmlBuffer.append("<domain ");
+ xmlBuffer.append("<domain>");
+ xmlBuffer.append("<fixed");
+
if (domain instanceof ContinuousDomain) {
- xmlBuffer.append("type=\"continous\"");
+ ContinuousDomain<?> cDomain = (ContinuousDomain<?>)domain;
+ xmlBuffer.append(" cardinality=\"" + cDomain.getCardinality() + "\"");
}
- if (domain instanceof DiscreteDomain) {
- xmlBuffer.append("type=\"discrete\"");
+ else if (domain instanceof DiscreteDomain) {
+ DiscreteDomain<?> dDomain = (DiscreteDomain<?>)domain;
+ xmlBuffer.append(" cardinality=\"" + dDomain.getValues().size() + "\"");
}
xmlBuffer.append(">");
}
@@ -78,10 +82,8 @@
*/
@Override
public <E extends Serializable> void visit(Domain<E> domain,
- Serializable label, E value) {
- xmlBuffer.append("<value label=\"" + label + "\">");
- xmlBuffer.append(value);
- xmlBuffer.append("</value>");
+ Serializable label, Serializable value) {
+
}
/**
@@ -89,6 +91,7 @@
*/
@Override
public void end(Domain<? extends Serializable> domain) {
+ xmlBuffer.append("</fixed>");
xmlBuffer.append("</domain>");
}
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java 2009-03-11 15:21:43 UTC (rev 1940)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java 2009-03-11 15:23:06 UTC (rev 1941)
@@ -22,6 +22,8 @@
import fr.ifremer.isisfish.simulator.sensitivity.Domain;
import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain;
import fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor;
/**
@@ -64,11 +66,14 @@
public void start(Factor<? extends Serializable> factor) {
xmlBuffer.append("<factor");
xmlBuffer.append(" name=\"" + factor.getName() + "\"");
- xmlBuffer.append(" path=\"" + factor.getPath() + "\"");
- if (factor.getValue() != null) {
- xmlBuffer.append(" value=\"" + factor.getValue() + "\"");
+ if (factor.getDomain() instanceof ContinuousDomain) {
+ xmlBuffer.append(" property=\"continuous\"");
}
+ else if (factor.getDomain() instanceof DiscreteDomain) {
+ xmlBuffer.append(" property=\"discrete\"");
+ }
xmlBuffer.append(">");
+ xmlBuffer.append("<target>" + factor.getPath() + "</target>");
}
/*
@@ -76,7 +81,13 @@
*/
@Override
public void visit(Factor<? extends Serializable> factor, Domain<? extends Serializable> domain) {
- DomainXMLVisitor visitor = new DomainXMLVisitor();
+ DomainXMLVisitor visitor = null;
+ if (factor.getDomain() instanceof ContinuousDomain) {
+ visitor = new ContinousDomainXMLVisitor();
+ }
+ else if (factor.getDomain() instanceof DiscreteDomain) {
+ visitor = new DiscreteDomainXMLVisitor();
+ }
domain.accept(visitor);
xmlBuffer.append(visitor.getXML());
}
1
0
r1940 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
by chatellier@users.labs.libre-entreprise.org 11 Mar '09
11 Mar '09
Author: chatellier
Date: 2009-03-11 15:21:43 +0000 (Wed, 11 Mar 2009)
New Revision: 1940
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java
Log:
Fix tests.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java 2009-03-11 14:20:09 UTC (rev 1939)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/EvaluatorHelper.java 2009-03-11 15:21:43 UTC (rev 1940)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2006
+ * Copyright (C) 2006 - 2009
* Ifremer, Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
@@ -17,18 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * EvaluatorHelper.java
- *
- * Created: 3 juil. 2006 23:44:48
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.util;
import static org.codelutin.i18n.I18n._;
@@ -52,16 +40,20 @@
/**
* Permet d'evaluer les equations ecritent en Java
*
+ * Created: 3 juil. 2006 23:44:48
+ *
* @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
*/
public class EvaluatorHelper {
-
- /**
- * Logger for this class
- */
- private static final Log log = LogFactory.getLog(EvaluatorHelper.class);
- static private String normalizeClassName(String name) {
+ /** Logger for this class. */
+ private static Log log = LogFactory.getLog(EvaluatorHelper.class);
+
+ protected static String normalizeClassName(String name) {
StringBuffer result = new StringBuffer(name);
for (int i=0; i<result.length(); i++) {
char c = result.charAt(i);
@@ -71,16 +63,16 @@
}
return result.toString();
}
-
+
/**
- * Verifie si une equation est syntaxiquement correct
+ * Verifie si une equation est syntaxiquement correcte.
*
* @param javaInterface
* @param script
- * @param out
+ * @param out output writer (can be null for non output)
* @return 0 si ok
*/
- static public int check(Class javaInterface, String script, PrintWriter out) {
+ public static int check(Class javaInterface, String script, PrintWriter out) {
try {
File src = File.createTempFile("check", "equation");
src.deleteOnExit();
@@ -109,8 +101,9 @@
return -10000;
}
}
-
+
/**
+ * Evalue une equation.
*
* @param packageName le nom de package de la classe
* @param className le nom de la classe
@@ -120,26 +113,26 @@
* @param args les arguments a utiliser pour l'appel de la methode
* @return la valeur retourné par la methode
*/
- static public Object evaluate(String packageName, String className,
+ public static Object evaluate(String packageName, String className,
Class javaInterface, String script, Map<String, Object> args) {
className = normalizeClassName(className);
-
+
Object result = null;
Class clazz = null;
// recherche la methode de l'interface
Method [] methods = javaInterface.getDeclaredMethods();
Method interfaceMethod = methods[0];
-
+
String classname = packageName + "." + className;
File fileRootSrc = IsisFish.config.getCompileDirectory();
File fileCheckSum = new File(fileRootSrc, packageName + File.separator + className + ".hashCode");
File fileSrc = new File(fileRootSrc, packageName + File.separator + className + ".java");
File fileDest = new File(fileRootSrc, packageName + File.separator + className + ".class");
-
+
boolean checkSumEquals = false;
-
+
// if equation's Java file exists, check the checksum
if (fileSrc.exists() && fileCheckSum.exists()) {
String oldCheckSum = "";
@@ -151,7 +144,7 @@
String newCheckSum = Integer.toString(script.hashCode());
checkSumEquals = newCheckSum.equals(oldCheckSum);
}
-
+
// if Java file's checkSum is not equals to script's checkSum
// generate new Java file
if (!checkSumEquals) {
@@ -168,7 +161,7 @@
throw new IsisFishRuntimeException(_("isisfish.error.save.checkSum.compilation", fileSrc), zzz);
}
}
-
+
// if Java file is newer than class file, compile java file
if (FileUtil.isNewer(fileSrc, fileDest)) {
try {
@@ -180,7 +173,7 @@
throw new IsisFishRuntimeException(_("isisfish.error.compile.script", fileSrc), zzz);
}
}
-
+
// try to load class
try {
ClassLoader cl = IsisFish.config.getScriptClassLoader();
@@ -188,13 +181,13 @@
} catch (Exception zzz) {
throw new IsisFishRuntimeException(_("isisfish.error.load.class", classname), zzz);
}
-
+
result = invoke(clazz, interfaceMethod, args);
-
+
return result;
}
-
- static protected String generateContent (String packageName, String className, Method interfaceMethod, String script) {
+
+ protected static String generateContent (String packageName, String className, Method interfaceMethod, String script) {
String content = "";
if (packageName != null && !"".equals(packageName)) {
content += "package " + packageName + ";";
@@ -210,7 +203,7 @@
content +=
"public " + interfaceMethod.getReturnType().getName() +
" " + interfaceMethod.getName() + "(";
-
+
Args args = interfaceMethod.getAnnotation(Args.class);
String [] names = args.value();
@@ -225,7 +218,7 @@
stringTypes[i] = types[i].getName();
}
}
-
+
for (int i=0; i<names.length; i++) {
content += stringTypes[i] + " " + names[i];
if (i+1<names.length) {
@@ -239,7 +232,7 @@
return content;
}
- static protected Object invoke(Class clazz, Method interfaceMethod, Map<String, Object> args) {
+ protected static Object invoke(Class clazz, Method interfaceMethod, Map<String, Object> args) {
try {
Method method = clazz.getDeclaredMethod(interfaceMethod.getName(),
interfaceMethod.getParameterTypes());
1
0