Author: echatellier Date: 2014-04-07 16:08:29 +0200 (Mon, 07 Apr 2014) New Revision: 3941 Url: http://forge.codelutin.com/projects/isis-fish/repository/revisions/3941 Log: refs #4803: Rechargement des simulations Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationHandler.java branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java 2014-04-07 12:20:23 UTC (rev 3940) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/Optimization.java 2014-04-07 14:08:29 UTC (rev 3941) @@ -71,8 +71,9 @@ void nextSimulation(OptimizationContext context) throws Exception; /** - * Cette methode est appelee après chaque serie de simulation - soit apres firstSimulation et nextSimulation + * Cette methode est appelee après chaque serie de simulation soit apres firstSimulation et + * nextSimulation. + * * @param context */ void endSimulation(OptimizationContext context) throws Exception; Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java 2014-04-07 12:20:23 UTC (rev 3940) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/simulator/OptimizationContext.java 2014-04-07 14:08:29 UTC (rev 3941) @@ -112,7 +112,7 @@ } /** - * Create simulation. This new simulation is automaticaly added to + * Create simulation. This new simulation is automatically added to * next simulations. Database will be modified with factors in parameters */ public void newSimulation(Factor ... factors) { Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationHandler.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationHandler.java 2014-04-07 12:20:23 UTC (rev 3940) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationHandler.java 2014-04-07 14:08:29 UTC (rev 3941) @@ -72,7 +72,22 @@ protected FactorEditorListener factorEditorListener; public void init(OptimizationUI view) { + // get info + SimulAction simulAction = view.getContextValue(SimulAction.class); + SimulationParameter param = simulAction.getSimulationParameter(); RegionStorage regionStorage = view.getContextValue(RegionStorage.class); + + // refresh after simulation storage set + if (param.getObjective() != null) { + view.getFieldObjectiveMethodSelect().setSelectedItem(ObjectiveStorage.getName(param.getObjective())); + } + if (param.getOptimization() != null) { + view.getFieldOptimizationMethodSelect().setSelectedItem(OptimizationStorage.getName(param.getOptimization())); + } + // export/observation + view.getExportObservationTable().setModel(getExportObservationTableModel(view)); + + // order matters view.getExportObservationTable().getColumnModel().getColumn(0).setCellRenderer(new ExportTableCellRenderer()); ExportTableCellEditor editor = new ExportTableCellEditor(); editor.setRegionStorage(regionStorage); @@ -124,9 +139,7 @@ // creation new instance only when name change to not lose parameters value Objective objective = param.getObjective(); - if (objective != null && objective.getClass().getSimpleName().equals(objectiveName)) { - objective = param.getObjective(); - } else { + if (objective == null || !objective.getClass().getSimpleName().equals(objectiveName)) { try { ObjectiveStorage objectiveStorage = ObjectiveStorage.getObjective(objectiveName); objective = objectiveStorage.getNewInstance(); @@ -242,9 +255,7 @@ // creation new instance only when name change to not lose parameters value Optimization optimization = param.getOptimization(); - if (optimization != null && optimization.getClass().getSimpleName().equals(optimizationName)) { - optimization = param.getOptimization(); - } else { + if (optimization == null || !optimization.getClass().getSimpleName().equals(optimizationName)) { try { OptimizationStorage optimizationStorage = OptimizationStorage.getOptimization(optimizationName); optimization = optimizationStorage.getNewInstance(); Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationUI.jaxx 2014-04-07 12:20:23 UTC (rev 3940) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/OptimizationUI.jaxx 2014-04-07 14:08:29 UTC (rev 3941) @@ -35,15 +35,13 @@ handler.init(this); }*/ + // application will be refreshed by regionStorage change protected void regionStorageChanged() { handler.init(this); } public void refresh() { - // Objective names list - fieldObjectiveMethodSelect.setModel(handler.getObjectiveComboModel()); - // Optimization names list - fieldOptimizationMethodSelect.setModel(handler.getOptimizationComboModel()); + //handler.refresh(this); } ]]></script> @@ -55,7 +53,7 @@ <JLabel text="isisfish.optimization.objective"/> </cell> <cell fill="horizontal" weightx="1.0" columns="2"> - <JComboBox id="fieldObjectiveMethodSelect" model='{handler.getObjectiveComboModel()}' + <JComboBox id="fieldObjectiveMethodSelect" genericType="String" model='{handler.getObjectiveComboModel()}' onActionPerformed='handler.objectiveChanged(this)' renderer="{new fr.ifremer.isisfish.ui.models.optimization.ObjectiveComboRenderer()}"/> </cell> @@ -74,7 +72,7 @@ <JLabel text="isisfish.optimization.method"/> </cell> <cell fill="horizontal" weightx="1.0" columns="2"> - <JComboBox id="fieldOptimizationMethodSelect" model='{handler.getOptimizationComboModel()}' + <JComboBox id="fieldOptimizationMethodSelect" genericType="String" model='{handler.getOptimizationComboModel()}' onActionPerformed='handler.optimizationChanged(this)' renderer="{new fr.ifremer.isisfish.ui.models.optimization.OptimizationComboRenderer()}"/> </cell> Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2014-04-07 12:20:23 UTC (rev 3940) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2014-04-07 14:08:29 UTC (rev 3941) @@ -127,6 +127,7 @@ }); } } + protected void initSimulationParams() { if (!isSensitivity()){ // prescript @@ -139,8 +140,8 @@ getParentContainer(SimulUI.class).getSensUI().refresh(); // optimization -// fieldSimulUseOptimization.setSelected(simulAction.getSimulationParameter().getUseOptimization()); -// getParentContainer(OptimizationUI.class).getOptimizationUI().refresh(); + fieldSimulUseOptimization.setSelected(simulAction.getSimulationParameter().getUseOptimization()); + getParentContainer(SimulUI.class).getOptimizationUI().refresh(); } } Modified: branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java =================================================================== --- branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-04-07 12:20:23 UTC (rev 3940) +++ branches/4.0.1/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2014-04-07 14:08:29 UTC (rev 3941) @@ -306,10 +306,8 @@ factorGroup = designPlan.getFactorGroup(); } } - else { - if (log.isInfoEnabled()) { - log.info("No xml design plan file found"); - } + else if (log.isInfoEnabled()) { + log.info("No xml design plan file found"); } } catch (Exception eee) { throw new IsisFishRuntimeException(t("isisfish.error.simulation.loadoldsimulation"), eee);