Author: chatellier Date: 2009-05-19 11:53:54 +0000 (Tue, 19 May 2009) New Revision: 2247 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx Log: Stop les simuations en 2 temps (les indices changes) 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-05-19 08:12:28 UTC (rev 2246) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2009-05-19 11:53:54 UTC (rev 2247) @@ -23,6 +23,7 @@ <script><![CDATA[ import fr.ifremer.isisfish.simulator.launcher.SimulationServiceTableModel; import fr.ifremer.isisfish.simulator.launcher.SimulationService; + import fr.ifremer.isisfish.simulator.launcher.SimulationJob; import javax.swing.JProgressBar; import javax.swing.ListSelectionModel; import javax.swing.table.TableCellRenderer; @@ -56,9 +57,17 @@ */ protected void stopSimulation() { int[] selectedRows = queueTable.getSelectedRows(); + SimulationJob[] jobsToStop = new SimulationJob[selectedRows.length]; + int index = 0; + + // to do in two pass, because each stopped simulation + // change selected rows for (int selectedRow : selectedRows) { - getContextValue(SimulAction.class).stopSimulation(getContextValue(SimulationServiceTableModel.class, "new").getJob(selectedRow)); + jobsToStop[index++] = getContextValue(SimulationServiceTableModel.class, "new").getJob(selectedRow); } + for (SimulationJob job : jobsToStop) { + getContextValue(SimulAction.class).stopSimulation(job); + } } protected void viewLog() {