Class DataStorage

java.lang.Object
fr.ifremer.isisfish.datastore.VersionStorage
fr.ifremer.isisfish.datastore.DataStorage
Direct Known Subclasses:
RegionStorage, SimulationStorage

public abstract class DataStorage extends VersionStorage
Class abstraite dont herite tous les storages qui on besoin d'un TopiaContext RegionStorage et SimulationStorage Created: 21 janv. 2006 14:20:51
Version:
$Revision$ Last update: $Date$ by : $Author$
Author:
poussin
  • Field Details

    • DATA_BACKUP_FILENAME

      public static final String DATA_BACKUP_FILENAME
      Backup archive filename.
      See Also:
    • name

      protected String name
      Le nom du storage (nom du dernier répertoire)
    • storage

      protected org.nuiton.topia.TopiaContext storage
      Le TopiaContext contenant les données
    • memstorage

      protected org.nuiton.topia.TopiaContext memstorage
      Le TopiaContext contenant les données en memoire
  • Constructor Details

    • DataStorage

      protected DataStorage(File directory, String name)
      Permet de créer un nouveau DataStorage
      Parameters:
      directory - repertoire de base du storage
      name - nom du storage (nom du dernier répertoire)
  • Method Details

    • getStorageDirectory

      protected File getStorageDirectory()
    • getDataBackupFile

      protected File getDataBackupFile()
      Returns:
      le fichier contenant la representation text des données de la base
    • prepare

      protected void prepare()
      Sauve toute la base avec le schéma dans ls fichier <region>/data-backup.sql
      Specified by:
      prepare in class VersionStorage
      See Also:
    • isVersionnableFile

      protected boolean isVersionnableFile(File file)
      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 class VersionStorage
      Parameters:
      file - le fichier a tester
      Returns:
      true si le fichier est versionné
    • getDirectory

      public File getDirectory()
      Returns:
      Returns the directory.
    • getName

      public String getName()
      Returns:
      Returns the name.
    • getMemStorage

      public org.nuiton.topia.TopiaContext getMemStorage()
      Returns:
      Retourne une copie de la base de donnée en memoire seulement Util pour les simulations pour l'acces au données rapide
    • closeMemStorage

      public void closeMemStorage() throws org.nuiton.topia.TopiaException
      Throws:
      org.nuiton.topia.TopiaException
    • getStorage

      public org.nuiton.topia.TopiaContext getStorage()
      Returns the storage.
      Returns:
      Returns the storage.
    • closeStorage

      public void closeStorage() throws org.nuiton.topia.TopiaException
      Throws:
      org.nuiton.topia.TopiaException
    • delete

      public void delete(boolean cvsDelete) throws StorageException
      Description copied from class: VersionStorage
      Permet de supprimer un fichier ou répertoire versionné ou non.
      Overrides:
      delete in class VersionStorage
      Parameters:
      cvsDelete - si vrai alors le fichier sera aussi supprimé sur le vcs si elle existait. Cela prend effet immediatement (un commit est fait)
      Throws:
      StorageException - if delete operation fail
    • copy

      public void copy(String toName) throws IOException, org.nuiton.topia.TopiaException
      Copy le DataStorage courant. Attention, all script with package name will not be modified you must change package name in each script to reflect new name
      Parameters:
      toName - le nouveau nom de la region
      Throws:
      IOException - si problème lors de la copie
      org.nuiton.topia.TopiaException - ???
    • rename

      public void rename(String toName) throws StorageException
      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.
      Parameters:
      toName - le nouveau nom
      Throws:
      StorageException - si problème lors du renommage
    • createZip

      public File createZip() throws IOException
      Cree un zip. Le zip contient les memes fichiers lorsqu'on utilise le CVS.
      Returns:
      le fichier contenant les données zippées, ce fichier sera automatiquement supprimé à la sortie de l'application s'il existe encore.
      Throws:
      IOException - si problème lors de la création du zip
    • createZip

      public File createZip(File file) throws IOException
      Cree un zip. Le zip contient les memes fichiers lorsqu'on utilise le CVS.
      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
    • createZip

      public File createZip(File file, boolean createMD5) throws IOException
      Cree un zip. Le zip contient les memes fichiers lorsqu'on utilise le CVS.
      Parameters:
      file - le fichier dans lequel l'export doit se faire
      createMD5 - if true create zip md5
      Returns:
      l'argument file
      Throws:
      IOException - si problème lors de la création du zip
    • finalize

      protected void finalize() throws Throwable
      Overrides:
      finalize in class Object
      Throws:
      Throwable