fr.ifremer.isisfish.datastore
Class SensitivityStorage

java.lang.Object
  extended by fr.ifremer.isisfish.datastore.VersionStorage
      extended by fr.ifremer.isisfish.datastore.CodeSourceStorage
          extended by fr.ifremer.isisfish.datastore.JavaSourceStorage
              extended by fr.ifremer.isisfish.datastore.SensitivityStorage
All Implemented Interfaces:
Docable

public class SensitivityStorage
extends JavaSourceStorage
implements Docable

Cette class permet de stocker les fichiers de calculateur de sensibilité.

Gere les fichiers VCS de type SensitivityCalculator (package sensitivity). Created: 17 août 2005 11:11:51 CEST

Version:
$Revision: 2938 $ Last update: $Date: 2010-01-22 16:42:09 +0100 (ven., 22 janv. 2010) $ by : $Author: chatellier $
Author:
chatellier

Field Summary
protected static java.lang.String PARAM_PREFIX
          Prefix des paramètres de la classe.
static java.lang.String SENSITIVITY_PATH
          Emplacement de stockage des fichiers de sensibilité
protected static java.util.Map<java.lang.String,SensitivityStorage> sensitivityCache
          Cache.
static java.lang.String SENSIVITY_TEMPLATE
          Template freemarker pour les scripts de sensibilité.
 
Fields inherited from class fr.ifremer.isisfish.datastore.CodeSourceStorage
content, lastContentLength, lastContentUpdate, name
 
Fields inherited from class fr.ifremer.isisfish.datastore.VersionStorage
changeListeners, file, root
 
Constructor Summary
protected SensitivityStorage(java.io.File rootSrc, java.io.File directory, java.lang.String name)
          Build new SensitivityStorage.
 
Method Summary
static void checkout()
          Effectue un chekout VCS sur le répertoire des calculateurs.
 Doc getClassDoc()
          Class documentation (if any).
 java.lang.String getDescription()
          Be ware this method require to instanciate a AnalysePlan, so it would be better to call as often as possible.
 Doc getFieldDoc(java.lang.String fieldName)
          Field documentation (if any).
static java.util.List<java.lang.String> getNewRemoteSensitivityNames()
          Retourne la liste des noms de tous les calculateurs disponibles sur le serveur VCS qui ne sont pas encore en local.
 SensitivityCalculator getNewSensitivityInstance()
          Retourne une nouvelle instance du calculateur.
static java.util.List<java.lang.String> getNewSensitivityNames()
          Retourne la liste des noms de tous les calculateurs disponibles en local qui ne sont pas encore sur le serveur VCS.
static java.lang.String getParamAsString(SensitivityCalculator calculator)
          Recupere les paramètres et leur valeur pour les retourner sous forme de chaine.
 Doc getParamDoc(java.lang.String paramName)
           
 java.util.Map<java.lang.String,java.lang.Class<?>> getParameterNames()
          Permet de recuperer les parametres du calculateur.
static java.util.Map<java.lang.String,java.lang.Class<?>> getParameterNames(SensitivityCalculator calculator)
          Recherche par introspection tous les parametres de la classe commencant par PARAM_PREFIX.
static java.lang.Object getParameterValue(SensitivityCalculator calculator, java.lang.String name)
          Donne la valeur d'un parametre par introspection.
static java.util.List<java.lang.String> getRemoteSensitivityNames()
          Retourne la liste des noms de tous les calculateurs disponibles sur le serveur VCS
static SensitivityStorage getSensitivity(java.lang.String name)
          Retourne le storage pour le calculateur demandé.
static java.io.File getSensitivityDirectory()
          Get sensitivity storage directory.
static java.util.List<java.lang.String> getSensitivityNames()
          Retourne le nom de tous les calculateurs de sensibilité existant.
static void setParameterValue(SensitivityCalculator calculator, java.lang.String name, java.lang.Object value)
          Modifie la valeur d'un attribut pas introspection.
 
Methods inherited from class fr.ifremer.isisfish.datastore.JavaSourceStorage
compile, doJavadoc, getCodeClass, getFQN, getName, getNewInstance, getParameterDoc
 
Methods inherited from class fr.ifremer.isisfish.datastore.CodeSourceStorage
diff, exists, getContent, getFiles, getName, prepare, reload, setContent
 
Methods inherited from class fr.ifremer.isisfish.datastore.VersionStorage
add, addStorageChangeListener, checkout, commit, delete, fireDataChanged, getContextDatabaseCacheKey, getContextDatabaseDirectory, getFile, getFiles, getRemoteStorageNames, getRoot, getStorageNames, getVCS, isOnRemote, isUpToDate, isVersionnableFile, removeStorageChangeListener, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SENSITIVITY_PATH

public static final java.lang.String SENSITIVITY_PATH
Emplacement de stockage des fichiers de sensibilité

See Also:
Constant Field Values

SENSIVITY_TEMPLATE

public static final java.lang.String SENSIVITY_TEMPLATE
Template freemarker pour les scripts de sensibilité.

See Also:
Constant Field Values

PARAM_PREFIX

protected static final java.lang.String PARAM_PREFIX
Prefix des paramètres de la classe. ex : public int param_count;

See Also:
Constant Field Values

sensitivityCache

protected static java.util.Map<java.lang.String,SensitivityStorage> sensitivityCache
Cache.

Constructor Detail

SensitivityStorage

protected SensitivityStorage(java.io.File rootSrc,
                             java.io.File directory,
                             java.lang.String name)
Build new SensitivityStorage.

Parameters:
rootSrc - repertoire root de stockage des calculateurs de sensibilité.
directory - le repertoire ou devrait se trouver le calculateur de sensibilité
name - le nom du calculateur de sensibilité
Method Detail

getSensitivityDirectory

public static java.io.File getSensitivityDirectory()
Get sensitivity storage directory. Create directory if not exists.

Returns:
sensitivity storage directory

getSensitivityNames

public static java.util.List<java.lang.String> getSensitivityNames()
Retourne le nom de tous les calculateurs de sensibilité existant.

Returns:
le nom de tous les calculateurs de sensibilité existans en local

getSensitivity

public static SensitivityStorage getSensitivity(java.lang.String name)
Retourne le storage pour le calculateur demandé.

Parameters:
name - le nom du calculateur souhaité
Returns:
Le SensitivityStorage pour le calculateur

getNewSensitivityInstance

public SensitivityCalculator getNewSensitivityInstance()
                                                throws IsisFishException
Retourne une nouvelle instance du calculateur. Compile le fichier si besoin

Returns:
retourne une nouvelle instance du calculateur
Throws:
IsisFishException - s'il y a un problème d'instanciation

getParameterNames

public java.util.Map<java.lang.String,java.lang.Class<?>> getParameterNames()
                                                                     throws IsisFishException
Permet de recuperer les parametres du calculateur.

Returns:
Une map contenant le nom du parametre et son type
Throws:
IsisFishException - s'il est impossible de retourner une map convenable

getParameterNames

public static java.util.Map<java.lang.String,java.lang.Class<?>> getParameterNames(SensitivityCalculator calculator)
Recherche par introspection tous les parametres de la classe commencant par PARAM_PREFIX.

Parameters:
calculator - le calculateur dont on souhaite les infos de parametre
Returns:
retourne le nom et le type des parametres du calculateur

getParameterValue

public static java.lang.Object getParameterValue(SensitivityCalculator calculator,
                                                 java.lang.String name)
                                          throws IsisFishException
Donne la valeur d'un parametre par introspection.

Parameters:
name - le nom du parametre
calculator - le calculateur dont on souhaite la valeur du parametre
Returns:
la valeur courante du parametre
Throws:
IsisFishException - s'il y a un probleme pour recuperer la valeur

setParameterValue

public static void setParameterValue(SensitivityCalculator calculator,
                                     java.lang.String name,
                                     java.lang.Object value)
                              throws IsisFishException
Modifie la valeur d'un attribut pas introspection.

Parameters:
name - le nom de l'attribut
value - la valeur de l'attribut
calculator - le calculator dont on souhaite modifier la valeur de parametre
Throws:
IsisFishException - s'il y a un probleme

getParamAsString

public static java.lang.String getParamAsString(SensitivityCalculator calculator)
                                         throws IsisFishException
Recupere les paramètres et leur valeur pour les retourner sous forme de chaine. Pour pouvoir par exemple les afficher à l'utilisateur.

Parameters:
calculator - le calculateur dont on souhaite la valeur du parametre en string
Returns:
la valeur sous forme de string
Throws:
IsisFishException

checkout

public static void checkout()
                     throws VCSException
Effectue un chekout VCS sur le répertoire des calculateurs.

Throws:
VCSException - if an error occurs during checkout
See Also:
VersionStorage.checkout(File, String), SENSITIVITY_PATH

getNewSensitivityNames

public static java.util.List<java.lang.String> getNewSensitivityNames()
Retourne la liste des noms de tous les calculateurs disponibles en local qui ne sont pas encore sur le serveur VCS.

Returns:
liste de noms de calculateurs

getRemoteSensitivityNames

public static java.util.List<java.lang.String> getRemoteSensitivityNames()
Retourne la liste des noms de tous les calculateurs disponibles sur le serveur VCS

Returns:
la liste des noms de tous les calculateurs disponibles sur le serveur VCS. Si le serveur n'est pas disponible la liste retournée est vide.

getNewRemoteSensitivityNames

public static java.util.List<java.lang.String> getNewRemoteSensitivityNames()
                                                                     throws VCSException
Retourne la liste des noms de tous les calculateurs disponibles sur le serveur VCS qui ne sont pas encore en local.

Returns:
liste de noms de regions
Throws:
VCSException

getClassDoc

public Doc getClassDoc()
Description copied from interface: Docable
Class documentation (if any).

Specified by:
getClassDoc in interface Docable
Returns:
the @Doc of the underlied SensitivityCalculator class
See Also:
DocHelper, Doc, Docable

getFieldDoc

public Doc getFieldDoc(java.lang.String fieldName)
Description copied from interface: Docable
Field documentation (if any).

Specified by:
getFieldDoc in interface Docable
Parameters:
fieldName - name of the field to inspect
Returns:
the @Doc of the given field of the underlied SensitivityCalculator class
See Also:
DocHelper, Doc, Docable

getParamDoc

public Doc getParamDoc(java.lang.String paramName)
Parameters:
paramName - the name of the param to inspect
Returns:
the doc associated with the param, (says the field PARAM_PREFIX + fieldName)

getDescription

public java.lang.String getDescription()
Be ware this method require to instanciate a AnalysePlan, so it would be better to call as often as possible.

Specified by:
getDescription in interface Docable
Returns:
the descript of the instanciate AnalysePlan
See Also:
Doc, Docable


Copyright © 1999-2010 CodeLutin. All Rights Reserved.