Bonjour,
Je m'interroge sur un phénomène assez intriguant...
J'ai mappé une collection sous forme de Set (relation many-to-many).
Mais pour des raisons d'affichage, j'ai besoin de pouvoir trier la liste.
Du coup, ni une ni deux, je transforme mon set en arraylist.
A l'affichage, tout va bien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 public Event executerRechercherListeProgrammesBascules(RequestContext rc) throws Exception { Long gestion = HabilitationUtilitaire.getGestionCourante(rc); SelectionConsultationAjoutProgrammeBasculeForm selectionProgrammesBascules = (SelectionConsultationAjoutProgrammeBasculeForm) rc .getFlowScope().get(getFormObjectName()); SousTotal programmesbascules = consocategopeserviceSO.rechercherSousTotalParcodeSousTotal(selectionProgrammesBascules .getSousTotal().getCodeSousTotal(), gestion); // faire directement un set du formulaire avec lo'bjet soustotal // selectionne (le relire, et faire le set) if (programmesbascules != null) { List<Programme> pgmbascules = new ArrayList<Programme>(programmesbascules.getLesPgmsBasculesDsChorus()); Comparator<Programme> bc = new BeanComparator("ministere.codeMinistere"); Collections.sort(pgmbascules, (Comparator<? super Programme>) bc); rc.getFlowScope().put("lesLignesProgrammeBascules", pgmbascules); // rc.getFlowScope().put("lesLignesProgrammeBascules", // programmesbascules.getLesPgmsBasculesDsChorus()); parametrerCheckboxes(rc); } return success(); }
Seul hic : si je supprime un élément de mon set (une sélection sur une checkbox, puis l'utilisateur confirme sa demande), la liste se met à jour sans même que je l'ai reconstituée...
D'où ma question : comment ça marche? Y a t-il une synchro d'office entre le set et la liste?
D'avance, merci.
Tom
Partager