@@ -141,34 +141,27 @@ private List<? extends Map<String,String>> getData() throws Exception {
141141 private Set <Long > getGroupMembers () throws Exception {
142142 Set <Long > members = new HashSet <Long >();
143143 LinkedList <Long > gids = new LinkedList <Long >(groupIds );
144- Set <Long > gidProcessed = new HashSet <Long >();
145- boolean finished = false ;
146-
147- while (!finished ) {
148- ListIterator <Long > iter = gids .listIterator ();
149- while (iter .hasNext ()) {
150- Long gid = iter .next ();
151- if (!gidProcessed .contains (gid )) {
152- logger .info ("processing gid: " + gid );
153- RestResult <GroupMember > result = getGroupMemberByGid (gid );
154- if (result == null ) {
155- continue ;
156- }
157- for (GroupMember gm : result .getContent ()) {
158- if (gm .isGroup ()) {
159- if (!gids .contains (gm .getMemberId ())) {
160- iter .add (gm .getMemberId ());
161- }
162- logger .info (" inner group: " + gm .getMemberId ());
163- } else {
164- members .add (gm .getMemberId ());
165- }
144+ ListIterator <Long > iter = gids .listIterator ();
145+ while (iter .hasNext ()) {
146+ Long gid = iter .next ();
147+ logger .info ("processing gid: " + gid );
148+ RestResult <GroupMember > result = getGroupMemberByGid (gid );
149+ if (result == null ) {
150+ logger .error ("fail to get group members with gid: " + gid );
151+ continue ;
152+ }
153+ for (GroupMember gm : result .getContent ()) {
154+ if (gm .isGroup ()) {
155+ if (!gids .contains (gm .getMemberId ())) {
156+ iter .add (gm .getMemberId ());
166157 }
167- gidProcessed .add (gid );
158+ logger .info (" inner group: " + gm .getMemberId ());
159+ } else {
160+ members .add (gm .getMemberId ());
168161 }
169162 }
170- if (gids .size () == gidProcessed .size ()) finished = true ;
171163 }
164+
172165 return members ;
173166 }
174167
0 commit comments