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 String PARAM_PREFIX
          Prefix des paramètres de la classe.
static String SENSITIVITY_PATH
          Emplacement de stockage des fichiers de sensibilité
protected static Map<String,SensitivityStorage> sensitivityCache
          Cache.
static 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(File rootSrc, File directory, 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).
 String getDescription()
          Be ware this method require to instanciate a AnalysePlan, so it would be better to call as often as possible.
 Doc getFieldDoc(String fieldName)
          Field documentation (if any).
static List<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 List<String> getNewSensitivityNames()
          Retourne la liste des noms de tous les calculateurs disponibles en local qui ne sont pas encore sur le serveur VCS.
static String getParamAsString(SensitivityCalculator calculator)
          Recupere les paramètres et leur valeur pour les retourner sous forme de chaine.
 Doc getParamDoc(String paramName)
           
 Map<String,Class<?>> getParameterNames()
          Permet de recuperer les parametres du calculateur.
static Map<String,Class<?>> getParameterNames(SensitivityCalculator calculator)
          Recherche par introspection tous les parametres de la classe commencant par PARAM_PREFIX.
static Object getParameterValue(SensitivityCalculator calculator, String name)
          Donne la valeur d'un parametre par introspection.
static List<String> getRemoteSensitivityNames()
          Retourne la liste des noms de tous les calculateurs disponibles sur le serveur VCS
static SensitivityStorage getSensitivity(String name)
          Retourne le storage pour le calculateur demandé.
static File getSensitivityDirectory()
          Get sensitivity storage directory.
static List<String> getSensitivityNames()
          Retourne le nom de tous les calculateurs de sensibilité existant.
static void setParameterValue(SensitivityCalculator calculator, String name, 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 String SENSITIVITY_PATH
Emplacement de stockage des fichiers de sensibilité

See Also:
Constant Field Values

SENSIVITY_TEMPLATE

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

See Also:
Constant Field Values

PARAM_PREFIX

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

See Also:
Constant Field Values

sensitivityCache

protected static Map<String,SensitivityStorage> sensitivityCache
Cache.

Constructor Detail

SensitivityStorage

protected SensitivityStorage(File rootSrc,
                             File directory,
                             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 File getSensitivityDirectory()
Get sensitivity storage directory. Create directory if not exists.

Returns:
sensitivity storage directory

getSensitivityNames

public static List<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(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 Map<String,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 Map<String,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 Object getParameterValue(SensitivityCalculator calculator,
                                       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,
                                     String name,
                                     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 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 List<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 List<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 List<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(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(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 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.