1 package com.pentila.emawsconnector;
4 import java.util.HashSet;
8 import com.pentila.emawsconnector.manager.EvaluationDefinitionManager;
9 import com.pentila.emawsconnector.manager.EvaluationObjectManager;
10 import com.pentila.emawsconnector.manager.ExamenManager;
11 import com.pentila.emawsconnector.manager.InstanceManager;
12 import com.pentila.emawsconnector.manager.PlanManager;
13 import com.pentila.emawsconnector.manager.RessourceManager;
14 import com.pentila.emawsconnector.manager.WorkFlowManager;
15 import com.pentila.emawsconnector.utils.EmaWSConnector;
16 import com.pentila.evalcomp.domain.Entity;
17 import com.pentila.evalcomp.domain.RessourceDefinition;
18 import com.pentila.evalcomp.domain.User;
19 import com.pentila.evalcomp.domain.definition.EvaluationDefinition;
20 import com.pentila.evalcomp.domain.definition.EvaluationSubject;
21 import com.pentila.evalcomp.domain.definition.Property;
22 import com.pentila.evalcomp.domain.definition.Referentiel;
23 import com.pentila.evalcomp.domain.definition.ScenarioDefinition;
24 import com.pentila.evalcomp.domain.examen.Examen;
25 import com.pentila.evalcomp.domain.plan.Plan;
26 import com.pentila.evalcomp.domain.transit.Activity;
27 import com.pentila.evalcomp.domain.transit.Todo;
28 import com.pentila.evalcomp.domain.transit.TransitProcessDefinition;
36 * Cette classe présente des exemples d'utilisation de ce connecteur.
39 public class ShowCase {
41 public static void main(String[] args) {
43 String url = "http://127.0.0.1:8888/webservices/";
44 String login = "JEAN-MICHEL.JULLIEN";
46 //String url = "https://tice-a88.univ-savoie.fr/EvalComp/webservices/";
47 //String login = "pentila";
50 new EmaWSConnector(url,"xml",login);
52 // Création des managers
53 PlanManager planManager = new PlanManager();
54 EvaluationObjectManager eomc = new EvaluationObjectManager();
55 EvaluationDefinitionManager edmc = new EvaluationDefinitionManager();
56 ExamenManager emc = new ExamenManager();
57 InstanceManager imc = new InstanceManager();
58 RessourceManager rm = new RessourceManager();
60 // création d'un nouveau plan
61 Date temp = new Date();
62 String sName = temp.getHours() + ":" + temp.getMinutes() + ":" + temp.getSeconds();
63 Plan plan = planManager.addPlan(sName, "description", "ville");
65 // Ajout / suppression de tous les référentiels existants au plan nouvellement créé
66 for(Referentiel r : eomc.getAllReferentiels()){
67 planManager.addReferentiel(plan, r);
68 //planManager.removeReferentiel(plan, r);
71 // Ajout de l'utilisateur logué en tant que gestionnaire pédagogique au plan
72 Set<String> logins = new HashSet<String>();
74 plan = planManager.updateEntities(plan, logins, "add", "ROLE_MANAGER");
75 plan = planManager.updateEntities(plan, logins, "add", "ROLE_PEDA");
76 plan = planManager.updateEntities(plan, logins, "add", "ROLE_SCO");
78 // Affichage des managers du plan
79 Set<Entity> set = plan.getEntitiesByRole("ROLE_MANAGER");
82 //System.out.println(e.getUid());
86 // Création d'une nouvelle campagne
87 Date start = new Date();
88 Date end = new Date();
90 end.setTime(end.getTime() + 1000*60*60*10); // now + 10h
92 EvaluationDefinition ed = edmc.addEvaluationDefinition(start, end, login, "ma campagne à "+sName, "description");
94 // Ajout du plan créé plus tôt
95 ed = edmc.replacePlan(ed, plan);
97 // Ajout d'un scénario d'évaluation
98 WorkFlowManager wfmc = new WorkFlowManager();
99 List<TransitProcessDefinition> tpds = wfmc.getAllScenarios();
101 for(TransitProcessDefinition tpd : tpds){
102 //System.out.println(tpd.getName() + " : " + tpd.getUUID());
103 if("Examen_Theorique".equalsIgnoreCase(tpd.getId())){
104 ed = edmc.replaceScenarioEvaluation(ed, tpd.getUUID());
110 // Exemple de modifiction d'une propriété du scénario
111 ScenarioDefinition sd = ed.getScenarioDefinitions().iterator().next();
112 for(Property p : sd.getPid().getProperties()){
113 if("PROPERTY_time".equals(p.getName())){
114 edmc.updateScenarioProperty(p.getId(), String.valueOf(1000*60*60*11));
119 // Exemple de recherche d'examen, et d'affichage des questions
120 /*for(Examen e : eomc.searchExamen("", "", "")){
121 e = eomc.getExamen(e.getId());
122 System.out.println("\n"+e.getNom_examen());
123 for(Question q : e.getQuestions()){
124 System.out.println(q.getTitle());
128 // recherche et ajout d'exercices dans la campagne
129 for(Examen e : emc.searchExamen("", "", "")){
130 e = emc.getExamen(e.getId());
131 ed = edmc.addExamen(ed, e);
134 // suppression d'exercices dans la campagne
135 /*for(ExamenDef e : ed.getExamenDefs()){
136 ed = edmc.removeExamen(ed, e);
139 /* exemple de modification de campagne (nom, dates) */
140 ed.setName(ed.getName()+"*");
141 ed.getDateStart().setTime(ed.getDateStart().getTime() -1000000);
142 ed.getDateEnd().setTime(ed.getDateEnd().getTime() + 1000000);
143 ed = edmc.editEvaluationDefinition(ed);
145 /* ajout de candidat*/
146 Set<Entity> entities = new HashSet<Entity>();
152 /*Group g = new Group();
153 g.setUid("Administrateurs");
156 edmc.addEntities(ed, entities, "Candidats");
157 //edmc.removeEntities(ed, entities, "Candidats");
161 /* ajout de ressources */
164 for(EvaluationSubject es : ed.getEvaluationSubjects()){
165 for(Activity a : sd.getActivities()){
166 rm.addRessourceDefinitionToES(es.getId(), a.getId(), "ressource n°"+cpt+".html");
171 /* On recharge la campagne pour prendre en compte l'ajout des ressources dans le SD */
172 ed = edmc.getEvaluationDefinition(ed.getId());
174 /* exemple de modification de ressources */
175 System.out.print("\n");
176 for(EvaluationSubject es : ed.getEvaluationSubjects()){
177 for(RessourceDefinition rd : es.getRessourceDefinitions()){
178 rm.saveRessource(rd, "modifié le " + (new Date()).toLocaleString());
179 System.out.print("\ncontent ressource = " + rm.getRessourceAsString(rd));
180 /* suppression d'une ressource : */
181 rm.deleteRessource(rd);
186 /* Instantiation de la campagne d'évaluation */
187 edmc.instantiateED(ed);
190 /* obtenir la liste des taches dans une campagne de l'utilisateur connecté : */
191 List<Todo> todos = imc.getTodoED(ed);
193 for(Todo todo : todos){
194 for(Activity activity : todo.getProcess().getActivities()){
195 //System.out.print("\n");
196 //System.out.println("127.0.0.1:8888/ServiceEntryPoint.jsp?gwt.codesvr=127.0.0.1:9997&siid="+todo.getProcess().getSIID()+"&activity="+activity.getId());
197 //System.out.println("https://tice-a88.univ-savoie.fr/EvalComp/ServiceEntryPoint.jsp?siid="+todo.getProcess().getSIID()+"&activity="+activity.getId());
203 /* supprimer une campagne d'évaluation (entraine la suppression
204 * des résultats d'évaluation produits dans le cadre de cette
206 //edmc.deleteEvaluationDefinition(ed);