Bonjour à tous,
Mon titre n'est peut être pas 100% clair mais j'avais du mal à l'exprimer.
J'ai une map, pour laquelle la valeur est une liste.
Je me retrouve donc avec quelque chose du style :
myMap[obj1] = [obj1-1, obj1-2]
myMap[obj2] = [obj2-1]
myMap[obj3] = [obj3-1, obj3-2, obj3-3]
(clé = groupe / valeur = liste de users)
Enfin j'aimerai, mais ça ne fonctionne pas quand j'alimente la liste, et je ne sais pas pourquoi.
En résultat je ne vois jamais "tempChildList is not empty"
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
26 def groupsMap = [:] for (it in sql.rows(groupsQuery)) { def group = [:] if (it.parent_id != group?.id) { // new group to process group.put("id", it.parent_id) group.put("name", it.parent_name) groupsMap.put(group, []) } // create the child def child = [:] child.put("id", it.child_id) child.put("name", it.child_name) child.put("type", it.child_type) // get current child list and add new child tempChildList = groupsMap.get(group); if (tempChildList.size() > 0) { println 'tempChildList is not empty' } tempChildList.add(child); println '..... group ' + group.get("id") + ' size ' + tempChildList.size() groupsMap.put(group, tempChildList) }
Pourtant j'ai au moins 1 groupe pour lequel j'ajoute 3 users. Voici un extrait de la sortie sur la console :
Est-ce que quelqu'un vois où est mon erreur ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ..... group 14659717 size 1 ..... group 14659717 size 1 ..... group 14659717 size 1
Merci pour votre aide.
PS: Je suis débutant en Groovy, et j'utilise la version 1.8.3
Partager