jfb.tools.activitymgr.core
Class DbMgr

java.lang.Object
  extended by jfb.tools.activitymgr.core.DbMgr

public class DbMgr
extends java.lang.Object

Classe offrant les services de base de persistence de l'application.


Constructor Summary
DbMgr()
           
 
Method Summary
protected static DbTransaction beginTransaction()
          Permet de commencer une transaction.
protected static Contribution changeContributionTask(DbTransaction tx, Contribution contribution, Task newContributionTask)
          Change la tache d'une contribution.
protected static void closeDatabaseAccess()
          Ferme la base de données.
protected static void commitTransaction(DbTransaction tx)
          Valide une transactrion.
protected static Collaborator createCollaborator(DbTransaction tx, Collaborator newCollaborator)
          Crée un collaborateur.
protected static Contribution createContribution(DbTransaction tx, Contribution newContribution)
          Crée une contribution.
protected static Duration createDuration(DbTransaction tx, Duration newDuration)
          Crée une contribution.
protected static void createTables(DbTransaction tx)
          Crée les tables du modèle de données.
protected static Task createTask(DbTransaction tx, Task parentTask, Task newTask)
          Crée une tache.
protected static boolean durationIsUsed(DbTransaction tx, Duration duration)
          Vérifie si la durée est utilisée en base.
protected static void endTransaction(DbTransaction tx)
          Ferme une transactrion.
protected static Collaborator getCollaborator(DbTransaction tx, long collaboratorId)
           
protected static Collaborator getCollaborator(DbTransaction tx, java.lang.String login)
           
protected static Collaborator[] getCollaborators(DbTransaction tx, int orderByClauseFieldIndex, boolean ascendantSort, boolean onlyActiveCollaborators)
           
protected static Contribution[] getContributions(DbTransaction tx, Collaborator contributor, Task task, java.util.Calendar fromDate, java.util.Calendar toDate)
           
protected static Contribution[] getContributions(DbTransaction tx, Task task, Collaborator contributor, java.lang.Integer year, java.lang.Integer month, java.lang.Integer day)
          Retourne les contributions associées aux paramètres spécifiés.
protected static long getContributionsNb(DbTransaction tx, Task task, Collaborator contributor, java.lang.Integer year, java.lang.Integer month, java.lang.Integer day)
          Calcule le nombre des contributions associée aux paramètres spécifiés.
protected static long getContributionsSum(DbTransaction tx, Task task, Collaborator contributor, java.util.Calendar fromDate, java.util.Calendar toDate)
          Calcule le total des contributions associée aux paramètres spécifiés.
protected static long getContributionsSum(DbTransaction tx, Task task, Collaborator contributor, java.lang.Integer year, java.lang.Integer month, java.lang.Integer day)
          Calcule le cumuls des consommations associees aux contributions pour les paramètres spécifiés.
protected static Duration getDuration(DbTransaction tx, long durationId)
           
protected static Duration[] getDurations(DbTransaction tx, boolean onlyActiveCollaborators)
           
protected static Task getParentTask(DbTransaction tx, Task task)
           
protected static Task[] getSubtasks(DbTransaction tx, Task parentTask)
           
protected static Task getTask(DbTransaction tx, long taskId)
           
protected static Task getTask(DbTransaction tx, java.lang.String taskPath, byte taskNumber)
           
protected static Task getTask(DbTransaction tx, java.lang.String taskPath, java.lang.String taskCode)
           
protected static Task[] getTasks(DbTransaction tx, Collaborator collaborator, java.util.Calendar fromDate, java.util.Calendar toDate)
           
protected static Task[] getTasks(DbTransaction tx, java.lang.String path)
           
protected static Task[] getTasks(DbTransaction tx, TaskSearchFilter filter)
          Retourn la liste des taches correspondant au filtre de recherche spécifié.
protected static TaskSums getTaskSums(DbTransaction tx, Task task, java.util.Calendar fromDate, java.util.Calendar toDate)
           
protected static void initDatabaseAccess(java.lang.String driverName, java.lang.String url, java.lang.String user, java.lang.String password)
          Initialise la connexion à la base de données.
protected static byte newTaskNumber(DbTransaction tx, java.lang.String path)
          Génère un nouveau numéro de tache pour un chemin donné.
protected static void removeCollaborator(DbTransaction tx, Collaborator collaborator)
          Supprime un collaborateur.
protected static void removeContribution(DbTransaction tx, Contribution contribution)
          Supprime une contribution.
protected static void removeDuration(DbTransaction tx, Duration duration)
          Supprime une durée du référentiel de durées.
protected static void removeTask(DbTransaction tx, Task task)
          Supprime une tache.
protected static void rollbackTransaction(DbTransaction tx)
          Annule le modifications effectuées dans le cadre d'une transactrion.
protected static boolean tablesExist(DbTransaction tx)
          Vérifie si les tables existent dans le modèle.
protected static Collaborator updateCollaborator(DbTransaction tx, Collaborator collaborator)
          Modifie les attributs d'un collaborateur.
protected static Contribution updateContribution(DbTransaction tx, Contribution contribution)
          Modifie les attributs d'une contribution.
protected static Duration updateDuration(DbTransaction tx, Duration duration)
          Met à jour une durée.
protected static Task updateTask(DbTransaction tx, Task task)
          Modifie les attributs d'une tache.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DbMgr

public DbMgr()
Method Detail

beginTransaction

protected static DbTransaction beginTransaction()
                                         throws DbException
Permet de commencer une transaction.

Une connexion à la base de données est établie. Celle ci doit être validée par la couche appelante par une invocation de endTransaction.

Returns:
le contexte de transaction.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

changeContributionTask

protected static Contribution changeContributionTask(DbTransaction tx,
                                                     Contribution contribution,
                                                     Task newContributionTask)
                                              throws DbException
Change la tache d'une contribution.

Parameters:
tx - contexte de transaction.
contribution - la contribution.
newContributionTask - la tache à affecter.
Returns:
la contribution mise à jour.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

closeDatabaseAccess

protected static void closeDatabaseAccess()
                                   throws DbException
Ferme la base de données.

Throws:
DbException - levé en cas d'incident technique d'accès à la BDD.

commitTransaction

protected static void commitTransaction(DbTransaction tx)
                                 throws DbException
Valide une transactrion.

Parameters:
tx - contexte de transaction.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

createCollaborator

protected static Collaborator createCollaborator(DbTransaction tx,
                                                 Collaborator newCollaborator)
                                          throws DbException
Crée un collaborateur.

Parameters:
tx - contexte de transaction.
newCollaborator - le collaborateur à créer.
Returns:
le collaborateur après création.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

createContribution

protected static Contribution createContribution(DbTransaction tx,
                                                 Contribution newContribution)
                                          throws DbException
Crée une contribution.

Parameters:
tx - contexte de transaction.
newContribution - la nouvelle contribution.
Returns:
la contribution après création.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

createDuration

protected static Duration createDuration(DbTransaction tx,
                                         Duration newDuration)
                                  throws DbException
Crée une contribution.

Parameters:
tx - contexte de transaction.
newDuration - la nouvelle durée.
Returns:
la durée après création.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

createTables

protected static void createTables(DbTransaction tx)
                            throws DbException
Crée les tables du modèle de données.

Parameters:
tx - contexte de transaction.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

createTask

protected static Task createTask(DbTransaction tx,
                                 Task parentTask,
                                 Task newTask)
                          throws DbException
Crée une tache.

La tache parent peut être nulle pour indiquer que la nouvelle tache est une tache racine.

Parameters:
tx - le contexte de transaction.
parentTask - la tache parent accueillant la nouvelle tache.
newTask - la nouvelle tache.
Returns:
la tache après création.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

durationIsUsed

protected static boolean durationIsUsed(DbTransaction tx,
                                        Duration duration)
                                 throws DbException
Vérifie si la durée est utilisée en base.

Parameters:
tx - le contexte de transaction.
duration - la durée à vérifier.
Returns:
un booléen indiquant si la durée est utilisée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

endTransaction

protected static void endTransaction(DbTransaction tx)
                              throws DbException
Ferme une transactrion.

Parameters:
tx - le contexte de transaction.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getCollaborator

protected static Collaborator getCollaborator(DbTransaction tx,
                                              long collaboratorId)
                                       throws DbException
Parameters:
tx - le contexte de transaction.
collaboratorId - l'identifiant du collaborateur recherché.
Returns:
le collaborateur dont l'identifiant est spécifié.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getCollaborator

protected static Collaborator getCollaborator(DbTransaction tx,
                                              java.lang.String login)
                                       throws DbException
Parameters:
tx - le contexte de transaction.
login - l'identifiant de connexion du collaborateur recherché.
Returns:
le collaborateur dont l'identifiant de connexion est spécifié.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getCollaborators

protected static Collaborator[] getCollaborators(DbTransaction tx,
                                                 int orderByClauseFieldIndex,
                                                 boolean ascendantSort,
                                                 boolean onlyActiveCollaborators)
                                          throws DbException
Parameters:
tx - le contexte de transaction.
orderByClauseFieldIndex - index de l'attribut utilisé pour le tri.
ascendantSort - booléen indiquant si le tri doit être ascendant.
onlyActiveCollaborators - booléen indiquant si l'on ne doit retourner que les collaborateurs actifs.
Returns:
la liste des collaborateurs.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getContributions

protected static Contribution[] getContributions(DbTransaction tx,
                                                 Collaborator contributor,
                                                 Task task,
                                                 java.util.Calendar fromDate,
                                                 java.util.Calendar toDate)
                                          throws DbException
Parameters:
tx - le contexte de transaction.
contributor - le collaborateur associé aux contributions.
task - la tache associée aux contributions.
fromDate - la date de départ.
toDate - la date de fin.
Returns:
la liste des contributions associées aux paramètres spécifiés.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getContributions

protected static Contribution[] getContributions(DbTransaction tx,
                                                 Task task,
                                                 Collaborator contributor,
                                                 java.lang.Integer year,
                                                 java.lang.Integer month,
                                                 java.lang.Integer day)
                                          throws DbException
Retourne les contributions associées aux paramètres spécifiés.

Tous les paramètres sont facultatifs. Chaque paramètre spécifié agît comme un filtre sur le résultat. A l'inverse, l'omission d'un paramètre provoque l'inclusion de toutes les contributions, quelque soit leurs valeurs pour l'attribut considéré.

La spécification des paramètres répond aux mêmes règles que pour la méthode getContributionsSum.

Parameters:
tx - le contexte de transaction.
task - la tâche associée aux contributions (facultative).
contributor - le collaborateur associé aux contributions (facultatif).
year - l'année (facultative).
month - le mois (facultatif).
day - le jour (facultatif).
Returns:
les contributions.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
See Also:
getContributionsSum(DbTransaction, Task, Collaborator, Integer, Integer, Integer)

getContributionsNb

protected static long getContributionsNb(DbTransaction tx,
                                         Task task,
                                         Collaborator contributor,
                                         java.lang.Integer year,
                                         java.lang.Integer month,
                                         java.lang.Integer day)
                                  throws DbException
Calcule le nombre des contributions associée aux paramètres spécifiés.

Tous les paramètres sont facultatifs. Chaque paramètre spécifié agît comme un filtre sur le résultat. A l'inverse, l'omission d'un paramètre provoque l'inclusion de toutes les contributions, quelque soit leurs valeurs pour l'attribut considéré.

En spécifiant la tache X, on connaîtra la somme des contribution pour la taches X. En ne spécifiant pas de tache, la somme sera effectuée quelque soit les tâches.

Parameters:
tx - le contexte de transaction.
task - la tâche associée aux contributions (facultative).
contributor - le collaborateur associé aux contributions (facultatif).
year - l'année (facultative).
month - le mois (facultatif).
day - le jour (facultatif).
Returns:
la seomme des contributions.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getContributionsSum

protected static long getContributionsSum(DbTransaction tx,
                                          Task task,
                                          Collaborator contributor,
                                          java.util.Calendar fromDate,
                                          java.util.Calendar toDate)
                                   throws DbException
Calcule le total des contributions associée aux paramètres spécifiés.

Parameters:
tx - le contexte de transaction.
contributor - le collaborateur associé aux contributions (facultatif).
fromDate - la date de départ.
toDate - la date de fin.
Returns:
la seomme des contributions.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getContributionsSum

protected static long getContributionsSum(DbTransaction tx,
                                          Task task,
                                          Collaborator contributor,
                                          java.lang.Integer year,
                                          java.lang.Integer month,
                                          java.lang.Integer day)
                                   throws DbException
Calcule le cumuls des consommations associees aux contributions pour les paramètres spécifiés.

Tous les paramètres sont facultatifs. Chaque paramètre spécifié agît comme un filtre sur le résultat. A l'inverse, l'omission d'un paramètre provoque l'inclusion de toutes les contributions, quelque soit leurs valeurs pour l'attribut considéré.

En spécifiant la tache X, on connaîtra la somme des contribution pour la taches X. En ne spécifiant pas de tache, la somme sera effectuée quelque soit les tâches.

Parameters:
tx - le contexte de transaction.
task - la tâche associée aux contributions (facultative).
contributor - le collaborateur associé aux contributions (facultatif).
year - l'année (facultative).
month - le mois (facultatif).
day - le jour (facultatif).
Returns:
la seomme des contributions.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getDuration

protected static Duration getDuration(DbTransaction tx,
                                      long durationId)
                               throws DbException
Parameters:
tx - le contexte de transaction.
durationId - l'identifiant de la durée.
Returns:
la durée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getDurations

protected static Duration[] getDurations(DbTransaction tx,
                                         boolean onlyActiveCollaborators)
                                  throws DbException
Parameters:
tx - le contexte de transaction.
onlyActiveCollaborators - booléen indiquant si l'on ne doit retourner que les collaborateurs actifs.
Returns:
la liste des durées.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getParentTask

protected static Task getParentTask(DbTransaction tx,
                                    Task task)
                             throws DbException
Parameters:
tx - le contexte de transaction.
task - la tache dont on veut connaitre la tache parent.
Returns:
la tache parent d'une tache spécifiée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getSubtasks

protected static Task[] getSubtasks(DbTransaction tx,
                                    Task parentTask)
                             throws DbException
Parameters:
tx - le contexte de transaction.
parentTask - la tache parent dont on veut connaitre les sous-taches.
Returns:
la liste des sous-taches.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTask

protected static Task getTask(DbTransaction tx,
                              long taskId)
                       throws DbException
Parameters:
tx - le contexte de transaction.
taskId - l'identifiant de la tache recherchée.
Returns:
la tache dont l'identifiant est spécifié.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTask

protected static Task getTask(DbTransaction tx,
                              java.lang.String taskPath,
                              byte taskNumber)
                       throws DbException
Parameters:
tx - le contexte de transaction.
taskPath - le chemin de la tache recherchée.
taskNumber - le numéro de la tache recherchée.
Returns:
la tache dont le chemin et le numéro sont spécifiés.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTask

protected static Task getTask(DbTransaction tx,
                              java.lang.String taskPath,
                              java.lang.String taskCode)
                       throws DbException
Parameters:
tx - le contexte de transaction.
taskPath - le chemin de la tache recherchée.
taskCode - le code de la tache recherchée.
Returns:
la tache dont le code et la tache parent sont spécifiés.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTasks

protected static Task[] getTasks(DbTransaction tx,
                                 Collaborator collaborator,
                                 java.util.Calendar fromDate,
                                 java.util.Calendar toDate)
                          throws DbException
Parameters:
tx - le contexte de transaction.
collaborator - le collaborateur.
fromDate - date de début.
toDate - date de fin.
Returns:
la liste de taches associées au collaborateur entre les 2 dates spécifiées.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTasks

protected static Task[] getTasks(DbTransaction tx,
                                 java.lang.String path)
                          throws DbException
Parameters:
tx - le contexte de transaction.
path - le chemin dont on veut connaître les taches.
Returns:
la liste des taches associées à un chemin donné.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTasks

protected static Task[] getTasks(DbTransaction tx,
                                 TaskSearchFilter filter)
                          throws DbException
Retourn la liste des taches correspondant au filtre de recherche spécifié.

Parameters:
tx - le contexte de transaction.
filter - le filtre de recherche.
Returns:
la liste des taches correspondant au filtre de recherche spécifié.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTaskSums

protected static TaskSums getTaskSums(DbTransaction tx,
                                      Task task,
                                      java.util.Calendar fromDate,
                                      java.util.Calendar toDate)
                               throws DbException
Parameters:
tx - le contexte de transaction.
task - la tâche pour laquelle on souhaite connaître les totaux.
fromDate - date de départ à prendre en compte pour le calcul.
toDate - date de fin à prendre en compte pour le calcul.
Returns:
les totaux associés à une tache (consommé, etc.).
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

initDatabaseAccess

protected static void initDatabaseAccess(java.lang.String driverName,
                                         java.lang.String url,
                                         java.lang.String user,
                                         java.lang.String password)
                                  throws DbException
Initialise la connexion à la base de données.

Parameters:
driverName - le nom du driver JDBC.
url - l'URL de connexion au serveur.
user - l'identifiant de connexion/
password - le mot de passe de connexion.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

newTaskNumber

protected static byte newTaskNumber(DbTransaction tx,
                                    java.lang.String path)
                             throws DbException
Génère un nouveau numéro de tache pour un chemin donné.

Parameters:
tx - le contexte de transaction.
path - le chemin considéré.
Returns:
le numéro généré.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

removeCollaborator

protected static void removeCollaborator(DbTransaction tx,
                                         Collaborator collaborator)
                                  throws DbException
Supprime un collaborateur.

Parameters:
tx - le contexte de transaction.
collaborator - le collaborateur à supprimer.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

removeContribution

protected static void removeContribution(DbTransaction tx,
                                         Contribution contribution)
                                  throws DbException
Supprime une contribution.

Parameters:
tx - le contexte de transaction.
contribution - la contribution à supprimer.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

removeDuration

protected static void removeDuration(DbTransaction tx,
                                     Duration duration)
                              throws DbException
Supprime une durée du référentiel de durées.

Parameters:
tx - le contexte de transaction.
duration - la durée à supprimer.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

removeTask

protected static void removeTask(DbTransaction tx,
                                 Task task)
                          throws DbException
Supprime une tache.

Parameters:
tx - le contexte de transaction.
task - la tache à supprimer.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

rollbackTransaction

protected static void rollbackTransaction(DbTransaction tx)
                                   throws DbException
Annule le modifications effectuées dans le cadre d'une transactrion.

Parameters:
tx - contexte de transaction.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

tablesExist

protected static boolean tablesExist(DbTransaction tx)
                              throws DbException
Vérifie si les tables existent dans le modèle.

Parameters:
tx - le contexte de transaction.
Returns:
un booléen indiquant si la table spécifiée existe dans le modèle.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

updateCollaborator

protected static Collaborator updateCollaborator(DbTransaction tx,
                                                 Collaborator collaborator)
                                          throws DbException
Modifie les attributs d'un collaborateur.

Parameters:
tx - contexte de transaction.
collaborator - le collaborateur à modifier.
Returns:
le collaborateur modifié.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

updateContribution

protected static Contribution updateContribution(DbTransaction tx,
                                                 Contribution contribution)
                                          throws DbException
Modifie les attributs d'une contribution.

Parameters:
tx - contexte de transaction.
contribution - la contribution à modifier.
Returns:
la contribution modifiée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

updateDuration

protected static Duration updateDuration(DbTransaction tx,
                                         Duration duration)
                                  throws DbException
Met à jour une durée.

Parameters:
tx - le contexte de transaction.
duration - la durée à mettre à jour.
Returns:
la durée mise à jour.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

updateTask

protected static Task updateTask(DbTransaction tx,
                                 Task task)
                          throws DbException
Modifie les attributs d'une tache.

Parameters:
tx - contexte de transaction.
task - la tache à modifier.
Returns:
la tache modifiée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.