From sletellier@users.labs.libre-entreprise.org Mon Jun 15 00:25:43 2026 From: sletellier@users.labs.libre-entreprise.org To: isis-fish-commits@list.isis-fish.org Subject: [Isis-fish-commits] r1565 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui: simulator widget/editor Date: Fri, 17 Oct 2008 16:57:41 +0200 Message-ID: <20081017145741.6FF77461BCA@labs.libre-entreprise.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============9069644498068168493==" --===============9069644498068168493== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Author: sletellier Date: 2008-10-17 14:57:40 +0000 (Fri, 17 Oct 2008) New Revision: 1565 Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/Paramet= erCellEditor.java Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedPar= amsUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.ja= xx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.ja= xx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreScriptsU= I.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/ResultChoic= eUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction= .java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ToolTipList= ModelFactory.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/Paramet= erColumnEditor.java Log: Simulation completed Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Adva= ncedParamsUI.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedPa= ramsUI.jaxx 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/AdvancedPa= ramsUI.jaxx 2008-10-17 14:57:40 UTC (rev 1565) @@ -33,6 +33,9 @@ Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Expo= rtUI.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.j= axx 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ExportUI.j= axx 2008-10-17 14:57:40 UTC (rev 1565) @@ -33,24 +33,27 @@ =20
- - - + @@ -59,21 +62,14 @@ - + - - =20 -
=20 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Para= msUI.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.j= axx 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ParamsUI.j= axx 2008-10-17 14:57:40 UTC (rev 1565) @@ -41,18 +41,44 @@ import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher; import fr.ifremer.isisfish.entities.Strategy; import fr.ifremer.isisfish.entities.Population; + import fr.ifremer.isisfish.rule.Rule; + import org.codelutin.math.matrix.gui.MatrixPanelEditor; + import javax.swing.table.DefaultTableModel; + import javax.swing.table.TableModel; + import fr.ifremer.isisfish.ui.widget.editor.ParameterColumnEditor; + import javax.swing.table.TableColumn; +import fr.ifremer.isisfish.ui.widget.editor.ParameterCellEditor; + =20 + setContextValue(new MatrixPanelEditor()); + simulParamsNumbers.add(getContextValue(MatrixPanelEditor.class), BorderL= ayout.CENTER); public ParamsUI(SimulAction action){ setContextValue(action); } + protected void refresh(){ + if (getContextValue(SimulAction.class).getSimulationStorage() !=3D n= ull){ + fieldSimulParamsName.setText(getContextValue(SimulAction.class).= getSimulationStorage().getName()); + } + fieldSimulParamsDesc.setText(getContextValue(SimulAction.class).getS= imulationParameter().getDescription()); + setListSimulParamsStrategiesItems(); + setListSimulParamsPopulationsItems(); + setRulesItems(); + fieldSimulParamsRegion.setSelectedItem(getContextValue(SimulAction.c= lass).getSimulationParameter().getRegionName()); + if (getContextValue(SimulAction.class).getSimulationParameter().getU= sePreScript()){ + SimulUI simul =3D getParentContainer(SimulUI.class); + simul.enablePreSimul(); + } + if (getContextValue(SimulAction.class).getSimulationParameter().getU= seAnalysePlan()){ + SimulUI simul =3D getParentContainer(SimulUI.class); + simul.enableAnalysePlan(); + } + } protected void regionChange(){ WelcomePanelUI root =3D getParentContainer(WelcomePanelUI.class); root.setInfoText(_("isisfish.message.loading.region")); getContextValue(SimulAction.class).regionChange(fieldSimulParamsRegi= on.getSelectedItem().toString()); - setListSimulParamsStrategiesItems(); - setListSimulParamsPopulationsItems(); + refresh(); root.setInfoText(_("isisfish.message.region.loaded")); } - =20 public void setSimulationParameter(SimulAction simulAction){ getContextValue(SimulAction.class).setSimulationParameter(simulAction= .getSimulationParameter()); } @@ -65,31 +91,20 @@ if (eee !=3D null){ // new OutputView("Error.xml", "error", eee.getMessage()); } - fieldSimulParamsName.setText(getContextValue(SimulAction.class).getS= imulationStorage().getName()); - fieldSimulParamsDesc.setText(getContextValue(SimulAction.class).getS= imulationParameter().getDescription()); - setListSimulParamsStrategiesItems(); - setListSimulParamsPopulationsItems(); - if (getContextValue(SimulAction.class).getSimulationParameter().getU= sePreScript()){ - SimulUI simul =3D getParentContainer(SimulUI.class); - simul.enablePreSimul(); - } - if (getContextValue(SimulAction.class).getSimulationParameter().getU= seAnalysePlan()){ - SimulUI simul =3D getParentContainer(SimulUI.class); - simul.enableAnalysePlan(); - } + refresh(); root.setInfoText(_("isisfish.message.old.simulation.loaded")); } protected void addRules(){ getContextValue(SimulAction.class).addRules(fieldSimulParamsMesuresSe= lect.getSelectedItem().toString()); - listSimulParamsMesuresList.setListData(getContextValue(SimulAction.cl= ass).getRules().toArray()); + setRulesItems(); } protected void removeRules(){ getContextValue(SimulAction.class).removeRules(listSimulParamsMesures= List.getSelectedValue().toString()); - listSimulParamsMesuresList.setListData(getContextValue(SimulAction.cl= ass).getRules().toArray()); + setRulesItems(); } protected void clearRules(){ getContextValue(SimulAction.class).getSimulationParameter().clearRule= s(); - listSimulParamsMesuresList.setListData(getContextValue(SimulAction.cl= ass).getRules().toArray()); + setRulesItems(); } protected void simul(){ getContextValue(SimulAction.class).simul(fieldSimulParamsName.getTex= t(), (SimulatorLauncher)comboSelLauncher.getSelectedItem()); @@ -118,6 +133,14 @@ listSimulParamsStrategiesModel.addElement(s); } listSimulParamsStrategies.setModel(listSimulParamsStrategiesModel); + java.util.List strategiesSelected =3D getContextValue(Simu= lAction.class).getSimulationParameter().getStrategies(); + int[] indexs =3D new int[listSimulParamsStrategiesModel.size()]; + int i =3D 0; + for (Strategy s : strategiesSelected){ + indexs[i] =3D listSimulParamsStrategiesModel.indexOf(s); + i++; + } + listSimulParamsStrategies.setSelectedIndices(indexs); } protected void setListSimulParamsPopulationsItems(){ DefaultListModel listSimulParamsPopulationsModel =3D new DefaultList= Model(); @@ -126,8 +149,84 @@ listSimulParamsPopulationsModel.addElement(p); } listSimulParamsPopulations.setModel(listSimulParamsPopulationsModel); - //listSimulParamsPopulations.setListData(getContextValue(SimulAction= .class).getPopulations().toArray()); + java.util.List populationsSelected =3D getContextValue(S= imulAction.class).getSimulationParameter().getPopulations(); + int[] indexs =3D new int[listSimulParamsPopulationsModel.size()]; + int i =3D 0; + for (Population p : populationsSelected){ + indexs[i] =3D listSimulParamsPopulationsModel.indexOf(p); + i++; + } + listSimulParamsPopulations.setSelectedIndices(indexs); + populationSelected(); } + protected void setRulesItems(){ + listSimulParamsMesuresList.setListData(getContextValue(SimulAction.cl= ass).getRules().toArray()); + setRulesButton(); + } + protected void populationSelected(){ + if (listSimulParamsPopulations.getSelectedIndex() !=3D -1){ + getContextValue(SimulAction.class).setPopulations(listSimulParam= sPopulations.getSelectedValues()); + getContextValue(MatrixPanelEditor.class).setMatrix(getContextVal= ue(SimulAction.class).getSimulationParameter().getNumberOf((Population) listS= imulParamsPopulations.getSelectedValue())); + } + } + protected void strategySelected(){ + getContextValue(SimulAction.class).setStrategies(listSimulParamsStra= tegies.getSelectedValues()); + } + protected void saveDescription(){ + getContextValue(SimulAction.class).getSimulationParameter().setDescr= iption(fieldSimulParamsDesc.getText()); + } + protected void setRulesButton(){ + if (getContextValue(SimulAction.class).getRules().toArray().length = =3D=3D 0){ + buttonSimulParamsMesuresClear.setEnabled(false); + buttonSimulParamsMesuresRemove.setEnabled(false); + } + else{ + if (listSimulParamsMesuresList.getSelectedIndex() !=3D -1){ + buttonSimulParamsMesuresRemove.setEnabled(true); + setSimulParamsRulesModel(); + } + buttonSimulParamsMesuresClear.setEnabled(true); + } + } + protected void setSimulParamsRulesModel(){ + DefaultTableModel model =3D new DefaultTableModel(); + Map values; + if (listSimulParamsMesuresList.getSelectedIndex() !=3D -1){ + values =3D getContextValue(SimulAction.class).getRuleParameterNa= me(listSimulParamsMesuresList.getSelectedValue().toString()); + int row =3D 0; + model =3D new DefaultTableModel(values.size(), 2){ + @Override + public boolean isCellEditable(int row, int column) { + boolean result =3D false; + if (column > 0){ + result =3Dtrue; + } + return result; + } + }; + for (Iterator it =3D values.keySet().iterator(); it.hasN= ext();) { + String name =3D it.next(); + Object properties =3D getContextValue(SimulAction.class).get= RuleParameterValue(name, listSimulParamsMesuresList.getSelectedValue().toStri= ng()); + ParameterCellEditor value =3D new ParameterCellEditor(name, = values.get(name)); + model.setValueAt(value, row, 0); + model.setValueAt(properties, row, 1); + row++; + } + } + simulParamsRules.setModel(model); + ParameterColumnEditor cellEditor =3D new ParameterColumnEditor(); + cellEditor.setRegion(getContextValue(SimulAction.class).getRegionSto= rage()); + simulParamsRules.getColumnModel().getColumn(1).setCellEditor(cellEdi= tor); + simulParamsRules.getModel().addTableModelListener(new TableModelList= ener() { + @Override + public void tableChanged(TableModelEvent e) { + int row =3D e.getFirstRow(); + TableModel model =3D (TableModel)e.getSource(); + ParameterCellEditor data =3D (ParameterCellEditor) model.get= ValueAt(row, 0); + getContextValue(SimulAction.class).setRuleParameterValue(dat= a.getName(), listSimulParamsMesuresList.getSelectedValue().toString(), model.= getValueAt(row, 1)); + } + }); + } ]]> @@ -198,7 +297,7 @@ - @@ -230,10 +329,7 @@ - - + @@ -249,10 +345,7 @@ - - + @@ -268,25 +361,13 @@ - - + - + @@ -326,7 +407,7 @@ - + Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreS= criptsUI.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreScripts= UI.jaxx 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/PreScripts= UI.jaxx 2008-10-17 14:57:40 UTC (rev 1565) @@ -31,25 +31,21 @@ */ --> - - + - - - + - - - - + \ No newline at end of file Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Queu= eUI.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.ja= xx 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.ja= xx 2008-10-17 14:57:40 UTC (rev 1565) @@ -51,8 +51,8 @@ SimulationService ss =3D SimulationService.getService(); BindingGroup bindingGroup =3D new BindingGroup(); =20 - setContextValue(new SimulationServiceTableModel(ss, true), "done"); - setContextValue(new SimulationServiceTableModel(ss, false), "new"); + setContextValue(new SimulationServiceTableModel(ss, true), "new"); + setContextValue(new SimulationServiceTableModel(ss, false), "done"); queueTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); queueTableDone.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); queueTable.setDefaultRenderer(JProgressBar.class, new JProgressBarTa= bleCellRenderer()); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Resu= ltChoiceUI.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoi= ceUI.jaxx 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ResultChoi= ceUI.jaxx 2008-10-17 14:57:40 UTC (rev 1565) @@ -31,7 +31,7 @@ */ --> - - - - - - =20 - - - - - - - - - =20 + + + + + + =20 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Sens= UI.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jax= x 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SensUI.jax= x 2008-10-17 14:57:40 UTC (rev 1565) @@ -33,47 +33,115 @@ =20 - + - +
- - + - - + - - - +
@@ -82,35 +150,14 @@ - - - + - + - =20 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Simu= lAction.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulActio= n.java 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulActio= n.java 2008-10-17 14:57:40 UTC (rev 1565) @@ -29,24 +29,22 @@ * by : $Author: sletellier $ */ =20 - /* +/* * To change this template, choose Tools | Templates * and open the template in the editor. */ - /** * * @author letellier */ package fr.ifremer.isisfish.ui.simulator; =20 -import fr.ifremer.isisfish.datastore.StorageException; import static org.codelutin.i18n.I18nf._; import fr.ifremer.isisfish.IsisFish; import fr.ifremer.isisfish.IsisFishException; +import fr.ifremer.isisfish.datastore.AnalysePlanStorage; import fr.ifremer.isisfish.datastore.ExportStorage; import fr.ifremer.isisfish.datastore.RegionStorage; -import fr.ifremer.isisfish.datastore.ResultStorage; import fr.ifremer.isisfish.datastore.RuleStorage; import fr.ifremer.isisfish.datastore.ScriptStorage; import fr.ifremer.isisfish.datastore.SimulationStorage; @@ -56,6 +54,7 @@ import fr.ifremer.isisfish.entities.Strategy; import fr.ifremer.isisfish.logging.SimulationLoggerUtil; import fr.ifremer.isisfish.rule.Rule; +import fr.ifremer.isisfish.simulator.AnalysePlan; import fr.ifremer.isisfish.simulator.SimulationParameter; import fr.ifremer.isisfish.simulator.launcher.SimulationJob; import fr.ifremer.isisfish.simulator.launcher.SimulationService; @@ -64,6 +63,7 @@ import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.logging.Level; @@ -71,76 +71,47 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelutin.log.UserLog; -import org.codelutin.topia.TopiaContext; =20 public class SimulAction { - =20 + /** to use log facility, just put in your code: log.info(\"...\"); */ - static private Log log =3D LogFactory.getLog(SimulatorAction.class); - =20 + static private Log log =3D LogFactory.getLog(SimulAction.class); protected SimulationParameter param =3D null; protected RegionStorage regionStorage =3D null; protected SimulationStorage simulStorage =3D null; protected RuleStorage ruleStorage =3D null; + protected List analysePlan =3D null; protected Map rules =3D new HashMap(); + protected Map analysePlans =3D new HashMap(); static private SimpleDateFormat dateFormat =3D new SimpleDateFormat("yyy= y-MM-dd-HH-mm"); - public SimulAction(){ - param =3D new SimulationParameter(); - - // TODO refresh data context on all this when datas coming from = script module - // when a modification is done in script dialog - // =3D> then refresh whoses data - // and the associated ui - // compute result names available + =20 +/* + ************ + * Init + ************ + */ + =20 + public SimulAction() { + log.debug("Init "); + try { + param =3D new SimulationParameter(); List resultNames =3D getResultNames(); -// uiContext.setData("ResultNames", resultNames); -// uiContext.setData("ExportNames", ExportStorage.getExportNames(= )); -// uiContext.setData("AnalysePlanNames", AnalysePlanStorage.getAn= alysePlanNames()); -// uiContext.setData("RuleNames", RuleStorage.getRuleNames()); - // put default value in param param.setSimulatorName(IsisFish.config.getSimulatorClassfile()); param.setTagValue(IsisFish.config.getDefaultTagValueAsMap()); param.setExportDirectory(IsisFish.config.getDefaultExportDirecto= ry().toString()); param.setExportNames(IsisFish.config.getDefaultExportNamesAsList= ()); + analysePlan =3D AnalysePlanStorage.getAnalysePlanNames(); List defaultResultNames =3D IsisFish.config.getDefaultRe= sultNamesAsList(); - if (defaultResultNames !=3D null) + if (defaultResultNames !=3D null) { param.setResultEnabled(defaultResultNames); - else + } else { param.setResultEnabled(resultNames); -// -// uiContext.setData("OldSimulationName", ""); -// uiContext.setData("SimulationParameter", param); -// -// // keep in context list of old simulation names (for filter pr= ocess) -// List value =3D getSimulationNames(); -// // create filter model -// FilterModel model =3D -// SimulationFilterUtil.createFilterModel(value); -// // to used directly model.getFilteredResult() in xml -// // we must fill filterModel result with original items -// model.selectAll(); -// uiContext.setData("SimulationFilterModel", model); -// -// tabs.setEnabledAt(1, false); // disable prescript tab -// tabs.setEnabledAt(2, false); // disable analyse plan tab -// -//// // add simulation queue button listeners -//// SimulatorListeners.initSimulQueueButtonsListener( -//// start, -//// remove, -//// showLog, -//// table, -//// tableDone -//// ); -// // add rule around button listeners -// SimulatorListeners.initButtonRemoveIfItemSelected(removeRule, = listRule); -// =20 -// // add analyse plan around button listeners -// SimulatorListeners.initButtonRemoveIfItemSelected(removeAnalys= ePlan, listAnalysePlan); -// -// frame.refreshView(); - =20 + } + } + catch (Exception eee) { + log.error("Can't init SimulationParameter", eee); + } } =20 /** @@ -166,7 +137,7 @@ } return result; } - =20 + protected void stopSimulation(SimulationJob job) { job.stop(); log.info(_("User stop simulation %s", job.getItem().getControl().get= Id())); @@ -180,26 +151,32 @@ UserLog.error(_("Can't open log for %s", id), eee); } } - =20 + protected void clearDoneJobs() { SimulationService ss =3D SimulationService.getService(); - ss.clearJobDone(); =20 + ss.clearJobDone(); } + =20 + /** + * Change region in simulation launcher + * + * @param regionName SimulationParameter/description + */ public void regionChange(String regionName) { regionStorage =3D RegionStorage.getRegion(regionName); param.setRegionName(regionName); - // change Region, we must init some list - //param.setPopulations(null); - //param.setRules(null); - //param.setStrategies(null); + for (Rule r : param.getRules()) { + rules.put(r, RuleStorage.getName(r)); + } } + /** * Change region in simulation launcher * * @param simulationName name of simulation to load * @return null if ok, an OutputView otherwise with error */ - public Exception loadOldSimulation(String simulName) { + public void loadOldSimulation(String simulName) { log.debug("call loadOldSimulation: " + simulName); try { simulStorage =3D SimulationStorage.getSimulation(simulName); @@ -207,25 +184,20 @@ // all time reset number after load param.setAnalysePlanNumber(-1); regionStorage =3D param.getRegion(); - } catch (Exception eee) { + } catch (Exception eee) { log.error("Can't load old Simulation: " + simulName, eee); - return eee; } - return null; } - public SimulationParameter getSimulationParameter(){ - return param; - } - public void setSimulationParameter(SimulationParameter p){ - param =3D p; - } - public SimulationStorage getSimulationStorage(){ - return simulStorage; - } - public RegionStorage getRegionStorage(){ - return regionStorage; - } - public void addRules(String name){ + =20 +/* + ************ + * ParamsUI + ************ + */ + =20 +// Gestion des rules + =20 + public void addRules(String name) { ruleStorage =3D RuleStorage.getRule(name); try { Rule ruleTmp =3D ruleStorage.getNewRuleInstance(); @@ -246,7 +218,7 @@ List result =3D new ArrayList(); for (Rule r : param.getRules()) { try { - result.add(rules.get(r)); + result.add(RuleStorage.getName(r)); } catch (Exception ex) { Logger.getLogger(SimulAction.class.getName()).log(Level.SEVE= RE, null, ex); } @@ -258,27 +230,54 @@ for (Map.Entry entry : rules.entrySet()) { if (entry.getValue().equals(name)) { param.removeRule(entry.getKey()); + rules.remove(entry.getKey()); } } } } - public void simul(String simulId, SimulatorLauncher launcher) { - simulId +=3D " " + dateFormat.format(new java.util.Date()); - - if (simulId =3D=3D null || "".equals(simulId) ||=20 - SimulationStorage.localyExists(simulId) || - SimulationService.getService().exists(simulId)) { - UserLog.error(_("Can't start simulation, bad id: %s", simulI= d)); - } else { - SimulationParameter p =3D param.copy(); - - SimulationService.getService().submit(simulId, p, launcher, = 0); + public Rule getRule(String ruleName){ + Rule r =3D null; + for (Map.Entry entry : rules.entrySet()) { + if (entry.getValue().equals(ruleName)) { + r =3D entry.getKey(); } + } + return r; } - public List getSimulationLauncher(){ - return SimulationService.getService().getSimulationLaunchers(); + public Map getRuleParameterName(String ruleName) { + Map result =3D null; + if (ruleName !=3D null) { + Rule r =3D getRule(ruleName); + if (r !=3D null){ + result =3D RuleStorage.getParameterNames(r); + } + } + return result; } - public List getStrategies(){ + public Object getRuleParameterValue(String paramName, String ruleName){ + Object result =3D null; + if (ruleName !=3D null) { + try { + result =3D RuleStorage.getParameterValue(getRule(ruleName), = paramName); + } catch (IsisFishException ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVE= RE, null, ex); + } + } + return result; + } + public void setRuleParameterValue(String paramName, String ruleName, Obj= ect o){ + if (ruleName !=3D null) { + try { + RuleStorage.setParameterValue(getRule(ruleName), paramName, = o); + } catch (IsisFishException ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVE= RE, null, ex); + } + } + } + =20 +// Strategies + + public List getStrategies() { List result =3D new ArrayList(); try { result =3D RegionStorage.getFisheryRegion(param.getRegion().getS= torage().beginTransaction()).getStrategy(); @@ -287,12 +286,23 @@ } return result; } - public List getPopulations(){ + + public void setStrategies(Object[] strategies) { + List result =3D new ArrayList(); + for (Object o : strategies) { + result.add((Strategy) o); + } + param.setStrategies(result); + } + =20 +// Population + =20 + public List getPopulations() { List species; List result =3D new ArrayList(); try { species =3D RegionStorage.getFisheryRegion(param.getRegion().get= Storage().beginTransaction()).getSpecies(); - for (Species s : species){ + for (Species s : species) { result.addAll(s.getPopulation()); } } catch (Exception ex) { @@ -300,42 +310,201 @@ } return result; } - public void setNbAnnees(String years){ + public void setPopulations(Object[] populations) { + List result =3D new ArrayList(); + for (Object o : populations) { + result.add((Population) o); + } + param.setPopulations(result); + } + +// Years + =20 + public void setNbAnnees(String years) { param.setNumberOfYear(Integer.parseInt(years)); } - public List getSimulatorNames(){ + + public List getSimulatorNames() { return SimulatorStorage.getSimulatorNames(); } - public void addTagValue(String tag, String value){ + =20 +/* + ************ + * AdvancedParameterUI + ************ + */=20 + + // Gestion des TagValues + =20 + public void addTagValue(String tag, String value) { param.getTagValue().put(tag, value); } - public void removeTagValue(String tag){ + + public void removeTagValue(String tag) { log.debug("removeTagValue: " + tag); param.getTagValue().remove(tag); } - public void saveTagValue(String simulatorName){ + + public void saveTagValue(String simulatorName) { Map tagValues =3D param.getTagValue(); log.debug("call saveTagValue: " + tagValues); IsisFish.config.setDefaultTagValues(tagValues); - =20 + IsisFish.config.setSimulatorClassfile(simulatorName); - //IsisFish.config.setSimulatorLauncher(local?"local":"isis-server"); } - public List getExportNames(){ +/* + * ExportUI + */ + =20 + public List getExportNames() { return ExportStorage.getExportNames(); } - public void updateDirectory(){ - param.setExportDirectory(org.codelutin.util.FileUtil.getDirectory()= ); + + public void updateDirectory() { + param.setExportDirectory(org.codelutin.util.FileUtil.getDirectory()); } - public void saveExport(){ + + public void saveExport() { IsisFish.config.setDefaultExportDirectory(param.getExportDirectory()= ); - IsisFish.config.setDefaultExportNames(param.getExportNames()); + if (param.getExportNames() !=3D null){ + IsisFish.config.setDefaultExportNames(param.getExportNames()); + } } + =20 +/* + * ResultUI + */ + public void saveResultNames(Object[] resultNames) { List resultNamesString =3D new ArrayList(); - for (Object o : resultNames){ + for (Object o : resultNames) { resultNamesString.add(o.toString()); } IsisFish.config.setDefaultResultNames(resultNamesString); + } =20 + =20 +/** + ************ + * SensUI + ************ + */ + =20 +// Gestion des analysePlans + =20 + public List getAnalysePlanNames(){ + return analysePlan; } + public List getParamAnalysePlans(){ + List result =3D new LinkedList(); + for (AnalysePlan a : param.getAnalysePlans()){ + result.add(analysePlans.get(a)); + } + return result; + } + public void addAnalysePlan(String name){ + try { + AnalysePlan ap =3D AnalysePlanStorage.getAnalysePlan(name).getNe= wAnalysePlanInstance(); + analysePlans.put(ap, name); + getSimulationParameter().addAnalysePlan(ap); + } catch (IsisFishException ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, = null, ex); + } + } + public void removeAnalysePlan(String name){ + AnalysePlan ap =3D getAnalysePlan(name); + analysePlans.remove(ap); + getSimulationParameter().removeAnalysePlan(ap); + } + public void clearAnalysePlan(){ + getSimulationParameter().clearPlans(); + } + public AnalysePlan getAnalysePlan(String name){ + AnalysePlan r =3D null; + for (Map.Entry entry : analysePlans.entrySet())= { + if (entry.getValue().equals(name)) { + r =3D entry.getKey(); + } + } + return r; + } + public Map getAnalysePlanParameterName(String analysePlan= Name) { + Map result =3D null; + if (analysePlanName !=3D null) { + AnalysePlan a =3D getAnalysePlan(analysePlanName); + if (a !=3D null){ + result =3D AnalysePlanStorage.getParameterNames(a); + } + } + return result; + } + public Object getAnalysePlanParameterValue(String paramName, String anal= ysePlanName){ + Object result =3D null; + if (analysePlanName !=3D null) { + try { + result =3D AnalysePlanStorage.getParameterValue(getAnalysePl= an(analysePlanName), paramName); + } catch (IsisFishException ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVE= RE, null, ex); + } + } + return result; + } + public void setAnalysePlanParameterValue(String paramName, String analys= ePlanName, Object o){ + if (analysePlanName !=3D null) { + try { + AnalysePlanStorage.setParameterValue(getAnalysePlan(analyseP= lanName), paramName, o); + } catch (IsisFishException ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVE= RE, null, ex); + } + } + } + =20 +/* + ************ + * General + ************ + */ + =20 + public SimulationParameter getSimulationParameter() { + return param; + } + + public void setSimulationParameter(SimulationParameter p) { + param =3D p; + } + + public SimulationStorage getSimulationStorage() { + return simulStorage; + } + + public RegionStorage getRegionStorage() { + return regionStorage; + } + =20 + public List getSimulationLauncher() { + return SimulationService.getService().getSimulationLaunchers(); + } + /** + * Launch automaticaly the simulation, when is possible (no other simula= tion) + * or wait for the last automaticaly simulation ended. + * + * @param simulId id of the simulation to simulate + * @param inQueue flag to say put in queue + */ + public void simul(String simulId, SimulatorLauncher launcher) { + simulId +=3D " " + dateFormat.format(new java.util.Date()); + log.debug("call simulate"); + try { + if (simulId =3D=3D null || "".equals(simulId) || + SimulationStorage.localyExists(simulId) || + SimulationService.getService().exists(simulId)) { + UserLog.error(_("Can't start simulation, bad id: %s", simulI= d)); + } else { + SimulationParameter p =3D param.copy(); + + SimulationService.getService().submit(simulId, p, launcher, = 0); + } + } catch (Exception eee) { + log.error("Can't start simulation", eee); + } + } } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/Tool= TipListModelFactory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ToolTipLis= tModelFactory.java 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/ToolTipLis= tModelFactory.java 2008-10-17 14:57:40 UTC (rev 1565) @@ -31,7 +31,7 @@ public class ToolTipListModelFactory { =20 /** to use log facility, just put in your code: log.info(\"...\"); */ - static private Log log =3D LogFactory.getLog(SimulatorAction.class); + static private Log log =3D LogFactory.getLog(SimulAction.class); =20 /** * Build a new {@link ToolTipListModel} for for @Doc'field of all given Added: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/Par= ameterCellEditor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/Parame= terCellEditor.java (rev 0) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/Parame= terCellEditor.java 2008-10-17 14:57:40 UTC (rev 1565) @@ -0,0 +1,29 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package fr.ifremer.isisfish.ui.widget.editor; + +/** + * + * @author letellier + */ +public class ParameterCellEditor{ + private String name; + private Class type; + public ParameterCellEditor(String n, Class c){ + name =3D n; + type =3D c; + } + @Override + public String toString(){ + return name; + } + public Class getType(){ + return type; + } + public String getName(){ + return name; + } +} Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/= ParameterColumnEditor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/Parame= terColumnEditor.java 2008-10-14 09:01:24 UTC (rev 1564) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/widget/editor/Parame= terColumnEditor.java 2008-10-17 14:57:40 UTC (rev 1565) @@ -86,6 +86,10 @@ * for a simple date */ Date(Date.class), + /** + * for a simple boolean + */ + Double(double.class), /** * for a simple boolean */ @@ -145,11 +149,11 @@ @SuppressWarnings( { "unchecked" }) public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { - =09 - Map.Entry p =3D (Map.Entry) table - .getValueAt(row, 0); - type =3D p.getValue(); - log.debug(p.getKey() + " P.type:" + type); +// Map.Entry p =3D (Map.Entry) table.getValue= At(row, 0); +// type =3D p.getValue(); +// log.debug(p.getKey() + " P.type:" + type); + ParameterCellEditor p =3D (ParameterCellEditor) table.getVal= ueAt(row, 0); + type =3D p.getType(); JComboBox c; //if (!table.hasFocus()) return null; =09 --===============9069644498068168493==--