jfb.tools.activitymgr.core
Class ModelMgr

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

public class ModelMgr
extends java.lang.Object

Gestionnaire du modèle.

Les services offerts par cette classe garantissent l'intégrité du modèle.


Constructor Summary
ModelMgr()
           
 
Method Summary
static Contribution[] changeContributionTask(Contribution[] contributions, Task newContributionTask)
          Change la tache d'une liste de contributions.
static void checkAcceptsSubtasks(Task task)
          Vérifie si la tache spécifiée peut accueillir des sous-taches.
static void closeDatabaseAccess()
          Ferme la base de données.
static Collaborator createCollaborator(Collaborator collaborator)
          Crée un collaborateur.
static Contribution createContribution(Contribution contribution, boolean updateEstimatedTimeToComlete)
          Crée une contribution.
static Duration createDuration(Duration duration)
          Crée une durée.
static Collaborator createNewCollaborator()
          Crée un nouveau collaborateur en générant automatiquement ses attributs.
static Task createNewTask(Task parentTask)
          Crée une nouvelle tache en générant un nom et un code.
static void createTables()
          Crée les tables du modèle de données.
static Task createTask(Task parentTask, Task task)
          Crée une nouvelle tache.
static boolean durationExists(Duration duration)
          Vérifie si la durée existe en base.
static void exportToXML(java.io.OutputStream out)
          Exporte le contenu de la base dans un fichier XML.
static Collaborator[] getActiveCollaborators(int orderByClauseFieldIndex, boolean ascendantSort)
           
static Duration[] getActiveDurations()
           
static Collaborator getCollaborator(long collaboratorId)
           
static Collaborator getCollaborator(java.lang.String login)
           
static Collaborator[] getCollaborators()
           
static Collaborator[] getCollaborators(int orderByClauseFieldIndex, boolean ascendantSort)
           
static Contribution[] getContributions(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.
static long getContributionsNb(DbTransaction tx, Task task, Collaborator contributor, java.lang.Integer year, java.lang.Integer month, java.lang.Integer day)
          Calcule le nombre de contributions associée aux paramètres spécifiés dans un contexte de transaction.
static long getContributionsNb(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.
static long getContributionsSum(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.
static long getContributionsSum(Task task, Collaborator contributor, java.lang.Integer year, java.lang.Integer month, java.lang.Integer day)
          Calcule le cumul des consommations associees aux contributions associée pour les paramètres spécifiés.
static Contribution[] getDaysContributions(Collaborator contributor, Task task, java.util.Calendar fromDate, java.util.Calendar toDate)
          Retourne la liste des contributions associées à une tache, un collaborateur et à un interval de temps donnés.
static Duration getDuration(long durationId)
           
static Duration[] getDurations()
           
static Task getParentTask(Task task)
           
static Task[] getSubtasks(Task parentTask)
           
static Task getTask(long taskId)
           
static Task getTask(java.lang.String taskPath, java.lang.String taskCode)
           
static Task getTaskByCodePath(java.lang.String codePath)
          Retourne la tache associée à un chemin construit à partir de codes de taches.
static java.lang.String getTaskCodePath(Task task)
          Construit le chemin de la tâche à partir des codes de tache.
static Task[] getTasks(Collaborator collaborator, java.util.Calendar fromDate, java.util.Calendar toDate)
           
static Task[] getTasks(TaskSearchFilter filter)
          Retourn la liste des taches correspondant au filtre de recherche spécifié.
static Task[] getTasksByCodePath(java.lang.String[] codePaths)
          Retourne la liste des taches associées aux chemins spécifiés.
static TaskSums getTaskSums(Task task, java.util.Calendar fromDate, java.util.Calendar toDate)
           
static void importFromXML(java.io.InputStream in)
          Importe le contenu d'un fichier XML.
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.
static void moveDownTask(Task task)
          Déplace la tache d'un cran vers le bas.
static void moveTask(Task task, Task destParentTask)
          Déplace la tache vers un autre endroit dans la hiérarchie des taches.
static void moveTaskUpOrDown(Task task, int newTaskNumber)
          Déplace une tache de plus d'un cran (au contraire des méthodes moveUp et moveDown.
static void moveUpTask(Task task)
          Déplace la tache d'un cran vers le haut.
static void removeCollaborator(Collaborator collaborator)
          Supprime un collaborateur.
static void removeContribution(Contribution contribution, boolean updateEstimatedTimeToComlete)
          Supprime une contribution.
static void removeContributions(Contribution[] contributions)
          Supprime des contributions.
static void removeDuration(Duration duration)
          Supprime une durée du référentiel de durées.
static void removeTask(Task task)
          Supprime une tache.
static boolean tablesExist()
          Vérifie si les tables existent dans le modèle.
static Collaborator updateCollaborator(Collaborator collaborator)
          Modifie les attributs d'un collaborateur.
static Contribution updateContribution(Contribution contribution, boolean updateEstimatedTimeToComlete)
          Modifie les attributs d'une contribution.
static Duration updateDuration(Duration duration)
          Met à jour une durée.
static Duration updateDuration(Duration duration, Duration newDuration)
          Modifie une durée.
static Task updateTask(Task task)
          Met à jour les attributs d'une tache en base.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ModelMgr

public ModelMgr()
Method Detail

changeContributionTask

public static Contribution[] changeContributionTask(Contribution[] contributions,
                                                    Task newContributionTask)
                                             throws DbException,
                                                    ModelException
Change la tache d'une liste de contributions.

Parameters:
contributions - la liste de contributions.
newContributionTask - la tache à affecter.
Returns:
la liste de contributions mise à jour.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans le cas où la tache cible ne peut être acdepter de contribution.

checkAcceptsSubtasks

public static void checkAcceptsSubtasks(Task task)
                                 throws DbException,
                                        ModelException
Vérifie si la tache spécifiée peut accueillir des sous-taches.

Parameters:
task - la tache à controler.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans la cas ou la tache de destination ne peut recevoir de sous-tache.

closeDatabaseAccess

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

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

createCollaborator

public static Collaborator createCollaborator(Collaborator collaborator)
                                       throws DbException,
                                              ModelException
Crée un collaborateur.

Parameters:
collaborator - le collaborateur à créer.
Returns:
le collaborateur après création.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans la cas ou la tache de destination ne peut recevoir de sous-tache.

createContribution

public static Contribution createContribution(Contribution contribution,
                                              boolean updateEstimatedTimeToComlete)
                                       throws DbException,
                                              ModelException
Crée une contribution.

Parameters:
contribution - la contribution à créer.
updateEstimatedTimeToComlete - booléen indiquant si le reste à faire doit être décrémenté.
Returns:
la contribution après création.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans la cas ou la tache de destination ne peut recevoir de contribution.

createDuration

public static Duration createDuration(Duration duration)
                               throws DbException,
                                      ModelException
Crée une durée.

Parameters:
duration - la durée à créer.
Returns:
la durée créée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans la cas ou la durée existe déjà.

createNewCollaborator

public static Collaborator createNewCollaborator()
                                          throws DbException
Crée un nouveau collaborateur en générant automatiquement ses attributs.

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

createNewTask

public static Task createNewTask(Task parentTask)
                          throws DbException,
                                 ModelException
Crée une nouvelle tache en générant un nom et un code.

Avant création, les caractéristiques de la tache de destination sont controllées pour voir si elle peut accueillir des sous-taches.

Cette méthode est synchronisée en raison de la génération du numéro de la tache qui est déplacée à un autre chemin.

Parameters:
parentTask - la tache parent de destination.
Returns:
la tache crée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans la cas ou la tache de destination ne peut recevoir de sous-tache.
See Also:
checkAcceptsSubtasks(Task)

createTables

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

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

createTask

public static Task createTask(Task parentTask,
                              Task task)
                       throws DbException,
                              ModelException
Crée une nouvelle tache.

Avant création, les caractéristiques de la tache de destination sont controllées pour voir si elle peut accueillir des sous-taches.

Parameters:
parentTask - la tache parent de destination.
task - la tache à créer.
Returns:
la tache crée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans la cas ou la tache de destination ne peut recevoir de sous-tache.
See Also:
checkAcceptsSubtasks(Task)

durationExists

public static boolean durationExists(Duration duration)
                              throws DbException
Vérifie si la durée existe en base.

Parameters:
duration - la durée à vérifier.
Returns:
un booléen indiquant si la durée existe.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

exportToXML

public static void exportToXML(java.io.OutputStream out)
                        throws java.io.IOException,
                               DbException
Exporte le contenu de la base dans un fichier XML.

Parameters:
out - le flux dans lequel est généré le flux XML.
Throws:
java.io.IOException - levé en cas d'incident I/O lors de l'écriture sur le flux de sortie.
DbException - levé en cas d'incident avec la base de données.

getActiveCollaborators

public static Collaborator[] getActiveCollaborators(int orderByClauseFieldIndex,
                                                    boolean ascendantSort)
                                             throws DbException
Parameters:
orderByClauseFieldIndex - index de l'attribut utilisé pour le tri.
ascendantSort - booléen indiquant si le tri doit être ascendant.
Returns:
la liste des collaborateurs actifs.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getActiveDurations

public static Duration[] getActiveDurations()
                                     throws DbException
Returns:
la liste des durées actives.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getCollaborator

public static Collaborator getCollaborator(long collaboratorId)
                                    throws DbException
Parameters:
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

public static Collaborator getCollaborator(java.lang.String login)
                                    throws DbException
Parameters:
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

public static Collaborator[] getCollaborators()
                                       throws DbException
Returns:
la liste des collaborateurs.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getCollaborators

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

getContributions

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

Parameters:
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.
ModelException - levé en cas d'incohérence des données en entrée avec le modèle.
See Also:
DbMgr.getContributions(DbTransaction, Task, Collaborator, Integer, Integer, Integer)

getContributionsNb

public static long getContributionsNb(DbTransaction tx,
                                      Task task,
                                      Collaborator contributor,
                                      java.lang.Integer year,
                                      java.lang.Integer month,
                                      java.lang.Integer day)
                               throws ModelException,
                                      DbException
Calcule le nombre de contributions associée aux paramètres spécifiés dans un contexte de transaction.

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.
ModelException - levé en cas d'incohérence des données en entrée avec le modèle.
See Also:
DbMgr.getContributionsSum(DbTransaction, Task, Collaborator, Integer, Integer, Integer)

getContributionsNb

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

Parameters:
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.
ModelException - levé en cas d'incohérence des données en entrée avec le modèle.
See Also:
DbMgr.getContributionsNb(DbTransaction, Task, Collaborator, Integer, Integer, Integer)

getContributionsSum

public static long getContributionsSum(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:
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

public static long getContributionsSum(Task task,
                                       Collaborator contributor,
                                       java.lang.Integer year,
                                       java.lang.Integer month,
                                       java.lang.Integer day)
                                throws ModelException,
                                       DbException
Calcule le cumul des consommations associees aux contributions associée pour les paramètres spécifiés.

Parameters:
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.
ModelException - levé en cas d'incohérence des données en entrée avec le modèle.
See Also:
DbMgr.getContributionsSum(DbTransaction, Task, Collaborator, Integer, Integer, Integer)

getDaysContributions

public static Contribution[] getDaysContributions(Collaborator contributor,
                                                  Task task,
                                                  java.util.Calendar fromDate,
                                                  java.util.Calendar toDate)
                                           throws DbException,
                                                  ModelException
Retourne la liste des contributions associées à une tache, un collaborateur et à un interval de temps donnés.

Un tableau dont la taille est égale au nombre de jours séparant les deux dates spécifiées est retourné.

Parameters:
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.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans le cas ou la date de fin spécifiée est antérieure à la date de début spécifiée.

getDuration

public static Duration getDuration(long durationId)
                            throws DbException
Parameters:
durationId - identifiant de la durée.
Returns:
la durée dont l'identifiant est spécifiée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getDurations

public static Duration[] getDurations()
                               throws DbException
Returns:
la liste des durées actives.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getParentTask

public static Task getParentTask(Task task)
                          throws DbException
Parameters:
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

public static Task[] getSubtasks(Task parentTask)
                          throws DbException
Parameters:
parentTask - la tache dont on veut connaître les sous-taches.
Returns:
la liste des taches associées à un chemin donné.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

getTask

public static Task getTask(long taskId)
                    throws DbException
Parameters:
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

public static Task getTask(java.lang.String taskPath,
                           java.lang.String taskCode)
                    throws DbException
Parameters:
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.

getTaskByCodePath

public static Task getTaskByCodePath(java.lang.String codePath)
                              throws DbException,
                                     ModelException
Retourne la tache associée à un chemin construit à partir de codes de taches.

Parameters:
codePath - le chemin à base de code.
Returns:
la tache trouvée.
Throws:
DbException - levé en cas d'incident technique avec la base de données.
ModelException - levé dans le cas ou le chemin de tache est inconnu.

getTaskCodePath

public static java.lang.String getTaskCodePath(Task task)
                                        throws ModelException,
                                               DbException
Construit le chemin de la tâche à partir des codes de tache.

Parameters:
task - la tache dont on veut connaître le chemin.
Returns:
le chemin.
Throws:
ModelException - levé dans le cas ou le chemin ou le numéro de la tache ont changé.
DbException - levé en cas d'incident technique avec la base de données.

getTasks

public static Task[] getTasks(Collaborator collaborator,
                              java.util.Calendar fromDate,
                              java.util.Calendar toDate)
                       throws DbException
Parameters:
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

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

Parameters:
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.

getTasksByCodePath

public static Task[] getTasksByCodePath(java.lang.String[] codePaths)
                                 throws DbException,
                                        ModelException
Retourne la liste des taches associées aux chemins spécifiés.

Parameters:
codePaths - la liste des chemins.
Returns:
la liste des tâches.
Throws:
DbException
ModelException - levé dans le cas ou une tache n'existe pas.

getTaskSums

public static TaskSums getTaskSums(Task task,
                                   java.util.Calendar fromDate,
                                   java.util.Calendar toDate)
                            throws ModelException,
                                   DbException
Parameters:
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:
ModelException - levé dans le cas ou le chemin ou le numéro de la tache en base ne sont pas ceux de la tache spécifiée.
DbException - levé en cas d'incident technique d'accès à la base.

importFromXML

public static void importFromXML(java.io.InputStream in)
                          throws java.io.IOException,
                                 DbException,
                                 javax.xml.parsers.ParserConfigurationException,
                                 org.xml.sax.SAXException,
                                 ModelException
Importe le contenu d'un fichier XML.

Parameters:
in - le flux depuis lequel est lu le flux XML.
Throws:
java.io.IOException - levé en cas d'incident I/O lors de la lecture sur le flux d'entrée
DbException - levé en cas d'incident avec la base de données.
javax.xml.parsers.ParserConfigurationException - levé en cas de mauvaise configuration du parser XML.
org.xml.sax.SAXException - levé en cas d'erreur de mauvais format du fichier XML.
ModelException - levé en cas d'incohérence des données lors de l'import

initDatabaseAccess

public 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.

moveDownTask

public static void moveDownTask(Task task)
                         throws ModelException,
                                DbException
Déplace la tache d'un cran vers le bas.

Le chemin de la tache et son numéro ne doivent pas avoir changés pour pouvoir invoquer cette méthode (la modification des attributs n'est autorisée que pour les champs autres que le chemin et le numéro de la tache.

Parameters:
task - la tache à déplacer vers le bas.
Throws:
ModelException - levé dans le cas ou le chemin ou le numéro de la tache ont changé.
DbException - levé en cas d'incident technique avec la base de données.

moveTask

public static void moveTask(Task task,
                            Task destParentTask)
                     throws ModelException,
                            DbException
Déplace la tache vers un autre endroit dans la hiérarchie des taches.

Le chemin de la tache et son numéro ne doivent pas avoir changés pour pouvoir invoquer cette méthode (la modification des attributs n'est autorisée que pour les champs autres que le chemin et le numéro de la tache.

Cette méthode est synchronisée en raison de la génération du numéro de la tache qui est déplacée à un autre chemin.

Parameters:
task - la tache à déplacer.
destParentTask - tache parent de destination.
Throws:
ModelException - levé dans le cas ou le chemin ou le numéro de la tache ont changé.
DbException - levé en cas d'incident technique avec la base de données.

moveTaskUpOrDown

public static void moveTaskUpOrDown(Task task,
                                    int newTaskNumber)
                             throws ModelException,
                                    DbException
Déplace une tache de plus d'un cran (au contraire des méthodes moveUp et moveDown.

Parameters:
task - la tache à déplacer.
newTaskNumber - le nouveau numéro de la tâche.
Throws:
ModelException - levé en cas de violation du modèle.
DbException - levé en cas d'incident technique avec la base de données.

moveUpTask

public static void moveUpTask(Task task)
                       throws ModelException,
                              DbException
Déplace la tache d'un cran vers le haut.

Le chemin de la tache et son numéro ne doivent pas avoir changés pour pouvoir invoquer cette méthode (la modification des attributs n'est autorisée que pour les champs autres que le chemin et le numéro de la tache.

Parameters:
task - la tache à déplacer vers le haut.
Throws:
ModelException - levé dans le cas ou le chemin ou le numéro de la tache ont changé.
DbException - levé en cas d'incident technique avec la base de données.

removeCollaborator

public static void removeCollaborator(Collaborator collaborator)
                               throws ModelException,
                                      DbException
Supprime un collaborateur.

Parameters:
collaborator - le collaborateur à supprimer.
Throws:
ModelException - levé dans le cas ou le collaborateur est associé à des contributions en base.
DbException - levé en cas d'incident technique d'accès à la base.

removeContribution

public static void removeContribution(Contribution contribution,
                                      boolean updateEstimatedTimeToComlete)
                               throws DbException,
                                      ModelException
Supprime une contribution.

Parameters:
contribution - la contribution à supprimer.
updateEstimatedTimeToComlete - booléen indiquant si le reste à faire doit être incrémenté.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans le cas ou la donnée a changé en base de données.

removeContributions

public static void removeContributions(Contribution[] contributions)
                                throws DbException
Supprime des contributions.

Parameters:
contributions - les contributions à supprimer.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.

removeDuration

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

Parameters:
duration - la durée à supprimer.
Throws:
ModelException - levé dans le cas ou la durée n'existe pas en base.
DbException - levé en cas d'incident technique d'accès à la base.

removeTask

public static void removeTask(Task task)
                       throws DbException,
                              ModelException
Supprime une tache.

Cette méthode est synchronisée en raison de la modification potentielle du numéro de certaines taches.

Parameters:
task - la tache à supprimer.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé en cas de violation d'une contrainte d'intégrité du modèle.

tablesExist

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

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

public static Collaborator updateCollaborator(Collaborator collaborator)
                                       throws DbException,
                                              ModelException
Modifie les attributs d'un collaborateur.

Parameters:
collaborator - le collaborateur à modifier.
Returns:
le collaborateur modifié.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé en cas de non unicité du login.

updateContribution

public static Contribution updateContribution(Contribution contribution,
                                              boolean updateEstimatedTimeToComlete)
                                       throws DbException,
                                              ModelException
Modifie les attributs d'une contribution.

Parameters:
contribution - la contribution à modifier.
updateEstimatedTimeToComlete - booléen indiquant si le reste à faire doit être décrémenté.
Returns:
la contribution modifiée.
Throws:
DbException - levé en cas d'incident technique d'accès à la base.
ModelException - levé dans le cas ou la donnée a changé en base de données.

updateDuration

public static Duration updateDuration(Duration duration)
                               throws DbException
Met à jour une durée.

Parameters:
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.

updateDuration

public static Duration updateDuration(Duration duration,
                                      Duration newDuration)
                               throws ModelException,
                                      DbException
Modifie une durée.

Pour pouvoir être modifiée, la durée ne doit pas être utilisée.

Parameters:
duration - la durée à modifier.
newDuration - la nouvelle valeur de la durée.
Returns:
la durée modifiée.
Throws:
ModelException - levé dans le cas ou la durée à changer est utilisée ou dans le cas ou la nouvelle valeur pour la durée existe déjà dans le référentiel.
DbException - levé en cas d'incident technique avec la base de données.

updateTask

public static Task updateTask(Task task)
                       throws ModelException,
                              DbException
Met à jour les attributs d'une tache en base.

Le chemin de la tache et son numéro ne doivent pas avoir changés pour pouvoir invoquer cette méthode (la modification des attributs n'est autorisée que pour les champs autres que le chemin et le numéro de la tache.

Parameters:
task - la tache à mettre à jour.
Returns:
la tache mise à jour.
Throws:
ModelException - levé dans le cas ou le chemin ou le numéro de la tache ont changé.
DbException - levé en cas d'incident technique avec la base de données.