fr.ifremer.isisfish.datastore
Class DataStorage

java.lang.Object
  extended by fr.ifremer.isisfish.datastore.VersionStorage
      extended by 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: 2699 $ Last update: $Date: 2009-10-27 12:01:27 +0100 (mar., 27 oct. 2009) $ by : $Author: chatellier $
Author:
poussin

Field Summary
static String DATA_BACKUP_FILENAME
          Backup archive filename.
protected  org.nuiton.topia.TopiaContext memstorage
          Le TopiaContext contenant les données en memoire
protected  String name
          Le nom du storage (nom du dernier répertoire)
protected  org.nuiton.topia.TopiaContext storage
          Le TopiaContext contenant les données
 
Fields inherited from class fr.ifremer.isisfish.datastore.VersionStorage
changeListeners, file, root
 
Constructor Summary
protected DataStorage(File directory, String name)
          Permet de créer un nouveau DataStorage
 
Method Summary
 void closeMemStorage()
           
 void closeStorage()
           
 void copy(String toName)
          Copy le DataStorage courant.
 File createZip()
          Cree un zip.
 File createZip(File file)
          Cree un zip.
 File createZip(File file, boolean createMD5)
          Cree un zip.
 void delete(boolean cvsDelete)
          Permet de supprimer un fichier ou répertoire versionné ou non.
protected  void finalize()
           
protected  File getDataBackupFile()
           
 File getDirectory()
           
 org.nuiton.topia.TopiaContext getMemStorage()
           
 String getName()
           
 org.nuiton.topia.TopiaContext getStorage()
          Returns the storage.
protected  File getStorageDirectory()
           
protected  boolean isVersionnableFile(File file)
          Permet de savoir si un fichier doit etre géré par le vcs ou non.
protected  void prepare()
          Sauve toute la base avec le schéma dans ls fichier <region>/data-backup.sql
 void rename(String toName)
          Renome juste le repertoire, s'il y a besoin de modifier des données dans le TopiaContext il faut surcharger cette methode.
 
Methods inherited from class fr.ifremer.isisfish.datastore.VersionStorage
add, addStorageChangeListener, checkout, commit, fireDataChanged, getContextDatabaseCacheKey, getContextDatabaseDirectory, getFile, getFiles, getFiles, getRemoteStorageNames, getRoot, getStorageNames, getVCS, isOnRemote, isUpToDate, removeStorageChangeListener, update
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DATA_BACKUP_FILENAME

public static final String DATA_BACKUP_FILENAME
Backup archive filename.

See Also:
Constant Field Values

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 Detail

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 Detail

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:
VersionStorage.prepare()

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. Update shema if necessary.

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


Copyright © 1999-2010 CodeLutin. All Rights Reserved.