@Override public GroupDescription.Basic get(final AccountGroup.UUID uuid) { if (!handles(uuid)) { return null; } String groupDn = uuid.get().substring(LDAP_UUID.length()); CurrentUser user = userProvider.get(); if (!(user instanceof IdentifiedUser) || !membershipsOf((IdentifiedUser) user).contains(uuid)) { try { if (!existsCache.get(groupDn)) { return null; } } catch (ExecutionException e) { log.warn(String.format("Cannot lookup group %s in LDAP", groupDn), e); return null; } } final String name = LDAP_NAME + cnFor(groupDn); return new GroupDescription.Basic() { @Override public AccountGroup.UUID getGroupUUID() { return uuid; } @Override public String getName() { return name; } @Override @Nullable public String getEmailAddress() { return null; } @Override @Nullable public String getUrl() { return null; } }; }
private boolean isLdapUUID(AccountGroup.UUID uuid) { return uuid.get().startsWith(LDAP_UUID); }