1 package com.pentila.emawsconnector.dao;
4 import java.io.UnsupportedEncodingException;
5 import java.util.ArrayList;
9 import com.pentila.emawsconnector.utils.EmaWSConnector;
10 import com.pentila.evalcomp.domain.definition.Referentiel;
11 import com.pentila.evalcomp.domain.plan.Plan;
12 import com.pentila.evalcomp.service.ws.WsErrors;
15 public class PlanDAO {
19 * Obtenir la liste des plans de formation
20 * @return retourne la liste des plans de formation existants.
22 public List<Plan> getPlans(){
23 List<Plan> result = new ArrayList<Plan>();
24 result = EmaWSConnector.read("plan/getAll?login=" + EmaWSConnector.getLogin(), result.getClass());
29 * Obtenir un plan de formation existant.
30 * @param id identifiant du plan de formation
31 * @return retourne le plan
33 public Plan getPlan(Long id){
35 Plan result = new Plan();
36 result = EmaWSConnector.read("plan/getPlan?id="+id+
37 "&login=" + EmaWSConnector.getLogin(), result.getClass());
41 Integer error = EmaWSConnector.read("plan/getPlan?id="+id+
42 "&login=" + EmaWSConnector.getLogin(), Integer.class);
43 System.out.println("erreur : " + error);
49 * Créer un nouveau plan de formation
50 * @param nom nom du plan de formation
51 * @param organisation organisation (ou établissement)
52 * @param ville ville dans laquelle est présente l'organisation
53 * @return retourne le plan de formation crée (null en cas d'erreur)
55 public Plan addPlan(String nom, String organisation, String ville){
57 nom = java.net.URLEncoder.encode(nom, "UTF-8");
58 organisation = java.net.URLEncoder.encode(organisation, "UTF-8");
59 ville = java.net.URLEncoder.encode(ville, "UTF-8");
60 }catch (UnsupportedEncodingException e) {
61 //e.printStackTrace();
65 Long result = (long) -1;
66 result = EmaWSConnector.read("plan/addPlan?nom="+nom+
67 "&organisation="+organisation+
69 "&login=" + EmaWSConnector.getLogin(), result.getClass());
71 if(result != null && result >= 0){
72 return getPlan(result);
80 * Ajoute un référentiel d'un plan.
81 * @param plan le plan de formation
82 * @param referentiel le référentiel
83 * @return retourne le plan mis à jour, null en cas d'erreur
85 public Plan addReferentiel(Plan plan, Referentiel referentiel){
87 Integer result = EmaWSConnector.read("plan/updateReferentiel?plan="+plan.getId()+
88 "&referentiel="+referentiel.getId()+
90 "&login="+EmaWSConnector.getLogin(), Integer.class);
91 if(result != null && result == WsErrors.WS_OK){
92 return getPlan(plan.getId());
100 * supprime un référentiel d'un plan.
101 * @param plan le plan de formation
102 * @param referentiel le référentiel
103 * @return retourne le plan mis à jour, null en cas d'erreur
105 public Plan removeReferentiel(Plan plan, Referentiel referentiel){
106 Integer result = EmaWSConnector.read("plan/updateReferentiel?plan="+plan.getId()+
107 "&referentiel="+referentiel.getId()+
109 "&login="+EmaWSConnector.getLogin(), Integer.class);
110 if(result != null && result == WsErrors.WS_OK){
111 return getPlan(plan.getId());
118 public Plan updateEntities(Long planID, Set<String> logins,
119 String action, String role) {
120 String entities = "";
122 for(String s : logins){
127 entities = entities.substring(0, entities.length()-1);
129 Integer result = EmaWSConnector.read("plan/updateEntities?plan="+planID+
130 "&entities="+entities+
133 "&login="+EmaWSConnector.getLogin(), Integer.class);
135 if(result != null && result == WsErrors.WS_OK){
136 return getPlan(planID);