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
r1919 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/widget resources
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: sletellier
Date: 2009-03-09 14:40:20 +0000 (Mon, 09 Mar 2009)
New Revision: 1919
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java
isis-fish/trunk/src/main/resources/sensitivity.properties
Log:
IntervalPanel can be factored
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationSeasonsUI.jaxx 2009-03-09 14:40:20 UTC (rev 1919)
@@ -217,7 +217,7 @@
<JLabel text="isisfish.common.season" enabled='{isPopSeasonInfoNotNull()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <IntervalPanel id='ip' enabled='{isPopSeasonInfoNotNull()}'/>
+ <IntervalPanel id='ip' enabled='{isPopSeasonInfoNotNull()}' decorator='boxed' _bean='{PopulationSeasonInfoImpl.class}' _method='"Interval"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-09 14:40:20 UTC (rev 1919)
@@ -5,6 +5,7 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.types.Month;
import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
import fr.ifremer.isisfish.ui.widget.IntervalPanel;
@@ -34,7 +35,6 @@
public static JComponent getEditor(JComponent c, TopiaEntity e) {
JComponent result = null;
try {
-// TopiaEntity e = (TopiaEntity) c.getClientProperty("bean");
String fieldName = (String) c.getClientProperty("method");
result = c.getClass().newInstance();
@@ -42,14 +42,24 @@
((JTextComponent) result).setText(String.valueOf(callMethod(e, fieldName)));
} else if (result instanceof JTable){
-// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName));
+ ((JTable) result).setModel(((JTable)c).getModel());
} else if (result instanceof MatrixPanelEditor){
((MatrixPanelEditor) result).setMatrix((MatrixND)callMethod(e, fieldName));
} else if (result instanceof JComboBox){
-// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
+ JComboBox combo = (JComboBox)c;
+ JComboBox comboResult = new JComboBox();
+ comboResult.setModel(combo.getModel());
+ comboResult.setSelectedIndex(combo.getSelectedIndex());
+ result = comboResult;
+ } else if (result instanceof JList){
+ JList list = (JList)c;
+ JList listResult = new JList();
+ listResult.setModel(list.getModel());
+ listResult.setSelectedIndices(list.getSelectedIndices());
+ result = listResult;
} else if (result instanceof JCheckBox){
((JCheckBox) result).setSelected((Boolean)callMethod(e, fieldName));
@@ -69,8 +79,11 @@
ui.refresh();
result = ui;
} else if (result instanceof IntervalPanel){
-// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
-
+ IntervalPanel ipResult = new IntervalPanel();
+ IntervalPanel ip = (IntervalPanel)c;
+ ipResult.setLabelRenderer(Month.MONTH);
+ ipResult.setModel(ip.getModel().clone());
+ result = ipResult;
}
} catch (Exception ex) {
Logger.getLogger(EditorHelper.class.getName()).log(Level.SEVERE, null, ex);
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-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-09 14:40:20 UTC (rev 1919)
@@ -38,6 +38,8 @@
<Boolean id='tabVisible' javaBean='false'/>
+ <Boolean id='saveEnabled' javaBean='false'/>
+
<script><![CDATA[
import org.codelutin.topia.persistence.TopiaEntity;
@@ -73,7 +75,7 @@
<JLabel text='isisfish.factor.name'/>
</cell>
<cell columns='3' fill='horizontal' weightx='0.5'>
- <JTextField id='factorName'/>
+ <JTextField id='factorName' onKeyReleased='setSaveEnabled(!factorName.getText().equals(""))'/>
</cell>
</row>
<row>
@@ -121,7 +123,7 @@
<JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/>
</cell>
<cell columns='2' fill='horizontal' weightx='0.5'>
- <JButton id='save' text='isisfish.common.save'/>
+ <JButton id='save' text='isisfish.common.save' enabled='{isSaveEnabled()}'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/Interval.java 2009-03-09 14:40:20 UTC (rev 1919)
@@ -246,6 +246,16 @@
return false;
}
+ @Override
+ public Interval clone(){
+ Interval result = new Interval();
+ result.setFirst(this.getFirst());
+ result.setLast(this.getLast());
+ result.setMax(this.getMax());
+ result.setMin(this.getMin());
+ return result;
+ }
+
public static class IntervalIterator implements Iterator {
private int min;
@@ -282,5 +292,6 @@
public void remove() {
throw new UnsupportedOperationException();
}
+
}
} // Interval
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-09 13:49:51 UTC (rev 1918)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-09 14:40:20 UTC (rev 1919)
@@ -43,6 +43,7 @@
PopulationSeasonInfo.ImmigrationMatrix
PopulationSeasonInfo.MigrationMatrix
PopulationSeasonInfo.UseEquationMigration
+PopulationSeasonInfo.Interval
Population.MigrationComment
Population.MonthGapBetweenReproRecrutement
Population.RecruitmentDistribution
1
0
r1918 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: . input simulator
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
by sletellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: sletellier
Date: 2009-03-09 13:49:51 +0000 (Mon, 09 Mar 2009)
New Revision: 1918
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.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/PopulationBasicsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.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/QueueUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
Log:
rowHeight is fixed and AdvancedParams saving work
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -46,6 +46,9 @@
]]>
</script>
<JTabbedPane id="simulTabs" tabPlacement='{JTabbedPane.LEFT}' constraints="BorderLayout.CENTER">
+ <tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/book.gif"))}'>
+ <fr.ifremer.isisfish.ui.input.InputUI constructorParams='new JAXXInitialContext().add(getContextValue(WelcomeSaveVerifier.class)).add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
+ </tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/simulation.gif"))}'>
<fr.ifremer.isisfish.ui.simulator.SimulUI id='simulUI' constructorParams='new SimulAction()'/>
</tab>
@@ -55,9 +58,6 @@
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'>
<fr.ifremer.isisfish.ui.result.ResultView/>
</tab>
- <tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/book.gif"))}'>
- <fr.ifremer.isisfish.ui.input.InputUI constructorParams='new JAXXInitialContext().add(getContextValue(WelcomeSaveVerifier.class)).add(new InputAction()).add(new InputSaveVerifier()).add(this)'/>
- </tab>
<tab title=' ' icon='{new ImageIcon(getClass().getResource("/images/bookPage.gif"))}'>
<fr.ifremer.isisfish.ui.script.ScriptUI/>
</tab>
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-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -268,7 +268,7 @@
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
<JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JTable id="tableTargetSpecies" enabled='{isActif()}'/>
+ <JTable id="tableTargetSpecies" rowHeight='24' enabled='{isActif()}'/>
</JScrollPane>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -184,7 +184,7 @@
</row>
<row>
<cell columns='3' fill='both' weightx='1.0'>
- <JTable id='tableAgeLength' enabled='{isActif()}'/>
+ <JTable id='tableAgeLength' rowHeight='24' enabled='{isActif()}'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -204,7 +204,7 @@
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
<JScrollPane>
- <JTable id="selectivityTable" enabled='{isActif()}'/>
+ <JTable id="selectivityTable" rowHeight='24' enabled='{isActif()}'/>
</JScrollPane>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -70,6 +70,7 @@
getContextValue(SimulAction.class).addTagValue(fieldTag.getText(), fieldValue.getText());
setTableTagValue();
setRemove(true);
+ valueChanged(true);
}
protected void removeTagValue(){
getContextValue(SimulAction.class).removeTagValue(tableTagValue.getValueAt(tableTagValue.getSelectedRow(),0).toString());
@@ -79,6 +80,7 @@
if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){
getContextValue(SimulAction.class).saveTagValue(fieldSimulAdvParamsSimulatorSelect.getSelectedItem().toString());
}
+ valueChanged(false);
}
protected void setSimulName(){
if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){
@@ -111,65 +113,6 @@
DefaultTableModel model = new DefaultTableModel(columnName, 0);
}
}
- protected void simulationStatistiqueChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected());
- valueChanged(true);
- }
- protected void simulationCacheChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected());
- valueChanged(true);
- }
-
- protected void simulErrorChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error");
- valueChanged(true);
- }
- protected void simulWarnChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn");
- valueChanged(true);
- }
- protected void simulInfoChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info");
- valueChanged(true);
- }
- protected void simulDebugChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug");
- valueChanged(true);
- }
-
- protected void scriptErrorChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error");
- valueChanged(true);
- }
- protected void scriptWarnChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn");
- valueChanged(true);
- }
- protected void scriptInfoChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info");
- valueChanged(true);
- }
- protected void scriptDebugChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug");
- valueChanged(true);
- }
-
- protected void libErrorChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error");
- valueChanged(true);
- }
- protected void libWarnChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn");
- valueChanged(true);
- }
- protected void libInfoChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info");
- valueChanged(true);
- }
- protected void libDebugChanged(){
- getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug");
- valueChanged(true);
- }
protected void valueChanged(boolean b){
save.setEnabled(b);
setChanged(b);
@@ -198,13 +141,13 @@
<JPanel/>
</cell>
<cell columns="2" fill="horizontal" weightx="0.3">
- <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" onActionPerformed = 'simulationStatistiqueChanged()'/>
+ <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected())'/>
</cell>
<cell fill="horizontal" weightx="0.2">
<JPanel/>
</cell>
<cell columns="2" fill="horizontal" weightx="0.3">
- <JCheckBox id="fieldSimulationCache" text="isisfish.advancedParams.simulationCache" onActionPerformed = 'simulationCacheChanged()'/>
+ <JCheckBox id="fieldSimulationCache" text="isisfish.advancedParams.simulationCache" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected())'/>
</cell>
</row>
<row>
@@ -212,16 +155,16 @@
<JLabel text="isisfish.advancedParams.simulLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulErrorChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulWarnChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulInfoChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'simulDebugChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug")'/>
</cell>
</row>
<row>
@@ -229,16 +172,16 @@
<JLabel text="isisfish.advancedParams.scriptLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptErrorChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptWarnChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptInfoChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'scriptDebugChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug")'/>
</cell>
</row>
<row>
@@ -246,16 +189,16 @@
<JLabel text="isisfish.advancedParams.libLevelLogger"/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libErrorChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libWarnChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libInfoChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info")'/>
</cell>
<cell fill="horizontal" weightx="0.2">
- <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'libDebugChanged()'/>
+ <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug")'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -567,7 +567,7 @@
</tab>
<tab title='{_("isisfish.params.ruleParameters")}'>
<JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'>
- <JTable id="simulParamsRules" name="isisfish.params.ruleParameters"/>
+ <JTable id="simulParamsRules" rowHeight='24' name="isisfish.params.ruleParameters"/>
</JScrollPane>
</tab>
</JTabbedPane>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -112,7 +112,7 @@
<row>
<cell columns="4" fill="both" weightx="1.0" weighty="0.5">
<JScrollPane>
- <JTable id="queueTableDone" model='{getContextValue(SimulationServiceTableModel.class, "done")}'/>
+ <JTable id="queueTableDone" rowHeight='24' model='{getContextValue(SimulationServiceTableModel.class, "done")}'/>
</JScrollPane>
</cell>
</row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-03-09 10:29:53 UTC (rev 1917)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx 2009-03-09 13:49:51 UTC (rev 1918)
@@ -163,7 +163,7 @@
<row>
<cell columns="2" fill="both" weightx="1.0" weighty="1.0">
<JScrollPane>
- <JTable id="simulParamsAnalysePlans" name="isisfish.sens.planParameters"/>
+ <JTable id="simulParamsAnalysePlans" rowHeight='24' name="isisfish.sens.planParameters"/>
</JScrollPane>
</cell>
</row>
1
0
r1917 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 10:29:53 +0000 (Mon, 09 Mar 2009)
New Revision: 1917
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java
Log:
Test de recover h2 (ne fonctionne pas).
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java 2009-03-09 10:29:01 UTC (rev 1916)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/DataStorage.java 2009-03-09 10:29:53 UTC (rev 1917)
@@ -213,7 +213,7 @@
try {
// creation des proprietes pour creer le TopiaContext
Properties config = new Properties();
- IsisH2Config.addDatabaseConfig(config, getDirectory());
+ IsisH2Config.addDatabaseConfig(config, getDirectory(), false);
IsisH2Config.addHibernateMapping(config);
// instanciation du TopiaContext
@@ -292,7 +292,7 @@
// load data
// creation des proprietes pour creer le TopiaContext
Properties config = new Properties();
- IsisH2Config.addDatabaseConfig(config, rootDirDest);
+ IsisH2Config.addDatabaseConfig(config, rootDirDest, false);
IsisH2Config.addHibernateMapping(config);
// instanciation du TopiaContext
1
0
r1916 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: datastore simulator/launcher
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
by chatellier@users.labs.libre-entreprise.org 09 Mar '09
09 Mar '09
Author: chatellier
Date: 2009-03-09 10:29:01 +0000 (Mon, 09 Mar 2009)
New Revision: 1916
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
Log:
Test de recover h2 (ne fonctionne pas).
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-03-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/datastore/IsisH2Config.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -1,21 +1,19 @@
-/*
-* ##% Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Code Lutin,
-* Tony Chemit
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License
-* as published by the Free Software Foundation; either version 2
-* of the License, or (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-* ##% */
+/* ##% Copyright (C) 2002 - 2009 Code Lutin, Tony Chemit
+ *
+ * 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.datastore;
import fr.ifremer.isisfish.IsisConfig;
@@ -29,13 +27,18 @@
import org.hibernate.dialect.H2Dialect;
/**
- * Isis H2 concrete Config implementation
+ * Isis H2 concrete Config implementation.
*
* @author chemit
+ *
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
*/
public class IsisH2Config {
- static final private String commonUrl =
+ protected static final String COMMON_URL =
// on peut aussi utiliser mysql ou postgresql
"MODE=hsqldb;" +
// Sets the default lock timeout (in milliseconds) in this database
@@ -59,7 +62,7 @@
// on system.out: 0=off, 1=error, 2=info, 3=debug.
"TRACE_LEVEL_SYSTEM_OUT=1";
- static final private String h2Url =
+ protected static final String H2_URL =
"jdbc:h2:file:%s;" +
// on peut aussi utiliser file, socket
"FILE_LOCK=file;" +
@@ -69,17 +72,27 @@
// changes is disabled (default), 2: logging of both data and index
// changes are enabled
"LOG=1;" +
- commonUrl;
-
- static final private String h2memUrl =
+ COMMON_URL;
+
+ /**
+ * H2 recover URL.
+ *
+ * Include 'recover=1' parameter.
+ */
+ protected final static String H2_RECOVER_URL =
+ H2_URL +
+ ";recover=1";
+
+ protected static final String H2_MEM_URL =
"jdbc:h2:mem:%s;" +
"LOG=0;" +
- commonUrl;
+ COMMON_URL;
+
/**
* @param rootDir le repertoire de base du DataStorage
* @return le repertoire de donnees d'un Data storage a partir de son repertoire de base
*/
- static public File getStorageDataDirectory(File rootDir) {
+ public static File getStorageDataDirectory(File rootDir) {
return new File(rootDir, "data");
}
@@ -94,7 +107,7 @@
* @param id l'identifiant de la base
* @return l'objet config passe en parametre
*/
- static public Properties addMemDatabaseConfig(Properties config, String id) {
+ public static Properties addMemDatabaseConfig(Properties config, String id) {
config.setProperty(Environment.USER, "sa");
config.setProperty(Environment.PASS, "");
@@ -103,23 +116,24 @@
// correct error : org.hibernate.HibernateException: No CurrentSessionContext configured!
config.setProperty(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread");
- // config.setProperty(Environment.SHOW_SQL, "true");
+ // config.setProperty(Environment.SHOW_SQL, "true");
- String url = String.format(h2memUrl, id);
+ String url = String.format(H2_MEM_URL, id);
config.setProperty(Environment.URL, url);
-
+
return config;
}
/**
- * Ajoute differente information au parametre config qui indique comment
- * se connecter a la base de donnees
+ * Ajoute differentes informations au parametre config qui indique comment
+ * se connecter a la base de donnees.
*
* @param config l'objet properties dans lequel il faut ajouter les informations
- * @param directory le repertoire dans lequel la base de donn?es doit se trouver
+ * @param directory le repertoire dans lequel la base de données doit se trouver
+ * @param tryRecover only used with H2 database engine, add recover parameter when db is detected as corrumpted
* @return l'objet config passe en parametre
*/
- static public Properties addDatabaseConfig(Properties config, File directory) {
+ public static Properties addDatabaseConfig(Properties config, File directory, boolean tryRecover) {
File databasePath = getStorageDataDirectory(directory);
databasePath.mkdirs();
@@ -127,7 +141,13 @@
addMemDatabaseConfig(config, "");
// pour h2 on remet STORAGE_DATA car il ne cree pas de repertoire
- String url = String.format(h2Url, getStorageDataDirectory(databasePath).getPath());
+ String url;
+ if (tryRecover) {
+ url = String.format(H2_RECOVER_URL, getStorageDataDirectory(databasePath).getPath());
+ }
+ else {
+ url = String.format(H2_URL, getStorageDataDirectory(databasePath).getPath());
+ }
config.setProperty(Environment.URL, url);
// migration configuration, seulement pour les fichiers, pas pour les bases memoires
@@ -136,20 +156,20 @@
config.put(TopiaMigrationServiceImpl.MIGRATION_MODEL_NAMES, "IsisFish");
config.put(TopiaMigrationServiceImpl.MIGRATION_CALLBACKHANDLERS, SwingMigrationCallbackHandler.class.getName());
config.put("topia.service.migration", TopiaMigrationServiceImpl.class.getName());
-
+
return config;
}
/**
- * Permet d'ajouter les differents mapping hibernate specifique a l'application
+ * Permet d'ajouter les differents mapping hibernate spécifique à l'application.
*
* @param config l'objet properties dans lequel il faut ajouter les informations
* @return l'objet config passe en parametre
*/
- static public Properties addHibernateMapping(Properties config) {
+ public static Properties addHibernateMapping(Properties config) {
config.setProperty("topia.persistence.classes",
- IsisFishDAOHelper.entitiesList
+ IsisFishDAOHelper.getImplementationClassesAsString()
);
return config;
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-03-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -99,13 +99,14 @@
control.setDate(new Date());
control.setProgress(0);
control.setStarted(true);
-
+
// replace prescript if specified on method
- if (simulationPrescript != null && !simulationPrescript.trim().isEmpty()) {
+ if (simulationPrescript != null
+ && !simulationPrescript.trim().isEmpty()) {
param.setUsePreScript(true);
param.setPreScript(simulationPrescript);
}
-
+
int lastYear = param.getNumberOfYear();
int lastDate = lastYear * Month.NUMBER_OF_MONTH;
control.setProgressMax(lastDate);
@@ -246,13 +247,14 @@
protected AspectClassLoader changeClassLoader(Thread thread, File directory) {
try {
URL[] classpath = new URL[] { directory.toURI().toURL(),
- // poussin 20080821
- // il semble ne plus trouve les formules, est-ce mieux avec le compile dir ?
+ // poussin 20080821 : il semble ne plus trouve les formules,
+ // est-ce mieux avec le compile dir ?
IsisFish.config.getCompileDirectory().toURI().toURL() };
//URL [] classpath = new URL[]{directory.toURL()};
AspectClassLoader loader = new AspectClassLoader(classpath,
IsisFish.class.getClassLoader()); //new URLClassLoader(classpath);
- //AspectClassLoader loader = new AspectClassLoader(classpath, ClassLoader.getSystemClassLoader()); //new URLClassLoader(classpath);
+ //AspectClassLoader loader = new AspectClassLoader(classpath, ClassLoader.getSystemClassLoader());
+ //new URLClassLoader(classpath);
thread.setContextClassLoader(loader);
log.info("Classloader used for simulation: " + loader + " "
+ Arrays.toString(loader.getURLs()));
@@ -491,7 +493,7 @@
return this.newObjects;
}
- /* (non-Javadoc)
+ /*
* @see org.codelutin.topia.event.TopiaTransactionListener#commit(org.codelutin.topia.event.TopiaTransactionEvent)
*/
public void commit(TopiaTransactionEvent event) {
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-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -53,10 +53,12 @@
import org.codelutin.util.ListenerSet;
import org.codelutin.util.ObjectUtil;
import org.codelutin.util.ZipUtil;
+import org.h2.jdbc.JdbcSQLException;
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.IsisFishRuntimeException;
import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
+import fr.ifremer.isisfish.datastore.DataStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
import fr.ifremer.isisfish.datastore.RegionStorage;
import fr.ifremer.isisfish.datastore.RuleStorage;
@@ -405,7 +407,7 @@
// init with default "id" must been changed for designPlan
// simulation
SimulationControl controlJustForZip = new SimulationControl(id);
-
+
// on construit le zip de la simulation
// in zip, there will be param "without" prescript
File zip = prepareSimulationZipFile(controlJustForZip, param, true);
@@ -426,12 +428,14 @@
// build new simulation id
String subsimulationId = id + "_" + simulationIndex;
- SimulationControl realSimulationControl = new SimulationControl(subsimulationId);
-
+ SimulationControl realSimulationControl = new SimulationControl(
+ subsimulationId);
+
// new item, with zip
- SimulationItem item = new SimulationItem(realSimulationControl, subParam);
+ SimulationItem item = new SimulationItem(realSimulationControl,
+ subParam);
item.setSimulationZip(zip);
-
+
SimulationJob job = new SimulationJob(this, item, priority);
job.setLauncher(launcher);
fireStartEvent(job);
@@ -777,7 +781,7 @@
doNext = doNext && result;
} catch (Exception eee) {
log.error(_("Stop simulation plan, because can't call afterSimulation correctly on plan %s",
- plan.getClass().getName()), eee);
+ plan.getClass().getName()), eee);
doNext = false;
}
}
@@ -860,7 +864,7 @@
new File(tmpDirectory, RuleStorage.RULE_PATH
+ File.separator + name + ".java"));
}
- // copie des regles reclam?es par les plans d'analyse
+ // copie des regles reclamées par les plans d'analyse
for (String name : param.getExtraRules()) {
FileUtil.copy(new File(RuleStorage.getRuleDirectory(), name
+ ".java"),
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-03-05 23:48:46 UTC (rev 1915)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-03-09 10:29:01 UTC (rev 1916)
@@ -25,8 +25,8 @@
import java.rmi.RemoteException;
/**
- * Interface devant etre implanter par les classes souhaitants etre utilisees
- * comme plugin de simulation (CapArmor, SubProcess, ...)
+ * Interface devant etre implantée par les classes souhaitants etre utilisees
+ * comme plugin de simulation (InProcess, CapArmor, SubProcess, ...)
*
* @author poussin
* @version $Revision: 1.0 $
@@ -43,20 +43,21 @@
* la simulation
* @param control le control de la simulation
* @param simulationZip le zip contenant la simulation prete a etre executee
+ * @param simulationPrescript script de pre simulation
*
* <b>IMPORTANT</b> Quoi qu'il arrive
- *
* @throws RemoteException Si pour l'execution de la simulation
* on utilise des resources distantes (serveurs) et que ceux si non pas pu
* etre contacte. Dans ce cas la simulation n'a pas ete faite et cette
* exception est levee.
*/
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip, String simulationPrescript)
- throws RemoteException;
+ SimulationControl control, File simulationZip,
+ String simulationPrescript) throws RemoteException;
/**
- * Retourne le nombre maximal de thread de simulation simultane supporte
+ * Retourne le nombre maximal de thread de simulations simultanées supporté.
+ *
* @return un nombre superieur a 0
*/
public int maxSimulationThread();
1
0
r1915 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity resources
by sletellier@users.labs.libre-entreprise.org 05 Mar '09
by sletellier@users.labs.libre-entreprise.org 05 Mar '09
05 Mar '09
Author: sletellier
Date: 2009-03-05 23:48:46 +0000 (Thu, 05 Mar 2009)
New Revision: 1915
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/InputOneEquationUI.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/PopulationBasicsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/resources/sensitivity.properties
Log:
Equations can be factored
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-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -44,7 +44,10 @@
return getContextValue(FisheryRegion.class);
}
public void setInfoText(String msg){
- getParentContainer(WelcomePanelUI.class).setInfoText(msg);
+ WelcomePanelUI root = getParentContainer(WelcomePanelUI.class);
+ if (root != null){
+ getParentContainer(WelcomePanelUI.class).setInfoText(msg);
+ }
}
protected void goTo(){
getParentContainer(InputUI.class).setTreeSelection(getNextPath());
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputOneEquationUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -35,10 +35,13 @@
<!-- bean property -->
<fr.ifremer.isisfish.entities.Formule id='formule' javaBean='null'/>
-
<String id='lblText' javaBean='null'/>
-
<org.codelutin.topia.persistence.TopiaEntity id='bean' javaBean='null'/>
+ <Class id='clazz' javaBean='null'/>
+ <String id='methodGet' javaBean='null'/>
+ <String id='methodSet' javaBean='null'/>
+ <String id='nameEquation' javaBean='null'/>
+ <fr.ifremer.isisfish.entities.Equation id='selectedEquation' javaBean='null'/>
<script><![CDATA[
import fr.ifremer.isisfish.ui.widget.editor.GenericCell;
@@ -55,15 +58,8 @@
import fr.ifremer.isisfish.IsisFishDAOHelper;
import jaxx.runtime.swing.Item;
-protected Class clazz;
-//protected TopiaEntity bean;
-protected String methodGet;
-protected String methodSet;
-protected String name;
-protected Equation selectedEquation;
protected DocumentListener listener = null;
-
addPropertyChangeListener("bean", new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (evt.getOldValue() != null || evt.getNewValue() == null) {
@@ -106,21 +102,6 @@
setComboModel();
editor.getCurrentEditor().addDocumentListener(listener);
}
-public void init(String lblText, TopiaEntity bean, String name, String methodGet, String methodSet, Class c){
- editor.getCurrentEditor().removeDocumentListener(listener);
- setLblText(lblText);
-// this.bean = bean;
- setBean(bean);
- this.methodGet = methodGet;
- this.methodSet = methodSet;
- this.name = name;
- this.clazz = c;
- selectedEquation = getEquation();
- setComboModel();
- setFormule((Formule)combo.getSelectedItem());
- setEditorText();
- editor.getCurrentEditor().addDocumentListener(listener);
-}
protected Equation getEquation(){
Equation result = null;
try {
@@ -150,34 +131,34 @@
} catch (IOException ex) {
Logger.getLogger(InputOneEquationUI.class.getName()).log(Level.SEVERE, null, ex);
}
- if (name != null){
+ if (nameEquation != null){
setComboModel();
setFormule((Formule)combo.getSelectedItem());
setEditorText();
+ selectedEquation = getEquation();
}
editor.getCurrentEditor().addDocumentListener(listener);
}
protected void setComboModel(){
- TopiaContext isisContext = getVerifier().getIsisContext();
- if (isisContext == null && getBean() != null){
- isisContext = getBean().getTopiaContext();
- }
- java.util.List<Formule> formules = null;
- if (name != null){
- formules = getAction().getFormules(isisContext, name);
- }
- if (formules != null){
- java.util.List<Item> items = new ArrayList<Item>();
- items.add(new Item("null", " ", null, false));
- for (Formule f : formules) {
- boolean selected = f.equals(selectedEquation);
- items.add(new Item(f.getName(), f.getName(), f, selected));
+ if (getBean() != null){
+ TopiaContext isisContext = getBean().getTopiaContext();
+ java.util.List<Formule> formules = null;
+ if (nameEquation != null){
+ formules = getAction().getFormules(isisContext, nameEquation);
}
- combo.setItems(items);
+ if (formules != null){
+ java.util.List<Item> items = new ArrayList<Item>();
+ items.add(new Item("null", " ", null, false));
+ for (Formule f : formules) {
+ boolean selected = f.equals(selectedEquation);
+ items.add(new Item(f.getName(), f.getName(), f, selected));
+ }
+ combo.setItems(items);
+ }
}
}
protected void saveModel(){
- getContextValue(InputAction.class).saveAsModel(name, "Java", editor.getText());
+ getContextValue(InputAction.class).saveAsModel(nameEquation, "Java", editor.getText());
setComboModel();
setInfoText(_("isisfish.message.saveModel.finished"));
}
@@ -187,7 +168,7 @@
getContextValue(InputAction.class).openEditor(e.getCategory(), e.getName(), clazz, e.getContent(), editor);
}
else{
- getContextValue(InputAction.class).openEditor(name, "new", clazz, editor.getText(), editor);
+ getContextValue(InputAction.class).openEditor(nameEquation, "new", clazz, editor.getText(), editor);
}
}
protected void setEditorText(){
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-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierSeasonInfoSpeciesUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -63,7 +63,6 @@
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("");
- targetFactor.init(_("isisfish.metierSeasonInfoSpecies.targetFactor"), null, "TargetFactor", null, null, fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -112,8 +111,6 @@
setTargetSpeciesModel();
}
setTableTargetSpeciesModel();
-// TODO : Equation selectionne
- targetFactor.init(_("isisfish.metierSeasonInfoSpecies.targetFactor"), null, "TargetFactor", null, null, fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class);
}
else{
DefaultComboBoxModel seasonModel = new DefaultComboBoxModel();
@@ -242,7 +239,11 @@
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='targetFactor' constructorParams='this'/>
+ <InputOneEquationUI id='targetFactor' constructorParams='this'
+ lblText='{_("isisfish.metierSeasonInfoSpecies.targetFactor")}'
+ bean='{null}' nameEquation='TargetFactor'
+ clazz='{fr.ifremer.isisfish.equation.TargetSpeciesTargetFactorEquation.class}'
+ decorator='boxed' _bean='{MetierImpl.class}' _method='""'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationBasicsUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -60,8 +60,6 @@
fieldPopulationBasicsComment.setText("");
fieldPopulationBasicsMatureClass.setSelectedItem(null);
tableAgeLength.setModel(new DefaultTableModel());
- growthEquation.init(_("isisfish.populationBasics.growth"), null, "Growth", "Growth", "EquationGrowth", fr.ifremer.isisfish.equation.PopulationGrowth.class);
- growthReverseEquation.init(_("isisfish.populationBasics.growthReverse"), null, "GrowthReverse", "GrowthReverse", "EquationGrowthReverse", fr.ifremer.isisfish.equation.PopulationGrowthReverse.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -76,12 +74,9 @@
getVerifier().setNewButton(create, "Population", false);
getVerifier().setDeleteButton(remove);
Population population = getVerifier().getEntity(Population.class);
- getVerifier().addCurrentPanel(growthEquation, growthReverseEquation);
setBean((PopulationImpl) population);
if (getBean() != null){
// TODO : Selection equation
- growthEquation.init(_("isisfish.populationBasics.growth"), getBean(), "Growth", "Growth", "EquationGrowth", fr.ifremer.isisfish.equation.PopulationGrowth.class);
- growthReverseEquation.init(_("isisfish.populationBasics.growthReverse"), getBean(), "GrowthReverse", "GrowthReverse", "EquationGrowthReverse", fr.ifremer.isisfish.equation.PopulationGrowthReverse.class);
if (getBean() != null){
if (getBean().getPopulationGroup() != null){
jaxx.runtime.SwingUtil.fillComboBox(fieldPopulationBasicsMatureClass, getBean().getPopulationGroup(), getBean().getMaturityGroup(), true);
@@ -89,6 +84,7 @@
setTableAgeLengthModel();
}
}
+ getVerifier().addCurrentPanel(growthEquation, growthReverseEquation);
}
protected void createClasses(){
JFrame wizardFrame = new JFrame();
@@ -193,12 +189,20 @@
</row>
<row>
<cell columns='3' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='growthEquation' constructorParams='this'/>
+ <InputOneEquationUI id='growthEquation' constructorParams='this'
+ lblText='{_("isisfish.populationBasics.growth")}'
+ bean='{getBean()}' nameEquation='Growth' methodGet='Growth' methodSet='EquationGrowth'
+ clazz='{fr.ifremer.isisfish.equation.PopulationGrowth.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
<row>
<cell columns='3' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='growthReverseEquation' constructorParams='this'/>
+ <InputOneEquationUI id='growthReverseEquation' constructorParams='this'
+ lblText='{_("isisfish.populationBasics.growthReverse")}'
+ bean='{getBean()}' nameEquation='GrowthReverse' methodGet='GrowthReverse' methodSet='EquationGrowthReverse'
+ clazz='{fr.ifremer.isisfish.equation.PopulationGrowthReverse.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"GrowthReverse"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationEquationUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -48,9 +48,6 @@
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("");
- naturalDeathRate.init(_("isisfish.populationEquation.naturalDeathRate"), null, "NaturalDeathRate", "NaturalDeathRate", "EquationNaturalDeathRate", fr.ifremer.isisfish.equation.PopulationNaturalDeathRate.class);
- meanWeight.init(_("isisfish.populationEquation.meanWeight"), null, "MeanWeight", "MeanWeight", "EquationMeanWeight", fr.ifremer.isisfish.equation.PopulationMeanWeight.class);
- price.init(_("isisfish.populationEquation.price"), null, "Price", "Price", "EquationPrice", fr.ifremer.isisfish.equation.PopulationPrice.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -63,9 +60,6 @@
getVerifier().setCancelButton(cancel);
Population population = getVerifier().getEntity(Population.class);
setBean((PopulationImpl) population);
- naturalDeathRate.init(_("isisfish.populationEquation.naturalDeathRate"), getBean(), "NaturalDeathRate", "NaturalDeathRate", "EquationNaturalDeathRate", fr.ifremer.isisfish.equation.PopulationNaturalDeathRate.class);
- meanWeight.init(_("isisfish.populationEquation.meanWeight"), getBean(), "MeanWeight", "MeanWeight", "EquationMeanWeight", fr.ifremer.isisfish.equation.PopulationMeanWeight.class);
- price.init(_("isisfish.populationEquation.price"), getBean(), "Price", "Price", "EquationPrice", fr.ifremer.isisfish.equation.PopulationPrice.class);
getVerifier().addCurrentPanel(naturalDeathRate, meanWeight, price);
}
]]>
@@ -73,17 +67,29 @@
<Table id='body'>
<row>
<cell columns='2' fill='both' weightx='0.5' weighty='0.3'>
- <InputOneEquationUI id='naturalDeathRate' constructorParams='this'/>
+ <InputOneEquationUI id='naturalDeathRate' constructorParams='this'
+ lblText='{_("isisfish.populationEquation.naturalDeathRate")}'
+ bean='{getBean()}' nameEquation='NaturalDeathRate' methodGet='NaturalDeathRate' methodSet='EquationNaturalDeathRate'
+ clazz='{fr.ifremer.isisfish.equation.PopulationNaturalDeathRate.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"NaturalDeathRate"'/>
</cell>
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='meanWeight' constructorParams='this'/>
+ <InputOneEquationUI id='meanWeight' constructorParams='this'
+ lblText='{_("isisfish.populationEquation.meanWeight")}'
+ bean='{getBean()}' nameEquation='MeanWeight' methodGet='MeanWeight' methodSet='EquationMeanWeight'
+ clazz='{fr.ifremer.isisfish.equation.PopulationMeanWeight.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"MeanWeight"'/>
</cell>
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='price' constructorParams='this'/>
+ <InputOneEquationUI id='price' constructorParams='this'
+ lblText='{_("isisfish.populationEquation.price")}'
+ bean='{getBean()}' nameEquation='Price' methodGet='Price' methodSet='EquationPrice'
+ clazz='{fr.ifremer.isisfish.equation.PopulationPrice.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Price"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationMigrationEquationUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -51,9 +51,6 @@
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("");
- migrationEquation.init(_("isisfish.common.migration"), null, "Migration", "MigrationEquation", "MigrationEquationAsString", fr.ifremer.isisfish.equation.MigrationEquation.class);
- emigrationEquation.init(_("isisfish.common.emigration"), null, "Emigration", "EmigrationEquation", "EmigrationEquationAsString", fr.ifremer.isisfish.equation.EmigrationEquation.class);
- immigrationEquation.init(_("isisfish.common.immigration"), null, "Immigration", "ImmigrationEquation", "ImmigrationEquationAsString", fr.ifremer.isisfish.equation.ImmigrationEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -67,9 +64,6 @@
public void refresh(){
Population population = getVerifier().getEntity(Population.class);
setBean((PopulationImpl) population);
- migrationEquation.init(_("isisfish.common.migration"), getPopInfo(), "Migration", "MigrationEquation", "MigrationEquationAsString", fr.ifremer.isisfish.equation.MigrationEquation.class);
- emigrationEquation.init(_("isisfish.common.emigration"), getPopInfo(), "Emigration", "EmigrationEquation", "EmigrationEquationAsString", fr.ifremer.isisfish.equation.EmigrationEquation.class);
- immigrationEquation.init(_("isisfish.common.immigration"), getPopInfo(), "Immigration", "ImmigrationEquation", "ImmigrationEquationAsString", fr.ifremer.isisfish.equation.ImmigrationEquation.class);
getVerifier().addCurrentPanel(immigrationEquation, emigrationEquation, migrationEquation);
}
]]>
@@ -77,17 +71,29 @@
<Table id='body'>
<row>
<cell fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='migrationEquation' constructorParams='this'/>
+ <InputOneEquationUI id='migrationEquation' constructorParams='this'
+ lblText='{_("isisfish.common.migration")}'
+ bean='{getPopInfo()}' name='Migration' methodGet='MigrationEquation' methodSet='MigrationEquationAsString'
+ clazz='{fr.ifremer.isisfish.equation.MigrationEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
<row>
<cell fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='emigrationEquation' constructorParams='this'/>
+ <InputOneEquationUI id='emigrationEquation' constructorParams='this'
+ lblText='{_("isisfish.common.emigration")}'
+ bean='{getPopInfo()}' nameEquation='Emigration' methodGet='EmigrationEquation' methodSet='EmigrationEquationAsString'
+ clazz='{fr.ifremer.isisfish.equation.EmigrationEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
<row>
<cell fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='immigrationEquation' constructorParams='this'/>
+ <InputOneEquationUI id='immigrationEquation' constructorParams='this'
+ lblText='{_("isisfish.common.immigration")}'
+ bean='{getPopInfo()}' name='Immigration' methodGet='ImmigrationEquation' methodSet='ImmigrationEquationAsString'
+ clazz='{fr.ifremer.isisfish.equation.ImmigrationEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"Growth"'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationRecruitmentUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -53,7 +53,6 @@
//jaxx.runtime.SwingUtil.removeDataBinding(get$Table0(), "fieldCellName.text", "fieldCellLongitude.text", "fieldCellLatitude.text", "fieldCellLand.selected", "fieldCellComment.text");
fieldPopulationMonthGapBetweenReproRecrutement.setText("");
fieldPopulationRecruitmentComment.setText("");
- reproductionEquation.init(_("isisfish.populationRecruitment.reproductionEquation"), getBean(), "Reproduction", "ReproductionEquation", "EquationReproductionEquation", fr.ifremer.isisfish.equation.PopulationGrowth.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -79,7 +78,6 @@
Population population = getVerifier().getEntity(Population.class);
setBean((PopulationImpl) population);
- reproductionEquation.init(_("isisfish.populationRecruitment.reproductionEquation"), getBean(), "Reproduction", "ReproductionEquation", "EquationReproductionEquation", fr.ifremer.isisfish.equation.PopulationReproductionEquation.class);
getVerifier().addCurrentPanel(reproductionEquation);
if(getBean() != null && getBean().getRecruitmentDistribution() != null){
@@ -95,7 +93,11 @@
<Table>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='reproductionEquation' constructorParams='this'/>
+ <InputOneEquationUI id='reproductionEquation' constructorParams='this'
+ lblText='{_("isisfish.populationRecruitment.reproductionEquation")}'
+ bean='{getBean()}' nameEquation='Reproduction' methodGet='ReproductionEquation' methodSet='EquationReproductionEquation'
+ clazz='{fr.ifremer.isisfish.equation.PopulationReproductionEquation.class}'
+ decorator='boxed' _bean='{PopulationImpl.class}' _method='"ReproductionEquation"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationZonesUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -199,7 +199,7 @@
</row>
<row>
<cell columns='3' fill='both' weightx='1.0' weighty='0.5'>
- <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationMappingZoneReproZoneRecru' enabled='{isActif()}'/>
+ <org.codelutin.math.matrix.gui.MatrixPanelEditor id ='fieldPopulationMappingZoneReproZoneRecru' enabled='{isActif()}' decorator='boxed' _bean='{PopulationImpl.class}' _method='"MappingZoneReproZoneRecru"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SelectivityUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -63,7 +63,6 @@
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");
- selectivityEquation.init(_("isisfish.selectivity.equation"), null, "Selectivity", null, null, fr.ifremer.isisfish.equation.SelectivityEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -105,9 +104,6 @@
fieldSelectivityPopulation.setModel(getSelectivityPopulationModel());
setSelectivityTableModel();
}
-
-// TODO : Equation selection
- selectivityEquation.init(_("isisfish.selectivity.equation"), null, "Selectivity", null, null, fr.ifremer.isisfish.equation.SelectivityEquation.class);
getVerifier().addCurrentPanel(selectivityEquation);
@@ -187,7 +183,11 @@
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='1.0'>
- <InputOneEquationUI id='selectivityEquation' constructorParams='this'/>
+ <InputOneEquationUI id='selectivityEquation' constructorParams='this'
+ lblText='{_("isisfish.selectivity.equation")}'
+ bean='{null}' nameEquation='Selectivity'
+ clazz='{fr.ifremer.isisfish.equation.SelectivityEquation.class}'
+ decorator='boxed' _bean='{GearImpl.class}' _method='""'/>
</cell>
</row>
</Table>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsTabsUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -54,7 +54,6 @@
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("");
- technicalEfficiency.init(_("isisfish.setOfVessels.technicalEfficiency"), null, "TechnicalEfficiency", "TechnicalEfficiencyEquation", "EquationTechnicalEfficiency", fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -75,7 +74,6 @@
jaxx.runtime.SwingUtil.fillComboBox(fieldSetOfVesselsPort,getRegion().getPort(), getBean().getPort(), true);
jaxx.runtime.SwingUtil.fillComboBox(fieldSetOfVesselsVesselType,getRegion().getVesselType(), getBean().getVesselType(), true);
init=false;
- technicalEfficiency.init(_("isisfish.setOfVessels.technicalEfficiency"), getBean(), "TechnicalEfficiency", "TechnicalEfficiencyEquation", "EquationTechnicalEfficiency", fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class);
getVerifier().addCurrentPanel(technicalEfficiency);
}
}
@@ -130,12 +128,18 @@
<JLabel text="isisfish.setOfVessels.fixedCosts" enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JTextField id="fieldSetOfVesselsFixedCosts" text='{getBean().getFixedCosts()}' onKeyReleased='getBean().setFixedCosts(Double.parseDouble(fieldSetOfVesselsFixedCosts.getText()))' enabled='{isActif()}' decorator='boxed' _bean='{SetOfVesselsImpl.class}' _method='"FixedCosts"'/>
+ <JTextField id="fieldSetOfVesselsFixedCosts" text='{getBean().getFixedCosts()}'
+ onKeyReleased='getBean().setFixedCosts(Double.parseDouble(fieldSetOfVesselsFixedCosts.getText()))'
+ enabled='{isActif()}' decorator='boxed' _bean='{SetOfVesselsImpl.class}' _method='"FixedCosts"'/>
</cell>
</row>
<row>
<cell columns='2' fill='both' weightx='1.0' weighty='0.3'>
- <InputOneEquationUI id='technicalEfficiency' constructorParams='this'/>
+ <InputOneEquationUI id='technicalEfficiency' constructorParams='this'
+ lblText='{_("isisfish.setOfVessels.technicalEfficiency")}'
+ bean='{getBean()}' nameEquation='TechnicalEfficiency' methodGet='TechnicalEfficiencyEquation' methodSet='EquationTechnicalEfficiency'
+ clazz='{fr.ifremer.isisfish.equation.SoVTechnicalEfficiencyEquation.class}'
+ decorator='boxed' _bean='{SetOfVesselsImpl.class}' _method='"TechnicalEfficiencyEquation"'/>
</cell>
</row>
<row>
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-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyTabUI.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -56,7 +56,6 @@
fieldStrategyName.setText("");
fieldStrategyProportionSetOfVessels.setText("0.0");
fieldStrategyComment.setText("");
- strategyInactivity.init("isisfish.strategy.inactivity", null, "Inactivity", "InactivityEquation", "EquationInactivity", fr.ifremer.isisfish.equation.StrategyInactivityEquation.class);
}
if (evt.getNewValue() != null) {
// add binding on getBean()
@@ -73,7 +72,6 @@
Strategy strategy = (Strategy)getVerifier().getEntity(Strategy.class);
setBean((StrategyImpl) strategy);
if (getBean() != null){
- strategyInactivity.init("isisfish.strategy.inactivity", getBean(), "Inactivity", "InactivityEquation", "EquationInactivity", fr.ifremer.isisfish.equation.StrategyInactivityEquation.class);
getVerifier().addCurrentPanel(strategyInactivity);
setSetOfVesselsModel();
}
@@ -114,7 +112,9 @@
<JLabel text="isisfish.strategy.proportionSetOfVessels" enabled='{isActif()}'/>
</cell>
<cell fill='horizontal' weightx='1.0'>
- <JTextField id="fieldStrategyProportionSetOfVessels" text='{getBean().getProportionSetOfVessels()}' onKeyReleased='getBean().setProportionSetOfVessels(Double.parseDouble(fieldStrategyProportionSetOfVessels.getText()))' enabled='{isActif()}' decorator='boxed' _bean='{StrategyImpl.class}' _method='"ProportionSetOfVessels"'/>
+ <JTextField id="fieldStrategyProportionSetOfVessels" text='{getBean().getProportionSetOfVessels()}'
+ onKeyReleased='getBean().setProportionSetOfVessels(Double.parseDouble(fieldStrategyProportionSetOfVessels.getText()))'
+ enabled='{isActif()}' decorator='boxed' _bean='{StrategyImpl.class}' _method='"ProportionSetOfVessels"'/>
</cell>
</row>
<row>
@@ -127,7 +127,11 @@
</row>
<row>
<cell columns="2" fill='both' weightx='1.0'>
- <InputOneEquationUI id="strategyInactivity" constructorParams='this'/>
+ <InputOneEquationUI id="strategyInactivity" constructorParams='this'
+ lblText='{_("isisfish.strategy.inactivity")}'
+ bean='{getBean()}' nameEquation='Inactivity' methodGet='InactivityEquation' methodSet='EquationInactivity'
+ clazz='{fr.ifremer.isisfish.equation.StrategyInactivityEquation.class}'
+ decorator='boxed' _bean='{StrategyImpl.class}' _method='"Inactivity"'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-05 23:48:46 UTC (rev 1915)
@@ -5,6 +5,7 @@
package fr.ifremer.isisfish.ui.sensitivity;
+import fr.ifremer.isisfish.ui.input.InputAction;
import fr.ifremer.isisfish.ui.input.InputOneEquationUI;
import fr.ifremer.isisfish.ui.widget.IntervalPanel;
import java.lang.reflect.Method;
@@ -18,6 +19,7 @@
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.text.JTextComponent;
+import jaxx.runtime.JAXXInitialContext;
import org.apache.commons.beanutils.BeanUtils;
import org.codelutin.math.matrix.MatrixND;
import org.codelutin.math.matrix.gui.MatrixPanelEditor;
@@ -55,8 +57,17 @@
((JRadioButton) result).setSelected((Boolean)callMethod(e, fieldName));
} else if (result instanceof InputOneEquationUI){
-// ((InputOneEquationUI) result).init(setText(BeanUtils.getProperty(e, fieldName)));
-
+ InputOneEquationUI origine = (InputOneEquationUI) c;
+ InputOneEquationUI ui = new InputOneEquationUI(new JAXXInitialContext().add(new InputAction()));
+ ui.setLblText(origine.getLblText());
+ ui.setNameEquation(origine.getNameEquation());
+ ui.setClazz(origine.getClazz());
+ ui.setMethodGet(origine.getMethodGet());
+ ui.setMethodSet(origine.getMethodSet());
+ ui.setBean(e);
+ ui.setActif(true);
+ ui.refresh();
+ result = ui;
} else if (result instanceof IntervalPanel){
// ((IntervalPanel) result).setModel((BeanUtils.getProperty(e, fieldName)));
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-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-05 23:48:46 UTC (rev 1915)
@@ -30,7 +30,7 @@
* by : $Author: sletellier $
*/
-->
-<JDialog id="FactorTypeChooser" title='isisfish.factor.title' resizable='false' modal='true' layout='{new BorderLayout()}'>
+<JDialog id="FactorTypeChooser" title='isisfish.factor.title' resizable='false' layout='{new BorderLayout()}'>
<Boolean id='continuePossible' javaBean='true'/>
Modified: isis-fish/trunk/src/main/resources/sensitivity.properties
===================================================================
--- isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-05 16:53:02 UTC (rev 1914)
+++ isis-fish/trunk/src/main/resources/sensitivity.properties 2009-03-05 23:48:46 UTC (rev 1915)
@@ -28,6 +28,9 @@
Population.Comment
Population.Capturability
Population.CapturabilityComment
+Population.MappingZoneReproZoneRecru
+Population.Growth
+Population.GrowthReverse
PopulationGroup.MeanWeight
PopulationGroup.Price
Population.NaturalDeathRateMatrix
1
0
r1914 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: actions mexico rule simulator simulator/launcher
by chatellier@users.labs.libre-entreprise.org 05 Mar '09
by chatellier@users.labs.libre-entreprise.org 05 Mar '09
05 Mar '09
Author: chatellier
Date: 2009-03-05 16:53:02 +0000 (Thu, 05 Mar 2009)
New Revision: 1914
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/OtherAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/VCSAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/AbstractRule.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/Rule.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java
Log:
Add prescript mamangement for build only one zip in sensitivity simulation.
Works for inprocess simulation for now.
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ExportAction.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2008 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -43,15 +43,15 @@
/**
*
* @author poussin
- * @version $Revision$
+ * @version $Revision: 1862 $
*
- * Last update: $Date$
- * by : $Author$
+ * Last update: $Date: 2009-02-23 16:42:34 +0100 (lun. 23 févr. 2009) $
+ * by : $Author: chatellier $
*/
public class ExportAction {
/** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ExportAction.class);
+ private static Log log = LogFactory.getLog(ExportAction.class);
protected IsisConfig config = null;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/ImportAction.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2008 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -21,6 +21,10 @@
import static org.codelutin.i18n.I18n._;
+import java.io.File;
+
+import org.codelutin.util.FileUtil;
+
import fr.ifremer.isisfish.IsisConfig;
import fr.ifremer.isisfish.datastore.AnalysePlanStorage;
import fr.ifremer.isisfish.datastore.ExportStorage;
@@ -30,24 +34,17 @@
import fr.ifremer.isisfish.datastore.ScriptStorage;
import fr.ifremer.isisfish.datastore.SimulationStorage;
import fr.ifremer.isisfish.datastore.SimulatorStorage;
-import java.io.File;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.codelutin.util.FileUtil;
/**
*
* @author poussin
- * @version $Revision$
+ * @version $Revision: 1862 $
*
- * Last update: $Date$
- * by : $Author$
+ * Last update: $Date: 2009-02-23 16:42:34 +0100 (lun. 23 févr. 2009) $
+ * by : $Author: chatellier $
*/
public class ImportAction {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(ImportAction.class);
-
protected IsisConfig config = null;
public ImportAction(IsisConfig config) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/OtherAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/OtherAction.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/OtherAction.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -21,26 +21,27 @@
import static org.codelutin.i18n.I18n._;
-import fr.ifremer.isisfish.IsisConfig;
-import fr.ifremer.isisfish.IsisFish;
-import fr.ifremer.isisfish.vcs.VCS;
import java.io.File;
-import java.util.Arrays;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import fr.ifremer.isisfish.IsisConfig;
+import fr.ifremer.isisfish.IsisFish;
+import fr.ifremer.isisfish.vcs.VCS;
+
/**
*
* @author poussin
- * @version $Revision$
+ * @version $Revision: 1862 $
*
- * Last update: $Date$
- * by : $Author$
+ * Last update: $Date: 2009-02-23 16:42:34 +0100 (lun. 23 févr. 2009) $
+ * by : $Author: chatellier $
*/
public class OtherAction {
/** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(OtherAction.class);
+ private static Log log = LogFactory.getLog(OtherAction.class);
protected IsisConfig config = null;
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -39,18 +39,18 @@
import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher;
/**
- * Action des simulations.
+ * Actions des simulations.
*
* @author poussin
- * @version $Revision$
+ * @version $Revision: 1862 $
*
- * Last update: $Date$
- * by : $Author$
+ * Last update: $Date: 2009-02-23 16:42:34 +0100 (lun. 23 févr. 2009) $
+ * by : $Author: chatellier $
*/
public class SimulationAction {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- static private Log log = LogFactory.getLog(SimulationAction.class);
+ /** to use log facility, just put in your code: log.info("..."); */
+ private static Log log = LogFactory.getLog(SimulationAction.class);
protected IsisConfig config = null;
@@ -82,9 +82,11 @@
if (!RegionStorage.exists(regionName)) {
RegionStorage.importAndRenameZip(region, regionName);
} else {
- log.warn(_(
+ if (log.isWarnEnabled()) {
+ log.warn(_(
"Region %s allready exist in repository. Can't import",
regionName));
+ }
}
}
@@ -92,16 +94,35 @@
}
/**
+ * Launch a simulation with specified simulationId and simulation zip.
*
- * @param simulId id de simulation
+ * @param simulationId id de simulation
* @param simulationZip Zip de la simulation
* @throws Exception
*/
- public static void simulateWithSimulation(String simulId, File simulationZip)
+ public static void simulateWithSimulation(String simulationId, File simulationZip)
throws Exception {
- log.info("id:" + simulId + ", zip:" + simulationZip);
+ // just call with null pre script
+ simulateWithSimulation(simulationId, simulationZip, null);
+ }
+
+ /**
+ * Launch a simulation with specified simulationId, simulationZip
+ * and simulationPrescript.
+ *
+ * @param simulationId id de simulation
+ * @param simulationZip Zip de la simulation
+ * @param simulationPrescript simulation prescript
+ * @throws Exception
+ */
+ public static void simulateWithSimulation(String simulationId, File simulationZip, String simulationPrescript)
+ throws Exception {
+
+ if (log.isInfoEnabled()) {
+ log.info("Command line action : simulateWithSimulation (" + simulationId + ", " + simulationZip.getAbsolutePath() + ", " + simulationPrescript + ")");
+ }
- String name = simulId; // ne pas mettre la date, car le sub process la met deja + " " + new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date());
+ String name = simulationId; // ne pas mettre la date, car le sub process la met deja + " " + new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date());
SimulationControl control = new SimulationControl(name);
@@ -114,7 +135,8 @@
//SimulationStorage simulation = launcher.simulate(null, control, simulationZip);
//simulation.getStorage().closeContext();
- launcher.simulate(null, control, simulationZip);
+ // FIXME simulation prescript to get from parameters !!!
+ launcher.simulate(null, control, simulationZip, null);
SimulationStorage simulation = launcher.getSimulationStorage(SimulationService.getService(), control);
simulation.getStorage().closeContext();
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/VCSAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/VCSAction.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/VCSAction.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2002-2008 Code Lutin, Benjamin Poussin
+ * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
@@ -19,7 +19,6 @@
package fr.ifremer.isisfish.actions;
-
import com.sshtools.j2ssh.transport.publickey.OpenSSHPublicKeyFormat;
import com.sshtools.j2ssh.transport.publickey.SshKeyGenerator;
import fr.ifremer.isisfish.IsisConfig;
@@ -32,10 +31,10 @@
/**
*
* @author poussin
- * @version $Revision$
+ * @version $Revision: 1862 $
*
- * Last update: $Date$
- * by : $Author$
+ * Last update: $Date: 2009-02-23 16:42:34 +0100 (lun. 23 févr. 2009) $
+ * by : $Author: chatellier $
*/
public class VCSAction {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -27,6 +27,8 @@
* @author chatellier
* @version $Revision: 1.0 $
*
+ * @since 3.2.0.4
+ *
* Last update : $Date: 5 mars 2009 $
* By : $Author: chatellier $
*/
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/AbstractRule.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/AbstractRule.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/AbstractRule.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2006
+ * Copyright (C) 2006 - 2009
* Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
@@ -17,54 +17,39 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * AbstractRule.java
- *
- * Created: 12 janv. 2006 17:12:51
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.rule;
import java.util.HashMap;
import java.util.Map;
-import java.util.Properties;
-import org.apache.commons.beanutils.ConvertUtilsBean;
-import org.codelutin.topia.persistence.TopiaEntity;
-
-import fr.ifremer.isisfish.IsisFishException;
-import fr.ifremer.isisfish.datastore.RegionStorage;
-import fr.ifremer.isisfish.datastore.RuleStorage;
-import fr.ifremer.isisfish.util.ConverterUtil;
-
-
/**
* Les parametres d'une regle sont tous les attributs prefixé de param, mais
* ce prefix n'apparait que dans le code source.
*
+ * Created: 12 janv. 2006 17:12:51
+ *
* @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
*/
-
public abstract class AbstractRule implements Rule {
- transient protected Map<String, Object> values = new HashMap<String, Object>();
+ protected transient Map<String, Object> values = new HashMap<String, Object>();
- /* (non-Javadoc)
+ /*
* @see fr.ifremer.isisfish.rule.Rule#getValue(java.lang.String)
*/
+ @Override
public Object getValue(String name) {
return values.get(name);
}
- /* (non-Javadoc)
+ /*
* @see fr.ifremer.isisfish.rule.Rule#setValue(java.lang.String, java.lang.Object)
*/
+ @Override
public void setValue(String name, Object value) {
values.put(name, value);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/Rule.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/Rule.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/rule/Rule.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -1,5 +1,5 @@
/* *##%
- * Copyright (C) 2006
+ * Copyright (C) 2006 - 2009
* Code Lutin, Cédric Pineau, Benjamin Poussin
*
* This program is free software; you can redistribute it and/or
@@ -17,18 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * Rule.java
- *
- * Created: 12 janv. 2006 17:02:43
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.rule;
import fr.ifremer.isisfish.entities.Metier;
@@ -54,7 +42,13 @@
* <p> Pour supporter d'autre type il faut créer des converters commons-beans
* //@link fr.ifremer.isisfish.simulator.SimulationParameter#ruleParametertoProperties(Rule)
*
+ * Created: 12 janv. 2006 17:02:43
+ *
* @author poussin
+ * @version $Revision$
+ *
+ * Last update: $Date$
+ * by : $Author$
*/
public interface Rule {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -50,13 +50,16 @@
* de simulation. Il est ensuite possible de lui demander ou en est rendu
* une simulation.
*
+ * FIXME chatellier : since ... a long time this implementation is unmaintained.
+ *
* Created: Thu Aug 22 2002
*
* @author <poussin at codelutin.com> Copyright Code Lutin
*
* @version $Revision$
*
- * Mise a jour: $Date$ par : $Author$
+ * Mise a jour: $Date$
+ * par : $Author$
*/
public class SimulatorServer implements XmlRpcHandler, XmlRpcHandlerMapping { // SimulatorServer
@@ -173,7 +176,7 @@
simulationControls.put(id, control);
try {
SimulatorLauncher launcher = new InProcessSimulatorLauncher();
- launcher.simulate(null, control, zip);
+ launcher.simulate(null, control, zip, null);
// FIXME null
simulation = launcher.getSimulationStorage(null, control);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -64,13 +64,13 @@
import fr.ifremer.isisfish.types.Month;
/**
- * Fait une simulation dans la meme jvm
+ * Fait une simulation dans la meme jvm.
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class InProcessSimulatorLauncher implements SimulatorLauncher {
@@ -80,12 +80,12 @@
protected SimulationStorage simulation;
- /*
- * @see fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher#simulate(fr.ifremer.isisfish.simulator.launcher.SimulationService, fr.ifremer.isisfish.simulator.SimulationControl, java.io.File)
+ /**
+ * {@inheritDoc}
*/
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip)
- throws RemoteException {
+ SimulationControl control, File simulationZip,
+ String simulationPrescript) throws RemoteException {
String id = control.getId();
log.info(_("simulate %s with file %s", id, simulationZip));
@@ -99,6 +99,13 @@
control.setDate(new Date());
control.setProgress(0);
control.setStarted(true);
+
+ // replace prescript if specified on method
+ if (simulationPrescript != null && !simulationPrescript.trim().isEmpty()) {
+ param.setUsePreScript(true);
+ param.setPreScript(simulationPrescript);
+ }
+
int lastYear = param.getNumberOfYear();
int lastDate = lastYear * Month.NUMBER_OF_MONTH;
control.setProgressMax(lastDate);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -39,12 +39,15 @@
import fr.ifremer.isisfish.simulator.SimulationControl;
/**
- *
+ * Launch simulation on remote IsisFish server throw XML-RPC.
+ *
+ * FIXME chatellier : since ... a long time this implementation is unmaintained.
+ *
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class IsisFishServerSimulationLauncher implements SimulatorLauncher {
@@ -53,8 +56,8 @@
.getLog(IsisFishServerSimulationLauncher.class);
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip)
- throws RemoteException {
+ SimulationControl control, File simulationZip,
+ String simulationPreScript) throws RemoteException {
String simulationId = control.getId();
SimulationStorage simulation = null;
try {
@@ -149,7 +152,7 @@
}
/**
- * This thread is responsable to synchronized SimulationControl used localy with
+ * This thread is responsible to synchronized SimulationControl used localy with
* remote simulation control for remote simulation.
*
* This thread dead when {@link SimulationControl#isRunning()} is false
@@ -205,8 +208,7 @@
xmlrpcconfig.setBasicPassword(IsisFish.config
.getSimulatorPassword());
XmlRpcClient client = new XmlRpcClient();
- client
- .setTransportFactory(new XmlRpcCommonsTransportFactory(
+ client.setTransportFactory(new XmlRpcCommonsTransportFactory(
client));
client.setConfig(xmlrpcconfig);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -177,7 +177,7 @@
*/
@Override
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip)
+ SimulationControl control, File simulationZip, String simulationPrescript)
throws RemoteException {
// start ssh session
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -41,10 +41,10 @@
* Il est aussi possible d'ecoute l'etat de l'attribut pause
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class SimulationExecutor extends ThreadPoolExecutor {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -19,44 +19,64 @@
package fr.ifremer.isisfish.simulator.launcher;
+import java.io.File;
+
import fr.ifremer.isisfish.simulator.SimulationControl;
import fr.ifremer.isisfish.simulator.SimulationParameter;
-import java.io.File;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
- * Objet representant un simulation qui doit etre faite
+ * Objet representant un simulation qui doit etre faite.
*
+ * Elle est composée :
+ * - d'un fichier zip (la simulation a simuler)
+ * - les parametres de la simulation
+ * - d'un pre-script
+ *
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class SimulationItem {
- /** to use log facility, just put in your code: log.info(\"...\"); */
- private static Log log = LogFactory.getLog(SimulationItem.class);
-
- /** le control pour la simulation */
+ /** Le control pour la simulation. */
protected SimulationControl control;
+
+ /** Les parametres de simulation. */
protected SimulationParameter parameter;
- /** le zip contenant la simulation prete a etre executee */
+
+ /** Le zip contenant la simulation prete a etre executee. */
protected File simulationZip;
- public SimulationItem(SimulationControl control, SimulationParameter param,
- File simulationZip) {
+ /**
+ * Constructor.
+ *
+ * @param control Le control pour la simulation.
+ * @param param Les parametres de simulation.
+ */
+ public SimulationItem(SimulationControl control, SimulationParameter param) {
this.control = control;
this.parameter = param;
- this.simulationZip = simulationZip;
}
-
+
+ /**
+ * Retourne le control pour la simulation.
+ * @return le control pour la simulation.
+ */
public SimulationControl getControl() {
return control;
}
/**
+ * Retorune les parametres de simulation.
+ * @return les parametres de simulation.
+ */
+ public SimulationParameter getParameter() {
+ return parameter;
+ }
+
+ /**
* Permet de mettre le zip apres construction de l'objet. Cela est util
* car la construction du zip prend du temps, et on souhaite pouvoir le
* monitorer et donc il faut que l'item exist pour etre vu dans la console
@@ -71,12 +91,12 @@
this.simulationZip = simulationZip;
}
- public SimulationParameter getParameter() {
- return parameter;
- }
-
+ /**
+ * Retourne le zip contenant la simulation prete a etre executee.
+ *
+ * @return le zip contenant la simulation prete a etre executee.
+ */
public File getSimulationZip() {
return simulationZip;
}
-
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -43,10 +43,10 @@
* {@link SimulationService#reportError}.
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class SimulationJob implements Runnable, Comparable<SimulationJob> {
@@ -221,7 +221,14 @@
//SimulationStorage simulation = null;
if (!onlyCheckControl) {
File zip = item.getSimulationZip();
- launcher.simulate(simulationService, control, zip);
+
+ // get prescript content, only if UsePreScript is set to true
+ String simulationPrescript = null;
+ if(param.getUsePreScript()) {
+ simulationPrescript = param.getPreScript();
+ }
+
+ launcher.simulate(simulationService, control, zip, simulationPrescript);
}
// simulation ended
@@ -292,19 +299,22 @@
}
/**
- * Interface permettant d'implanter des actions a faire apres la simulation,
- * Ces action ne se declenche pas pour les job de plan d'analyse pere
+ * Interface permettant d'implanter des actions a faire apres la simulation.
+ * Ces actions ne se declenchent pas pour les job de plan d'analyse pere.
*/
public static interface PostAction {
+
/**
- * appeler lorsque la simulation s'arrete normalement
+ * Appelé lorsque la simulation s'arrete normalement.
+ *
* @param job le job qui a fait la simulation
* @param sim la simulation qui vient d'etre faite
*/
public void finished(SimulationJob job, SimulationStorage sim);
/**
- * appeler lorsque la simulation a echouee
+ * Appeler lorsque la simulation a echoué.
+ *
* @param job le job qui a fait la simulation
* @param eee l'exception qui a ete levee
*/
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -58,6 +58,7 @@
* seulement celle dit simple, c'est-à-dire "master plan" du plan
* d'analyse.
*
+ * @since 3.2.0.4
* @author chatellier
* @version $Revision: 1.0 $
*
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -23,25 +23,21 @@
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.ReentrantLock;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
/**
* Multi tail PriorityBlockingQueue.
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class SimulationQueue extends JDKPriorityBlockingQueue<SimulationJob> {
/** serialVersionUID. */
private static final long serialVersionUID = -6130030747211387382L;
- /** to use log facility, just put in your code: log.info(\"...\"); */
- private static Log log = LogFactory.getLog(SimulationQueue.class);
protected SimulationQueue parent = null;
protected List<SimulationQueue> childs = new LinkedList<SimulationQueue>();
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-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -99,10 +99,10 @@
* Il est alors suspendu pour ne plus etre utilise pour les simulations.
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class SimulationService {
@@ -361,7 +361,7 @@
SimulatorLauncher launcher, int priority) {
// on l'ajoute tout de suite a la liste des simulations demandee
SimulationControl control = new SimulationControl(id);
- SimulationItem item = new SimulationItem(control, param, null);
+ SimulationItem item = new SimulationItem(control, param);
SimulationJob job = new SimulationJob(this, item, priority);
job.setLauncher(launcher);
fireStartEvent(job);
@@ -401,6 +401,15 @@
SensitivityScenarios sensitivityScenarios = sensitivitycalculator
.compute(designPlan);
+ // on l'ajoute tout de suite a la liste des simulations demandee
+ // init with default "id" must been changed for designPlan
+ // simulation
+ SimulationControl controlJustForZip = new SimulationControl(id);
+
+ // on construit le zip de la simulation
+ // in zip, there will be param "without" prescript
+ File zip = prepareSimulationZipFile(controlJustForZip, param, true);
+
// for each simulation, we neeed to launch a specific simulation
// new simulation ids will be id + "_" + x
// where x is a int starting at 0
@@ -408,6 +417,8 @@
for (Scenario scenario : sensitivityScenarios.getScenarios()) {
// modify modification parameter
+ // subParam only convenient for add pre script
+ // for launcher
SimulationParameter subParam = param.copy();
String preScriptContent = generatePreScript(scenario);
subParam.setUsePreScript(true);
@@ -415,20 +426,16 @@
// build new simulation id
String subsimulationId = id + "_" + simulationIndex;
-
- // on l'ajoute tout de suite a la liste des simulations demandee
- SimulationControl control = new SimulationControl(
- subsimulationId);
- SimulationItem item = new SimulationItem(control, subParam,
- null);
+ SimulationControl realSimulationControl = new SimulationControl(subsimulationId);
+
+ // new item, with zip
+ SimulationItem item = new SimulationItem(realSimulationControl, subParam);
+ item.setSimulationZip(zip);
+
SimulationJob job = new SimulationJob(this, item, priority);
job.setLauncher(launcher);
fireStartEvent(job);
- // on construit le zip de la simulation
- File zip = prepareSimulationZipFile(control, subParam, true);
- item.setSimulationZip(zip);
-
if (subParam.getUseAnalysePlan()
&& subParam.isIndependentPlan()) {
// c un plan d'analyse independant, on construit toute les sous simu
@@ -466,7 +473,7 @@
configuration.setTemplateLoader(templateLoader);
configuration.setObjectWrapper(new BeansWrapper());
-
+
return configuration;
}
@@ -474,7 +481,7 @@
* Generate prescript to set factor values before simulation start.
*
* @param scenario
- * @return
+ * @return simulation pre script with correct values
* @throws IOException if pre script can't be made
* @throws TemplateException if pre script can't be made
*/
@@ -492,7 +499,7 @@
Map<String, Object> root = new HashMap<String, Object>();
root.put("scenario", scenario);
root.put("beanUtils", ConverterUtil.getConverter(null));
-
+
template.process(root, out);
out.flush();
String scriptContent = out.toString();
@@ -517,7 +524,7 @@
SimulatorLauncher launcher, int priority) {
// on l'ajoute tout de suite a la liste des simulations demandee
SimulationControl control = new SimulationControl(id);
- SimulationItem item = new SimulationItem(control, param, null);
+ SimulationItem item = new SimulationItem(control, param);
SimulationJob job = new SimulationJob(this, item, priority);
job.setLauncher(launcher);
fireStartEvent(job);
@@ -722,7 +729,8 @@
simId);
SimulationParameter childParam = param.copy();
SimulationItem item = new SimulationItem(
- childControl, childParam, zip);
+ childControl, childParam);
+ item.setSimulationZip(zip);
nextJob = new SimulationJob(simulationService,
job, item, job.getPriority());
nextJob.setLauncher(job.getLauncher());
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -20,31 +20,36 @@
package fr.ifremer.isisfish.simulator.launcher;
/**
- *
+ * Ecouteur sur les evenenements de changement
+ * d'états des simulations.
+ *
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public interface SimulationServiceListener {
/**
- * Notifie start of simulation
+ * Notify start of simulation.
+ *
* @param simService le simulation service qui a lance la simulation
* @param job job that responsable to simulation
*/
public void simulationStart(SimulationService simService, SimulationJob job);
/**
- * Notifie end of simulation
+ * Notify end of simulation.
+ *
* @param simService le simulation service qui a arrete la simulation
* @param job job that responsable to simulation
*/
public void simulationStop(SimulationService simService, SimulationJob job);
/**
- * Previent que le simulation service a vide ca liste de simulation faites
+ * Previent que le simulation service a vide ca liste de simulation faites.
+ *
* @param simService le simulation service dont la liste des jobs finis
* a ete vide
*/
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -43,10 +43,10 @@
* simulations
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class SimulationServiceTableModel extends AbstractTableModel {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -29,10 +29,10 @@
* comme plugin de simulation (CapArmor, SubProcess, ...)
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public interface SimulatorLauncher {
@@ -52,7 +52,7 @@
* exception est levee.
*/
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip)
+ SimulationControl control, File simulationZip, String simulationPrescript)
throws RemoteException;
/**
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2009-03-05 15:34:44 UTC (rev 1913)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2009-03-05 16:53:02 UTC (rev 1914)
@@ -44,10 +44,10 @@
* @see Process
*
* @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
*/
public class SubProcessSimulationLauncher implements SimulatorLauncher {
@@ -64,8 +64,8 @@
@Override
public void simulate(SimulationService simulationService,
- SimulationControl control, File simulationZip)
- throws RemoteException {
+ SimulationControl control, File simulationZip,
+ String simulationPrescript) throws RemoteException {
String simulationId = control.getId();
SimulationStorage simulation = null;
try {
@@ -205,7 +205,8 @@
public SimulationCheckpointExternalProcessThread(
SimulationControl control, String simulationId, Process process) {
if (log.isInfoEnabled()) {
- log.info("Lancement du thread de surveillance des simulations externes");
+ log
+ .info("Lancement du thread de surveillance des simulations externes");
}
this.control = control;
this.simulationId = simulationId;
@@ -251,7 +252,7 @@
}
} catch (IOException e) {
if (log.isErrorEnabled()) {
- log.error(_("isisfish.simulator.subprocess.readoutput.error"),
+ log.error( _("isisfish.simulator.subprocess.readoutput.error"),
e);
}
}
1
0
r1913 - isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util
by chatellier@users.labs.libre-entreprise.org 05 Mar '09
by chatellier@users.labs.libre-entreprise.org 05 Mar '09
05 Mar '09
Author: chatellier
Date: 2009-03-05 15:34:44 +0000 (Thu, 05 Mar 2009)
New Revision: 1913
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java
Log:
Clean code, remove unused private code
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java 2009-03-05 10:31:56 UTC (rev 1912)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/util/CompileHelper.java 2009-03-05 15:34:44 UTC (rev 1913)
@@ -17,18 +17,6 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*##%*/
-/* *
- * ClassUtil.java
- *
- * Created: 12 janv. 2006 15:29:53
- *
- * @author poussin
- * @version $Revision$
- *
- * Last update: $Date$
- * by : $Author$
- */
-
package fr.ifremer.isisfish.util;
import static org.codelutin.i18n.I18n._;
@@ -38,7 +26,6 @@
import java.io.PrintWriter;
import java.lang.reflect.Method;
import java.net.URL;
-import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -58,27 +45,24 @@
import fr.ifremer.isisfish.IsisFish;
import fr.ifremer.isisfish.datastore.JavaSourceStorage;
-
/**
+ * Compile helper used to compile Java code.
+ *
+ * JDK must be installed to use compilation.
+ * (JRE won't work).
+ *
+ * Created: 12 janv. 2006 15:29:53
+ *
* @author poussin
+ * @version $Revision$
*
+ * Last update: $Date$
+ * by : $Author$
*/
-
public class CompileHelper {
- /**
- * Logger for this class
- */
+ /** Logger for this class. */
private static final Log log = LogFactory.getLog(CompileHelper.class);
-
- /** path to the tools.jar library */
- private static File toolsjar;
- /** compilation classloader that contains compiler (toolsjar) */
- private static ClassLoader loader;
- /** method to use to compile java source */
- private static Method compileMethod;
- /** method to use to compile java source and that redirect output to specific stream */
- private static Method compileMethodWithPrintStream;
/**
* Recherche tous les fichiers qui un source plus recent que la version compilé.
@@ -87,9 +71,9 @@
* @param destDir
* @return File list
*/
- static public List<File> searchSrcToCompile(File srcDir, File destDir) {
+ public static List<File> searchSrcToCompile(File srcDir, File destDir) {
List<File> result = new ArrayList<File>();
- for(File src : srcDir.listFiles()) {
+ for (File src : srcDir.listFiles()) {
File dest = new File(FileUtil.basename(src, ".java"), ".class");
if (src.getName().endsWith(".java") && FileUtil.isNewer(src, dest)) {
result.add(src);
@@ -97,13 +81,13 @@
}
return result;
}
-
+
/**
* Load la class demandé
* @param fqn le nom complet de la classe a charger
* @return la classe souhaité ou null si la class n'est pas trouvée
*/
- static public Class loadClass(String fqn) {
+ public static Class loadClass(String fqn) {
Class result = null;
try {
ClassLoader cl = IsisFish.config.getScriptClassLoader();
@@ -113,21 +97,21 @@
}
return result;
}
-
- static public Object newInstance(String fqn) {
+
+ public static Object newInstance(String fqn) {
Object result = null;
try {
Class clazz = loadClass(fqn);
if (clazz != null) {
result = clazz.newInstance();
- }
- } catch(Exception eee) {
+ }
+ } catch (Exception eee) {
log.warn(_("isisfish.error.instanciate", fqn), eee);
}
return result;
}
-
+
/**
* Compile le fichier source en .class si le source est plus recent que
* le .class
@@ -140,15 +124,18 @@
* utilisées.
* @return 0 si la compilation a reussi une autre valeur sinon
*/
- static public int compile(JavaSourceStorage source, File destDir, boolean force, PrintWriter out) {
+ public static int compile(JavaSourceStorage source, File destDir,
+ boolean force, PrintWriter out) {
File src = source.getFile();
- File dst = new File(destDir, source.getFQN().replace('.', File.separatorChar) + ".class");
+ File dst = new File(destDir, source.getFQN().replace('.',
+ File.separatorChar)
+ + ".class");
if (force || FileUtil.isNewer(src, dst)) {
return CompileHelper.compile(source.getRoot(), src, destDir, out);
}
return 0;
}
-
+
/**
* Methode permettant de compiler un script, une regle ou un export
* @param rootSrc le répertoire ou se trouve les sources
@@ -163,17 +150,18 @@
* <li> -10000 si une autre exception
* <li> sinon les valeurs retourné par le compilateur java
*/
- static public int compile(File rootSrc, File src, File dest, PrintWriter out) {
+ public static int compile(File rootSrc, File src, File dest, PrintWriter out) {
int result = compile(rootSrc, Collections.singletonList(src), dest, out);
return result;
}
-
- static public int compile(File rootSrc, Collection<File> src, File dest, PrintWriter out) {
+
+ public static int compile(File rootSrc, Collection<File> src, File dest,
+ PrintWriter out) {
int result = -10000;
- try {
+ try {
List<File> classpath = new ArrayList<File>();
classpath.add(rootSrc.getAbsoluteFile());
-
+
result = compile(classpath, src, dest, out);
} catch (Exception eee) {
if (log.isWarnEnabled()) {
@@ -182,23 +170,25 @@
}
return result;
}
-
-
+
/**
* Compile un fichier java
* @param src les fichiers java source
* @param dest le repertoire destination
*/
- static protected int compile(List<File> classpath, Collection<File> src, File dest, PrintWriter out) {
+ protected static int compile(List<File> classpath, Collection<File> src,
+ File dest, PrintWriter out) {
dest.mkdirs();
-
+
int result = -1000;
try {
//JavaCompiler compiler = JavacTool.create();
// Use system compiler
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
- StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null);
- Iterable<? extends JavaFileObject> compilationUnits = fileManager.getJavaFileObjectsFromFiles(src);
+ StandardJavaFileManager fileManager = compiler
+ .getStandardFileManager(null, null, null);
+ Iterable<? extends JavaFileObject> compilationUnits = fileManager
+ .getJavaFileObjectsFromFiles(src);
// Options de compilations
String classpathAsString = getClassPathAsString(classpath);
@@ -208,12 +198,13 @@
args.add(classpathAsString);
args.add("-d");
args.add(dest.getAbsolutePath());
-
+
// Compilation
- boolean b = compiler.getTask(out, fileManager, null, args, null, compilationUnits).call();
+ boolean b = compiler.getTask(out, fileManager, null, args, null,
+ compilationUnits).call();
// on retourne 0 si tout s'est bien déroulé et -1 sinon
- result = b?0:-1;
-
+ result = b ? 0 : -1;
+
fileManager.close();
} catch (Exception eee) {
if (log.isWarnEnabled()) {
@@ -222,34 +213,38 @@
}
return result;
}
-
+
/**
* @return
*/
- private static String getClassPathAsString(List<File> classpath) throws Exception {
- String result = StringUtils.join(classpath.iterator(), File.pathSeparator) +
- File.pathSeparator + System.getProperty("java.class.path");
+ private static String getClassPathAsString(List<File> classpath)
+ throws Exception {
+ String result = StringUtils.join(classpath.iterator(),
+ File.pathSeparator)
+ + File.pathSeparator + System.getProperty("java.class.path");
// Ajout des jars
- for (Enumeration<?> e = CompileHelper.class.getClassLoader().getResources("META-INF/MANIFEST.MF"); e.hasMoreElements();) {
+ for (Enumeration<?> e = CompileHelper.class.getClassLoader()
+ .getResources("META-INF/MANIFEST.MF"); e.hasMoreElements();) {
URL url = (URL) e.nextElement();
if ((url != null) && url.getFile().startsWith("file:/")) {
- String jarName = url.getPath().substring(5, url.getPath().indexOf("!"));
- if(!result.contains(jarName)) {
+ String jarName = url.getPath().substring(5,
+ url.getPath().indexOf("!"));
+ if (!result.contains(jarName)) {
result += File.pathSeparator + jarName;
}
}
}
-
+
// FIXME just for test to run in maven
// In this case, current project in not packaged ad jar
// and no META-INF/MANIFEST.MF could be found...
- File targetClassesFile = new File("target","classes");
+ File targetClassesFile = new File("target", "classes");
if (targetClassesFile.isDirectory()) {
result += File.pathSeparator + targetClassesFile.getAbsolutePath();
}
- if(log.isDebugEnabled()) {
+ if (log.isDebugEnabled()) {
log.debug("CLASSPATH : " + result);
}
@@ -257,70 +252,45 @@
}
/**
- * @return
- */
- private static File getToolsJar() {
- if (toolsjar == null) {
- File javaHome = new File(System.getProperty("java.home")).getParentFile();
- log.debug("javaHome " + javaHome);
- List<File> tools = FileUtil.find(javaHome, ".*tools.jar", true);
-
- if (tools.size() > 0) {
- toolsjar = tools.get(0);
- log.debug("tools.jar -> " + toolsjar);
- }
- }
- return toolsjar;
- }
-
-
- private static class CompilerClassLoader extends URLClassLoader {
-
- public CompilerClassLoader(URL [] url, ClassLoader parent) {
- super(url, parent);
- }
-
- }
-
- /**
* Extract documentation from interface (Equation)
* @param category
* @param name
* @param javaInterface
* @return doc
*/
- static public String extractDoc(String category, String name, Class javaInterface) {
+ public static String extractDoc(String category, String name,
+ Class javaInterface) {
String content = "";
- content = "<p>Equation : " + createHREF(javaInterface.getName(), category) + " - " + name + "</p>";
+ content = "<p>Equation : "
+ + createHREF(javaInterface.getName(), category) + " - " + name
+ + "</p>";
content += "<h3>Parameter: name and type</h3>";
-
- if (javaInterface != null) {
- Method [] methods = javaInterface.getDeclaredMethods();
- Method interfaceMethod = methods[0];
-
- Args args = interfaceMethod.getAnnotation(Args.class);
- String [] names = args.value();
-
- String [] stringTypes = null;
- ArgTypes argTypes = interfaceMethod.getAnnotation(ArgTypes.class);
- if (argTypes != null) {
- stringTypes = argTypes.value();
- } else {
- stringTypes = new String[names.length];
- Class [] types = interfaceMethod.getParameterTypes();
- for (int i=0; i<types.length; i++) {
- stringTypes[i] = types[i].getName();
- }
+
+ Method[] methods = javaInterface.getDeclaredMethods();
+ Method interfaceMethod = methods[0];
+
+ Args args = interfaceMethod.getAnnotation(Args.class);
+ String[] names = args.value();
+
+ String[] stringTypes = null;
+ ArgTypes argTypes = interfaceMethod.getAnnotation(ArgTypes.class);
+ if (argTypes != null) {
+ stringTypes = argTypes.value();
+ } else {
+ stringTypes = new String[names.length];
+ Class[] types = interfaceMethod.getParameterTypes();
+ for (int i = 0; i < types.length; i++) {
+ stringTypes[i] = types[i].getName();
}
-
- for (int i=0; i<names.length; i++) {
- content += "<li>" + names[i] + " : " + createHREF(stringTypes[i]);
-// if (i+1<names.length) {
-// content += "\n";
-// }
- }
-
}
+
+ for (int i = 0; i < names.length; i++) {
+ content += "<li>" + names[i] + " : " + createHREF(stringTypes[i]);
+ // if (i+1<names.length) {
+ // content += "\n";
+ // }
+ }
+
try {
FileUtil.writeString(new File("/tmp/testDoc.html"), content);
} catch (IOException eee) {
@@ -330,16 +300,15 @@
}
return content;
}
-
- static private String createHREF(String type, String ... texts) {
- String ref = IsisFish.config.getJavadocURL() + type.replaceAll("\\.", "/") + ".html";
+
+ private static String createHREF(String type, String... texts) {
+ String ref = IsisFish.config.getJavadocURL()
+ + type.replaceAll("\\.", "/") + ".html";
String text = type;
if (texts.length > 0) {
text = texts[0];
}
- String result = "<a href='"+ref+"'>" + text + "</a>";
+ String result = "<a href='" + ref + "'>" + text + "</a>";
return result;
}
}
-
-
1
0
r1912 - in isis-fish/trunk/src: main/java/fr/ifremer/isisfish main/java/fr/ifremer/isisfish/mexico main/java/fr/ifremer/isisfish/mexico/xml main/java/fr/ifremer/isisfish/simulator/sensitivity main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor test/java/fr/ifremer/isisfish test/java/fr/ifremer/isisfish/mexico test/java/fr/ifremer/isisfish/simulator test/java/fr/ifremer/isisfish/simulator/launcher
by chatellier@users.labs.libre-entreprise.org 05 Mar '09
by chatellier@users.labs.libre-entreprise.org 05 Mar '09
05 Mar '09
Author: chatellier
Date: 2009-03-05 10:31:56 +0000 (Thu, 05 Mar 2009)
New Revision: 1912
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/
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
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java
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/FactorVisitor.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java
isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
Log:
Begin to add visitors on sensitivity classes and Mexico XML export.
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/MexicoHelper.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,49 @@
+/* *##%
+ * 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;
+
+import fr.ifremer.isisfish.mexico.xml.DesignPlanXMLVisitor;
+import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
+
+/**
+ * Mexico helper class.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class MexicoHelper {
+
+ /**
+ * Get xml representation of a design plan.
+ *
+ * @param designPlan design plan
+ * @return xml design plan representation
+ */
+ public static String getDesignPlanAsXML(DesignPlan designPlan) {
+
+ DesignPlanXMLVisitor visitor = new DesignPlanXMLVisitor();
+ designPlan.accept(visitor);
+ String designPlanXml = visitor.getXML();
+ return designPlanXml;
+
+ }
+}
Added: 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 (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DesignPlanXMLVisitor.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,87 @@
+/* *##%
+ * 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.DesignPlan;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DesignPlanVisitor;
+
+/**
+ * XML design plan visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class DesignPlanXMLVisitor implements DesignPlanVisitor {
+
+ /** XML text buffer. */
+ protected StringBuffer xmlBuffer;
+
+ /**
+ * Constructor.
+ *
+ * Init xml buffer.
+ */
+ public DesignPlanXMLVisitor() {
+ 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(DesignPlan designPlan) {
+ xmlBuffer.append("<designplan>");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void visit(DesignPlan designPlan,
+ Factor<? extends Serializable> factor) {
+ FactorXMLVisitor visitor = new FactorXMLVisitor();
+ factor.accept(visitor);
+ xmlBuffer.append(visitor.getXML());
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void end(DesignPlan designPlan) {
+ xmlBuffer.append("</designplan>");
+ }
+
+}
Added: 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 (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/DomainXMLVisitor.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,94 @@
+/* *##%
+ * 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.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
+
+/**
+ * XML domain visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class DomainXMLVisitor implements DomainVisitor {
+
+ /** XML text buffer. */
+ protected StringBuffer xmlBuffer;
+
+ /**
+ * Constructor.
+ *
+ * Init xml buffer.
+ */
+ public DomainXMLVisitor() {
+ 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 ");
+ if (domain instanceof ContinuousDomain) {
+ xmlBuffer.append("type=\"continous\"");
+ }
+ if (domain instanceof DiscreteDomain) {
+ xmlBuffer.append("type=\"discrete\"");
+ }
+ xmlBuffer.append(">");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @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>");
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void end(Domain<? extends Serializable> domain) {
+ xmlBuffer.append("</domain>");
+ }
+}
Added: 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 (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/mexico/xml/FactorXMLVisitor.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,93 @@
+/* *##%
+ * 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.Factor;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor;
+
+/**
+ * XML factor visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class FactorXMLVisitor implements FactorVisitor {
+
+ /** XML text buffer. */
+ protected StringBuffer xmlBuffer;
+
+ /**
+ * Constructor.
+ *
+ * Init xml buffer.
+ */
+ public FactorXMLVisitor() {
+ xmlBuffer = new StringBuffer();
+ }
+
+ /**
+ * Get xml buffer content.
+ *
+ * @return content as string
+ */
+ public String getXML() {
+ String xml = xmlBuffer.toString();
+ return xml;
+ }
+
+ /*
+ * @see fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor#start(fr.ifremer.isisfish.simulator.sensitivity.Factor)
+ */
+ @Override
+ 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() + "\"");
+ }
+ xmlBuffer.append(">");
+ }
+
+ /*
+ * @see fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor#visit(fr.ifremer.isisfish.simulator.sensitivity.Domain)
+ */
+ @Override
+ public void visit(Factor<? extends Serializable> factor, Domain<? extends Serializable> domain) {
+ DomainXMLVisitor visitor = new DomainXMLVisitor();
+ domain.accept(visitor);
+ xmlBuffer.append(visitor.getXML());
+ }
+
+ /*
+ * @see fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor#end(fr.ifremer.isisfish.simulator.sensitivity.Factor)
+ */
+ @Override
+ public void end(Factor<? extends Serializable> factor) {
+ xmlBuffer.append("</factor>");
+
+ }
+
+}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java 2009-03-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/ContinuousDomain.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -22,6 +22,8 @@
import org.apache.commons.lang.builder.ToStringBuilder;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
+
/**
* Domaine continu.
*
@@ -102,6 +104,18 @@
// FIXME test cast
return (E)identifier;
}
+
+ /**
+ * Accept a new visitor.
+ *
+ * @param visitor
+ */
+ public void accept(DomainVisitor visitor) {
+ visitor.start(this);
+ visitor.visit(this, "min", minBound);
+ visitor.visit(this, "max", maxBound);
+ visitor.end(this);
+ }
/*
* @see java.lang.Object#toString()
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java 2009-03-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DesignPlan.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -24,6 +24,8 @@
import org.apache.commons.lang.builder.ToStringBuilder;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DesignPlanVisitor;
+
/**
* Design plan contenant toutes les
* valeur de facteur possible.
@@ -67,6 +69,19 @@
this.factors = factors;
}
+ /**
+ * Accept a new visitor.
+ *
+ * @param visitor
+ */
+ public void accept(DesignPlanVisitor visitor) {
+ visitor.start(this);
+ for(Factor<? extends Serializable> factor : factors) {
+ visitor.visit(this, factor);
+ }
+ visitor.end(this);
+ }
+
/*
* @see java.lang.Object#toString()
*/
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java 2009-03-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/DiscreteDomain.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -19,11 +19,14 @@
package fr.ifremer.isisfish.simulator.sensitivity;
import java.io.Serializable;
+import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import org.apache.commons.lang.builder.ToStringBuilder;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
+
/**
* Domain discret.
*
@@ -88,6 +91,19 @@
return values.get(identifier);
}
+ /**
+ * Accept a new visitor.
+ *
+ * @param visitor
+ */
+ public void accept(DomainVisitor visitor) {
+ visitor.start(this);
+ for(Map.Entry<Serializable, E> value : values.entrySet()) {
+ visitor.visit(this, value.getKey(), value.getValue());
+ }
+ visitor.end(this);
+ }
+
/*
* @see java.lang.Object#toString()
*/
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java 2009-03-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Domain.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -20,6 +20,8 @@
import java.io.Serializable;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.DomainVisitor;
+
/**
* Domaine du facteur.
*
@@ -50,4 +52,11 @@
* @return found value or <tt>null</tt> if not found
*/
E getValueForIdentifier(Serializable identifier);
+
+ /**
+ * Accept a new visitor.
+ *
+ * @param visitor
+ */
+ public void accept(DomainVisitor visitor);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/Factor.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -22,6 +22,8 @@
import org.apache.commons.lang.builder.ToStringBuilder;
+import fr.ifremer.isisfish.simulator.sensitivity.visitor.FactorVisitor;
+
/**
* Facteur de variation des parametres de simulation.
*
@@ -179,6 +181,17 @@
}
/**
+ * Accept a new visitor.
+ *
+ * @param visitor
+ */
+ public void accept(FactorVisitor visitor) {
+ visitor.start(this);
+ visitor.visit(this, domain);
+ visitor.end(this);
+ }
+
+ /**
* {@inheritDoc}
*/
@Override
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DesignPlanVisitor.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,58 @@
+/* *##%
+ * 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.simulator.sensitivity.visitor;
+
+import java.io.Serializable;
+
+import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+
+/**
+ * DesignPlan visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public interface DesignPlanVisitor {
+
+ /**
+ * Start.
+ *
+ * @param designPlan design plan
+ */
+ void start(DesignPlan designPlan);
+
+ /**
+ * Visit factor.
+ *
+ * @param designPlan design plan
+ * @param factor factor
+ */
+ void visit(DesignPlan designPlan, Factor<? extends Serializable> factor);
+
+ /**
+ * End.
+ *
+ * @param designPlan design plan
+ */
+ void end(DesignPlan designPlan);
+}
Added: 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 (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/DomainVisitor.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,59 @@
+/* *##%
+ * 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.simulator.sensitivity.visitor;
+
+import java.io.Serializable;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+
+/**
+ * Domain visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public interface DomainVisitor {
+
+ /**
+ * Start.
+ *
+ * @param domain domain
+ */
+ void start(Domain<? extends Serializable> domain);
+
+ /**
+ * Visit domain value or property.
+ *
+ * @param <E> domain element type
+ * @param domain domain
+ * @param label value label or property name
+ * @param value value
+ */
+ <E extends Serializable> void visit(Domain<E> domain, Serializable label, E value);
+
+ /**
+ * End.
+ *
+ * @param domain domain
+ */
+ void end(Domain<? extends Serializable> domain);
+}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/FactorVisitor.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/FactorVisitor.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/sensitivity/visitor/FactorVisitor.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,58 @@
+/* *##%
+ * 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.simulator.sensitivity.visitor;
+
+import java.io.Serializable;
+
+import fr.ifremer.isisfish.simulator.sensitivity.Domain;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+
+/**
+ * Factor visitor.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public interface FactorVisitor {
+
+ /**
+ * Start.
+ *
+ * @param factor factor
+ */
+ void start(Factor<? extends Serializable> factor);
+
+ /**
+ * Visit domain.
+ *
+ * @param factor factor
+ * @param domain domain
+ */
+ void visit(Factor<? extends Serializable> factor, Domain<? extends Serializable> domain);
+
+ /**
+ * End.
+ *
+ * @param factor factor
+ */
+ void end(Factor<? extends Serializable> factor);
+}
Added: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java (rev 0)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/mexico/MexicoHelperTest.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -0,0 +1,96 @@
+/* *##%
+ * 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;
+
+import junit.framework.Assert;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.junit.Test;
+
+import fr.ifremer.isisfish.simulator.sensitivity.ContinuousDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan;
+import fr.ifremer.isisfish.simulator.sensitivity.DiscreteDomain;
+import fr.ifremer.isisfish.simulator.sensitivity.Factor;
+
+/**
+ * TODO COMMENT ME.
+ *
+ * @author chatellier
+ * @version $Revision: 1.0 $
+ *
+ * Last update : $Date: 5 mars 2009 $
+ * By : $Author: chatellier $
+ */
+public class MexicoHelperTest {
+
+ /** Commons logging log. */
+ private static Log log = LogFactory.getLog(MexicoHelperTest.class);
+
+ /**
+ * Test method {@link MexicoHelper#getDesignPlanAsXML(DesignPlan)}.
+ */
+ @Test
+ public void testGetDesignPlanAsXML() {
+
+ DesignPlan designPlan = new DesignPlan();
+
+ // factor 1
+ Factor<Double> factor1 = 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");
+
+ // factor 2
+ Factor<Double> factor2 = 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);
+
+ // 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");
+
+ designPlan.getFactors().add(factor1);
+ designPlan.getFactors().add(factor2);
+ designPlan.getFactors().add(factor3);
+
+ // 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);
+
+ if (log.isInfoEnabled()) {
+ log.info("Designplan xml = " + xml);
+ }
+ }
+}
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-03-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationHelperTest.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -52,7 +52,8 @@
*/
public class SimulationHelperTest {
- private static final Log log = LogFactory.getLog(SimulationHelperTest.class);
+ /** Commons logging log. */
+ private static Log log = LogFactory.getLog(SimulationHelperTest.class);
final static private String[] SIMULATION_ZIP_FILE = new String[]{
"src" + File.separator + "test" + File.separator + "resources" + File.separator + "simulations" + File.separator + "test-nonregression-20090203.zip",
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-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/SimulationPreScriptTest.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -38,7 +38,6 @@
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
-import org.junit.Ignore;
import org.junit.Test;
import fr.ifremer.TestUtils;
@@ -75,7 +74,8 @@
*/
public class SimulationPreScriptTest {
- private static final Log log = LogFactory.getLog(SimulationPreScriptTest.class);
+ /** Commons logging log. */
+ private static Log log = LogFactory.getLog(SimulationPreScriptTest.class);
//protected TopiaContext rootContext;
Modified: isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java
===================================================================
--- isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2009-03-04 18:21:15 UTC (rev 1911)
+++ isis-fish/trunk/src/test/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTest.java 2009-03-05 10:31:56 UTC (rev 1912)
@@ -55,7 +55,8 @@
*/
public class SimulationServiceTest {
- private static final Log log = LogFactory.getLog(SimulationServiceTest.class);
+ /** Commons logging log. */
+ private static Log log = LogFactory.getLog(SimulationServiceTest.class);
@Before
public void setUp() throws Exception {
1
0
r1911 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: input sensitivity
by sletellier@users.labs.libre-entreprise.org 04 Mar '09
by sletellier@users.labs.libre-entreprise.org 04 Mar '09
04 Mar '09
Author: sletellier
Date: 2009-03-04 18:21:15 +0000 (Wed, 04 Mar 2009)
New Revision: 1911
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputNavigationTreeSelectionAdapter.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
Log:
Sensitivity work with tabs
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-03-04 18:21:15 UTC (rev 1911)
@@ -39,11 +39,17 @@
<script><![CDATA[
import fr.ifremer.isisfish.entities.Metier;
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabbedPaneListener;
+
+getVerifier().addCurrentPanel(this);
setButtonTitle(_("isisfish.input.continueMetiers"));
setNextPath("$root/$metiers");
public void refresh() {
- gearTab.removeChangeListener(getTabListener());
- gearTab.addChangeListener(getTabListener());
+ if (isSens()){
+ gearTab.addChangeListener(new SensitivityTabbedPaneListener());
+ } else {
+ gearTab.addChangeListener(new InputTabbedPaneListener());
+ }
getVerifier().addCurrentPanel(selectivityUI ,gearTabUI);
}
]]></script>
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-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-04 18:21:15 UTC (rev 1911)
@@ -2,6 +2,8 @@
<!-- ui state when editing -->
<Boolean id='actif' javaBean='false'/>
+
+ <Boolean id='sens' javaBean='false'/>
<!-- Next button title -->
<java.lang.String id='buttonTitle' javaBean='""'/>
@@ -31,14 +33,6 @@
import fr.ifremer.isisfish.ui.sensitivity.FactorWizard;
import fr.ifremer.isisfish.ui.sensitivity.EditorHelper;
-protected ChangeListener tabListener = null;
-
-public ChangeListener getTabListener(){
- return tabListener;
-}
-public void setTabListener(ChangeListener l){
- this.tabListener = l;
-}
public void refresh(){}
public InputAction getAction() {
return getContextValue(InputAction.class);
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputNavigationTreeSelectionAdapter.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputNavigationTreeSelectionAdapter.java 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputNavigationTreeSelectionAdapter.java 2009-03-04 18:21:15 UTC (rev 1911)
@@ -95,7 +95,7 @@
// apply refresh method (should a contract for all this ui with a method refresh...)
try {
currentUI = (InputContentUI) newUI;
- currentUI.setTabListener(new InputTabbedPaneListener());
+ currentUI.setSens(false);
context.getContextValue(InputSaveVerifier.class).addCurrentPanel(currentUI);
currentNode = node;
} catch (Exception e) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputSaveVerifier.java 2009-03-04 18:21:15 UTC (rev 1911)
@@ -6,6 +6,7 @@
package fr.ifremer.isisfish.ui.input;
import fr.ifremer.isisfish.IsisFishDAOHelper;
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabUI;
import fr.ifremer.isisfish.ui.widget.ErrorDialogUI;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
@@ -308,6 +309,10 @@
for (InputContentUI ui : panels){
editable = !currentEntities.isEmpty();
this.currentPanels.add(ui);
+ if (rootUI == null){
+ ui.setSens(true);
+ ui.setLayer(true);
+ }
ui.refresh();
ui.setActif(editable);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/MetierUI.jaxx 2009-03-04 18:21:15 UTC (rev 1911)
@@ -40,11 +40,17 @@
import fr.ifremer.isisfish.entities.TripType;
import fr.ifremer.isisfish.entities.MetierImpl;
import fr.ifremer.isisfish.entities.Metier;
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabbedPaneListener;
+getVerifier().addCurrentPanel(this);
setButtonTitle(_("isisfish.input.continueTripTypes"));
setNextPath("$root/$tripTypes");
-metierTab.addChangeListener(new InputTabbedPaneListener());
public void refresh() {
+ if (isSens()){
+ metierTab.addChangeListener(new SensitivityTabbedPaneListener());
+ } else {
+ metierTab.addChangeListener(new InputTabbedPaneListener());
+ }
getVerifier().addCurrentPanel(metierSeasonSpeciesUI, metierSeasonInfoUI, metierTabUI);
}
]]></script>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2009-03-04 18:21:15 UTC (rev 1911)
@@ -45,12 +45,17 @@
import fr.ifremer.isisfish.entities.Gear;
import fr.ifremer.isisfish.entities.Population;
import fr.ifremer.isisfish.entities.PopulationImpl;
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabbedPaneListener;
+getVerifier().addCurrentPanel(this);
setButtonTitle(_("isisfish.input.continueGears"));
setNextPath("$root/$gears");
public void refresh(){
- populationTab.removeChangeListener(getTabListener());
- populationTab.addChangeListener(getTabListener());
+ if (isSens()){
+ populationTab.addChangeListener(new SensitivityTabbedPaneListener());
+ } else {
+ populationTab.addChangeListener(new InputTabbedPaneListener());
+ }
getVerifier().addCurrentPanel(populationMigrationUI, populationRecruitementUI, populationCapturabilityUI, populationSeasonsUI, populationZoneUI, populationEquationUI, populationGroupUI, populationBasicsUI);
}
]]>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2009-03-04 18:21:15 UTC (rev 1911)
@@ -39,11 +39,18 @@
<script><![CDATA[
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabbedPaneListener;
+
setButtonTitle(_("isisfish.input.continueStrategies"));
setNextPath("$root/$strategies");
+
+getVerifier().addCurrentPanel(this);
public void refresh() {
- setOfVesselsTab.removeChangeListener(getTabListener());
- setOfVesselsTab.addChangeListener(getTabListener());
+ if (isSens()){
+ setOfVesselsTab.addChangeListener(new SensitivityTabbedPaneListener());
+ } else {
+ setOfVesselsTab.addChangeListener(new InputTabbedPaneListener());
+ }
getVerifier().addCurrentPanel(effortDescriptionUI, setOfVesselsTabsUI);
}
]]></script>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2009-03-04 18:21:15 UTC (rev 1911)
@@ -36,10 +36,15 @@
+-->
<fr.ifremer.isisfish.ui.input.InputContentUI>
<script><![CDATA[
+import fr.ifremer.isisfish.ui.sensitivity.SensitivityTabbedPaneListener;
+getVerifier().addCurrentPanel(this);
public void refresh() {
- strategyTab.removeChangeListener(getTabListener());
- strategyTab.addChangeListener(getTabListener());
+ if (isSens()){
+ strategyTab.addChangeListener(new SensitivityTabbedPaneListener());
+ } else {
+ strategyTab.addChangeListener(new InputTabbedPaneListener());
+ }
getVerifier().addCurrentPanel(strategyMonthInfoUI, strategyTabUI);
}
]]></script>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java 2009-03-04 18:21:15 UTC (rev 1911)
@@ -98,7 +98,7 @@
try {
currentUI = (InputContentUI) newUI;
if (currentUI != null){
- currentUI.setTabListener(new SensitivityTabbedPaneListener());
+ currentUI.setSens(true);
context.getContextValue(InputSaveVerifier.class).addCurrentPanel(currentUI);
currentUI.setLayer(true);
}
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java 2009-03-04 17:36:39 UTC (rev 1910)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java 2009-03-04 18:21:15 UTC (rev 1911)
@@ -36,6 +36,7 @@
pane.setSelectedIndex(selectedIndex);
}
ui = (InputContentUI) pane.getSelectedComponent();
+ ui.setSens(true);
ui.setLayer(true);
ui.refresh();
cacheSelectedIndex = pane.getSelectedIndex();
1
0
r1910 - in isis-fish/trunk/src/main: java/fr/ifremer/isisfish/ui/input java/fr/ifremer/isisfish/ui/sensitivity java/fr/ifremer/isisfish/ui/simulator java/fr/ifremer/isisfish/ui/util resources/i18n
by sletellier@users.labs.libre-entreprise.org 04 Mar '09
by sletellier@users.labs.libre-entreprise.org 04 Mar '09
04 Mar '09
Author: sletellier
Date: 2009-03-04 17:36:39 +0000 (Wed, 04 Mar 2009)
New Revision: 1910
Added:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
Modified:
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.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/InputNavigationTreeSelectionAdapter.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx
isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/UtilsUI.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:
Ajout de FactorWizard
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/CellUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -133,7 +133,7 @@
</cell>
<cell fill='horizontal' weightx='1.0'>
<JTextField id="fieldCellName" text='{jaxx.runtime.SwingUtil.getStringValue(getBean().getName())}' decorator='boxed'
- _bean='{getBean()}' _method='"Name"' onKeyReleased='getBean().setName(fieldCellName.getText())' enabled='{isActif()}'/>
+ _bean='{CellImpl.class}' _method='"Name"' onKeyReleased='getBean().setName(fieldCellName.getText())' enabled='{isActif()}'/>
</cell>
</row>
<row>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/GearUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -41,8 +41,9 @@
import fr.ifremer.isisfish.entities.Metier;
setButtonTitle(_("isisfish.input.continueMetiers"));
setNextPath("$root/$metiers");
-gearTab.addChangeListener(new InputTabbedPaneListener());
public void refresh() {
+ gearTab.removeChangeListener(getTabListener());
+ gearTab.addChangeListener(getTabListener());
getVerifier().addCurrentPanel(selectivityUI ,gearTabUI);
}
]]></script>
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-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputContentUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -28,7 +28,17 @@
import java.lang.reflect.Method;
import org.apache.commons.beanutils.MethodUtils;
import fr.ifremer.isisfish.ui.util.UtilsUI;
+import fr.ifremer.isisfish.ui.sensitivity.FactorWizard;
+import fr.ifremer.isisfish.ui.sensitivity.EditorHelper;
+protected ChangeListener tabListener = null;
+
+public ChangeListener getTabListener(){
+ return tabListener;
+}
+public void setTabListener(ChangeListener l){
+ this.tabListener = l;
+}
public void refresh(){}
public InputAction getAction() {
return getContextValue(InputAction.class);
@@ -56,7 +66,7 @@
boolean isSensitivity = UtilsUI.isSensitivity(classBean.getSimpleName().replace("Impl", "") + "." + method);
jaxx.runtime.swing.BlockingLayerUI ui = active ? layerUI.clone() : null;
- ui.setUseIcon(isSensitivity);
+ ui.setUseIcon(isSensitivity && isActif());
SwingUtil.getLayer(boxed).setUI(ui);
}
}
@@ -65,25 +75,13 @@
protected void accept(ActionEvent e) {
JComponent source = (JComponent) e.getSource();
+ FactorWizard wizard = new FactorWizard(this);
Class classBean = (Class)source.getClientProperty("bean");
- String method = (String)source.getClientProperty("method");
-
- System.out.println("bean : " + classBean);
- System.out.println("method : " + method);
- System.out.println("in Properies : " + UtilsUI.isSensitivity(classBean.getSimpleName().replace("Impl", "") + "." + method));
- Object result = null;
- try {
- if (classBean != null && method != null){
- TopiaEntity bean = getVerifier().getEntity(classBean);
-
- Method m = bean.getClass().getMethod("get" + method, null);
- result = m.invoke(bean, (Object[])null);
- }
- } catch (Exception ex) {
- System.out.println(ex);
- }
- System.out.println("result : " + result);
+ TopiaEntity bean = getVerifier().getEntity(classBean);
+ wizard.init(source, bean, EditorHelper.canBeContinue(source, bean));
+ wizard.pack();
+ wizard.setVisible(true);
}
]]>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputNavigationTreeSelectionAdapter.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputNavigationTreeSelectionAdapter.java 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputNavigationTreeSelectionAdapter.java 2009-03-04 17:36:39 UTC (rev 1910)
@@ -95,6 +95,7 @@
// apply refresh method (should a contract for all this ui with a method refresh...)
try {
currentUI = (InputContentUI) newUI;
+ currentUI.setTabListener(new InputTabbedPaneListener());
context.getContextValue(InputSaveVerifier.class).addCurrentPanel(currentUI);
currentNode = node;
} catch (Exception e) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/InputTabbedPaneListener.java 2009-03-04 17:36:39 UTC (rev 1910)
@@ -17,8 +17,7 @@
*/
public class InputTabbedPaneListener implements ChangeListener{
protected int cacheSelectedIndex = -1;
-
-
+
@Override
public void stateChanged(ChangeEvent e) {
try {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/PopulationUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -48,8 +48,9 @@
setButtonTitle(_("isisfish.input.continueGears"));
setNextPath("$root/$gears");
-populationTab.addChangeListener(new InputTabbedPaneListener());
public void refresh(){
+ populationTab.removeChangeListener(getTabListener());
+ populationTab.addChangeListener(getTabListener());
getVerifier().addCurrentPanel(populationMigrationUI, populationRecruitementUI, populationCapturabilityUI, populationSeasonsUI, populationZoneUI, populationEquationUI, populationGroupUI, populationBasicsUI);
}
]]>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/SetOfVesselsUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -41,8 +41,9 @@
setButtonTitle(_("isisfish.input.continueStrategies"));
setNextPath("$root/$strategies");
-setOfVesselsTab.addChangeListener(new InputTabbedPaneListener());
public void refresh() {
+ setOfVesselsTab.removeChangeListener(getTabListener());
+ setOfVesselsTab.addChangeListener(getTabListener());
getVerifier().addCurrentPanel(effortDescriptionUI, setOfVesselsTabsUI);
}
]]></script>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/input/StrategyUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -37,8 +37,9 @@
<fr.ifremer.isisfish.ui.input.InputContentUI>
<script><![CDATA[
-strategyTab.addChangeListener(new InputTabbedPaneListener());
public void refresh() {
+ strategyTab.removeChangeListener(getTabListener());
+ strategyTab.addChangeListener(getTabListener());
getVerifier().addCurrentPanel(strategyMonthInfoUI, strategyTabUI);
}
]]></script>
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/EditorHelper.java 2009-03-04 17:36:39 UTC (rev 1910)
@@ -13,6 +13,7 @@
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JComponent;
+import javax.swing.JList;
import javax.swing.JRadioButton;
import javax.swing.JTable;
import javax.swing.JTextField;
@@ -28,21 +29,20 @@
*/
public class EditorHelper {
- public JComponent getEditor(JComponent c) {
+ public static JComponent getEditor(JComponent c, TopiaEntity e) {
JComponent result = null;
try {
- TopiaEntity e = (TopiaEntity) c.getClientProperty("bean");
- String fieldName = (String) c.getClientProperty("fieldName");
+// TopiaEntity e = (TopiaEntity) c.getClientProperty("bean");
+ String fieldName = (String) c.getClientProperty("method");
result = c.getClass().newInstance();
if (result instanceof JTextField) {
- ((JTextComponent) result).setText(BeanUtils.getProperty(e, fieldName));
+ ((JTextComponent) result).setText(String.valueOf(callMethod(e, fieldName)));
} else if (result instanceof JTable){
// ((JTable) result).setText(BeanUtils.getProperty(e, fieldName));
} else if (result instanceof MatrixPanelEditor){
-
((MatrixPanelEditor) result).setMatrix((MatrixND)callMethod(e, fieldName));
} else if (result instanceof JComboBox){
@@ -67,7 +67,7 @@
return result;
}
- public Object getValue(JComponent c) {
+ public static Object getValue(JComponent c) {
Object result = null;
if (result instanceof JTextComponent) {
result = ((JTextComponent)result).getText();
@@ -80,6 +80,9 @@
} else if (result instanceof JComboBox){
// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
+ } else if (result instanceof JList){
+// ((JComboBox) result).setModel(BeanUtils.getProperty(e, fieldName));
+
} else if (result instanceof JCheckBox){
result = ((JCheckBox)result).isSelected();
@@ -96,8 +99,20 @@
return result;
}
-
- protected Object callMethod(TopiaEntity e, String fieldName){
+ public static boolean canBeContinue(JComponent c, TopiaEntity e){
+ String fieldName = (String) c.getClientProperty("method");
+ if (c instanceof JTextComponent) {
+ Object o = callMethod(e, fieldName);
+ System.out.println(o + " " + o.getClass());
+ if (Integer.class.isInstance(o)){
+ return true;
+ } else if (Double.class.isInstance(o)){
+ return true;
+ }
+ }
+ return false;
+ }
+ protected static Object callMethod(TopiaEntity e, String fieldName){
Object result = null;
try {
Method m = e.getClass().getMethod("get" + fieldName, null);
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorAction.java 2009-03-04 17:36:39 UTC (rev 1910)
@@ -0,0 +1,18 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package fr.ifremer.isisfish.ui.sensitivity;
+
+import fr.ifremer.isisfish.datastore.SensitivityStorage;
+
+/**
+ *
+ * @author letellier
+ */
+public class FactorAction {
+ public void save(){
+
+ }
+}
Added: 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 (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/FactorWizard.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -0,0 +1,128 @@
+<!--
+/* *##%
+ * 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 $
+ */
+ -->
+<JDialog id="FactorTypeChooser" title='isisfish.factor.title' resizable='false' modal='true' layout='{new BorderLayout()}'>
+
+ <Boolean id='continuePossible' javaBean='true'/>
+
+ <Boolean id='continueSelected' javaBean='false'/>
+
+ <Boolean id='tabVisible' javaBean='false'/>
+
+ <script><![CDATA[
+import org.codelutin.topia.persistence.TopiaEntity;
+
+protected JComponent cOrigine = null;
+protected TopiaEntity bean = null;
+protected java.util.List<JComponent> discretComponent = new ArrayList<JComponent>();
+
+public void init(JComponent c, TopiaEntity bean, Boolean b){
+ this.bean = bean;
+ this.cOrigine = c;
+ setContinuePossible(b);
+}
+protected JComponent getNewComponent(){
+ return EditorHelper.getEditor(cOrigine, bean);
+}
+protected void addTabs(String sNbTab){
+ int nbTab = Integer.parseInt(sNbTab);
+ discretComponent.clear();
+ tabPane.removeAll();
+ for (int i=0;i<nbTab;i++){
+ JComponent c = getNewComponent();
+ discretComponent.add(c);
+ tabPane.add(c, "Factor " + (i+1));
+ }
+ setTabVisible(true);
+ this.pack();
+}
+ ]]>
+ </script>
+ <Table constraints='BorderLayout.CENTER'>
+ <row>
+ <cell columns='1' fill='horizontal' weightx='0.5'>
+ <JLabel text='isisfish.factor.name'/>
+ </cell>
+ <cell columns='3' fill='horizontal' weightx='0.5'>
+ <JTextField id='factorName'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='4' fill='horizontal' weightx='1'>
+ <JRadioButton id='continueRadion' text='isisfish.factor.continue' buttonGroup='factorType' visible='{isContinuePossible()}' selected='false' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal' weightx='0.25'>
+ <JLabel text='isisfish.factor.firstValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.25'>
+ <JTextField id='continueMin' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.25'>
+ <JLabel text='isisfish.factor.lastValue' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.25'>
+ <JTextField id='continueMax' visible='{isContinuePossible()}' enabled='{isContinueSelected()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='4' fill='horizontal' weightx='1'>
+ <JRadioButton id='discret' text='isisfish.factor.discret' selected='true' buttonGroup='factorType' onActionPerformed='setContinueSelected(continueRadion.isSelected())'/>
+ </cell>
+ </row>
+ <row>
+ <cell fill='horizontal' weightx='0.25'>
+ <JLabel text='isisfish.factor.selectDiscretNumber' enabled='{!isContinueSelected()}'/>
+ </cell>
+ <cell fill='horizontal' weightx='0.25'>
+ <JTextField id='discretNumber' enabled='{!isContinueSelected()}'/>
+ </cell>
+ <cell columns='2' fill='horizontal' weightx='0.5'>
+ <JButton text='isisfish.factor.validDiscretNumber' enabled='{!isContinueSelected()}' onActionPerformed='addTabs(discretNumber.getText())'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='4' fill='both' weightx='1' weighty='1'>
+ <JTabbedPane id='tabPane' visible='{isTabVisible() && !isContinueSelected()}' enabled='{!isContinueSelected()}'/>
+ </cell>
+ </row>
+ <row>
+ <cell columns='2' fill='horizontal' weightx='0.5'>
+ <JButton id='cancel' text='isisfish.common.cancel' onActionPerformed='this.dispose()'/>
+ </cell>
+ <cell columns='2' fill='horizontal' weightx='0.5'>
+ <JButton id='save' text='isisfish.common.save'/>
+ </cell>
+ </row>
+ </Table>
+</JDialog>
\ No newline at end of file
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityNavigationTreeSelectionAdapter.java 2009-03-04 17:36:39 UTC (rev 1910)
@@ -83,7 +83,7 @@
e.printStackTrace();
}
// go back to previous node
- returnToPreviousNode(getNavigationTree(), event);
+ // returnToPreviousNode(getNavigationTree(), event);
}
@@ -97,9 +97,11 @@
// apply refresh method (should a contract for all this ui with a method refresh...)
try {
currentUI = (InputContentUI) newUI;
- if (currentUI != null)
+ if (currentUI != null){
+ currentUI.setTabListener(new SensitivityTabbedPaneListener());
+ context.getContextValue(InputSaveVerifier.class).addCurrentPanel(currentUI);
currentUI.setLayer(true);
- context.getContextValue(InputSaveVerifier.class).addCurrentPanel(currentUI);
+ }
currentNode = node;
} catch (Exception e) {
log.debug(e.getMessage(), e);
@@ -125,7 +127,7 @@
else{
verif.addCurrentEntity(null);
}
- verif.refreshAll();
+// verif.refreshAll();
verif.setCurrentNode(node);
}
Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java (rev 0)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/sensitivity/SensitivityTabbedPaneListener.java 2009-03-04 17:36:39 UTC (rev 1910)
@@ -0,0 +1,58 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package fr.ifremer.isisfish.ui.sensitivity;
+
+import fr.ifremer.isisfish.ui.input.InputContentUI;
+import fr.ifremer.isisfish.ui.input.InputSaveVerifier;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javax.swing.JOptionPane;
+import javax.swing.JTabbedPane;
+import javax.swing.event.ChangeEvent;
+import javax.swing.event.ChangeListener;
+
+/**
+ *
+ * @author letellier
+ */
+public class SensitivityTabbedPaneListener implements ChangeListener{
+
+ protected int cacheSelectedIndex = -1;
+
+ @Override
+ public void stateChanged(ChangeEvent e) {
+ try {
+ JTabbedPane pane = (JTabbedPane)e.getSource();
+ pane.removeChangeListener(this);
+ int selectedIndex = pane.getSelectedIndex();
+ if (cacheSelectedIndex != -1){
+ pane.setSelectedIndex(cacheSelectedIndex);
+ }
+ InputContentUI ui = (InputContentUI) pane.getSelectedComponent();
+ if (closeUI(ui)) {
+ pane.setSelectedIndex(selectedIndex);
+ }
+ ui = (InputContentUI) pane.getSelectedComponent();
+ ui.setLayer(true);
+ ui.refresh();
+ cacheSelectedIndex = pane.getSelectedIndex();
+ pane.addChangeListener(this);
+ } catch (Exception ex) {
+ Logger.getLogger(SensitivityTabbedPaneListener.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+
+ /*
+ * Ask you to save if modification are made
+ * @param ui selected
+ * @return true to change tab
+ */
+ protected boolean closeUI(InputContentUI context) throws Exception {
+ boolean exit = true;
+ return exit;
+ }
+
+}
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-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2009-03-04 17:36:39 UTC (rev 1910)
@@ -128,7 +128,6 @@
refresh();
if (isSensitivity()){
try {
- System.out.println("isSelectivity");
getParentContainer(SensitivityUI.class).getSensitivityTabUI().setRegion((FisheryRegionImpl) getContextValue(SimulAction.class).getSimulationParameter().getRegion().getFisheryRegion());
getParentContainer(SensitivityUI.class).getSensitivityTabUI().setTreeModel();
} catch (StorageException ex) {
Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/UtilsUI.java
===================================================================
--- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/UtilsUI.java 2009-03-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/util/UtilsUI.java 2009-03-04 17:36:39 UTC (rev 1910)
@@ -28,7 +28,6 @@
static public boolean isSensitivity(String sens){
Properties data = loadProperties();
- System.out.println(sens + " " + data.getProperty(sens));
return data.getProperty(sens) != null;
}
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-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2009-03-04 17:36:39 UTC (rev 1910)
@@ -351,6 +351,14 @@
isisfish.export.directory=Export directory
isisfish.export.saved=Export saved
isisfish.export.title=Results export
+isisfish.factor.continue=Continue factor
+isisfish.factor.discret=Discret factor
+isisfish.factor.firstValue=First value
+isisfish.factor.lastValue=Last value
+isisfish.factor.name=Factor name
+isisfish.factor.selectDiscretNumber=Number of factors
+isisfish.factor.title=Factor input
+isisfish.factor.validDiscretNumber=Ok
isisfish.filter=Filter
isisfish.filter.apply=Apply filter
isisfish.filter.cancel=Cancel
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-04 13:14:34 UTC (rev 1909)
+++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2009-03-04 17:36:39 UTC (rev 1910)
@@ -351,6 +351,14 @@
isisfish.export.directory=Dossier d'export
isisfish.export.saved=Exports des r\u00E9sultats sauvegard\u00E9s
isisfish.export.title=Export des r\u00E9sultats
+isisfish.factor.continue=Facteur continue
+isisfish.factor.discret=Facteur discret
+isisfish.factor.firstValue=Premi\u00E8re valeur
+isisfish.factor.lastValue=Derin\u00E8re valeur
+isisfish.factor.name=Nom du facteur
+isisfish.factor.selectDiscretNumber=Nombre de facteurs
+isisfish.factor.title=Saisie d'un facteur
+isisfish.factor.validDiscretNumber=Valider
isisfish.filter=Filtrer
isisfish.filter.apply=Appliquer le filtre
isisfish.filter.cancel=Annuler
1
0