@Override public void execute() { HashMap<Key<GroupDTO>, GroupDTO> invites = VeggieDinner.getGroups(me.getGroups()); myInvites = new MenuBar(true); myStuff.addItem("My Invites", myInvites); for (GroupDTO g : invites.values()) { final GroupDTO finalGroup = g; String hostsString = "Me"; for (UserDTO u : VeggieDinner.getUsers(g.getHosts()).values()) if (!u.getKey().equals(me.getKey())) hostsString += ", " + u.getUserName(); myInvites.addItem( hostsString, new Command() { @Override public void execute() { VeggieDinner.showGroup(finalGroup.getKey()); } }); } }
private HashSet<Key<UserDTO>> getHostsFromGroups(Collection<GroupDTO> groups) { HashSet<Key<UserDTO>> hosts = new HashSet<Key<UserDTO>>(); if (groups == null) return hosts; for (GroupDTO g : groups) hosts.addAll(g.getHosts()); return hosts; }