r2741 - in isis-fish/trunk/src/main/java/fr/ifremer/isisfish: actions simulator simulator/launcher
Author: chatellier Date: 2009-11-05 14:29:02 +0000 (Thu, 05 Nov 2009) New Revision: 2741 Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java 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/JDKPriorityBlockingQueue.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/SimulationExecutor.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.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/SimulationQueue.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.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/simulator/launcher/package-info.java Log: Modification des informations de lancement, tout est maintenant regroup?\195?\169 dans SimulationItem (zip, prescript, control) Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/actions/SimulationAction.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -38,6 +38,7 @@ import fr.ifremer.isisfish.simulator.SimulationControl; import fr.ifremer.isisfish.simulator.SimulationParameter; import fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher; +import fr.ifremer.isisfish.simulator.launcher.SimulationItem; import fr.ifremer.isisfish.simulator.launcher.SimulationService; import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher; @@ -128,14 +129,11 @@ throws Exception { if (log.isInfoEnabled()) { - log.info("Command line action : simulateWithSimulation (" + simulationId + ", " + simulationZip.getAbsolutePath() + ", " + simulationPrescript + ")"); + log.info("Command line action : simulateWithSimulationAndScript (" + simulationId + ", " + simulationZip.getAbsolutePath() + ", " + simulationPrescript + ")"); } String name = simulationId; // ne pas mettre la date, car le sub process la met deja + " " + new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date()); - // lancement de la simulation - SimulatorLauncher launcher = new InProcessSimulatorLauncher(); - //SimulationStorage simulation = launcher.simulate(null, control, simulationZip); //simulation.getStorage().closeContext(); String simulationPrescriptContent = null; @@ -144,7 +142,13 @@ } SimulationControl control = new SimulationControl(name); - launcher.simulate(null, control, simulationZip, simulationPrescriptContent); + SimulationItem item = new SimulationItem(control, null); + item.setSimulationZip(simulationZip); + item.setSimulationPrescriptContent(simulationPrescriptContent); + + // lancement de la simulation + SimulatorLauncher launcher = new InProcessSimulatorLauncher(); + launcher.simulate(SimulationService.getService(), item); SimulationStorage simulation = launcher.getSimulationStorage(SimulationService.getService(), control); simulation.getStorage().closeContext(); @@ -208,9 +212,6 @@ String name = simulationId; // ne pas mettre la date, car le sub process la met deja + " " + new SimpleDateFormat("yyyy-MM-dd-HH-mm").format(new Date()); - // lancement de la simulation - SimulatorLauncher launcher = new InProcessSimulatorLauncher(); - //SimulationStorage simulation = launcher.simulate(null, control, simulationZip); //simulation.getStorage().closeContext(); String simulationPrescriptContent = null; @@ -219,7 +220,13 @@ } SimulationControl control = new SimulationControl(name); - launcher.simulate(null, control, simulationZip, simulationPrescriptContent); + SimulationItem item = new SimulationItem(control, null); + item.setSimulationZip(simulationZip); + item.setSimulationPrescriptContent(simulationPrescriptContent); + + // lancement de la simulation + SimulatorLauncher launcher = new InProcessSimulatorLauncher(); + launcher.simulate(SimulationService.getService(), item); SimulationStorage simulationStorage = launcher.getSimulationStorage(SimulationService.getService(), control); // make result archive after simulation @@ -236,7 +243,7 @@ } simulationStorage.getStorage().closeContext(); - + // remove simulation if (log.isInfoEnabled()) { log.info("Deleting simulation : " + simulationStorage.getRoot()); Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/SimulatorServer.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -43,6 +43,7 @@ import fr.ifremer.isisfish.IsisFish; import fr.ifremer.isisfish.datastore.SimulationStorage; import fr.ifremer.isisfish.simulator.launcher.InProcessSimulatorLauncher; +import fr.ifremer.isisfish.simulator.launcher.SimulationItem; import fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher; /** @@ -50,8 +51,6 @@ * de simulation. Il est ensuite possible de lui demander ou en est rendu * une simulation. * - * FIXME chatellier : since ... a long time this implementation is unmaintained. - * * Created: Thu Aug 22 2002 * * @author <poussin at codelutin.com> Copyright Code Lutin @@ -60,6 +59,8 @@ * * Mise a jour: $Date$ * par : $Author$ + * + * @deprecated since ... a long time this implementation is unmaintained. */ public class SimulatorServer implements XmlRpcHandler, XmlRpcHandlerMapping { // SimulatorServer @@ -176,7 +177,9 @@ simulationControls.put(id, control); try { SimulatorLauncher launcher = new InProcessSimulatorLauncher(); - launcher.simulate(null, control, zip, null); + SimulationItem item = new SimulationItem(control, null); + item.setSimulationZip(zip); + launcher.simulate(null, item); // FIXME null simulation = launcher.getSimulationStorage(null, control); 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-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -83,26 +83,31 @@ * {@inheritDoc} */ public void simulate(SimulationService simulationService, - SimulationControl control, File simulationZip, - String simulationPrescript) throws RemoteException { + SimulationItem simulationItem) throws RemoteException { + // get real simulation informations for this launcher + SimulationControl control = simulationItem.getControl(); + File simulationZip = simulationItem.getSimulationZip(); + String simulationPrescript = simulationItem.getSimulationPrescriptContent(); + String id = control.getId(); - log.info(_("simulate %s with file %s", id, simulationZip)); + if (log.isInfoEnabled()) { + log.info(_("simulate %s with file %s", id, simulationZip)); + } try { - + // remove simulation if already exists if (SimulationStorage.exists(id)) { if (log.isWarnEnabled()) { log.warn("Warning , simulation " + id + " aleady exists"); log.warn("Deleting it before doing simulation"); - - // storage can be opened (result UI) - SimulationStorage storage = SimulationStorage.getSimulation(id); - storage.closeStorage(); - - FileUtil.deleteRecursively(storage.getFile()); } + // storage can be opened (result UI) + SimulationStorage storage = SimulationStorage.getSimulation(id); + storage.closeStorage(); + + FileUtil.deleteRecursively(storage.getFile()); } if (log.isDebugEnabled()) { @@ -550,7 +555,7 @@ * Do nothing (no restriction on inprocess launcher). */ @Override - public void simulationStopRequest(SimulationJob job) { + public void simulationStopRequest(SimulationControl control) { } Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/InProcessSimulatorLauncher.java ___________________________________________________________________ Modified: svn:keywords - Revision Author Date + Author Date Id Revision 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-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -42,10 +42,10 @@ * Launch simulation on remote IsisFish server throw XML-RPC. * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ * * @deprecated Since ... a long time this implementation is unmaintained. */ @@ -55,9 +55,13 @@ private static Log log = LogFactory .getLog(IsisFishServerSimulationLauncher.class); + @Override public void simulate(SimulationService simulationService, - SimulationControl control, File simulationZip, - String simulationPreScript) throws RemoteException { + SimulationItem simulationItem) throws RemoteException { + + SimulationControl control = simulationItem.getControl(); + File simulationZip = simulationItem.getSimulationZip(); + String simulationId = control.getId(); SimulationStorage simulation = null; try { @@ -78,6 +82,7 @@ } + @Override public int maxSimulationThread() { // TODO a rendre configurable return 1; @@ -251,7 +256,7 @@ * Do nothing (no restriction on xml rpc launcher). */ @Override - public void simulationStopRequest(SimulationJob job) { + public void simulationStopRequest(SimulationControl control) { } } Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/IsisFishServerSimulationLauncher.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/JDKPriorityBlockingQueue.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision 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-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -79,9 +79,9 @@ * @see JSch * * @author chatellier - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 18 nov. 2008 $ By : $Author: chatellier $ + * Last update : $Date$ By : $Author$ */ public class SSHSimulatorLauncher implements SimulatorLauncher { @@ -184,9 +184,11 @@ /** * {@inheritDoc} + * + * Try to send a qdel command. */ @Override - public void simulationStopRequest(SimulationJob job) throws RemoteException { + public void simulationStopRequest(SimulationControl control) throws RemoteException { // make sure user is connected try { @@ -197,7 +199,7 @@ } try { - sendStopSimulationRequest(sshSession, job.getId()); + sendStopSimulationRequest(sshSession, control.getId()); } catch (SSHException e) { throw new RemoteException("Can't connect", e); } @@ -206,16 +208,28 @@ /** * {@inheritDoc} * - * Dans le cas de ssh: - upload la simulation - construit le script pour - * qsub - upload le script qsub - ajoute le script a qsub + * Dans le cas de ssh: + * <ul> + * <li>upload la simulation + * <li>construit le script pour qsub + * <li>upload le script qsub + * <li>ajoute le script a qsub + * <ul> * - * Et : - lance le thread de control de la simulation + * Et : + * <ul> + * <li>lance le thread de control de la simulation + * <ul> */ @Override public void simulate(SimulationService simulationService, - SimulationControl control, File simulationZip, - String simulationPrescript) throws RemoteException { + SimulationItem simulationItem) throws RemoteException { + // get simulation information for this launcher + SimulationControl control = simulationItem.getControl(); + File simulationZip = simulationItem.getSimulationZip(); + String simulationPrescript = simulationItem.getSimulationPrescriptContent(); + // check username if (StringUtils.isBlank(IsisFish.config.getSimulatorSshUsername())) { throw new RemoteException("Username is empty"); Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SSHSimulatorLauncher.java ___________________________________________________________________ Deleted: svn:mergeinfo - Added: svn:keywords + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -41,10 +41,10 @@ * Il est aussi possible d'ecoute l'etat de l'attribut pause * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class SimulationExecutor extends ThreadPoolExecutor { Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationExecutor.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -25,35 +25,46 @@ import fr.ifremer.isisfish.simulator.SimulationParameter; /** - * Objet representant un simulation qui doit etre faite. + * Objet representant une simulation qui doit être faite. * * Elle est composée : * - d'un fichier zip (la simulation a simuler) * - les parametres de la simulation * - d'un pre-script + * - d'informations suplémentaires utiles à certains launcher : + * - * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class SimulationItem { /** Le control pour la simulation. */ protected SimulationControl control; - + /** Les parametres de simulation. */ protected SimulationParameter parameter; - + /** Le zip contenant la simulation prete a etre executee. */ protected File simulationZip; + /** Simulation prescript. */ + protected String simulationPrescriptContent; + + protected boolean standaloneSimulation; + + protected int simulationNumber; + + protected int simulationsCount; + /** * Constructor. * - * @param control Le control pour la simulation. - * @param param Les parametres de simulation. + * @param control le control pour la simulation. + * @param param les parametres de simulation. */ public SimulationItem(SimulationControl control, SimulationParameter param) { this.control = control; @@ -62,6 +73,7 @@ /** * Retourne le control pour la simulation. + * * @return le control pour la simulation. */ public SimulationControl getControl() { @@ -69,7 +81,11 @@ } /** - * Retorune les parametres de simulation. + * Retourne les parametres de simulation. + * + * Attention, ce ne sont pas forcement les parametres de la simulation + * en cours, mais ceux ayant servit à la générer. + * * @return les parametres de simulation. */ public SimulationParameter getParameter() { @@ -81,22 +97,37 @@ * car la construction du zip prend du temps, et on souhaite pouvoir le * monitorer et donc il faut que l'item exist pour etre vu dans la console * de queue de simulation. - * <p> - * Normalement seul l'objet SimulationService doit pouvoir appeler cette - * method, elle est donc protected * - * @param simulationZip + * @param simulationZip zip to set */ - protected void setSimulationZip(File simulationZip) { + public void setSimulationZip(File simulationZip) { this.simulationZip = simulationZip; } /** - * Retourne le zip contenant la simulation prete a etre executee. + * Retourne le zip contenant la simulation prete a etre executée. * * @return le zip contenant la simulation prete a etre executee. */ public File getSimulationZip() { return simulationZip; } + + /** + * Get simulation prescript. + * + * @return the simulationPrescriptPath + */ + public String getSimulationPrescriptContent() { + return simulationPrescriptContent; + } + + /** + * Set simulation prescript. + * + * @param simulationPrescriptContent the simulationPrescriptContent to set + */ + public void setSimulationPrescriptContent(String simulationPrescriptContent) { + this.simulationPrescriptContent = simulationPrescriptContent; + } } Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationItem.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -43,10 +43,10 @@ * {@link SimulationService#reportError}. * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class SimulationJob implements Runnable, Comparable<SimulationJob> { @@ -262,15 +262,16 @@ //SimulationStorage simulation = null; if (!onlyCheckControl) { - File zip = item.getSimulationZip(); - + //File zip = item.getSimulationZip(); + // get prescript content, only if UsePreScript is set to true String simulationPrescript = null; if(param.getUsePreScript()) { simulationPrescript = param.getPreScript(); + item.setSimulationPrescriptContent(simulationPrescript); } - - launcher.simulate(simulationService, control, zip, simulationPrescript); + + launcher.simulate(simulationService, item); } // simulation ended Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationJob.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision 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-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2009 Code Lutin + * Copyright (C) 2009 Ifremer, Code Lutin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -520,7 +520,7 @@ } if (control.isStopSimulationRequest()) { - launcher.simulationStopRequest(job); // to release one resource + launcher.simulationStopRequest(control); // to release one resource simulationEnded = true; } } catch (RemoteException e) { Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationMonitor.java ___________________________________________________________________ Modified: svn:keywords - Revision Date Author + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -28,10 +28,10 @@ * Multi tail PriorityBlockingQueue. * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class SimulationQueue extends JDKPriorityBlockingQueue<SimulationJob> { Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationQueue.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -103,10 +103,10 @@ * Il est alors suspendu pour ne plus etre utilise pour les simulations. * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class SimulationService { Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationService.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,14 +20,13 @@ package fr.ifremer.isisfish.simulator.launcher; /** - * Ecouteur sur les evenenements de changement - * d'états des simulations. + * Ecouteur sur les evenenements de changement d'états des simulations. * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public interface SimulationServiceListener { Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceListener.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Modified: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java =================================================================== --- isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java 2009-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -43,10 +43,10 @@ * simulations * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class SimulationServiceTableModel extends AbstractTableModel { Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulationServiceTableModel.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision 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-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,5 +1,5 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -19,20 +19,20 @@ package fr.ifremer.isisfish.simulator.launcher; +import java.rmi.RemoteException; + import fr.ifremer.isisfish.datastore.SimulationStorage; import fr.ifremer.isisfish.simulator.SimulationControl; -import java.io.File; -import java.rmi.RemoteException; /** * Interface devant etre implantée par les classes souhaitants etre utilisees * comme plugin de simulation (InProcess, SubProcess, CapArmor, ...) * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public interface SimulatorLauncher { @@ -40,10 +40,9 @@ * Execute une simulation. * * @param simulationService le {@link SimulationService} qui a initie - * la simulation - * @param control le control de la simulation - * @param simulationZip le zip contenant la simulation prete a etre executee - * @param simulationPrescript script de pre simulation + * la simulation + * @param simulationItem l'item contenant toutes les infos nécessaire au + * lancement de la simulation * * <b>IMPORTANT</b> Quoi qu'il arrive * @throws RemoteException Si pour l'execution de la simulation @@ -52,8 +51,7 @@ * exception est levee. */ public void simulate(SimulationService simulationService, - SimulationControl control, File simulationZip, - String simulationPrescript) throws RemoteException; + SimulationItem simulationItem) throws RemoteException; /** * Retourne le nombre maximal de thread de simulations simultanées supporté. @@ -84,11 +82,9 @@ * * @throws RemoteException Si pour l'execution de la simulation * on utilise des resources distantes (serveurs) et que ceux si non pas pu - * etre contacte. Dans ce cas la simulation n'a pas ete faite et cette - * exception est levee. + * etre contacte. */ - public SimulationStorage getSimulationStorage( - SimulationService simulationService, SimulationControl control) + public SimulationStorage getSimulationStorage(SimulationService simulationService, SimulationControl control) throws RemoteException; /** @@ -100,16 +96,20 @@ * * @throws RemoteException Si pour l'execution de la simulation * on utilise des resources distantes (serveurs) et que ceux si non pas pu - * etre contacte. Dans ce cas la simulation n'a pas ete faite et cette - * exception est levee. + * etre contacte. */ public void updateControl(SimulationService simulationService, SimulationControl control) throws RemoteException; /** - * Called if a started simulation has been ask to stop. + * Called if a started simulation has been ask to stop. Tell launcher to + * stop simulation if possible. * - * TODO review this mecanism (some resource could be not released) + * @param control le control de la simulation + * + * @throws RemoteException Si pour l'execution de la simulation + * on utilise des resources distantes (serveurs) et que ceux si non pas pu + * etre contacte. */ - public void simulationStopRequest(SimulationJob job) throws RemoteException; + public void simulationStopRequest(SimulationControl control) throws RemoteException; } Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SimulatorLauncher.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision 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-11-05 09:29:50 UTC (rev 2740) +++ isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java 2009-11-05 14:29:02 UTC (rev 2741) @@ -1,20 +1,20 @@ /* *##% - * Copyright (C) 2002-2009 Code Lutin, Benjamin Poussin + * Copyright (C) 2002-2009 Ifremer, Code Lutin, Benjamin Poussin + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - * USA. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + * USA. *##%*/ package fr.ifremer.isisfish.simulator.launcher; @@ -48,10 +48,10 @@ * @see Process * * @author poussin - * @version $Revision: 1.0 $ + * @version $Revision$ * - * Last update : $Date: 5 mars 2009 $ - * By : $Author: chatellier $ + * Last update : $Date$ + * By : $Author$ */ public class SubProcessSimulationLauncher implements SimulatorLauncher { @@ -68,8 +68,13 @@ @Override public void simulate(SimulationService simulationService, - SimulationControl control, File simulationZip, - String simulationPrescript) throws RemoteException { + SimulationItem simulationItem) throws RemoteException { + + // get simulation information for this launcher + SimulationControl control = simulationItem.getControl(); + File simulationZip = simulationItem.getSimulationZip(); + String simulationPrescript = simulationItem.getSimulationPrescriptContent(); + String simulationId = control.getId(); SimulationStorage simulation = null; try { @@ -323,7 +328,7 @@ * Do nothing (no restriction on subprocess launcher). */ @Override - public void simulationStopRequest(SimulationJob job) { + public void simulationStopRequest(SimulationControl control) { // TODO kill -9 sub process } } Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/SubProcessSimulationLauncher.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision Property changes on: isis-fish/trunk/src/main/java/fr/ifremer/isisfish/simulator/launcher/package-info.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision
participants (1)
-
chatellier@users.labs.libre-entreprise.org