--- /dev/null
+package com.pentila.emawsconnector;
+
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import com.pentila.emawsconnector.manager.EvaluationDefinitionManager;
+import com.pentila.emawsconnector.manager.EvaluationObjectManager;
+import com.pentila.emawsconnector.manager.ExamenManager;
+import com.pentila.emawsconnector.manager.InstanceManager;
+import com.pentila.emawsconnector.manager.PlanManager;
+import com.pentila.emawsconnector.manager.RessourceManager;
+import com.pentila.emawsconnector.manager.WorkFlowManager;
+import com.pentila.emawsconnector.utils.EmaWSConnector;
+import com.pentila.evalcomp.domain.Entity;
+import com.pentila.evalcomp.domain.RessourceDefinition;
+import com.pentila.evalcomp.domain.User;
+import com.pentila.evalcomp.domain.definition.EvaluationDefinition;
+import com.pentila.evalcomp.domain.definition.EvaluationSubject;
+import com.pentila.evalcomp.domain.definition.Property;
+import com.pentila.evalcomp.domain.definition.Referentiel;
+import com.pentila.evalcomp.domain.definition.ScenarioDefinition;
+import com.pentila.evalcomp.domain.examen.Examen;
+import com.pentila.evalcomp.domain.plan.Plan;
+import com.pentila.evalcomp.domain.transit.Activity;
+import com.pentila.evalcomp.domain.transit.Todo;
+import com.pentila.evalcomp.domain.transit.TransitProcessDefinition;
+
+
+
+
+/**
+ *
+ * @author Pentila.
+ * Cette classe présente des exemples d'utilisation de ce connecteur.
+ *
+ */
+public class ShowCase {
+
+ public static void main(String[] args) {
+
+ String url = "http://127.0.0.1:8888/webservices/";
+ String login = "JEAN-MICHEL.JULLIEN";
+
+ //String url = "https://tice-a88.univ-savoie.fr/EvalComp/webservices/";
+ //String login = "pentila";
+
+
+ new EmaWSConnector(url,"xml",login);
+
+ // Création des managers
+ PlanManager planManager = new PlanManager();
+ EvaluationObjectManager eomc = new EvaluationObjectManager();
+ EvaluationDefinitionManager edmc = new EvaluationDefinitionManager();
+ ExamenManager emc = new ExamenManager();
+ InstanceManager imc = new InstanceManager();
+ RessourceManager rm = new RessourceManager();
+
+ // création d'un nouveau plan
+ Date temp = new Date();
+ String sName = temp.getHours() + ":" + temp.getMinutes() + ":" + temp.getSeconds();
+ Plan plan = planManager.addPlan(sName, "description", "ville");
+
+ // Ajout / suppression de tous les référentiels existants au plan nouvellement créé
+ for(Referentiel r : eomc.getAllReferentiels()){
+ planManager.addReferentiel(plan, r);
+ //planManager.removeReferentiel(plan, r);
+ }
+
+ // Ajout de l'utilisateur logué en tant que gestionnaire pédagogique au plan
+ Set<String> logins = new HashSet<String>();
+ logins.add(login);
+ plan = planManager.updateEntities(plan, logins, "add", "ROLE_MANAGER");
+ plan = planManager.updateEntities(plan, logins, "add", "ROLE_PEDA");
+ plan = planManager.updateEntities(plan, logins, "add", "ROLE_SCO");
+
+ // Affichage des managers du plan
+ Set<Entity> set = plan.getEntitiesByRole("ROLE_MANAGER");
+ if(set != null){
+ for(Entity e : set){
+ //System.out.println(e.getUid());
+ }
+ }
+
+ // Création d'une nouvelle campagne
+ Date start = new Date();
+ Date end = new Date();
+
+ end.setTime(end.getTime() + 1000*60*60*10); // now + 10h
+
+ EvaluationDefinition ed = edmc.addEvaluationDefinition(start, end, login, "ma campagne à "+sName, "description");
+
+ // Ajout du plan créé plus tôt
+ ed = edmc.replacePlan(ed, plan);
+
+ // Ajout d'un scénario d'évaluation
+ WorkFlowManager wfmc = new WorkFlowManager();
+ List<TransitProcessDefinition> tpds = wfmc.getAllScenarios();
+
+ for(TransitProcessDefinition tpd : tpds){
+ //System.out.println(tpd.getName() + " : " + tpd.getUUID());
+ if("Examen_Theorique".equalsIgnoreCase(tpd.getId())){
+ ed = edmc.replaceScenarioEvaluation(ed, tpd.getUUID());
+
+ break;
+ }
+ }
+
+ // Exemple de modifiction d'une propriété du scénario
+ ScenarioDefinition sd = ed.getScenarioDefinitions().iterator().next();
+ for(Property p : sd.getPid().getProperties()){
+ if("PROPERTY_time".equals(p.getName())){
+ edmc.updateScenarioProperty(p.getId(), String.valueOf(1000*60*60*11));
+ }
+ }
+
+
+ // Exemple de recherche d'examen, et d'affichage des questions
+ /*for(Examen e : eomc.searchExamen("", "", "")){
+ e = eomc.getExamen(e.getId());
+ System.out.println("\n"+e.getNom_examen());
+ for(Question q : e.getQuestions()){
+ System.out.println(q.getTitle());
+ }
+ }*/
+
+ // recherche et ajout d'exercices dans la campagne
+ for(Examen e : emc.searchExamen("", "", "")){
+ e = emc.getExamen(e.getId());
+ ed = edmc.addExamen(ed, e);
+ }
+
+ // suppression d'exercices dans la campagne
+ /*for(ExamenDef e : ed.getExamenDefs()){
+ ed = edmc.removeExamen(ed, e);
+ }*/
+
+ /* exemple de modification de campagne (nom, dates) */
+ ed.setName(ed.getName()+"*");
+ ed.getDateStart().setTime(ed.getDateStart().getTime() -1000000);
+ ed.getDateEnd().setTime(ed.getDateEnd().getTime() + 1000000);
+ ed = edmc.editEvaluationDefinition(ed);
+
+ /* ajout de candidat*/
+ Set<Entity> entities = new HashSet<Entity>();
+
+ User u = new User();
+ u.setUid(login);
+ entities.add(u);
+
+ /*Group g = new Group();
+ g.setUid("Administrateurs");
+ entities.add(g);*/
+
+ edmc.addEntities(ed, entities, "Candidats");
+ //edmc.removeEntities(ed, entities, "Candidats");
+
+
+
+ /* ajout de ressources */
+ Integer cpt = 0;
+
+ for(EvaluationSubject es : ed.getEvaluationSubjects()){
+ for(Activity a : sd.getActivities()){
+ rm.addRessourceDefinitionToES(es.getId(), a.getId(), "ressource n°"+cpt+".html");
+ cpt++;
+ }
+ }
+
+ /* On recharge la campagne pour prendre en compte l'ajout des ressources dans le SD */
+ ed = edmc.getEvaluationDefinition(ed.getId());
+
+ /* exemple de modification de ressources */
+ System.out.print("\n");
+ for(EvaluationSubject es : ed.getEvaluationSubjects()){
+ for(RessourceDefinition rd : es.getRessourceDefinitions()){
+ rm.saveRessource(rd, "modifié le " + (new Date()).toLocaleString());
+ System.out.print("\ncontent ressource = " + rm.getRessourceAsString(rd));
+ /* suppression d'une ressource : */
+ rm.deleteRessource(rd);
+ }
+ }
+
+
+ /* Instantiation de la campagne d'évaluation */
+ edmc.instantiateED(ed);
+
+
+ /* obtenir la liste des taches dans une campagne de l'utilisateur connecté : */
+ List<Todo> todos = imc.getTodoED(ed);
+
+ for(Todo todo : todos){
+ for(Activity activity : todo.getProcess().getActivities()){
+ //System.out.print("\n");
+ //System.out.println("127.0.0.1:8888/ServiceEntryPoint.jsp?gwt.codesvr=127.0.0.1:9997&siid="+todo.getProcess().getSIID()+"&activity="+activity.getId());
+ //System.out.println("https://tice-a88.univ-savoie.fr/EvalComp/ServiceEntryPoint.jsp?siid="+todo.getProcess().getSIID()+"&activity="+activity.getId());
+ }
+ }
+
+
+
+ /* supprimer une campagne d'évaluation (entraine la suppression
+ * des résultats d'évaluation produits dans le cadre de cette
+ * campagne */
+ //edmc.deleteEvaluationDefinition(ed);
+
+
+ }
+
+}
\ No newline at end of file