fr.ifremer.isisfish.simulator
Class SimulationParameterCache

java.lang.Object
  extended by fr.ifremer.isisfish.simulator.SimulationParameterCache
All Implemented Interfaces:
SimulationParameter

public class SimulationParameterCache
extends Object
implements SimulationParameter

SimulationParameter soft reference implementation. Store simulation file on disk, and a soft reference of delegate real SimulationParameter. If soft reference has been cleared by garbage collector, reload it from disk. Warning, use only this class for parameter reading. Using setters cause parameters to be written on disk. Use with caution.

Version:
$Revision: 3124 $ Last update : $Date: 2010-11-29 19:14:09 +0100 (lun., 29 nov. 2010) $ By : $Author: chatellier $
Author:
chatellier

Field Summary
protected  File paramFile
          Parameter file (disk storage).
protected  SoftReference<SimulationParameter> ref
          Parameter memory reference.
 
Constructor Summary
SimulationParameterCache(SimulationParameter param)
           
 
Method Summary
 void addAnalysePlan(AnalysePlan plan)
          Add new analyse plan.
 void addExtraRules(String... extraRules)
          Add extra rules.
 void addRule(Rule rule)
          Add new rule to rules list.
 List<String> check()
          Permet de verifier que tous les parametres sont bon.
 void clearPlans()
          Clear plan list.
 void clearRules()
          Clear rule list.
 SimulationParameter copy()
          A copy instance of SimulationParameter.
 SimulationParameter deepCopy()
          Make a deep copy of current parameters.
 void fromProperties(Properties props)
          Load properties from file.
 int getAnalysePlanNumber()
          Get simulation number in analyse plan.
 List<AnalysePlan> getAnalysePlans()
          Get instantiated analyse plan list.
 String getDescription()
          Get description property.
 List<String> getExportNames()
          Get export names list.
 List<String> getExtraRules()
          Get extra rules list.
 String getIsisFishVersion()
          Get isis fish version for the simulation.
 String getLibLogLevel()
          Get librairies log level.
 org.nuiton.math.matrix.MatrixND getNumberOf(Population pop)
           
 int getNumberOfSensitivitySimulation()
          Get number of sensitivity simulation.
 int getNumberOfYear()
          Get number of year to run to simulate.
protected  SimulationParameter getParam()
           
 List<Population> getPopulations()
          Get instantiated population list.
 String getPreScript()
          Get prescript content.
 RegionStorage getRegion()
          Load region corresponding to SimulationParameter.getRegionName().
 String getRegionName()
          Get region name.
 Collection<String> getResultEnabled()
          Get enabled result names list.
 List<Rule> getRules()
          Get parameters rules list.
 String getScriptLogLevel()
          Get script log level.
 SensitivityCalculator getSensitivityCalculator()
          Get instanciated sensitivity calculator.
 List<SensitivityExport> getSensitivityExport()
          Return loaded sensitivity export.
 String getSimulatorName()
          Set simulator name.
 String getSimulLogLevel()
          Get simulator log level.
 List<Strategy> getStrategies()
          Get instantiated strategies list.
 Map<String,String> getTagValue()
          Get tag values.
 boolean getUseAnalysePlan()
          Get use analyse plans property.
 boolean getUseOptimization()
          Return if optimization sould be used.
 boolean getUsePreScript()
          Get use prescript.
 boolean getUseStatistic()
          Return if statistic sould be used.
 boolean isIndependentPlan()
          Retrun true if simulation is composed of independant plan only.
 boolean isLibDebugLevel()
           
 boolean isLibErrorLevel()
           
 boolean isLibInfoLevel()
           
 boolean isLibWarnLevel()
           
 boolean isScriptDebugLevel()
           
 boolean isScriptErrorLevel()
           
 boolean isScriptInfoLevel()
           
 boolean isScriptWarnLevel()
           
 boolean isSimulDebugLevel()
           
 boolean isSimulErrorLevel()
           
 boolean isSimulInfoLevel()
           
 boolean isSimulWarnLevel()
           
 void reloadContextParameters()
          Reload parameters du to context change.
 boolean removeAnalysePlan(AnalysePlan plan)
          Remove a plan.
 boolean removeRule(Rule rule)
          Remove a rule.
 void setAnalysePlanNumber(int analysePlanNumber)
          Set simulation number in analyse plan.
 void setAnalysePlans(List<AnalysePlan> plans)
          Set plans list.
 void setDescription(String description)
          Set simulation description.
 void setExportNames(List<String> exportNames)
          Set export names list.
 void setIsisFishVersion(String isisFishVersion)
          Set isis fish Version.
 void setLibLogLevel(String logLevel)
          Set lib log level.
 void setNumberOfSensitivitySimulation(int numberOfSensitivitySimulation)
          Set number of sensitivity simulation.
 void setNumberOfYear(int numberOfYear)
          Set number of year to run to simulate.
 void setPopulations(List<Population> populations)
           
 void setPreScript(String preScript)
          Set pre script content.
 void setRegionName(String regionName)
          Set region name.
 void setResultEnabled(Collection<String> resultEnabled)
          Set enabled result names list.
 void setRules(List<Rule> rules)
          Set simulation rules.
 void setScriptLogLevel(String logLevel)
          Set script log level.
 void setSensitivityCalculator(SensitivityCalculator sensitivityCalculator)
           
 void setSensitivityExport(List<SensitivityExport> sensitivityExport)
           
 void setSimulatorName(String simulatorName)
          Set simulator name.
 void setSimulLogLevel(String logLevel)
          Set simulator log level.
 void setStrategies(List<Strategy> strategies)
          Set strategies list.
 void setTagValue(Map<String,String> tagValue)
          Set tag values.
 void setUseAnalysePlan(boolean useAnalysePlan)
          Set use analyse plans property.
 void setUseOptimization(boolean useOptimization)
          Change use optimization parameter.
 void setUsePreScript(boolean usePreScript)
          Set use prescript property
 void setUseStatistic(boolean useStatistic)
          Change use statistic property.
protected  void store(SimulationParameter param)
           
 Properties toProperties()
          Permet de convertir l'objet SimulationParameter en un objet Properties Cela permet de le stocker facilement sur le disque.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface fr.ifremer.isisfish.simulator.SimulationParameter
toString
 

Field Detail

paramFile

protected File paramFile
Parameter file (disk storage).


ref

protected SoftReference<SimulationParameter> ref
Parameter memory reference.

Constructor Detail

SimulationParameterCache

public SimulationParameterCache(SimulationParameter param)
Parameters:
param - param to cache
Method Detail

store

protected void store(SimulationParameter param)

getParam

protected SimulationParameter getParam()

check

public List<String> check()
Description copied from interface: SimulationParameter
Permet de verifier que tous les parametres sont bon. Si ce n'est pas le cas la liste retournée contient la liste des messages d'erreur.

Specified by:
check in interface SimulationParameter
Returns:
la liste d'erreur

getIsisFishVersion

public String getIsisFishVersion()
Description copied from interface: SimulationParameter
Get isis fish version for the simulation. Default value to : IsisConfig.getVersion().

Specified by:
getIsisFishVersion in interface SimulationParameter
Returns:
the isisFishVersion.

setIsisFishVersion

public void setIsisFishVersion(String isisFishVersion)
Description copied from interface: SimulationParameter
Set isis fish Version.

Specified by:
setIsisFishVersion in interface SimulationParameter
Parameters:
isisFishVersion - The isisFishVersion to set.

getDescription

public String getDescription()
Description copied from interface: SimulationParameter
Get description property. Default value to : "".

Specified by:
getDescription in interface SimulationParameter
Returns:
Description property.

setDescription

public void setDescription(String description)
Description copied from interface: SimulationParameter
Set simulation description.

Specified by:
setDescription in interface SimulationParameter
Parameters:
description - the description to set.

getRegion

public RegionStorage getRegion()
Description copied from interface: SimulationParameter
Load region corresponding to SimulationParameter.getRegionName().

Specified by:
getRegion in interface SimulationParameter
Returns:
the region

getNumberOf

public org.nuiton.math.matrix.MatrixND getNumberOf(Population pop)
Specified by:
getNumberOf in interface SimulationParameter

getExtraRules

public List<String> getExtraRules()
Description copied from interface: SimulationParameter
Get extra rules list.

Specified by:
getExtraRules in interface SimulationParameter
Returns:
Returns the extraRules.

addExtraRules

public void addExtraRules(String... extraRules)
Description copied from interface: SimulationParameter
Add extra rules. Appelé par les plan d'analyse, pour ajouter des regles supplémentaires dans être integrés au zip.

Specified by:
addExtraRules in interface SimulationParameter
Parameters:
extraRules - extra rules to add

getPopulations

public List<Population> getPopulations()
Description copied from interface: SimulationParameter
Get instantiated population list.

Specified by:
getPopulations in interface SimulationParameter
Returns:
Returns the populations.

setPopulations

public void setPopulations(List<Population> populations)
Specified by:
setPopulations in interface SimulationParameter
Parameters:
populations - The populations to set.

getStrategies

public List<Strategy> getStrategies()
Description copied from interface: SimulationParameter
Get instantiated strategies list. Defaut to : empty array list

Specified by:
getStrategies in interface SimulationParameter
Returns:
Returns the strategies.

setStrategies

public void setStrategies(List<Strategy> strategies)
Description copied from interface: SimulationParameter
Set strategies list.

Specified by:
setStrategies in interface SimulationParameter
Parameters:
strategies - strategies list to set

addAnalysePlan

public void addAnalysePlan(AnalysePlan plan)
Description copied from interface: SimulationParameter
Add new analyse plan.

Specified by:
addAnalysePlan in interface SimulationParameter
Parameters:
plan - analyse plan to add

removeAnalysePlan

public boolean removeAnalysePlan(AnalysePlan plan)
Description copied from interface: SimulationParameter
Remove a plan.

Specified by:
removeAnalysePlan in interface SimulationParameter
Returns:
true if this list contained the specified element

getAnalysePlans

public List<AnalysePlan> getAnalysePlans()
Description copied from interface: SimulationParameter
Get instantiated analyse plan list. Default to empty list.

Specified by:
getAnalysePlans in interface SimulationParameter
Returns:
Returns the plans.

setAnalysePlans

public void setAnalysePlans(List<AnalysePlan> plans)
Description copied from interface: SimulationParameter
Set plans list.

Specified by:
setAnalysePlans in interface SimulationParameter
Parameters:
plans - plans to set

isIndependentPlan

public boolean isIndependentPlan()
Description copied from interface: SimulationParameter
Retrun true if simulation is composed of independant plan only.

Specified by:
isIndependentPlan in interface SimulationParameter
Returns:
true if all AnalysePlan are AnalysePlanIndependent

clearPlans

public void clearPlans()
Description copied from interface: SimulationParameter
Clear plan list.

Specified by:
clearPlans in interface SimulationParameter

addRule

public void addRule(Rule rule)
Description copied from interface: SimulationParameter
Add new rule to rules list.

Specified by:
addRule in interface SimulationParameter
Parameters:
rule - rule to add

removeRule

public boolean removeRule(Rule rule)
Description copied from interface: SimulationParameter
Remove a rule.

Specified by:
removeRule in interface SimulationParameter
Parameters:
rule - rule to remove
Returns:
true if this list contained the specified element

getRules

public List<Rule> getRules()
Description copied from interface: SimulationParameter
Get parameters rules list.

Specified by:
getRules in interface SimulationParameter
Returns:
the rules

setRules

public void setRules(List<Rule> rules)
Description copied from interface: SimulationParameter
Set simulation rules.

Specified by:
setRules in interface SimulationParameter
Parameters:
rules - rules to set

clearRules

public void clearRules()
Description copied from interface: SimulationParameter
Clear rule list.

Specified by:
clearRules in interface SimulationParameter

getUseOptimization

public boolean getUseOptimization()
Description copied from interface: SimulationParameter
Return if optimization sould be used. Default to : true.

Specified by:
getUseOptimization in interface SimulationParameter
Returns:
use optimization

setUseOptimization

public void setUseOptimization(boolean useOptimization)
Description copied from interface: SimulationParameter
Change use optimization parameter.

Specified by:
setUseOptimization in interface SimulationParameter
Parameters:
useOptimization - use optimization to set

getUseStatistic

public boolean getUseStatistic()
Description copied from interface: SimulationParameter
Return if statistic sould be used. Default to false;

Specified by:
getUseStatistic in interface SimulationParameter
Returns:
use statistic

setUseStatistic

public void setUseStatistic(boolean useStatistic)
Description copied from interface: SimulationParameter
Change use statistic property.

Specified by:
setUseStatistic in interface SimulationParameter
Parameters:
useStatistic - use statistic to set

getExportNames

public List<String> getExportNames()
Description copied from interface: SimulationParameter
Get export names list.

Specified by:
getExportNames in interface SimulationParameter
Returns:
export names list

setExportNames

public void setExportNames(List<String> exportNames)
Description copied from interface: SimulationParameter
Set export names list.

Specified by:
setExportNames in interface SimulationParameter
Parameters:
exportNames - export names list to set

getNumberOfSensitivitySimulation

public int getNumberOfSensitivitySimulation()
Description copied from interface: SimulationParameter
Get number of sensitivity simulation. Default value to : -1

Specified by:
getNumberOfSensitivitySimulation in interface SimulationParameter
Returns:
the numberOfSensitivitySimulation

setNumberOfSensitivitySimulation

public void setNumberOfSensitivitySimulation(int numberOfSensitivitySimulation)
Description copied from interface: SimulationParameter
Set number of sensitivity simulation.

Specified by:
setNumberOfSensitivitySimulation in interface SimulationParameter
Parameters:
numberOfSensitivitySimulation - number of sensitivity simulation to set

getSensitivityCalculator

public SensitivityCalculator getSensitivityCalculator()
Description copied from interface: SimulationParameter
Get instanciated sensitivity calculator. Default to : null.

Specified by:
getSensitivityCalculator in interface SimulationParameter
Returns:
the sensitivityCalculator

setSensitivityCalculator

public void setSensitivityCalculator(SensitivityCalculator sensitivityCalculator)
Specified by:
setSensitivityCalculator in interface SimulationParameter
Parameters:
sensitivityCalculator - the sensitivityCalculator to set

getSensitivityExport

public List<SensitivityExport> getSensitivityExport()
Description copied from interface: SimulationParameter
Return loaded sensitivity export. If exports are null or empty, try to load it from last ready parameters.

Specified by:
getSensitivityExport in interface SimulationParameter
Returns:
the sensitivityExportNames

setSensitivityExport

public void setSensitivityExport(List<SensitivityExport> sensitivityExport)
Specified by:
setSensitivityExport in interface SimulationParameter
Parameters:
sensitivityExport - the sensitivityExportNames to set

getUseAnalysePlan

public boolean getUseAnalysePlan()
Description copied from interface: SimulationParameter
Get use analyse plans property.

Specified by:
getUseAnalysePlan in interface SimulationParameter
Returns:
use analyse plan.

setUseAnalysePlan

public void setUseAnalysePlan(boolean useAnalysePlan)
Description copied from interface: SimulationParameter
Set use analyse plans property.

Specified by:
setUseAnalysePlan in interface SimulationParameter
Parameters:
useAnalysePlan - use analyse plan to set

getAnalysePlanNumber

public int getAnalysePlanNumber()
Description copied from interface: SimulationParameter
Get simulation number in analyse plan.

Specified by:
getAnalysePlanNumber in interface SimulationParameter
Returns:
simulation number in analyse plan

setAnalysePlanNumber

public void setAnalysePlanNumber(int analysePlanNumber)
Description copied from interface: SimulationParameter
Set simulation number in analyse plan.

Specified by:
setAnalysePlanNumber in interface SimulationParameter
Parameters:
analysePlanNumber - analyse plan number to set

getNumberOfYear

public int getNumberOfYear()
Description copied from interface: SimulationParameter
Get number of year to run to simulate.

Specified by:
getNumberOfYear in interface SimulationParameter
Returns:
number of year

setNumberOfYear

public void setNumberOfYear(int numberOfYear)
Description copied from interface: SimulationParameter
Set number of year to run to simulate.

Specified by:
setNumberOfYear in interface SimulationParameter
Parameters:
numberOfYear - number of year to set

getUsePreScript

public boolean getUsePreScript()
Description copied from interface: SimulationParameter
Get use prescript. Default to false.

Specified by:
getUsePreScript in interface SimulationParameter
Returns:
Returns the usePreScript.

setUsePreScript

public void setUsePreScript(boolean usePreScript)
Description copied from interface: SimulationParameter
Set use prescript property

Specified by:
setUsePreScript in interface SimulationParameter
Parameters:
usePreScript - use preScript to set

getPreScript

public String getPreScript()
Description copied from interface: SimulationParameter
Get prescript content.

Specified by:
getPreScript in interface SimulationParameter
Returns:
preScript content

setPreScript

public void setPreScript(String preScript)
Description copied from interface: SimulationParameter
Set pre script content.

Specified by:
setPreScript in interface SimulationParameter
Parameters:
preScript - prescript content

getRegionName

public String getRegionName()
Description copied from interface: SimulationParameter
Get region name.

Specified by:
getRegionName in interface SimulationParameter
Returns:
region name

setRegionName

public void setRegionName(String regionName)
Description copied from interface: SimulationParameter
Set region name.

Specified by:
setRegionName in interface SimulationParameter
Parameters:
regionName - region name to set

getSimulatorName

public String getSimulatorName()
Description copied from interface: SimulationParameter
Set simulator name.

Specified by:
getSimulatorName in interface SimulationParameter
Returns:
simulator name.

setSimulatorName

public void setSimulatorName(String simulatorName)
Description copied from interface: SimulationParameter
Set simulator name.

Specified by:
setSimulatorName in interface SimulationParameter
Parameters:
simulatorName - simulator name to set

getResultEnabled

public Collection<String> getResultEnabled()
Description copied from interface: SimulationParameter
Get enabled result names list.

Specified by:
getResultEnabled in interface SimulationParameter
Returns:
enabled result names list

setResultEnabled

public void setResultEnabled(Collection<String> resultEnabled)
Description copied from interface: SimulationParameter
Set enabled result names list.

Specified by:
setResultEnabled in interface SimulationParameter
Parameters:
resultEnabled - enabled result names list

getTagValue

public Map<String,String> getTagValue()
Description copied from interface: SimulationParameter
Get tag values. Default to empty map

Specified by:
getTagValue in interface SimulationParameter
Returns:
Returns the tagValue.

setTagValue

public void setTagValue(Map<String,String> tagValue)
Description copied from interface: SimulationParameter
Set tag values.

Specified by:
setTagValue in interface SimulationParameter
Parameters:
tagValue - tagValues to set.

getSimulLogLevel

public String getSimulLogLevel()
Description copied from interface: SimulationParameter
Get simulator log level. Default to "info".

Specified by:
getSimulLogLevel in interface SimulationParameter
Returns:
simualtor log level

setSimulLogLevel

public void setSimulLogLevel(String logLevel)
Description copied from interface: SimulationParameter
Set simulator log level.

Specified by:
setSimulLogLevel in interface SimulationParameter
Parameters:
logLevel - simulator log level

getScriptLogLevel

public String getScriptLogLevel()
Description copied from interface: SimulationParameter
Get script log level. Default to "info".

Specified by:
getScriptLogLevel in interface SimulationParameter
Returns:
script log level

setScriptLogLevel

public void setScriptLogLevel(String logLevel)
Description copied from interface: SimulationParameter
Set script log level.

Specified by:
setScriptLogLevel in interface SimulationParameter
Parameters:
logLevel - script log level

getLibLogLevel

public String getLibLogLevel()
Description copied from interface: SimulationParameter
Get librairies log level. Default to "error".

Specified by:
getLibLogLevel in interface SimulationParameter
Returns:
librairies log level

setLibLogLevel

public void setLibLogLevel(String logLevel)
Description copied from interface: SimulationParameter
Set lib log level.

Specified by:
setLibLogLevel in interface SimulationParameter

isSimulErrorLevel

public boolean isSimulErrorLevel()
Specified by:
isSimulErrorLevel in interface SimulationParameter

isSimulWarnLevel

public boolean isSimulWarnLevel()
Specified by:
isSimulWarnLevel in interface SimulationParameter

isSimulInfoLevel

public boolean isSimulInfoLevel()
Specified by:
isSimulInfoLevel in interface SimulationParameter

isSimulDebugLevel

public boolean isSimulDebugLevel()
Specified by:
isSimulDebugLevel in interface SimulationParameter

isScriptErrorLevel

public boolean isScriptErrorLevel()
Specified by:
isScriptErrorLevel in interface SimulationParameter

isScriptWarnLevel

public boolean isScriptWarnLevel()
Specified by:
isScriptWarnLevel in interface SimulationParameter

isScriptInfoLevel

public boolean isScriptInfoLevel()
Specified by:
isScriptInfoLevel in interface SimulationParameter

isScriptDebugLevel

public boolean isScriptDebugLevel()
Specified by:
isScriptDebugLevel in interface SimulationParameter

isLibErrorLevel

public boolean isLibErrorLevel()
Specified by:
isLibErrorLevel in interface SimulationParameter

isLibWarnLevel

public boolean isLibWarnLevel()
Specified by:
isLibWarnLevel in interface SimulationParameter

isLibInfoLevel

public boolean isLibInfoLevel()
Specified by:
isLibInfoLevel in interface SimulationParameter

isLibDebugLevel

public boolean isLibDebugLevel()
Specified by:
isLibDebugLevel in interface SimulationParameter

copy

public SimulationParameter copy()
Description copied from interface: SimulationParameter
A copy instance of SimulationParameter. Warning, this is not a deep copy, already instancied objects are not duplicated.

Specified by:
copy in interface SimulationParameter
Returns:
a copy of this instance

deepCopy

public SimulationParameter deepCopy()
Description copied from interface: SimulationParameter
Make a deep copy of current parameters. Bump all current parameters to properties and make a new one with those propeties.

Specified by:
deepCopy in interface SimulationParameter
Returns:
new parameters instance

toProperties

public Properties toProperties()
Description copied from interface: SimulationParameter
Permet de convertir l'objet SimulationParameter en un objet Properties Cela permet de le stocker facilement sur le disque. Recopie certaines proprietes si elle n'ont pas été instancié :

Specified by:
toProperties in interface SimulationParameter
Returns:
L'objet Properties representant les parametres
See Also:
SimulationParameter.fromProperties(Properties)

fromProperties

public void fromProperties(Properties props)
Description copied from interface: SimulationParameter
Load properties from file.

Specified by:
fromProperties in interface SimulationParameter
Parameters:
props - property to read

reloadContextParameters

public void reloadContextParameters()
                             throws org.nuiton.topia.TopiaException
Description copied from interface: SimulationParameter
Reload parameters du to context change. ie : in simulators when rollbacking transaction Actually : reload rules parameters

Specified by:
reloadContextParameters in interface SimulationParameter
Throws:
org.nuiton.topia.TopiaException


Copyright © 1999-2011 CodeLutin. All Rights Reserved.