@Override
    public Collection<RegisteredService> load() {
        val list = new ArrayList<RegisteredService>();
        val response = getSearchResultResponse();
        val clientInfo = ClientInfoHolder.getClientInfo();
        if (LdapUtils.containsResultEntry(response)) {
            response.getEntries()
                .stream()
                .map(this.ldapServiceMapper::mapToRegisteredService)
                .filter(Objects::nonNull)
                .map(this::invokeServiceRegistryListenerPostLoad)
                .filter(Objects::nonNull)
                .forEach(s -> {
                    publishEvent(new CasRegisteredServiceLoadedEvent(this, s, clientInfo));
                    list.add(s);
                });
        }
        return list;
    }
Implementation of the ServiceRegistry interface which stores the services in a LDAP Directory.

@author Misagh Moayyed
@author Marvin S. Addison
@since 4.0.0
support/cas-server-support-ldap-service-registry/src/main/java/org/apereo/cas/adaptors/ldap/services/LdapServiceRegistry.java