Search in sources :

Example 1 with CasRegisteredServicePreDeleteEvent

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

the class AbstractServicesManager method delete.

@Audit(action = "DELETE_SERVICE", actionResolverName = "DELETE_SERVICE_ACTION_RESOLVER", resourceResolverName = "DELETE_SERVICE_RESOURCE_RESOLVER")
@Override
public synchronized RegisteredService delete(final RegisteredService service) {
    if (service != null) {
        publishEvent(new CasRegisteredServicePreDeleteEvent(this, service));
        this.serviceRegistry.delete(service);
        this.services.remove(service.getId());
        deleteInternal(service);
        publishEvent(new CasRegisteredServiceDeletedEvent(this, service));
    }
    return service;
}
Also used : CasRegisteredServicePreDeleteEvent(org.apereo.cas.support.events.service.CasRegisteredServicePreDeleteEvent) CasRegisteredServiceDeletedEvent(org.apereo.cas.support.events.service.CasRegisteredServiceDeletedEvent) Audit(org.apereo.inspektr.audit.annotation.Audit)

Example 2 with CasRegisteredServicePreDeleteEvent

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

the class DeleteResourceBasedRegisteredServiceWatcher method accept.

@Override
public void accept(final File file) {
    LOGGER.debug("Service definition [{}] was deleted. Reloading cache...", file);
    final RegisteredService service = serviceRegistryDao.getRegisteredServiceFromFile(file);
    if (service != null) {
        serviceRegistryDao.publishEvent(new CasRegisteredServicePreDeleteEvent(this, service));
        serviceRegistryDao.removeRegisteredService(service);
        LOGGER.debug("Successfully deleted service definition [{}]", service.getName());
        serviceRegistryDao.publishEvent(new CasRegisteredServiceDeletedEvent(this, service));
    } else {
        LOGGER.warn("Unable to locate a matching service definition from file [{}]. Reloading cache...", file);
        final List<RegisteredService> results = serviceRegistryDao.load();
        serviceRegistryDao.publishEvent(new CasRegisteredServicesLoadedEvent(this, results));
    }
}
Also used : RegisteredService(org.apereo.cas.services.RegisteredService) CasRegisteredServicePreDeleteEvent(org.apereo.cas.support.events.service.CasRegisteredServicePreDeleteEvent) CasRegisteredServiceDeletedEvent(org.apereo.cas.support.events.service.CasRegisteredServiceDeletedEvent) CasRegisteredServicesLoadedEvent(org.apereo.cas.support.events.service.CasRegisteredServicesLoadedEvent)

Example 3 with CasRegisteredServicePreDeleteEvent

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

the class AbstractResourceBasedServiceRegistry method delete.

@Override
@SneakyThrows
public synchronized boolean delete(final RegisteredService service) {
    final File f = getRegisteredServiceFileName(service);
    publishEvent(new CasRegisteredServicePreDeleteEvent(this, service));
    final boolean result = f.exists() ? f.delete() : true;
    if (!result) {
        LOGGER.warn("Failed to delete service definition file [{}]", f.getCanonicalPath());
    } else {
        removeRegisteredService(service);
        LOGGER.debug("Successfully deleted service definition file [{}]", f.getCanonicalPath());
    }
    publishEvent(new CasRegisteredServiceDeletedEvent(this, service));
    return result;
}
Also used : CasRegisteredServicePreDeleteEvent(org.apereo.cas.support.events.service.CasRegisteredServicePreDeleteEvent) CasRegisteredServiceDeletedEvent(org.apereo.cas.support.events.service.CasRegisteredServiceDeletedEvent) File(java.io.File) SneakyThrows(lombok.SneakyThrows)

Aggregations

CasRegisteredServiceDeletedEvent (org.apereo.cas.support.events.service.CasRegisteredServiceDeletedEvent)3 CasRegisteredServicePreDeleteEvent (org.apereo.cas.support.events.service.CasRegisteredServicePreDeleteEvent)3 File (java.io.File)1 SneakyThrows (lombok.SneakyThrows)1 RegisteredService (org.apereo.cas.services.RegisteredService)1 CasRegisteredServicesLoadedEvent (org.apereo.cas.support.events.service.CasRegisteredServicesLoadedEvent)1 Audit (org.apereo.inspektr.audit.annotation.Audit)1