Package fr.ifremer.isisfish.datastore
Class SimulationStorage
java.lang.Object
fr.ifremer.isisfish.datastore.VersionStorage
fr.ifremer.isisfish.datastore.DataStorage
fr.ifremer.isisfish.datastore.SimulationStorage
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 Summary
Modifier and TypeFieldDescriptionstatic final String
static final String
protected SimulationInformation
some free information, that user can add during simulationstatic final String
static String
represent the category used for logging in simulationprotected Double
objective value used as cache to prevent disk accessstatic final String
protected SimulationParameter
static final String
static final String
static final String
static final String
static final String
protected ResultStorage
static final String
static final String
protected File
protected static Map<String,
SimulationStorage> Cache des simulation storage.protected boolean
flag to says if simulation is actually using a simulation loggerFields inherited from class fr.ifremer.isisfish.datastore.DataStorage
DATA_BACKUP_FILENAME, memstorage, name, storage
Fields inherited from class fr.ifremer.isisfish.datastore.VersionStorage
file, root
-
Constructor Summary
ModifierConstructorDescriptionprotected
SimulationStorage
(File directory, String name, SimulationParameter parameter) Pour la lecture d'une simulation existante. -
Method Summary
Modifier and TypeMethodDescriptionstatic void
Checkout not existing Simulation localy from servervoid
static SimulationStorage
create
(String name, SimulationParameter parameter) Permet de créer une nouvelle simulation si la simulation existe déjà une exception est levée.void
createReferenceZip
(File file) 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éCree un zip.static boolean
Indique si la simulation demandée existe ou non.void
extractRegion
(String regionName) Extract the region of a given simulation in astatic FisheryRegion
getFisheryRegion
(org.nuiton.topia.TopiaContext context) Retourne laFisheryRegion
associee a cette simulation.Permet de force la relecture des parametres et donc que les scripts soit charge dans le bon classloaderGet simulation informations.protected File
Retourne le nom du fichier contenant les informations de simulation.static File
getMexicoDesignPlan
(File root) Get Mexico XML design plan file.Retourne la liste des noms de toutes les régions disponible sur le serveur VCS qui ne sont pas encore en local.Retourne la liste des noms de toutes les régions disponible en local qui ne sont pas encore sur le serveur VCS.protected File
Retourne le nom du fichier contenant les informations de simulation.Get parameter property.Retourne la liste des noms de toutes les régions disponible sur le serveur VCS.static File
getResultDirectory
(File root) Retourne le fichier de stockage des resultats de la simulation.static File
getResultExportDirectory
(File root) Retourne le repertoire de stockage des exports de resultat d'une simulation.static File
getResultFile
(File root) Retourne le fichier de stockage des resultats de la simulation.Get simulationResultDatabaseStorage
.static File
Retourne le repertoire de base de stockage des resutats des analyses de sensibilité.static SimulationStorage
getSimulation
(String name) Retourne la simulation demandée.protected File
Retourne le fichier de stockage du fichier de control de la simulation.static File
Retourne le fichier de stockage du fichier de control de la simulation.static File
Retourne le repertoire de base de stockage des simulations.static File
getSimulationDirectory
(String name) Retourne le repertoire de stockage d'une simulation portant le nom name.static File
Retourne le fichier de stockage des informations de la simulation.Retourne la liste des noms de toutes les régions disponible en local.protected File
Retourne le fichier de stockage des parametres de la simulation courante.static File
Retourne le fichier de stockage des parametres de la simulation.static File
Retourne le fichier de stockage des resultats sous format XML mexico de la simulation.static SimulationStorage
importAndRenameZip
(File directory, File file, String newName) Import zipped simulation in specific directory, result is not put in cache.static SimulationStorage
importAndRenameZip
(File file, String newName) Import zipped simulation.static SimulationStorage
Import zipped simulation.protected boolean
isVersionnableFile
(File file) Permet de savoir si un fichier doit etre géré par le vcs ou non.static boolean
localyExists
(String name) Indique si la simulation demandée existe ou non.static void
readControl
(File controlFile, SimulationControl control, String... exclude) Reli le fichier contenant les infos de SimulationControl, en excluant certain champs.static void
readControl
(String id, SimulationControl control, String... exclude) Relit le fichier contenant les infos de SimulationControl, en excluant certain champs.void
Renome juste le repertoire, s'il y a besoin de modifier des données dans le TopiaContext il faut surcharger cette methode.void
saveControl
(SimulationControl control) Force la sauvegarde du fichier de control d'une simulation, ce fichier est sous la forme d'un fichier de proprietesvoid
setObjective
(double d) void
setParameter
(SimulationParameter parameter) Modifie les parametres de la simulation.Methods inherited from class fr.ifremer.isisfish.datastore.DataStorage
closeMemStorage, copy, createZip, createZip, delete, finalize, getDataBackupFile, getDirectory, getMemStorage, getName, getStorage, getStorageDirectory, prepare
Methods inherited from class fr.ifremer.isisfish.datastore.VersionStorage
add, checkout, commit, diff, getCommunityDatabaseDirectory, getCommunityVCS, getContextDatabaseDirectory, getCurrentVCS, getCurrentVCS, getFile, getFiles, getFiles, getRemoteStorageNames, getRoot, getStorageNames, getVCS, isOnRemote, isUpToDate, registerWatcher, update
-
Field Details
-
SIMULATION_PATH
- See Also:
-
INFORMATION_FILENAME
- See Also:
-
OBJECTIVE_FILENAME
- See Also:
-
CONTROL_FILENAME
- See Also:
-
PARAMETERS_FILENAME
- See Also:
-
RESULT_XML_FILENAME
- See Also:
-
RESULT_FILENAME
- See Also:
-
RESULT_DIRECTORY
- See Also:
-
RESULT_EXPORT_DIRECTORY
- See Also:
-
DESIGN_PLAN_FILENAME
- See Also:
-
SENSITIVITY_RESULTS
- See Also:
-
simulations
Cache des simulation storage. -
information
some free information, that user can add during simulation -
parameter
-
resultStorage
-
LOG_CATEGORY
represent the category used for logging in simulation -
useLog
protected boolean useLogflag to says if simulation is actually using a simulation logger -
simulationControlFile
-
objective
objective value used as cache to prevent disk access
-
-
Constructor Details
-
SimulationStorage
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 simulationparameter
- les paramètres de la simulation
-
-
Method Details
-
closeStorage
public void closeStorage() throws org.nuiton.topia.TopiaException- Overrides:
closeStorage
in classDataStorage
- Throws:
org.nuiton.topia.TopiaException
-
getSimulationDirectory
Retourne le repertoire de base de stockage des simulations.- Returns:
- simulation directory
-
getSimulationDirectory
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
Retourne le repertoire de base de stockage des resutats des analyses de sensibilité.- Returns:
- sensitivity result directory
-
getResultExportDirectory
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
Retourne le fichier de stockage des parametres de la simulation.- Parameters:
root
- le repertoire de stockage de la simulation- Returns:
- parameter file
-
getSimulationInformationFile
Retourne le fichier de stockage des informations de la simulation.- Parameters:
root
- le repertoire de stockage de la simulation- Returns:
- information file
-
getObjective
- Throws:
IOException
-
setObjective
- Throws:
IOException
-
getSimulationResultXmlFile
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
Retourne le fichier de stockage des resultats de la simulation.- Parameters:
root
- le repertoire de stockage de la simulation- Returns:
-
getResultDirectory
Retourne le fichier de stockage des resultats de la simulation.- Parameters:
root
- le repertoire de stockage de la simulation- Returns:
-
getSimulationParametersFile
Retourne le fichier de stockage des parametres de la simulation courante.- Returns:
- parameter file
-
getMexicoDesignPlan
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
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
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
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
Relit le fichier contenant les infos de SimulationControl, en excluant certain champs.- Parameters:
id
- l'identifiant de la simulation a lirecontrol
- le control a mettre a jour en fonction de ce qui est luexclude
- les champs a exclure
-
readControl
Reli le fichier contenant les infos de SimulationControl, en excluant certain champs.- Parameters:
controlFile
- le fichier de controlcontrol
- le control a mettre a jour en fonction de ce qui est luexclude
- les champs a exclure
-
setParameter
Modifie les parametres de la simulation.- Parameters:
parameter
- les nouveaux parametres
-
getParameter
Get parameter property.- Returns:
- Parameter property.
-
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
Retourne le nom du fichier contenant les informations de simulation.- Returns:
- information file
-
getObjectiveFile
Retourne le nom du fichier contenant les informations de simulation.- Returns:
- information file
-
getInformation
Get simulation informations.- Returns:
- simulation information
-
getResultStorage
Get simulationResultDatabaseStorage
.- Returns:
- le
ResultDatabaseStorage
a utiliser pour cette simulation - Throws:
StorageException
-
exists
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
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
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 simulationparameter
- Les parametres de la simulation- Returns:
- la nouvelle simulation
- Throws:
StorageException
- si problème lors de la création du storageIllegalArgumentException
- si le nom existe déjà en tant que simulation
-
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
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
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
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 laFisheryRegion
associee a cette simulation.- Parameters:
context
- context- Returns:
- simulation's
FisheryRegion
- Throws:
StorageException
-
checkout
Checkout not existing Simulation localy from server- Parameters:
name
- name of simulation to retrieve- Throws:
VCSException
- si problème avec le VCSorg.nuiton.topia.TopiaException
- si problème lors de l'opération sur la base embarquée
-
rename
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 classDataStorage
- 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 ziporg.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 filenewName
- new name for the imported simulation- Returns:
- region storage or null
- Throws:
IOException
- si problème IO lors de la lecture du ziporg.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 storagefile
- zipped region filenewName
- new name for the imported simulation- Returns:
- region storage or null
- Throws:
IOException
- si problème IO lors de la lecture du ziporg.nuiton.topia.TopiaException
- si problème lors de la création du contexte
-
extractRegion
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
- Returns:
- the simulation log file
-
createZip
Description copied from class:DataStorage
Cree un zip. Le zip contient les memes fichiers lorsqu'on utilise le CVS.- Overrides:
createZip
in classDataStorage
- 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
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 classDataStorage
- Parameters:
file
- le fichier a tester- Returns:
true
si le fichier est versionné
-
createReferenceZip
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
-