fr.ifremer.isisfish.datastore
Class ResultStorage

java.lang.Object
  extended by fr.ifremer.isisfish.datastore.ResultStorage
All Implemented Interfaces:
SimulationListener, SimulationResultGetter, SimulationResultListener

public class ResultStorage
extends Object
implements SimulationResultListener, SimulationResultGetter

Cette classe permet de conserver des résultats de simulation. Elle permet ensuite de les récupérer. Created: 29 sept. 2004

Version:
$Revision: 3124 $ Mise a jour: $Date: 2010-11-29 19:14:09 +0100 (lun., 29 nov. 2010) $ par : $Author: chatellier $
Author:
Benjamin Poussin

Field Summary
protected  Set<String> availableResult
          contains all available result as string: String(date + ':' + name)
protected  org.apache.commons.collections.map.ReferenceMap cache
          cache to maintains some result. key: String(date + ':' + name), value: matrix TODO: cache will be more efficient if it keep at min the number of result by year
protected  org.apache.commons.collections.map.ReferenceMap cacheContext
           
protected  Set<String> enabledResult
          result enabled
protected  SimulationStorage simulation
           
 
Constructor Summary
ResultStorage(SimulationStorage simulation)
          Les ResultStorage ne doivent pas etre instancier directement, mais recuperer a partir d'un SimulationStorage.getResultStorage()
 
Method Summary
 void addActiveRule(Date date, Rule rule)
           
protected  void addAvailableResult(Date date, String name)
          Ajoute un resultat comme etant disponible pour une date donnée.
 void addResult(boolean force, Date date, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(boolean force, Date date, Population pop, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(boolean force, Date date, String name, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(boolean force, Date date, String name, Population pop, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(Date date, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(Date date, Population pop, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(Date date, String name, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(Date date, String name, Population pop, org.nuiton.math.matrix.MatrixND mat)
           
 void addResult(SimulationContext context, Date date, String name, org.nuiton.math.matrix.MatrixND mat)
           
 void afterSimulation(SimulationContext context)
          called after simulation
 void beforeSimulation(SimulationContext context)
          called before simulation
protected  void doAddResult(Date date, String name, org.nuiton.math.matrix.MatrixND mat)
           
protected  void doAddResult(Date date, String name, org.nuiton.math.matrix.MatrixND mat, org.nuiton.topia.TopiaContext tx)
           
protected  Set<String> getAvailableResult()
          Retourne le nom de tous les resultats disponibles le nom est constitué de la date et du nom du resultat.
protected  org.nuiton.math.matrix.MatrixND getInCache(Date date, String name)
           
protected  org.nuiton.math.matrix.MatrixND getInCache(String name)
           
 Date getLastDate()
          Get last simulation date.
 org.nuiton.math.matrix.MatrixND getMatrix(Date date, Population pop, String name)
          Retourne la matrice stocke pour un pas de temps
 org.nuiton.math.matrix.MatrixND getMatrix(Date date, String name)
           
 org.nuiton.math.matrix.MatrixND getMatrix(Date date, String name, org.nuiton.topia.TopiaContext tx)
          Retourne la matrice stocke pour un pas de temps.
 org.nuiton.math.matrix.MatrixND getMatrix(Population pop, String name)
          Retourne une matrice contenant tous les pas de temps.
 org.nuiton.math.matrix.MatrixND getMatrix(SimulationContext context, Date date, String name)
          Retourne la matrice stocke pour un pas de temps
 org.nuiton.math.matrix.MatrixND getMatrix(SimulationContext context, String name)
          Retourne une matrice contenant tous les pas de temps.
 org.nuiton.math.matrix.MatrixND getMatrix(String name)
          Retourne une matrice contenant tous les pas de temps.
 org.nuiton.math.matrix.MatrixND getMatrix(String name, org.nuiton.topia.TopiaContext tx)
          Retourne une matrice contenant tous les pas de temps.
 List<String> getResultName()
          Retourne la liste de tous les résultats.
protected  boolean isAvailableResult(Date date, String name)
          Verifie si un resultat est disponible pour une date donnée
 boolean isEnabled(String name)
          Permet de savoir si lorsque l'on ajoutera ce resultat, il sera sauvé ou non.
protected  void putInCache(Date date, String name, org.nuiton.math.matrix.MatrixND mat, org.nuiton.topia.TopiaContext context)
           
protected  void putInCache(String name, org.nuiton.math.matrix.MatrixND mat, org.nuiton.topia.TopiaContext context)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

simulation

protected SimulationStorage simulation

cacheContext

protected transient org.apache.commons.collections.map.ReferenceMap cacheContext

cache

protected transient org.apache.commons.collections.map.ReferenceMap cache
cache to maintains some result. key: String(date + ':' + name), value: matrix TODO: cache will be more efficient if it keep at min the number of result by year


availableResult

protected transient Set<String> availableResult
contains all available result as string: String(date + ':' + name)


enabledResult

protected transient Set<String> enabledResult
result enabled

Constructor Detail

ResultStorage

public ResultStorage(SimulationStorage simulation)
Les ResultStorage ne doivent pas etre instancier directement, mais recuperer a partir d'un SimulationStorage.getResultStorage()

Method Detail

putInCache

protected void putInCache(Date date,
                          String name,
                          org.nuiton.math.matrix.MatrixND mat,
                          org.nuiton.topia.TopiaContext context)

putInCache

protected void putInCache(String name,
                          org.nuiton.math.matrix.MatrixND mat,
                          org.nuiton.topia.TopiaContext context)

getInCache

protected org.nuiton.math.matrix.MatrixND getInCache(Date date,
                                                     String name)

getInCache

protected org.nuiton.math.matrix.MatrixND getInCache(String name)

getAvailableResult

protected Set<String> getAvailableResult()
Retourne le nom de tous les resultats disponibles le nom est constitué de la date et du nom du resultat.

Returns:
available results

isAvailableResult

protected boolean isAvailableResult(Date date,
                                    String name)
Verifie si un resultat est disponible pour une date donnée

Parameters:
date -
name -
Returns:
true if result is available

addAvailableResult

protected void addAvailableResult(Date date,
                                  String name)
Ajoute un resultat comme etant disponible pour une date donnée.

Parameters:
date -
name -

isEnabled

public boolean isEnabled(String name)
Permet de savoir si lorsque l'on ajoutera ce resultat, il sera sauvé ou non. Check for result name returned by :

Parameters:
name - result name
Returns:
true if result is enabled

addResult

public void addResult(Date date,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

addResult

public void addResult(Date date,
                      Population pop,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

addResult

public void addResult(boolean force,
                      Date date,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

addResult

public void addResult(boolean force,
                      Date date,
                      Population pop,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

addResult

public void addResult(Date date,
                      String name,
                      Population pop,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

addResult

public void addResult(Date date,
                      String name,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

addResult

public void addResult(boolean force,
                      Date date,
                      String name,
                      Population pop,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

addResult

public void addResult(boolean force,
                      Date date,
                      String name,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Throws:
IsisFishException

doAddResult

protected void doAddResult(Date date,
                           String name,
                           org.nuiton.math.matrix.MatrixND mat)
                    throws IsisFishException
Throws:
IsisFishException

doAddResult

protected void doAddResult(Date date,
                           String name,
                           org.nuiton.math.matrix.MatrixND mat,
                           org.nuiton.topia.TopiaContext tx)
                    throws IsisFishException
Throws:
IsisFishException

addActiveRule

public void addActiveRule(Date date,
                          Rule rule)
                   throws IsisFishException
Throws:
IsisFishException

getResultName

public List<String> getResultName()
Retourne la liste de tous les résultats. Si le résultat est categorisé par une population alors le nom de la population est automatiquement ajouté au nom du résultat.


getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(Date date,
                                                 Population pop,
                                                 String name)
Retourne la matrice stocke pour un pas de temps

Parameters:
date - le pas de temps que l'on souhaite
pop - la population pour lequelle on souhaite le resultat
name - le nom des resultats dont on veut la matrice
Returns:
La matrice demandée ou null si aucune matrice ne correspond a la demande.

getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(Date date,
                                                 String name)

getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(Date date,
                                                 String name,
                                                 org.nuiton.topia.TopiaContext tx)
Retourne la matrice stocke pour un pas de temps.

Parameters:
date - le pas de temps que l'on souhaite
name - le nom des resultats dont on veut la matrice
tx - TopiaContext a utiliser pour recuperer les resultats et donc les semantiques
Returns:
La matrice demandée ou null si aucune matrice ne correspond a la demande.

getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(Population pop,
                                                 String name)
Retourne une matrice contenant tous les pas de temps.

Parameters:
pop - la population pour lequel on souhaite la matrice
name - le nom des resultats dont on veut une matrice globale.

getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(String name)
Retourne une matrice contenant tous les pas de temps.

Parameters:
name - le nom des resultats dont on veut une matrice globale.

getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(String name,
                                                 org.nuiton.topia.TopiaContext tx)
Retourne une matrice contenant tous les pas de temps.

Parameters:
name - le nom des resultats dont on veut une matrice globale.
tx - TopiaContext a utiliser pour recuperer les resultats et donc les semantiques

getLastDate

public Date getLastDate()
Get last simulation date.

Returns:
last simulation date

addResult

public void addResult(SimulationContext context,
                      Date date,
                      String name,
                      org.nuiton.math.matrix.MatrixND mat)
               throws IsisFishException
Specified by:
addResult in interface SimulationResultListener
Throws:
IsisFishException

getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(SimulationContext context,
                                                 Date date,
                                                 String name)
Description copied from interface: SimulationResultGetter
Retourne la matrice stocke pour un pas de temps

Specified by:
getMatrix in interface SimulationResultGetter
date - le pas de temps que l'on souhaite
name - le nom des resultats dont on veut la matrice
Returns:
La matrice demandée ou null si aucune matrice ne correspond a la demande.

getMatrix

public org.nuiton.math.matrix.MatrixND getMatrix(SimulationContext context,
                                                 String name)
Description copied from interface: SimulationResultGetter
Retourne une matrice contenant tous les pas de temps.

Specified by:
getMatrix in interface SimulationResultGetter
name - le nom des resultats dont on veut une matrice globale.

afterSimulation

public void afterSimulation(SimulationContext context)
Description copied from interface: SimulationListener
called after simulation

Specified by:
afterSimulation in interface SimulationListener

beforeSimulation

public void beforeSimulation(SimulationContext context)
Description copied from interface: SimulationListener
called before simulation

Specified by:
beforeSimulation in interface SimulationListener


Copyright © 1999-2011 CodeLutin. All Rights Reserved.