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;
}
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));
}
}
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;
}
Aggregations