Synchronisation Set -ArrayList
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.
Code:
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();
} |
A l'affichage, tout va bien...
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