+++ /dev/null
-package com.pentila.emawsconnector.dao;
-
-import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.util.Set;
-
-import com.pentila.emawsconnector.utils.EmaWSConnector;
-import com.pentila.evalcomp.domain.Entity;
-import com.pentila.evalcomp.domain.definition.EvaluationDefinition;
-import com.pentila.evalcomp.domain.examen.Examen;
-import com.pentila.evalcomp.domain.examen.ExamenDef;
-import com.pentila.evalcomp.domain.plan.Plan;
-import com.pentila.evalcomp.service.ws.WsErrors;
-
-public class EvaluationDefinitionDAO {
-
- /**
- * Créer une nouvelle campagne d'évaluation. Après cet appel,
- * la campagne ne sera pas instantié. Il faut lui ajouter un plan,
- * un scénario d'évaluation, des candidats, des examens, etc. Et
- * ensuite la lancer.
- * @param dateStart Date de début de la campagne. Avant cette date, les candidats ne recevrons pas de tâche à effectuer
- * @param dateEnd Date de fin de la campagne
- * @param creator Créateur de la campagne
- * @param name Nom de la campagne
- * @param description description de la campagne
- * @return retourne l'identifiant de la campagne crée, ou un code d'erreur.
- */
- public Long addEvaluationDefinition(Date dateStart, Date dateEnd,
- String creator,String name, String description){
-
- String dateStartTime;
- String dateEndTime;
-
- try {
- name = java.net.URLEncoder.encode(name, "UTF-8");
- description = java.net.URLEncoder.encode(description, "UTF-8");
- creator = java.net.URLEncoder.encode(creator, "UTF-8");
- dateStartTime = java.net.URLEncoder.encode(String.valueOf(dateStart.getTime()/1000), "UTF-8");
- dateEndTime = java.net.URLEncoder.encode(String.valueOf(dateEnd.getTime()/1000), "UTF-8");
- }catch (UnsupportedEncodingException e) {
- //e.printStackTrace();
- return null;
- }
-
- Long result = -6L;
- result = EmaWSConnector.read("evaluationDefinition/addEvaluationDefinition?" +
- "name="+name+
- "&description="+description+
- "&creator="+creator+
- "&dateStart="+dateStartTime+
- "&dateEnd="+dateEndTime+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
-
- return result;
- }
-
- /**
- * Obtenir une campagne existante
- * @param edid identifiant de la campagne
- * @return retourne la campagne correspondante, null en cas d'erreur
- */
- public EvaluationDefinition getEvaluationDefinition(Long edid) {
- EvaluationDefinition result = new EvaluationDefinition();
- result = EmaWSConnector.read("evaluationDefinition/getEvaluationDefinition?" +
- "id="+edid+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
-
- /**
- * Mettre à jour le plan de formation dans lequel s'inscrit la campagne.
- * @param ed la campagne d'évaluation concernée
- * @param plan le nouveau plan de formation
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer replacePlan(EvaluationDefinition ed, Plan plan) {
- Integer result = WsErrors.ERROR_UNDEFINED;
- result = EmaWSConnector.read("evaluationDefinition/replacePlan?" +
- "ed="+ed.getId()+
- "&plan="+plan.getId()+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * Mettre à jour le scénario d'évaluation dans une campagne
- * @param ed identifiant de la campagne concernée
- * @param uuid identifiant du nouveau scénario
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer replaceScenarioEvaluation(EvaluationDefinition ed, String uuid) {
- Integer result = WsErrors.ERROR_UNDEFINED;
- result = EmaWSConnector.read("evaluationDefinition/replaceScenarioEvaluation?" +
- "ed="+ed.getId()+
- "&scenario="+uuid+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * Mettre à jour la valeur d'une propriété d'un scénario dans une campagne
- * @param property identifiant de la propriété à modifier
- * @param value la nouvelle valeur
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer updateScenarioProperty(Long property, String value) {
- Integer result = WsErrors.ERROR_UNDEFINED;
- result = EmaWSConnector.read("scenario/updateProperty?" +
- "property="+property+
- "&value="+value+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * Ajouter un examen dans une compagne d'évaluation.
- * @param ed la campagne d'évaluation concernée
- * @param examen l'examen à ajouter
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer addExamen(EvaluationDefinition ed, Examen examen) {
- Integer result = WsErrors.ERROR_UNDEFINED;
- result = EmaWSConnector.read("evaluationDefinition/updateExamen?" +
- "ed="+ed.getId()+
- "&examen="+examen.getId()+
- "&action=add"+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * enlève un examen dans une compagne d'évaluation.
- * @param ed la campagne d'évaluation concernée
- * @param e l'examen à enlever
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer removeExamen(EvaluationDefinition ed, ExamenDef e) {
- Integer result = WsErrors.ERROR_UNDEFINED;
- result = EmaWSConnector.read("evaluationDefinition/updateExamen?" +
- "ed="+ed.getId()+
- "&examen="+e.getId()+
- "&action=remove"+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * Mettre à jour des attributs de la campagne. Notez que si
- * la campagne a déjà été instantié, cette modification n'aura pas
- * d'effet pour les utilisateurs : leurs tâches sont déjà instanciés
- * avec les paramètres au moment de l'instantiation. Pour que ces
- * nouvelles valeurs soit prises en compte dans les tâches d'un
- * candidat, il faut réinialiser l'instance du candidat.
- * @param ed l'evaluationDefinition à sauvegarder
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer editEvaluationDefinition(EvaluationDefinition ed) {
- Integer result = WsErrors.ERROR_UNDEFINED;
-
- String url = "";
- try {
- url = "evaluationDefinition/editEvaluationDefinition?" +
- "id="+java.net.URLEncoder.encode(ed.getId().toString(), "UTF-8")+
- "&name="+java.net.URLEncoder.encode(ed.getName(), "UTF-8")+
- "&dateStart="+java.net.URLEncoder.encode(String.valueOf(ed.getDateStart().getTime()), "UTF-8")+
- "&dateEnd="+java.net.URLEncoder.encode(String.valueOf(ed.getDateEnd().getTime()), "UTF-8")+
- "&login=" + EmaWSConnector.getLogin();
- } catch (UnsupportedEncodingException e) {
- return null;
- }
-
- result = EmaWSConnector.read(url, result.getClass());
- return result;
- }
-
- /**
- * Ajouter des personnes/groupes dans une campagne d'évaluation
- * @param ed l'evaluationDefinition concernée
- * @param entities entités à ajouter
- * @param role rôle des entités. Par exemple, "Candidats".
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer addEntities(EvaluationDefinition ed, Set<Entity> entities, String role) {
- Integer result = WsErrors.ERROR_UNDEFINED;
-
- String entitiesString = "";
- for(Entity e : entities){
- entitiesString += e.getUid() + ",";
- }
- entitiesString = entitiesString.substring(0, entitiesString.length()-1);
-
- result = EmaWSConnector.read("evaluationDefinition/updateEntities?" +
- "ed="+ed.getId()+
- "&entities="+entitiesString+
- "&role="+role+
- "&action=add"+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * supprime des personnes/groupes dans une campagne d'évaluation
- * @param ed l'evaluationDefinition concernée
- * @param entities entités à supprimer
- * @param role rôle des entités. Par exemple, "Candidats".
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer removeEntities(EvaluationDefinition ed, Set<Entity> entities, String role) {
- Integer result = WsErrors.ERROR_UNDEFINED;
-
- String entitiesString = "";
- for(Entity e : entities){
- entitiesString += e.getUid() + ",";
- }
- entitiesString = entitiesString.substring(0, entitiesString.length()-1);
-
- result = EmaWSConnector.read("evaluationDefinition/updateEntities?" +
- "ed="+ed.getId()+
- "&entities="+entitiesString+
- "&action=remove"+
- "&role="+role+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * Instantiation de la campagne. Va générer les tâches pour les users.
- * Correspond au "lancement" de la campagne
- * @param ed l'evaluationDefinition à instantier
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer instantiateED(EvaluationDefinition ed) {
- Integer result = WsErrors.ERROR_UNDEFINED;
- result = EmaWSConnector.read("evaluationDefinition/instantiateED?" +
- "ed="+ed.getId()+
- "&login=" + EmaWSConnector.getLogin(), result.getClass());
- return result;
- }
-
- /**
- * Suppression de la campagne. Entraine la suppression des résultats associés
- * @param ed la campagne d'evaluation à supprimer
- * @return retourne le code d'erreur correspondant au résultat
- */
- public Integer deleteEvaluationDefinition(EvaluationDefinition ed) {
- return EmaWSConnector.read("evaluationDefinition/deleteEvaluationDefinition?" +
- "ed="+ed.getId()+
- "&login=" + EmaWSConnector.getLogin(), Integer.class);
-
- }
-
-}