Author: chatellier Date: 2009-04-29 15:04:54 +0000 (Wed, 29 Apr 2009) New Revision: 2157 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java Log: Change again semaphore mecanism. Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-04-29 15:04:54 UTC (rev 2157) @@ -533,18 +533,8 @@ * Do nothing (no restriction on inprocess launcher). */ @Override - public void simulationEnded() { + public void simulationStopRequest() { } - /** - * {@inheritDoc} - * - * Do nothing (no restriction on inprocess launcher). - */ - @Override - public void simulationStarted() { - - } - } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java 2009-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java 2009-04-29 15:04:54 UTC (rev 2157) @@ -251,17 +251,7 @@ * Do nothing (no restriction on xml rpc launcher). */ @Override - public void simulationEnded() { + public void simulationStopRequest() { } - - /** - * {@inheritDoc} - * - * Do nothing (no restriction on xml rpc launcher). - */ - @Override - public void simulationStarted() { - - } } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-04-29 15:04:54 UTC (rev 2157) @@ -178,13 +178,9 @@ } /** - * {@inheritDoc} - * * Use semaphore to limit simultaneous simulation number on caparmor. - * * @see Semaphore */ - @Override public void simulationStarted() { try { semaphore.acquire(); @@ -196,12 +192,17 @@ } /** + * Release one resource on semaphore. + */ + protected void simulationEnded() { + semaphore.release(); + } + + /** * {@inheritDoc} - * - * Release one resource onr semaphore. */ @Override - public void simulationEnded() { + public void simulationStopRequest() { semaphore.release(); } @@ -219,7 +220,7 @@ String simulationPrescript) throws RemoteException { // ask for available resources on caparmor - // bloquin until available + // blocking until available simulationStarted(); // start ssh session Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-04-29 15:04:54 UTC (rev 2157) @@ -436,9 +436,14 @@ // FIXME check SimulationStorage.exists(control.getId()) condition if ((control.getProgress() > 0 - && control.getProgress() >= control.getProgressMax() && SimulationStorage.exists(control.getId())) || control.isStopSimulationRequest()) { + && control.getProgress() >= control.getProgressMax() && SimulationStorage.exists(control.getId()))) { simulationEnded = true; } + + if (control.isStopSimulationRequest()) { + launcher.simulationStopRequest(); // to release one resource + simulationEnded = true; + } } catch (RemoteException e) { if (log.isErrorEnabled()) { log.error("Progression thread update error", e); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-04-29 15:04:54 UTC (rev 2157) @@ -105,23 +105,11 @@ */ public void updateControl(SimulationService simulationService, SimulationControl control) throws RemoteException; - - - /** - * Call it before starting a simulation. - * - * This call is bloquing until available resources. - * - * @deprecated managed by launcher himelf - */ - public void simulationStarted(); /** - * Call it after simulation end. + * Called if a started simulation has been ask to stop. * - * Release one resources. - * - * @deprecated managed by launcher himelf + * TODO review this mecanism (some resource could be not released) */ - public void simulationEnded(); + public void simulationStopRequest(); } Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2009-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2009-04-29 15:04:54 UTC (rev 2157) @@ -315,17 +315,7 @@ * Do nothing (no restriction on subprocess launcher). */ @Override - public void simulationEnded() { + public void simulationStopRequest() { } - - /** - * {@inheritDoc} - * - * Do nothing (no restriction on subprocess launcher). - */ - @Override - public void simulationStarted() { - - } } 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-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/QueueUI.jaxx 2009-04-29 15:04:54 UTC (rev 2157) @@ -17,18 +17,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *##%*/ - -/* * - * QueueUI.java - * - * Created: 1 aout 2005 18:37:25 CEST - * - * @author Benjamin POUSSIN <poussin at codelutin.com> - * @version $Revision: 1312 $ - * - * Last update: $Date: 2008-08-28 10:21:07 +0200 (jeu, 28 aoû 2008) $ - * by : $Author: sletellier $ - */ --> <Table> 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-04-29 14:43:10 UTC (rev 2156) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/ui/simulator/SimulAction.java 2009-04-29 15:04:54 UTC (rev 2157) @@ -237,7 +237,7 @@ return result; } - protected void stopSimulation(SimulationJob job) { + public void stopSimulation(SimulationJob job) { job.stop(); if (log.isInfoEnabled()) { log.info(_("User stop simulation %s", job.getItem().getControl()