fr.ifremer.isisfish.simulator.launcher
Class SimulationJob

java.lang.Object
  extended by fr.ifremer.isisfish.simulator.launcher.SimulationJob
All Implemented Interfaces:
java.lang.Comparable<SimulationJob>, java.lang.Runnable

public class SimulationJob
extends java.lang.Object
implements java.lang.Runnable, java.lang.Comparable<SimulationJob>

Classe responsable de la simulation d'un SimulationItem. Pour cela il utilise le SimulatorLauncher. Si la simulation echoue a cause d'une RemoteException alors le job est resoumis dans la queue de simulation par l'appel de la methode SimulationService.reportError(fr.ifremer.isisfish.simulator.launcher.SimulatorLauncher, fr.ifremer.isisfish.simulator.launcher.SimulationJob).

Version:
$Revision: 3065 $ Last update : $Date: 2010-06-18 12:05:57 +0200 (ven., 18 juin 2010) $ By : $Author: chatellier $
Author:
poussin

Nested Class Summary
static interface SimulationJob.PostAction
          Interface permettant d'implanter des actions a faire apres la simulation.
 
Field Summary
protected  java.lang.String id
           
protected  SimulationItem item
          item contenant les infos de la simulation
protected  SimulatorLauncher launcher
          Le launcher a utiliser pour simuler cet item
protected static org.apache.commons.logging.Log log
          to use log facility, just put in your code: log.info(\"...\");
protected  boolean onlyCheckControl
          Set it to true to restart simulation checking without restarting reel simulation
protected  SimulationJob parentJob
          si non null contient le SimulationJob qui a genere ce job, ca veut dire que ce job est du a un plan d'analyse
protected  java.util.Set<SimulationJob.PostAction> postActions
          l'ensemble des post actions a effectuer pour ce job
protected  int priority
          la priorite de cet item dans la queue
protected  SimulationService simulationService
          Le SimulationService dans lequel a ete cree ce job
 
Constructor Summary
SimulationJob(SimulationService simulationService, SimulationItem item, int priority)
           
SimulationJob(SimulationService simulationService, SimulationJob parentJob, SimulationItem item, int priority)
           
 
Method Summary
 void addPostAction(SimulationJob.PostAction postAction)
           
 int compareTo(SimulationJob o)
          L'ordre depend : - de la priorite - si le nom fini par un chiffre : - du nom avant le chiffre - du chiffre - sinon du nom
 java.lang.String getId()
           
 SimulationItem getItem()
           
 SimulatorLauncher getLauncher()
           
 SimulationJob getParentJob()
           
 java.util.Set<SimulationJob.PostAction> getPostActions()
           
 int getPriority()
           
 void removePostAction(SimulationJob.PostAction postAction)
           
 void restart()
          Resoumet un job.
 void run()
          Fait la simulation.
 void setLauncher(SimulatorLauncher launcher)
           
 void setOnlyCheckControl(boolean onlyCheckControl)
           
 void stop()
          demande l'annulation/arret de ce job.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected static org.apache.commons.logging.Log log
to use log facility, just put in your code: log.info(\"...\");


id

protected transient java.lang.String id

postActions

protected java.util.Set<SimulationJob.PostAction> postActions
l'ensemble des post actions a effectuer pour ce job


simulationService

protected SimulationService simulationService
Le SimulationService dans lequel a ete cree ce job


parentJob

protected SimulationJob parentJob
si non null contient le SimulationJob qui a genere ce job, ca veut dire que ce job est du a un plan d'analyse


item

protected SimulationItem item
item contenant les infos de la simulation


priority

protected int priority
la priorite de cet item dans la queue


launcher

protected SimulatorLauncher launcher
Le launcher a utiliser pour simuler cet item


onlyCheckControl

protected boolean onlyCheckControl
Set it to true to restart simulation checking without restarting reel simulation

Constructor Detail

SimulationJob

public SimulationJob(SimulationService simulationService,
                     SimulationItem item,
                     int priority)

SimulationJob

public SimulationJob(SimulationService simulationService,
                     SimulationJob parentJob,
                     SimulationItem item,
                     int priority)
Method Detail

addPostAction

public void addPostAction(SimulationJob.PostAction postAction)

removePostAction

public void removePostAction(SimulationJob.PostAction postAction)

getPostActions

public java.util.Set<SimulationJob.PostAction> getPostActions()

getId

public java.lang.String getId()

stop

public void stop()
demande l'annulation/arret de ce job. Si ce job n'etait pas encore actif un SimulationServiceListener.simulationStop(fr.ifremer.isisfish.simulator.launcher.SimulationService, fr.ifremer.isisfish.simulator.launcher.SimulationJob) est leve. Sinon il le sera lorsque la simulation se sera convenablement arretee.

Dans tous les cas une demande d'arret sur le control de la simulation est fait.


restart

public void restart()
Resoumet un job.


getParentJob

public SimulationJob getParentJob()

getItem

public SimulationItem getItem()

setLauncher

public void setLauncher(SimulatorLauncher launcher)

getLauncher

public SimulatorLauncher getLauncher()

getPriority

public int getPriority()

setOnlyCheckControl

public void setOnlyCheckControl(boolean onlyCheckControl)
Parameters:
onlyCheckControl - the onlyCheckControl to set

compareTo

public int compareTo(SimulationJob o)
L'ordre depend : - de la priorite - si le nom fini par un chiffre : - du nom avant le chiffre - du chiffre - sinon du nom

Specified by:
compareTo in interface java.lang.Comparable<SimulationJob>

run

public void run()
Fait la simulation. La simulation en elle meme est delegue au SimulatorLauncher. Le travail restant ici est le nettoyage, la gestion des erreurs ou l'iteration s'il sagit de plan d'analyse dependant.

Specified by:
run in interface java.lang.Runnable


Copyright © 1999-2010 CodeLutin. All Rights Reserved.