@Override public GroupDescription.Internal get(AccountGroup.UUID uuid) { if (!handles(uuid)) { return null; } AccountGroup g = groupCache.get(uuid); if (g == null) { return null; } return GroupDescriptions.forAccountGroup(g); }
@Override public Collection<GroupReference> suggest(final String name, final ProjectControl project) { Iterable<AccountGroup> filtered = Iterables.filter( groupCache.all(), new Predicate<AccountGroup>() { @Override public boolean apply(AccountGroup group) { // startsWithIgnoreCase && isVisible return group.getName().regionMatches(true, 0, name, 0, name.length()) && groupControlFactory.controlFor(group).isVisible(); } }); return Lists.newArrayList(Iterables.transform(filtered, ACT_GROUP_TO_GROUP_REF)); }