Class SimulationStorage


public class SimulationStorage extends DataStorage
Class permettant la gestion de la persistance d'une simulation. Created: 17 août 2005 03:48:50 CEST
Version:
$Revision$ Last update: $Date$ by : $Author$
Author:
Benjamin POUSSIN : poussin@codelutin.com
  • Field Details

  • Constructor Details

    • SimulationStorage

      protected SimulationStorage(File directory, String name, SimulationParameter parameter)
      Pour la lecture d'une simulation existante.
      Parameters:
      directory - repertoire de base du storage (inclu le nom de la sim)
      name - le nom de la simulation
      parameter - les paramètres de la simulation
  • Method Details

    • closeStorage

      public void closeStorage() throws org.nuiton.topia.TopiaException
      Overrides:
      closeStorage in class DataStorage
      Throws:
      org.nuiton.topia.TopiaException
    • getSimulationDirectory

      public static File getSimulationDirectory()
      Retourne le repertoire de base de stockage des simulations.
      Returns:
      simulation directory
    • getSimulationDirectory

      public static File getSimulationDirectory(String name)
      Retourne le repertoire de stockage d'une simulation portant le nom name.
      Parameters:
      name - le nom de la simulation dont on souhaite le repertoire
      Returns:
      simulation name directory
    • getSensitivityResultsDirectory

      public static File getSensitivityResultsDirectory()
      Retourne le repertoire de base de stockage des resutats des analyses de sensibilité.
      Returns:
      sensitivity result directory
    • getResultExportDirectory

      public static File getResultExportDirectory(File root)
      Retourne le repertoire de stockage des exports de resultat d'une simulation.
      Parameters:
      root - le repertoire de stockage de la simulation
      Returns:
      result export directory
    • getSimulationParametersFile

      public static File getSimulationParametersFile(File root)
      Retourne le fichier de stockage des parametres de la simulation.
      Parameters:
      root - le repertoire de stockage de la simulation
      Returns:
      parameter file
    • getSimulationInformationFile

      public static File getSimulationInformationFile(File root)
      Retourne le fichier de stockage des informations de la simulation.
      Parameters:
      root - le repertoire de stockage de la simulation
      Returns:
      information file
    • getObjective

      public Double getObjective() throws IOException
      Throws:
      IOException
    • setObjective

      public void setObjective(double d) throws IOException
      Throws:
      IOException
    • getSimulationResultXmlFile

      public static File getSimulationResultXmlFile(File root)
      Retourne le fichier de stockage des resultats sous format XML mexico de la simulation.
      Parameters:
      root - le repertoire de stockage de la simulation
      Returns:
      mexico xml file
    • getResultFile

      public static File getResultFile(File root)
      Retourne le fichier de stockage des resultats de la simulation.
      Parameters:
      root - le repertoire de stockage de la simulation
      Returns:
    • getResultDirectory

      public static File getResultDirectory(File root)
      Retourne le fichier de stockage des resultats de la simulation.
      Parameters:
      root - le repertoire de stockage de la simulation
      Returns:
    • getSimulationParametersFile

      protected File getSimulationParametersFile()
      Retourne le fichier de stockage des parametres de la simulation courante.
      Returns:
      parameter file
    • getMexicoDesignPlan

      public static File getMexicoDesignPlan(File root)
      Get Mexico XML design plan file.
      Parameters:
      root - le repertoire de stockage de la simulation
      Returns:
      a File even if file doesn't exist
    • getSimulationControlFile

      protected File getSimulationControlFile()
      Retourne le fichier de stockage du fichier de control de la simulation. Ce fichier conserve l'etat de la simulation, cela permet a un processus externe de connaitre l'etat d'une simulation distante.
      Returns:
      simulation control file
    • getSimulationControlFile

      public static File getSimulationControlFile(String id)
      Retourne le fichier de stockage du fichier de control de la simulation. Ce fichier conserve l'etat de la simulation, cela permet a un processus externe de connaitre l'etat d'une simulation distante.
      Returns:
      simulation control file
    • saveControl

      public void saveControl(SimulationControl control)
      Force la sauvegarde du fichier de control d'une simulation, ce fichier est sous la forme d'un fichier de proprietes
      Parameters:
      control - l'objet control de la simulation courante
    • readControl

      public static void readControl(String id, SimulationControl control, String... exclude)
      Relit le fichier contenant les infos de SimulationControl, en excluant certain champs.
      Parameters:
      id - l'identifiant de la simulation a lire
      control - le control a mettre a jour en fonction de ce qui est lu
      exclude - les champs a exclure
    • readControl

      public static void readControl(File controlFile, SimulationControl control, String... exclude)
      Reli le fichier contenant les infos de SimulationControl, en excluant certain champs.
      Parameters:
      controlFile - le fichier de control
      control - le control a mettre a jour en fonction de ce qui est lu
      exclude - les champs a exclure
    • setParameter

      public void setParameter(SimulationParameter parameter)
      Modifie les parametres de la simulation.
      Parameters:
      parameter - les nouveaux parametres
    • getParameter

      public SimulationParameter getParameter()
      Get parameter property.
      Returns:
      Parameter property.
    • getForceReloadParameter

      public SimulationParameter getForceReloadParameter()
      Permet de force la relecture des parametres et donc que les scripts soit charge dans le bon classloader
      Returns:
      les paramètres de la simulation après opération
    • getInformationFile

      protected File getInformationFile()
      Retourne le nom du fichier contenant les informations de simulation.
      Returns:
      information file
    • getObjectiveFile

      protected File getObjectiveFile()
      Retourne le nom du fichier contenant les informations de simulation.
      Returns:
      information file
    • getInformation

      public SimulationInformation getInformation()
      Get simulation informations.
      Returns:
      simulation information
    • getResultStorage

      public ResultStorage getResultStorage() throws StorageException
      Get simulation ResultDatabaseStorage.
      Returns:
      le ResultDatabaseStorage a utiliser pour cette simulation
      Throws:
      StorageException
    • exists

      public static boolean exists(String name)
      Indique si la simulation demandée existe ou non.
      Parameters:
      name - le nom de la simulation à tester
      Returns:
      true si la simulation existe déjà
    • localyExists

      public static boolean localyExists(String name)
      Indique si la simulation demandée existe ou non.
      Parameters:
      name - le nom de la simulation à tester
      Returns:
      true si la simulation existe déjà
    • getSimulation

      public static SimulationStorage getSimulation(String name)
      Retourne la simulation demandée.
      Parameters:
      name - name of the required simulation
      Returns:
      la simulation souhaitée ou null si la simulation n'existe pas
    • create

      public static SimulationStorage create(String name, SimulationParameter parameter) throws StorageException
      Permet de créer une nouvelle simulation si la simulation existe déjà une exception est levée.
      Parameters:
      name - le nom de la simulation
      parameter - Les parametres de la simulation
      Returns:
      la nouvelle simulation
      Throws:
      StorageException - si problème lors de la création du storage
      IllegalArgumentException - si le nom existe déjà en tant que simulation
    • getSimulationNames

      public static List<String> getSimulationNames()
      Retourne la liste des noms de toutes les régions disponible en local.
      Returns:
      la liste des noms de toutes les régions disponible en local
    • getNewSimulationNames

      public static List<String> getNewSimulationNames()
      Retourne la liste des noms de toutes les régions disponible en local qui ne sont pas encore sur le serveur VCS.
      Returns:
      liste de noms de simulations
    • getRemoteSimulationNames

      public static List<String> getRemoteSimulationNames()
      Retourne la liste des noms de toutes les régions disponible sur le serveur VCS.
      Returns:
      la liste des noms de toutes les régions disponible sur le serveur VCS. Si le serveur n'est pas disponible la liste retournée est vide.
    • getNewRemoteSimulationNames

      public static List<String> getNewRemoteSimulationNames()
      Retourne la liste des noms de toutes les régions disponible sur le serveur VCS qui ne sont pas encore en local.
      Returns:
      liste de noms de simulations
    • getFisheryRegion

      public static FisheryRegion getFisheryRegion(org.nuiton.topia.TopiaContext context) throws StorageException
      Retourne la FisheryRegion associee a cette simulation.
      Parameters:
      context - context
      Returns:
      simulation's FisheryRegion
      Throws:
      StorageException
    • checkout

      public static void checkout(String name) throws VCSException, org.nuiton.topia.TopiaException
      Checkout not existing Simulation localy from server
      Parameters:
      name - name of simulation to retrieve
      Throws:
      VCSException - si problème avec le VCS
      org.nuiton.topia.TopiaException - si problème lors de l'opération sur la base embarquée
    • rename

      public void rename(String toName) throws StorageException
      Description copied from class: DataStorage
      Renome juste le repertoire, s'il y a besoin de modifier des données dans le TopiaContext il faut surcharger cette methode. Il est surement necessaire de surcharger cette methode pour aussi modifier l'entre qu'il y a dans le cache.
      Overrides:
      rename in class DataStorage
      Parameters:
      toName - le nouveau nom
      Throws:
      StorageException - si problème lors du renommage
    • importZip

      public static SimulationStorage importZip(File file) throws IOException, org.nuiton.topia.TopiaException
      Import zipped simulation.
      Parameters:
      file - zipped region file
      Returns:
      region storage or null
      Throws:
      IOException - si problème IO lors de la lecture du zip
      org.nuiton.topia.TopiaException - si problème lors de la création du contexte
    • importAndRenameZip

      public static SimulationStorage importAndRenameZip(File file, String newName) throws IOException, org.nuiton.topia.TopiaException
      Import zipped simulation.
      Parameters:
      file - zipped region file
      newName - new name for the imported simulation
      Returns:
      region storage or null
      Throws:
      IOException - si problème IO lors de la lecture du zip
      org.nuiton.topia.TopiaException - si problème lors de la création du contexte
    • importAndRenameZip

      public static SimulationStorage importAndRenameZip(File directory, File file, String newName) throws IOException, org.nuiton.topia.TopiaException
      Import zipped simulation in specific directory, result is not put in cache.
      Parameters:
      directory - where we want new simulation storage
      file - zipped region file
      newName - new name for the imported simulation
      Returns:
      region storage or null
      Throws:
      IOException - si problème IO lors de la lecture du zip
      org.nuiton.topia.TopiaException - si problème lors de la création du contexte
    • extractRegion

      public void extractRegion(String regionName) throws StorageException
      Extract the region of a given simulation in a
      Parameters:
      regionName - the name of the region to export
      Throws:
      StorageException - if any problem while operation
    • getSimulationLogFile

      public String getSimulationLogFile()
      Returns:
      the simulation log file
    • createZip

      public File createZip(File file) throws IOException
      Description copied from class: DataStorage
      Cree un zip. Le zip contient les memes fichiers lorsqu'on utilise le CVS.
      Overrides:
      createZip in class DataStorage
      Parameters:
      file - le fichier dans lequel l'export doit se faire
      Returns:
      l'argument file
      Throws:
      IOException - si problème lors de la création du zip
    • isVersionnableFile

      protected boolean isVersionnableFile(File file)
      Description copied from class: VersionStorage
      Permet de savoir si un fichier doit etre géré par le vcs ou non. L'implantation par defaut exclus les répertoires VCS, il faut toujours appeler le super si on surcharge la methode.
      Overrides:
      isVersionnableFile in class DataStorage
      Parameters:
      file - le fichier a tester
      Returns:
      true si le fichier est versionné
    • createReferenceZip

      public void createReferenceZip(File file) throws IOException
      Export un zip contenant les données de réference avec:
      • toutes les simulations en cas de plan
      • les données R, Rdata
      • les export de sensibilité
      Parameters:
      file - out zip file
      Throws:
      IOException