Package fr.ifremer.isisfish.datastore
Class VersionStorage
java.lang.Object
fr.ifremer.isisfish.datastore.VersionStorage
- Direct Known Subclasses:
CodeSourceStorage
,DataStorage
Classe permettant de géré l'interaction avec le VCS.
- Version:
- $Revision$ Last update: $Date$ by : $Author$
- Author:
- poussin
-
Field Summary
-
Constructor Summary
ModifierConstructorDescriptionprotected
VersionStorage
(File root, File file) Par exemple si on a /home/poussin/isis-database comme root il faut que file soit un fichier ou un sous fichiers dans root -
Method Summary
Modifier and TypeMethodDescriptionvoid
Permet d'ajouter ce storage dans le VCSNone.static void
Permet de ramener tout un répertoire du VCS.void
Permet d'envoyer des modifications faite en local sur le VCS.void
delete
(boolean vcsDelete) Permet de supprimer un fichier ou répertoire versionné ou non.diff()
Return diff between current file content and VCS file content.protected static File
Return community database directory.protected static VCS
Get communityVCS
.protected static File
Return context root directory to use for all data files depending on context (simulation/no simulation).protected VCS
Get VCS instance for storage file.protected VCS
getCurrentVCS
(File file) Get VCS instance for given file.getFile()
Get file.getFiles
(boolean withParent) Donne la liste de tous les fichiers à gérer par le VCS.Donne la liste de tous les fichiers que le VCS doit gérer.getRemoteStorageNames
(File directory) Retourne la liste des noms de tous les storages disponibles sur le serveur VCSNonegetRoot()
Get VCS root directory.getStorageNames
(File directory) Retourne la liste des noms de toutes les storages disponible en localprotected static VCS
getVCS()
GetVCS
.boolean
Indique s'il a deja ete ajouté au VCS.boolean
protected boolean
isVersionnableFile
(File file) Permet de savoir si un fichier doit etre géré par le vcs ou non.protected abstract void
prepare()
Permet de demander la preparation des fichiers pour etre envoyé vers le VCS.protected static void
registerWatcher
(Collection<StorageChangeListener> storageListeners, File... directories) void
update()
Permet de mettre a jour le fichier local en fonction de ce qu'il y a sur le VCS
-
Field Details
-
root
VCS root directory. -
file
Versionned file to manage in VCS.
-
-
Constructor Details
-
VersionStorage
Par exemple si on a /home/poussin/isis-database comme root il faut que file soit un fichier ou un sous fichiers dans root- Parameters:
root
- le repertoire racine de mise en VCS (HOME VCS)file
- le fichier a gérer.
-
-
Method Details
-
registerWatcher
protected static void registerWatcher(Collection<StorageChangeListener> storageListeners, File... directories) -
getContextDatabaseDirectory
Return context root directory to use for all data files depending on context (simulation/no simulation). In simulation context, must look for files in simulation directory instead of isis database. -
getCommunityDatabaseDirectory
Return community database directory.- Returns:
- community database directory
-
getCurrentVCS
Get VCS instance for storage file.- Returns:
- vcs instance
-
getCurrentVCS
Get VCS instance for given file.- Parameters:
file
- file to get VCS- Returns:
-
getVCS
GetVCS
.- Returns:
- VCS
-
getCommunityVCS
Get communityVCS
.- Returns:
- community VCS
-
prepare
protected abstract void prepare()Permet de demander la preparation des fichiers pour etre envoyé vers le VCS. -
getRoot
Get VCS root directory.- Returns:
- the root.
-
getFile
Get file.- Returns:
- the file.
-
isOnRemote
Indique s'il a deja ete ajouté au VCS. Si file est un repertoire (ex pour Region) alors vrai meme si tous les fichiers du repertoire ne sont pas sur le VCSNone- Returns:
true
si deja dans le VCS- Throws:
VCSException
-
isVersionnableFile
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.- Parameters:
file
- le fichier a tester- Returns:
true
si le fichier est versionné
-
getFiles
Donne la liste de tous les fichiers que le VCS doit gérer. Par defaut parcours tous les repertoires et ajouter tous les fichiers et repertoire trouvé. Il est possible d'exclure des fichiers et/ou repertoire en surchargeantisVersionnableFile(File)
- Parameters:
current
- le fichierresult
- la liste des fichiers à traiter- Returns:
- La liste des fichiers a géré par le CVS pour un add, remove update
-
getFiles
Donne la liste de tous les fichiers à gérer par le VCS. Ceci inclu la liste des répertoires pour aller de ce storage jusqu'a la racine VCSNone si withParent est vrai- Parameters:
withParent
- si vrai inclu les parents- Returns:
- la liste des fichiers trouvés
-
add
Permet d'ajouter ce storage dans le VCSNone. Cela prend effet immediatement (un commit est fait).- Parameters:
msg
- le message indiquant le but du fichier- Throws:
VCSException
- si pb pendant l'op
-
delete
Permet de supprimer un fichier ou répertoire versionné ou non.- Parameters:
vcsDelete
- 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
-
commit
Permet d'envoyer des modifications faite en local sur le VCS.- Parameters:
msg
- le message indiquant le type des modifications- Throws:
VCSException
- si pb pendant l'op
-
update
Permet de mettre a jour le fichier local en fonction de ce qu'il y a sur le VCS- Throws:
VCSException
- si pb pendant l'op
-
isUpToDate
- Throws:
VCSException
-
diff
Return diff between current file content and VCS file content.- Returns:
- diff as string
- Throws:
VCSException
IOException
-
checkout
Permet de ramener tout un répertoire du VCS. Utile seulement pour le premier lancement pour scipts et exports.- Parameters:
destDir
- le repertoire parentmodule
- le repertoire qui peut etre scripts ou exports- Throws:
VCSException
- si pb pendant l'opération
-
getStorageNames
Retourne la liste des noms de toutes les storages disponible en local- Parameters:
directory
- le répertoire dans lequel vie l'ensemble des storage- Returns:
- la liste des noms de toutes les storages disponible en local
-
getRemoteStorageNames
Retourne la liste des noms de tous les storages disponibles sur le serveur VCSNone- Parameters:
directory
- le répertoire sur le VCSNone ou doivent se trouver les storages (regions, simulations)- Returns:
- la liste des noms de tous les storages disponibles sur le serveur VCSNone. Si le serveur n'est pas disponible la liste retournée est vide.
-