Search in sources :

Example 1 with CasRegisteredServiceLoadedEvent

use of org.apereo.cas.support.events.service.CasRegisteredServiceLoadedEvent in project cas by apereo.

the class CouchbaseServiceRegistry method load.

@Override
public List<RegisteredService> load() {
    try {
        final ViewResult allKeys = executeViewQueryForAllServices();
        final List<RegisteredService> services = new ArrayList<>();
        for (final ViewRow row : allKeys) {
            final RawJsonDocument document = row.document(RawJsonDocument.class);
            if (document != null) {
                final String json = document.content();
                LOGGER.debug("Found service: [{}]", json);
                final StringReader stringReader = new StringReader(json);
                final RegisteredService service = this.registeredServiceJsonSerializer.from(stringReader);
                services.add(service);
                publishEvent(new CasRegisteredServiceLoadedEvent(this, service));
            }
        }
        return services;
    } catch (final Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new IllegalArgumentException(e.getMessage(), e);
    }
}
Also used : CasRegisteredServiceLoadedEvent(org.apereo.cas.support.events.service.CasRegisteredServiceLoadedEvent) ArrayList(java.util.ArrayList) StringReader(java.io.StringReader) RawJsonDocument(com.couchbase.client.java.document.RawJsonDocument) ViewResult(com.couchbase.client.java.view.ViewResult) ViewRow(com.couchbase.client.java.view.ViewRow)

Example 2 with CasRegisteredServiceLoadedEvent

use of org.apereo.cas.support.events.service.CasRegisteredServiceLoadedEvent in project cas by apereo.

the class LdapServiceRegistry method load.

@Override
public List<RegisteredService> load() {
    final List<RegisteredService> list = new ArrayList<>();
    try {
        final Response<SearchResult> response = getSearchResultResponse();
        if (LdapUtils.containsResultEntry(response)) {
            response.getResult().getEntries().stream().map(this.ldapServiceMapper::mapToRegisteredService).filter(Objects::nonNull).forEach(s -> {
                publishEvent(new CasRegisteredServiceLoadedEvent(this, s));
                list.add(s);
            });
        }
    } catch (final LdapException e) {
        LOGGER.error(e.getMessage(), e);
    }
    return list;
}
Also used : RegisteredService(org.apereo.cas.services.RegisteredService) CasRegisteredServiceLoadedEvent(org.apereo.cas.support.events.service.CasRegisteredServiceLoadedEvent) ArrayList(java.util.ArrayList) SearchResult(org.ldaptive.SearchResult) LdapException(org.ldaptive.LdapException)

Aggregations

ArrayList (java.util.ArrayList)2 CasRegisteredServiceLoadedEvent (org.apereo.cas.support.events.service.CasRegisteredServiceLoadedEvent)2 RawJsonDocument (com.couchbase.client.java.document.RawJsonDocument)1 ViewResult (com.couchbase.client.java.view.ViewResult)1 ViewRow (com.couchbase.client.java.view.ViewRow)1 StringReader (java.io.StringReader)1 RegisteredService (org.apereo.cas.services.RegisteredService)1 LdapException (org.ldaptive.LdapException)1 SearchResult (org.ldaptive.SearchResult)1