1 package com.pentila.emawsconnector.manager;
6 import com.pentila.emawsconnector.dao.EvaluationDefinitionDAO;
7 import com.pentila.evalcomp.domain.Entity;
8 import com.pentila.evalcomp.domain.definition.EvaluationDefinition;
9 import com.pentila.evalcomp.domain.examen.Examen;
10 import com.pentila.evalcomp.domain.examen.ExamenDef;
11 import com.pentila.evalcomp.domain.plan.Plan;
12 import com.pentila.evalcomp.service.ws.WsErrors;
14 public class EvaluationDefinitionManager {
16 EvaluationDefinitionDAO edDAO = new EvaluationDefinitionDAO();
19 * Créer une nouvelle campagne d'évaluation. Après cet appel,
20 * la campagne ne sera pas instantié. Il faut lui ajouter un plan,
21 * un scénario d'évaluation, des candidats, des examens, etc. Et
23 * @param dateStart Date de début de la campagne. Avant cette date, les candidats ne recevrons pas de tâche à effectuer
24 * @param dateEnd Date de fin de la campagne
25 * @param creator Créateur de la campagne
26 * @param name Nom de la campagne
27 * @param description description de la campagne
28 * @return retourne la campagne d'évaluation créée
30 public EvaluationDefinition addEvaluationDefinition(Date dateStart, Date dateEnd,
31 String creator,String name, String description){
32 Long result = edDAO.addEvaluationDefinition(dateStart, dateEnd, creator, name, description);
37 return getEvaluationDefinition(result);
43 * Suppression de la campagne. Entraine la suppression des résultats associés
44 * @param ed la campagne d'evaluation à supprimer
46 public void deleteEvaluationDefinition(EvaluationDefinition ed){
47 Integer result = edDAO.deleteEvaluationDefinition(ed);
49 if(result != null && result != WsErrors.WS_OK){
50 System.out.println(WsErrors.getError(result));
55 * Mettre à jour le plan de formation dans lequel s'inscrit la campagne.
56 * @param ed la campagne d'évaluation concernée
57 * @param plan le nouveau plan de formation
58 * @return retourne la campagne mise à jour
60 public EvaluationDefinition replacePlan(EvaluationDefinition ed, Plan plan) {
61 Integer result = edDAO.replacePlan(ed,plan);
62 if(null == result || result != WsErrors.WS_OK){
66 return getEvaluationDefinition(ed.getId());
71 * Mettre à jour le scénario d'évaluation dans une campagne
72 * @param ed identifiant de la campagne concernée
73 * @param uuid identifiant du nouveau scénario
74 * @return retourne la campagne mise à jour
76 public EvaluationDefinition replaceScenarioEvaluation(EvaluationDefinition ed, String uuid) {
77 Integer result = edDAO.replaceScenarioEvaluation(ed, uuid);
78 if(null == result || result != WsErrors.WS_OK){
82 return getEvaluationDefinition(ed.getId());
87 * Obtenir une campagne existante
88 * @param id identifiant de la campagne
89 * @return retourne la campagne correspondante, null en cas d'erreur
91 public EvaluationDefinition getEvaluationDefinition(Long id) {
92 return edDAO.getEvaluationDefinition(id);
96 * Mettre à jour la valeur d'une propriété d'un scénario dans une campagne
97 * @param property identifiant de la propriété à modifier
98 * @param value la nouvelle valeur
99 * @return retourne true en cas de succès
101 public Boolean updateScenarioProperty(Long property, String value){
102 Integer result = edDAO.updateScenarioProperty(property, value);
103 if(null == result || result != WsErrors.WS_OK){
112 * Ajouter un examen dans une compagne d'évaluation.
113 * @param ed la campagne d'évaluation concernée
114 * @param examen l'examen à ajouter
115 * @return retourne la campagne mise à jour
117 public EvaluationDefinition addExamen(EvaluationDefinition ed, Examen examen){
118 Integer result = edDAO.addExamen(ed,examen);
119 if(null == result || result != WsErrors.WS_OK){
123 return getEvaluationDefinition(ed.getId());
128 * enlève un examen dans une compagne d'évaluation.
129 * @param ed la campagne d'évaluation concernée
130 * @param e l'examen à enlever
131 * @return retourne la campagne mise à jour
133 public EvaluationDefinition removeExamen(EvaluationDefinition ed, ExamenDef e){
134 Integer result = edDAO.removeExamen(ed,e);
135 if(null == result || result != WsErrors.WS_OK){
139 return getEvaluationDefinition(ed.getId());
144 * Mettre à jour des attributs de la campagne. Notez que si
145 * la campagne a déjà été instantié, cette modification n'aura pas
146 * d'effet pour les utilisateurs : leurs tâches sont déjà instanciés
147 * avec les paramètres au moment de l'instantiation. Pour que ces
148 * nouvelles valeurs soit prises en compte dans les tâches d'un
149 * candidat, il faut réinialiser l'instance du candidat.
150 * @param ed l'evaluationDefinition à sauvegarder
151 * @return retourne la campagne mise à jour
153 public EvaluationDefinition editEvaluationDefinition(EvaluationDefinition ed){
154 Integer result = edDAO.editEvaluationDefinition(ed);
155 if(null == result || result != WsErrors.WS_OK){
159 return getEvaluationDefinition(ed.getId());
164 * Ajouter des personnes/groupes dans une campagne d'évaluation
165 * @param ed l'evaluationDefinition concernée
166 * @param entities entités à ajouter
167 * @param role rôle des entités. Par exemple, "Candidats".
168 * @return la campagne mise à jour
170 public EvaluationDefinition addEntities(EvaluationDefinition ed, Set<Entity> entities, String role){
171 Integer result = edDAO.addEntities(ed, entities, role);
172 if(null == result || result != WsErrors.WS_OK){
176 return getEvaluationDefinition(ed.getId());
181 * supprime des personnes/groupes dans une campagne d'évaluation
182 * @param ed l'evaluationDefinition concernée
183 * @param entities entités à supprimer
184 * @param role rôle des entités. Par exemple, "Candidats".
185 * @return retourne la campagne mise à jour
187 public EvaluationDefinition removeEntities(EvaluationDefinition ed, Set<Entity> entities, String role){
188 Integer result = edDAO.removeEntities(ed, entities, role);
189 if(null == result || result != WsErrors.WS_OK){
193 return getEvaluationDefinition(ed.getId());
198 * Instantiation de la campagne. Va générer les tâches pour les users.
199 * Correspond au "lancement" de la campagne
200 * @param ed l'evaluationDefinition à instantier
201 * @return retourne la campagne mise à jour
203 public EvaluationDefinition instantiateED(EvaluationDefinition ed){
204 Integer result = edDAO.instantiateED(ed);
205 if(null == result || result != WsErrors.WS_OK){
209 return getEvaluationDefinition(ed.getId());