import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
+import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
+import java.util.Map;
+import java.util.Set;
import com.gwtext.client.data.FieldDef;
import com.gwtext.client.data.ObjectFieldDef;
import com.pentila.evalcomp.domain.definition.Competence;
import com.pentila.evalcomp.domain.definition.EvaluationObject;
import com.pentila.evalcomp.domain.definition.EvaluationSubject;
+import com.pentila.evalcomp.domain.instance.CompetenceInstance;
import com.pentila.evalcomp.domain.instance.EvaluationSubjectInstance;
+import com.pentila.evalcomp.domain.instance.ScenarioInstance;
+import com.pentila.evalcomp.domain.transit.Todo;
// TODO: Auto-generated Javadoc
/**
}
+
+ public EvalSubViewWidget(Todo todo) {
+ initializeInterface();
+ showSelectedEvaluationSubjectTodo(todo);
+
+ }
+
+
/**
* Initialize interface.
ArrayList<Competence> listComp = new ArrayList<Competence>();
- for (EvaluationObject eo : esi.getEvaluationSubject().getEvaluationObjects()) {
-
- listComp.addAll(eo.getAllCompetences());
+
+
+
+ if (esi.getCompetenceInstances() != null){
+ for (CompetenceInstance compInst : esi.getCompetenceInstances()) {
+ listComp.add(compInst.getCompetence());
+ }
+ }else{
+
+
+
+ for (EvaluationObject eo : esi.getEvaluationSubject().getEvaluationObjects()) {
+ listComp.addAll(eo.getAllCompetences());
+ }
}
Collections.sort(listComp, new Comparator<Competence>() {
}
+ private void showSelectedEvaluationSubjectTodo(Todo todo) {
+ if (todo != null && todo.getScenarioInstance() != null ) {
+
+ ScenarioInstance si = (ScenarioInstance) todo.getScenarioInstance();
+
+ EvaluationSubjectInstance esi = si.getEvaluationSubjectInstance();
+ if (esi == null){
+ return;
+ }
+
+ Label title = new Label(Messages.getString("Couverture"));
+ title.setStyleName("label-bold");
+
+
+ ArrayList<Competence> listComp = new ArrayList<Competence>();
+
+
+ Map<String, Competence> idEO = new HashMap<String, Competence>();
+
+ Set<EvaluationObject> seo =esi
+ .getEvaluationSubject().getEvaluationObjects();
+
+ for (EvaluationObject eo : seo) {
+ for (Competence c : eo.getAllCompetences()){
+ idEO.put(c.getId().toString(), c);
+ }
+ }
+
+ int indexCID = todo.getDataMap().getIndexes().indexOf("cId");
+ Set<String> compIds = new HashSet<String>();
+
+ for (String[] line : todo.getDataMap().getDataMap()){
+ compIds.add(line[indexCID]);
+ }
+
+ if (!compIds.isEmpty()){
+ for (String cID : compIds) {
+ listComp.add(idEO.get(cID));
+ }
+ }else{
+
+
+
+ for (EvaluationObject eo : esi.getEvaluationSubject().getEvaluationObjects()) {
+ listComp.addAll(eo.getAllCompetences());
+ }
+ }
+
+ Collections.sort(listComp, new Comparator<Competence>() {
+ public int compare(Competence comp1, Competence comp2) {
+ return comp1.getName().compareTo(comp2.getName());
+ }
+ });
+
+
+ int i = 0;
+
+ Object[][] objList = new Object[listComp.size()][5];
+
+ for (Competence comp : listComp) {
+ objList[i] = new Object[]{
+ comp.getName(),
+ comp
+ };
+
+ i++;
+ }
+
+ store.removeAll();
+
+ store = new SimpleStore(0, fieldDefs, objList);
+ store.load();
+ grid.setStore(store);
+ grid.getView().setForceFit(true);
+ grid.getView().setAutoFill(true);
+
+
+ }
+
+ if (store.getCount() == 0){
+ this.hide();
+ }else{
+ this.show();
+ }
+
+ }
+
}