Search in sources :

Example 1 with RegisteredServiceTicketGrantingTicketExpirationPolicy

use of org.apereo.cas.services.RegisteredServiceTicketGrantingTicketExpirationPolicy in project cas by apereo.

the class TicketExpirationPoliciesEndpoint method handle.

/**
 * Produce expiration policies.
 *
 * @param serviceId the service
 * @return the map
 * @throws Exception the exception
 */
@ReadOperation
@Operation(summary = "Produce expiration policies given an optional service id", parameters = { @Parameter(name = "serviceId") })
public Map<String, String> handle(@Nullable final String serviceId) throws Exception {
    val model = new HashMap<String, String>();
    expirationPolicyBuilders.forEach(Unchecked.consumer(builder -> {
        val policy = builder.buildTicketExpirationPolicy();
        val details = getTicketExpirationPolicyDetails(policy);
        model.put(builder.getTicketType().getName(), details);
    }));
    val registeredService = StringUtils.isNotBlank(serviceId) ? NumberUtils.isCreatable(serviceId) ? servicesManager.findServiceBy(Long.parseLong(serviceId)) : servicesManager.findServiceBy(webApplicationServiceFactory.createService(serviceId)) : null;
    Optional.ofNullable(registeredService).map(RegisteredService::getTicketGrantingTicketExpirationPolicy).map(RegisteredServiceTicketGrantingTicketExpirationPolicy::toExpirationPolicy).filter(Optional::isPresent).map(Optional::get).ifPresent(Unchecked.consumer(policy -> {
        val details = getTicketExpirationPolicyDetails(policy);
        model.put(TicketGrantingTicket.class.getName().concat(registeredService.getName()), details);
    }));
    Optional.ofNullable(registeredService).map(RegisteredService::getServiceTicketExpirationPolicy).ifPresent(Unchecked.consumer(policy -> {
        val details = getTicketExpirationPolicyDetails(policy);
        model.put(ServiceTicket.class.getName().concat(registeredService.getName()), details);
    }));
    Optional.ofNullable(registeredService).map(RegisteredService::getProxyGrantingTicketExpirationPolicy).ifPresent(Unchecked.consumer(policy -> {
        val details = getTicketExpirationPolicyDetails(policy);
        model.put(ProxyGrantingTicket.class.getName().concat(registeredService.getName()), details);
    }));
    Optional.ofNullable(registeredService).map(RegisteredService::getProxyTicketExpirationPolicy).ifPresent(Unchecked.consumer(policy -> {
        val details = getTicketExpirationPolicyDetails(policy);
        model.put(ProxyTicket.class.getName().concat(registeredService.getName()), details);
    }));
    return model;
}
Also used : lombok.val(lombok.val) CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) Getter(lombok.Getter) ReadOperation(org.springframework.boot.actuate.endpoint.annotation.ReadOperation) HashMap(java.util.HashMap) StringUtils(org.apache.commons.lang3.StringUtils) ExpirationPolicyBuilder(org.apereo.cas.ticket.ExpirationPolicyBuilder) RegisteredServiceTicketGrantingTicketExpirationPolicy(org.apereo.cas.services.RegisteredServiceTicketGrantingTicketExpirationPolicy) WebApplicationService(org.apereo.cas.authentication.principal.WebApplicationService) Operation(io.swagger.v3.oas.annotations.Operation) Map(java.util.Map) Nullable(org.springframework.lang.Nullable) TicketGrantingTicket(org.apereo.cas.ticket.TicketGrantingTicket) ServiceFactory(org.apereo.cas.authentication.principal.ServiceFactory) ServicesManager(org.apereo.cas.services.ServicesManager) Unchecked(org.jooq.lambda.Unchecked) Endpoint(org.springframework.boot.actuate.endpoint.annotation.Endpoint) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) lombok.val(lombok.val) ProxyGrantingTicket(org.apereo.cas.ticket.proxy.ProxyGrantingTicket) RegisteredService(org.apereo.cas.services.RegisteredService) BaseCasActuatorEndpoint(org.apereo.cas.web.BaseCasActuatorEndpoint) Serializable(java.io.Serializable) Parameter(io.swagger.v3.oas.annotations.Parameter) List(java.util.List) ProxyTicket(org.apereo.cas.ticket.proxy.ProxyTicket) JacksonObjectMapperFactory(org.apereo.cas.util.serialization.JacksonObjectMapperFactory) NumberUtils(org.apache.commons.lang3.math.NumberUtils) Optional(java.util.Optional) ServiceTicket(org.apereo.cas.ticket.ServiceTicket) RegisteredService(org.apereo.cas.services.RegisteredService) Optional(java.util.Optional) HashMap(java.util.HashMap) TicketGrantingTicket(org.apereo.cas.ticket.TicketGrantingTicket) ServiceTicket(org.apereo.cas.ticket.ServiceTicket) ProxyGrantingTicket(org.apereo.cas.ticket.proxy.ProxyGrantingTicket) ProxyTicket(org.apereo.cas.ticket.proxy.ProxyTicket) ReadOperation(org.springframework.boot.actuate.endpoint.annotation.ReadOperation) ReadOperation(org.springframework.boot.actuate.endpoint.annotation.ReadOperation) Operation(io.swagger.v3.oas.annotations.Operation)

Aggregations

ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)1 Operation (io.swagger.v3.oas.annotations.Operation)1 Parameter (io.swagger.v3.oas.annotations.Parameter)1 Serializable (java.io.Serializable)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 Optional (java.util.Optional)1 Getter (lombok.Getter)1 lombok.val (lombok.val)1 StringUtils (org.apache.commons.lang3.StringUtils)1 NumberUtils (org.apache.commons.lang3.math.NumberUtils)1 ServiceFactory (org.apereo.cas.authentication.principal.ServiceFactory)1 WebApplicationService (org.apereo.cas.authentication.principal.WebApplicationService)1 CasConfigurationProperties (org.apereo.cas.configuration.CasConfigurationProperties)1 RegisteredService (org.apereo.cas.services.RegisteredService)1 RegisteredServiceTicketGrantingTicketExpirationPolicy (org.apereo.cas.services.RegisteredServiceTicketGrantingTicketExpirationPolicy)1 ServicesManager (org.apereo.cas.services.ServicesManager)1 ExpirationPolicyBuilder (org.apereo.cas.ticket.ExpirationPolicyBuilder)1 ServiceTicket (org.apereo.cas.ticket.ServiceTicket)1