Author: sletellier Date: 2009-03-11 11:01:09 +0000 (Wed, 11 Mar 2009) New Revision: 1934 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/SimulAction.java Log: Factor editing is working 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-11 10:27:27 UTC (rev 1933) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedParamsUI.jaxx 2009-03-11 11:01:09 UTC (rev 1934) @@ -41,29 +41,38 @@ <![CDATA[ import javax.swing.table.DefaultTableModel; import java.util.Map.Entry; - + + + tableTagValue.addMouseListener(new MouseListener() { + + @Override + public void mouseClicked(MouseEvent e) { + } + + @Override + public void mousePressed(MouseEvent e) { + } + + @Override + public void mouseReleased(MouseEvent e) { + setRemove(tableTagValue.getSelectedRow() != -1); + } + + @Override + public void mouseEntered(MouseEvent e) { + } + + @Override + public void mouseExited(MouseEvent e) { + } + }); refresh(); public void refresh(){ - fieldSimulationStatistique.setSelected(getContextValue(SimulAction.class).getSimulationParameter().getUseStatistic()); - fieldSimulationCache.setSelected(getContextValue(SimulAction.class).getSimulationParameter().getUseOptimization()); - fieldSimulAdvParamsSimulLoggerError.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulErrorLevel()); - fieldSimulAdvParamsSimulLoggerWarn.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulWarnLevel()); - fieldSimulAdvParamsSimulLoggerInfo.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulInfoLevel()); - fieldSimulAdvParamsSimulLoggerDebug.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isSimulDebugLevel()); - fieldSimulAdvParamsScriptLoggerError.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptErrorLevel()); - fieldSimulAdvParamsScriptLoggerWarn.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptWarnLevel()); - fieldSimulAdvParamsScriptLoggerInfo.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptInfoLevel()); - fieldSimulAdvParamsScriptLoggerDebug.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isScriptDebugLevel()); - fieldSimulAdvParamsLibLoggerError.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel()); - fieldSimulAdvParamsLibLoggerWarn.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibWarnLevel()); - fieldSimulAdvParamsLibLoggerInfo.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel()); - fieldSimulAdvParamsLibLoggerDebug.setSelected(getContextValue(SimulAction.class).getSimulationParameter().isLibDebugLevel()); setTableTagValue(); } public AdvancedParamsUI (SimulAction action){ - setContextValue(action); } protected void addTagValue(){ @@ -75,6 +84,7 @@ protected void removeTagValue(){ getContextValue(SimulAction.class).removeTagValue(tableTagValue.getValueAt(tableTagValue.getSelectedRow(),0).toString()); setTableTagValue(); + valueChanged(true); } protected void saveTagValue(){ if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){ @@ -85,6 +95,7 @@ protected void setSimulName(){ if (fieldSimulAdvParamsSimulatorSelect.getSelectedIndex() != -1){ getContextValue(SimulAction.class).getSimulationParameter().setSimulatorName(fieldSimulAdvParamsSimulatorSelect.getSelectedItem().toString()); + valueChanged(true); } } protected void setTableTagValue(){ @@ -141,13 +152,15 @@ <JPanel/> </cell> <cell columns="2" fill="horizontal" weightx="0.3"> - <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected())'/> + <JCheckBox id="fieldSimulationStatistique" text="isisfish.advancedParams.simulationStatistique" selected='{getContextValue(SimulAction.class).getSimulationParameter().getUseStatistic()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setUseStatistic(fieldSimulationStatistique.isSelected());valueChanged(true);'/> </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 = 'getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected())'/> + <JCheckBox id="fieldSimulationCache" text="isisfish.advancedParams.simulationCache" selected='{getContextValue(SimulAction.class).getSimulationParameter().getUseOptimization()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setUseOptimization(fieldSimulationCache.isSelected());valueChanged(true);'/> </cell> </row> <row> @@ -155,16 +168,24 @@ <JLabel text="isisfish.advancedParams.simulLevelLogger"/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error")'/> + <JRadioButton id="fieldSimulAdvParamsSimulLoggerError" text="isisfish.common.error" + buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulErrorLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("error");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn")'/> + <JRadioButton id="fieldSimulAdvParamsSimulLoggerWarn" text="isisfish.common.warn" + buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulWarnLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("warn");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info")'/> + <JRadioButton id="fieldSimulAdvParamsSimulLoggerInfo" text="isisfish.common.info" + buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulInfoLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("info");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug")'/> + <JRadioButton id="fieldSimulAdvParamsSimulLoggerDebug" text="isisfish.common.debug" + buttonGroup="fieldSimulAdvParamsSimulLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isSimulDebugLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setSimulLogLevel("debug");valueChanged(true);'/> </cell> </row> <row> @@ -172,16 +193,24 @@ <JLabel text="isisfish.advancedParams.scriptLevelLogger"/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error")'/> + <JRadioButton id="fieldSimulAdvParamsScriptLoggerError" text="isisfish.common.error" + buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptErrorLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("error");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn")'/> + <JRadioButton id="fieldSimulAdvParamsScriptLoggerWarn" text="isisfish.common.warn" + buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptWarnLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("warn");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info")'/> + <JRadioButton id="fieldSimulAdvParamsScriptLoggerInfo" text="isisfish.common.info" + buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptInfoLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("info");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug")'/> + <JRadioButton id="fieldSimulAdvParamsScriptLoggerDebug" text="isisfish.common.debug" + buttonGroup="fieldSimulAdvParamsScriptLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isScriptDebugLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setScriptLogLevel("debug");valueChanged(true);'/> </cell> </row> <row> @@ -189,16 +218,24 @@ <JLabel text="isisfish.advancedParams.libLevelLogger"/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error")'/> + <JRadioButton id="fieldSimulAdvParamsLibLoggerError" text="isisfish.common.error" + buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("error");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn")'/> + <JRadioButton id="fieldSimulAdvParamsLibLoggerWarn" text="isisfish.common.warn" + buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibWarnLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("warn");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info")'/> + <JRadioButton id="fieldSimulAdvParamsLibLoggerInfo" text="isisfish.common.info" + buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibErrorLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("info");valueChanged(true);'/> </cell> <cell fill="horizontal" weightx="0.2"> - <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug" buttonGroup="fieldSimulAdvParamsLibLoggerGroup" onActionPerformed = 'getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug")'/> + <JRadioButton id="fieldSimulAdvParamsLibLoggerDebug" text="isisfish.common.debug" + buttonGroup="fieldSimulAdvParamsLibLoggerGroup" selected='{getContextValue(SimulAction.class).getSimulationParameter().isLibDebugLevel()}' + onActionPerformed='getContextValue(SimulAction.class).getSimulationParameter().setLibLogLevel("debug");valueChanged(true);'/> </cell> </row> <row> Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-11 10:27:27 UTC (rev 1933) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-03-11 11:01:09 UTC (rev 1934) @@ -49,8 +49,10 @@ import fr.ifremer.isisfish.datastore.RegionStorage; import fr.ifremer.isisfish.datastore.RuleStorage; import fr.ifremer.isisfish.datastore.ScriptStorage; +import fr.ifremer.isisfish.datastore.SensitivityStorage; import fr.ifremer.isisfish.datastore.SimulationStorage; import fr.ifremer.isisfish.datastore.SimulatorStorage; +import fr.ifremer.isisfish.entities.Equation; import fr.ifremer.isisfish.entities.Population; import fr.ifremer.isisfish.entities.Species; import fr.ifremer.isisfish.entities.Strategy; @@ -63,10 +65,18 @@ import fr.ifremer.isisfish.simulator.launcher.SimulationService; import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher; import fr.ifremer.isisfish.simulator.sensitivity.DesignPlan; +import fr.ifremer.isisfish.simulator.sensitivity.Domain; +import fr.ifremer.isisfish.simulator.sensitivity.Factor; import fr.ifremer.isisfish.simulator.sensitivity.SensitivityCalculator; +import fr.ifremer.isisfish.simulator.sensitivity.domain.ContinuousDomain; +import fr.ifremer.isisfish.simulator.sensitivity.domain.DiscreteDomain; import fr.ifremer.isisfish.ui.simulator.filter.SimulationFilterUtil; import fr.ifremer.isisfish.ui.widget.ErrorDialogUI; import fr.ifremer.isisfish.ui.widget.filter.FilterModel; +import java.io.Serializable; +import java.util.Iterator; +import javax.swing.JComponent; +import org.codelutin.math.matrix.MatrixND; /** * SimulAction. @@ -92,6 +102,9 @@ private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd-HH-mm"); protected List<String> oldSimulNames = null; protected String simulName = null; + protected SensitivityStorage sensitivityStorage = null; + protected Map<String, Factor<? extends Serializable>> factors = new HashMap<String, Factor<? extends Serializable>>(); + protected Map<String, JComponent> factorComponant = new HashMap<String, JComponent>(); /* ************ * Init @@ -584,9 +597,68 @@ showMsgBox(ex); } } - + /* ************ + * Sensitivity + ************ + */ + + public List<String> getSensitivityName(){ + return SensitivityStorage.getSensitivityNames(); + } + public SensitivityStorage getSensitivity(String name){ + return SensitivityStorage.getSensitivity(name); + } + public void setSensitivity(String name){ + sensitivityStorage = SensitivityStorage.getSensitivity(name); + } + public List<Factor<? extends Serializable>> getFactors(){ + List<Factor<? extends Serializable>> result = new ArrayList<Factor<? extends Serializable>>(); + for (Map.Entry entry : factors.entrySet()) { + result.add((Factor<? extends Serializable>)entry.getValue()); + } + return result; + } + public void addFactor(String path, Factor f, JComponent c){ + factors.put(path, f); + factorComponant.put(path, c); + } + public Factor<? extends Serializable> getFactor(String name){ + return factors.get(name); + } + public void addContinueFactors(String name, String path, Serializable min, Serializable max, int inc, JComponent c){ + Factor f = new Factor(name); + ContinuousDomain<Serializable> domain = new ContinuousDomain<Serializable>(); + domain.setMinBound(min); + domain.setMaxBound(max); + domain.setCardinality(inc); + f.setDomain(domain); + f.setPath(path); + addFactor(path, f, c); + } + public void addDiscreteFactors(String name, String path, List<Serializable> values, JComponent c){ + Factor f = new Factor(name); + DiscreteDomain<Serializable> domain = new DiscreteDomain<Serializable>(); + int i = 0; + for (Serializable value : values){ + i++; + domain.getValues().put(name + i, value); + } + f.setDomain(domain); + f.setPath(path); + addFactor(path, f, c); + } + public JComponent getFactorComponant(String path){ + return factorComponant.get(path); + } + public void removeFactor(String path){ + factors.remove(path); + factorComponant.remove(path); + } + +/* + ************ * General ************ */