Author: sletellier Date: 2008-10-09 17:32:06 +0000 (Thu, 09 Oct 2008) New Revision: 1546 Added: isis-fish/trunk/src/main/resources/images/book.gif isis-fish/trunk/src/main/resources/images/bookPage.gif isis-fish/trunk/src/main/resources/images/calc.gif isis-fish/trunk/src/main/resources/images/simulation.gif Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx Log: Simulation work 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 2008-10-08 14:13:44 UTC (rev 1545) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2008-10-09 17:32:06 UTC (rev 1546) @@ -40,12 +40,18 @@ */ package fr.ifremer.isisfish.ui.simulator; +import fr.ifremer.isisfish.datastore.StorageException; +import fr.ifremer.isisfish.entities.FisheryRegion; import static org.codelutin.i18n.I18nf._; import fr.ifremer.isisfish.IsisFish; import fr.ifremer.isisfish.IsisFishException; +import fr.ifremer.isisfish.datastore.DataStorage; import fr.ifremer.isisfish.datastore.RegionStorage; import fr.ifremer.isisfish.datastore.RuleStorage; import fr.ifremer.isisfish.datastore.SimulationStorage; +import fr.ifremer.isisfish.entities.Population; +import fr.ifremer.isisfish.entities.Species; +import fr.ifremer.isisfish.entities.Strategy; import fr.ifremer.isisfish.rule.Rule; import fr.ifremer.isisfish.simulator.SimulationParameter; import fr.ifremer.isisfish.simulator.launcher.SimulationService; @@ -60,6 +66,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.codelutin.log.UserLog; +import org.codelutin.topia.TopiaContext; +import org.codelutin.topia.TopiaException; public class SimulAction { @@ -75,13 +83,36 @@ public SimulAction(){ param = new SimulationParameter(); } + + protected void stopSimulation(int i) { +// SimulationJob job = modelJobs.getJob(i); +// job.stop(); +// log.info(_("User stop simulation %s", job.getItem().getControl().getId())); +// } + } + + protected void viewLog(int i) { +// SimulationJob job = modelJobs.getJob(i); +// String id = job.getItem().getControl().getId(); +// try { +// SimulationLoggerUtil.showSimulationLogConsole(id); +// } catch (Exception eee) { +// UserLog.error(_("Can't open log for %s", id), eee); +// } +// } + } + + protected void clearDoneJobs(java.awt.event.ActionEvent evt) { + SimulationService ss = SimulationService.getService(); + ss.clearJobDone(); + } public void regionChange(String regionName) { regionStorage = RegionStorage.getRegion(regionName); param.setRegionName(regionName); // change Region, we must init some list - param.setPopulations(null); - param.setRules(null); - param.setStrategies(null); + //param.setPopulations(null); + //param.setRules(null); + //param.setStrategies(null); } /** * Change region in simulation launcher @@ -185,4 +216,26 @@ public List<SimulatorLauncher> getSimulationLauncher(){ return SimulationService.getService().getSimulationLaunchers(); } + public List<Strategy> getStrategies(){ + List<Strategy> result = new ArrayList<Strategy>(); + result = param.getStrategies(); + return result; + } + public List<Population> getPopulations(){ + List<Species> species; + List<Population> result = new ArrayList<Population>(); + try { +// species = simulStorage.getFisheryRegion(simulStorage.getStorage()).getSpecies(); +// for (Species s : species){ +// result.addAll(s.getPopulation()); +// } + } catch (Exception ex) { + Logger.getLogger(SimulAction.class.getName()).log(Level.SEVERE, null, ex); + } + result = param.getPopulations(); + return result; + } + public void setNbAnnees(String years){ + param.setNumberOfYear(Integer.parseInt(years)); + } } 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 2008-10-08 14:13:44 UTC (rev 1545) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-en_GB.properties 2008-10-09 17:32:06 UTC (rev 1546) @@ -40,6 +40,7 @@ Local\ repository\ don't\ exist= Local\ repository\ exists\ but\ it's\ not\ valide\ for\ current\ vcs\:\ %s= Master\ plan= +Month\ Gap\ BetweenRepro\ Recruitment= No\ database\ version\ %s\ found\ and\ can't\ get\ it.\\n= Normal\ stop\ thread,\ this\ is\ not\ an\ error= Not\ start\ simulation\ %s\ because\ user\ ask\ stop= @@ -51,6 +52,7 @@ SimulationExecutor\ started\ with\ %s\ thread\ for\ %s= Stop\ simulation= Stop\ simulation\ plan,\ because\ can't\ call\ afterSimulation\ correctly\ on\ plan\ %s= +Stop\ the\ process= SubProcess\ start\:\ %s\ %s= Switch\ repository\ %s\ from\ %s\ to\ %s= Switch\ repository\ tag\ from\ %s\ to\ %s= @@ -715,6 +717,7 @@ isisfish.month.november=november isisfish.month.october=october isisfish.month.september=september +isisfish.notitle=\ isisfish.option.description.addScript= isisfish.option.description.changeConfig= isisfish.option.description.changeFileConfig= @@ -740,6 +743,7 @@ isisfish.params.clearFilter=Clear filter isisfish.params.description=Description isisfish.params.filter=Filter +isisfish.params.lblLauncher= isisfish.params.loadOldSimulation=Load old simulation isisfish.params.numberYear=Number of year isisfish.params.onlyExportSimulation=Only export simulation @@ -846,6 +850,7 @@ isisfish.port.title=inputPort isisfish.preScript.backParameter=Back to parameter tab isisfish.preScript.title=Pre simulation script +isisfish.preScripts.title= isisfish.queue.cancelled=cancelled isisfish.queue.id=id isisfish.queue.launcher= 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 2008-10-08 14:13:44 UTC (rev 1545) +++ isis-fish/trunk/src/main/resources/i18n/isis-fish-fr_FR.properties 2008-10-09 17:32:06 UTC (rev 1546) @@ -40,6 +40,7 @@ Local\ repository\ don't\ exist= Local\ repository\ exists\ but\ it's\ not\ valide\ for\ current\ vcs\:\ %s= Master\ plan= +Month\ Gap\ BetweenRepro\ Recruitment= No\ database\ version\ %s\ found\ and\ can't\ get\ it.\\n= Normal\ stop\ thread,\ this\ is\ not\ an\ error= Not\ start\ simulation\ %s\ because\ user\ ask\ stop= @@ -51,6 +52,7 @@ SimulationExecutor\ started\ with\ %s\ thread\ for\ %s= Stop\ simulation= Stop\ simulation\ plan,\ because\ can't\ call\ afterSimulation\ correctly\ on\ plan\ %s= +Stop\ the\ process= SubProcess\ start\:\ %s\ %s= Switch\ repository\ %s\ from\ %s\ to\ %s= Switch\ repository\ tag\ from\ %s\ to\ %s= @@ -715,6 +717,7 @@ isisfish.month.november=novembre isisfish.month.october=octobre isisfish.month.september=september +isisfish.notitle=\ isisfish.option.description.addScript=ajoute un script d'un certain type (analyseplans|exports|formules\=type|rules|scripts|simulators) \u00E0 partir d'un fichier existant (file) (pour les formules il faut pr\u00E9ciser son type) isisfish.option.description.changeConfig=remplace la valeur d'une propri\u00E9t\u00E9 de clef **key** de la configuration [vcs] par la valeur **value**. isisfish.option.description.changeFileConfig=le fichier de configuration utilis\u00E9 @@ -740,6 +743,7 @@ isisfish.params.clearFilter=Reset filtre isisfish.params.description=Description isisfish.params.filter=Filtrer +isisfish.params.lblLauncher= isisfish.params.loadOldSimulation=Charger un ancienne simulation isisfish.params.numberYear=Nombre d'ann\u00E9es isisfish.params.onlyExportSimulation=Exporter uniquement des simulations @@ -846,6 +850,7 @@ isisfish.port.title=Saisie des ports isisfish.preScript.backParameter=Retour aux param\u00E8tres isisfish.preScript.title=Script de pr\u00E9-simulation +isisfish.preScripts.title= isisfish.queue.cancelled=annul\u00E9 isisfish.queue.id=identifiant isisfish.queue.launcher= Added: isis-fish/trunk/src/main/resources/images/book.gif =================================================================== (Binary files differ) Property changes on: isis-fish/trunk/src/main/resources/images/book.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: isis-fish/trunk/src/main/resources/images/bookPage.gif =================================================================== (Binary files differ) Property changes on: isis-fish/trunk/src/main/resources/images/bookPage.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: isis-fish/trunk/src/main/resources/images/calc.gif =================================================================== (Binary files differ) Property changes on: isis-fish/trunk/src/main/resources/images/calc.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: isis-fish/trunk/src/main/resources/images/simulation.gif =================================================================== (Binary files differ) Property changes on: isis-fish/trunk/src/main/resources/images/simulation.gif ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Modified: isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx =================================================================== --- isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2008-10-08 14:13:44 UTC (rev 1545) +++ isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/WelcomeTabUI.jaxx 2008-10-09 17:32:06 UTC (rev 1546) @@ -35,16 +35,16 @@ import fr.ifremer.isisfish.ui.simulator.SimulAction; </script> <JTabbedPane id="simulTabs" tabPlacement='{JTabbedPane.LEFT}' constraints="BorderLayout.CENTER"> - <tab title='' icon='{new ImageIcon(getClass().getResource("/images/simulation.gif"))}'> - <fr.ifremer.isisfish.ui.simulator.SimulUI constructorParams='{new SimulAction()}'/> + <tab title='isisfish.notitle' icon='{new ImageIcon(getClass().getResource("/images/simulation.gif"))}'> + <fr.ifremer.isisfish.ui.simulator.SimulUI constructorParams='new SimulAction()'/> </tab> - <tab title='' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'> + <tab title='isisfish.notitle' icon='{new ImageIcon(getClass().getResource("/images/calc.gif"))}'> <fr.ifremer.isisfish.ui.result.ResultUI/> </tab> - <tab title='' icon='{new ImageIcon(getClass().getResource("/images/book.gif"))}'> + <tab title='isisfish.notitle' icon='{new ImageIcon(getClass().getResource("/images/book.gif"))}'> <fr.ifremer.isisfish.ui.input.InputUI/> </tab> - <tab title='' icon='{new ImageIcon(getClass().getResource("/images/bookPage.gif"))}'> + <tab title='isisfish.notitle' icon='{new ImageIcon(getClass().getResource("/images/bookPage.gif"))}'> <fr.ifremer.isisfish.ui.script.ScriptUI/> </tab> </JTabbedPane> Modified: isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx =================================================================== --- isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2008-10-08 14:13:44 UTC (rev 1545) +++ isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/ParamsUI.jaxx 2008-10-09 17:32:06 UTC (rev 1546) @@ -39,8 +39,7 @@ import fr.ifremer.isisfish.ui.WelcomePanelUI; import fr.ifremer.isisfish.simulator.SimulationParameter; import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher; -// import fr.ifremer.isisfish.ui.widget.renderer.ToolTipComboBoxRenderer2; - + import fr.ifremer.isisfish.entities.Strategy; public ParamsUI(SimulAction action){ setContextValue(action); } @@ -48,6 +47,8 @@ WelcomePanelUI root = getParentContainer(WelcomePanelUI.class); root.setInfoText(_("isisfish.message.loading.region")); getContextValue(SimulAction.class).regionChange(fieldSimulParamsRegion.getSelectedItem().toString()); + setListSimulParamsStrategiesItems(); + setListSimulParamsPopulationsItems(); root.setInfoText(_("isisfish.message.region.loaded")); } @@ -64,7 +65,17 @@ // new OutputView("Error.xml", "error", eee.getMessage()); } fieldSimulParamsName.setText(getContextValue(SimulAction.class).getStorageName()); - + fieldSimulParamsDesc.setText(getContextValue(SimulAction.class).getSimulationParameter().getDescription()); + setListSimulParamsStrategiesItems(); + setListSimulParamsPopulationsItems(); + if (getContextValue(SimulAction.class).getSimulationParameter().getUsePreScript()){ + SimulUI simul = getParentContainer(SimulUI.class); + simul.enablePreSimul(); + } + if (getContextValue(SimulAction.class).getSimulationParameter().getUseAnalysePlan()){ + SimulUI simul = getParentContainer(SimulUI.class); + simul.enableAnalysePlan(); + } root.setInfoText(_("isisfish.message.old.simulation.loaded")); } protected void addRules(){ @@ -96,6 +107,15 @@ simul.enableAnalysePlan(); } } + protected void setNbAnnees(){ + getContextValue(SimulAction.class).setNbAnnees(fieldSimulParamsNbAnnees.getText()); + } + protected void setListSimulParamsStrategiesItems(){ + listSimulParamsStrategies.setListData(getContextValue(SimulAction.class).getStrategies().toArray()); + } + protected void setListSimulParamsPopulationsItems(){ + listSimulParamsPopulations.setListData(getContextValue(SimulAction.class).getPopulations().toArray()); + } ]]> </script> <row> @@ -178,7 +198,7 @@ <JLabel text="isisfish.params.numberYear" minimumSize='{new Dimension(140,25)}' preferredSize='{new Dimension(140,25)}'/> </cell> <cell fill="both" weightx="1.0"> - <JTextField id="fieldSimulParamsNbAnnees" text='{getContextValue(SimulAction.class).getSimulationParameter().getNumberOfYear()}'/> + <JTextField id="fieldSimulParamsNbAnnees" text='{getContextValue(SimulAction.class).getSimulationParameter().getNumberOfYear()}' onFocusLost='setNbAnnees()'/> </cell> </row> </Table> @@ -198,7 +218,7 @@ <row> <cell fill="both" weightx="1.0" weighty="1.0"> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JList id="listSimulParamsStrategies" selectionMode="2" model='{new DefaultComboBoxModel(getContextValue(SimulAction.class).getSimulationParameter().getStrategies().toArray())}' /> + <JList id="listSimulParamsStrategies" selectionMode="2" model='{new DefaultComboBoxModel(getContextValue(SimulAction.class).getStrategies().toArray())}'/> </JScrollPane> </cell> </row> @@ -214,7 +234,7 @@ <row> <cell fill="both" weightx="1.0" weighty="1.0"> <JScrollPane minimumSize='{new Dimension(0,0)}' preferredSize='{new Dimension(0,0)}'> - <JList id="listSimulParamsPopulations" selectionMode="2" model='{new DefaultComboBoxModel(getContextValue(SimulAction.class).getSimulationParameter().getPopulations().toArray())}' /> + <JList id="listSimulParamsPopulations" selectionMode="2" model='{new DefaultComboBoxModel(getContextValue(SimulAction.class).getPopulations().toArray())}'/> </JScrollPane> </cell> </row> Modified: isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx =================================================================== --- isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2008-10-08 14:13:44 UTC (rev 1545) +++ isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2008-10-09 17:32:06 UTC (rev 1546) @@ -33,10 +33,12 @@ <Table> <script><![CDATA[ -// import fr.ifremer.isisfish.simulator.SimulationQueueModel; -// import fr.ifremer.isisfish.simulator.SimulationDoneQueueModel; -// setContextValue(new SimulationQueueModel()); -// setContextValue(new SimulationDoneQueueModel()); +import fr.ifremer.isisfish.simulator.launcher.SimulationServiceTableModel; +import fr.ifremer.isisfish.simulator.launcher.SimulationService; + SimulationService ss = SimulationService.getService(); + setContextValue(new SimulationServiceTableModel(ss, true), "done"); + setContextValue(new SimulationServiceTableModel(ss, false), "new"); + public QueueUI (SimulAction action){ setContextValue(action); } @@ -45,9 +47,9 @@ <row> <cell columns="3" fill="both" weightx="1.0" weighty="0.5"> <JScrollPane> - <JTable id="queueTable"> + <JTable id="queueTable" model='{getContextValue(SimulationServiceTableModel.class, "new")}'> <!-- Fixme : TableModel a implemanter - model='{getContextValue(SimulationQueueModel.class)}' + <tableModel> <SimulationQueueModel id="queueModel"/> </tableModel> @@ -59,9 +61,9 @@ <row> <cell columns="3" fill="both" weightx="1.0" weighty="0.5"> <JScrollPane> - <JTable id="queueTableDone"> + <JTable id="queueTableDone" model='{getContextValue(SimulationServiceTableModel.class, "done")}'> <!-- - model='{getContextValue(SimulationDoneQueueModel.class)}' + <tableModel> <SimulationDoneQueueModel id="queueModelDone"/> </tableModel> Modified: isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx =================================================================== --- isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx 2008-10-08 14:13:44 UTC (rev 1545) +++ isis-fish/trunk/src/main/uimodel/fr/ifremer/isisfish/ui/simulator/SimulUI.jaxx 2008-10-09 17:32:06 UTC (rev 1546) @@ -32,7 +32,6 @@ --> <JPanel size='{new Dimension(800,600)}' id="simul" layout='{new BorderLayout()}'> <script><![CDATA[ - import static org.codelutin.i18n.I18nf._; public SimulUI(SimulAction action){ setContextValue(action); } @@ -47,7 +46,6 @@ protected void selTab(int i){ simulTabs.setSelectedIndex(i); } - ]]> </script> <!-- @@ -85,13 +83,13 @@ --> <JTabbedPane id="simulTabs" constraints='BorderLayout.CENTER'> - <tab id="paramsUITab" title='{_("isisfish.Params.title")}'><ParamsUI id="paramUI" constructorParams='getContextValue(SimulAction.class)'/></tab> - <tab id="preScriptUITab" title='{_("isisfish.PreScripts.title")}' enabled='false'><PreScriptsUI id="preScipt" constructorParams='getContextValue(SimulAction.class)'/></tab> - <tab id="sensUITab" title='{_("isisfish.Sens.title")}' enabled='false'><SensUI id="sensUI" constructorParams='getContextValue(SimulAction.class)'/></tab> - <tab id="exportUITab" title='{_("isisfish.Export.title")}'><ExportUI id="exportUI" constructorParams='getContextValue(SimulAction.class)'/></tab> - <tab id="resultChoiceUITab" title='{_("isisfish.ResultChoice.title")}'><ResultChoiceUI id="resultChoiceUI" constructorParams='getContextValue(SimulAction.class)'/></tab> - <tab id="advancedParamsUITab" title='{_("isisfish.advancedParameters.title")}'><AdvancedParamsUI id="advencedParamsUI" constructorParams='getContextValue(SimulAction.class)'/></tab> - <tab id="queueUITab" title='{_("isisfish.Queue.title")}'><QueueUI id="queueUI" constructorParams='getContextValue(SimulAction.class)'/></tab> + <tab id="paramsUITab" title='isisfish.params.title'><ParamsUI id="paramUI" constructorParams='getContextValue(SimulAction.class)'/></tab> + <tab id="preScriptUITab" title='isisfish.preScript.title' enabled='false'><PreScriptsUI id="preScipt" constructorParams='getContextValue(SimulAction.class)'/></tab> + <tab id="sensUITab" title='isisfish.sens.title' enabled='false'><SensUI id="sensUI" constructorParams='getContextValue(SimulAction.class)'/></tab> + <tab id="exportUITab" title='isisfish.export.title'><ExportUI id="exportUI" constructorParams='getContextValue(SimulAction.class)'/></tab> + <tab id="resultChoiceUITab" title='isisfish.resultChoice.title'><ResultChoiceUI id="resultChoiceUI" constructorParams='getContextValue(SimulAction.class)'/></tab> + <tab id="advancedParamsUITab" title='isisfish.advancedParameters.title'><AdvancedParamsUI id="advencedParamsUI" constructorParams='getContextValue(SimulAction.class)'/></tab> + <tab id="queueUITab" title='isisfish.queue.title'><QueueUI id="queueUI" constructorParams='getContextValue(SimulAction.class)'/></tab> </JTabbedPane>