package org.apereo.cas.config; import org.apereo.cas.configuration.CasConfigurationProperties; import org.apereo.cas.ticket.TicketCatalog; import org.apereo.cas.ticket.TicketDefinition; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Configuration; /** * This is {@link DynamoDbTicketRegistryTicketCatalogConfiguration}. * * @author Misagh Moayyed * @since 5.1.0 */ @Configuration("dynamoDbTicketRegistryTicketCatalogConfiguration") @EnableConfigurationProperties(CasConfigurationProperties.class) public class DynamoDbTicketRegistryTicketCatalogConfiguration extends CasCoreTicketCatalogConfiguration { private static final Logger LOGGER = LoggerFactory.getLogger(DynamoDbTicketRegistryTicketCatalogConfiguration.class); @Autowired private CasConfigurationProperties casProperties; @Override protected void buildAndRegisterServiceTicketDefinition(final TicketCatalog plan, final TicketDefinition metadata) { metadata.getProperties().setStorageName("serviceTicketsTable"); metadata.getProperties().setStorageTimeout(casProperties.getTicket().getSt().getTimeToKillInSeconds()); super.buildAndRegisterServiceTicketDefinition(plan, metadata); } @Override protected void buildAndRegisterProxyTicketDefinition(final TicketCatalog plan, final TicketDefinition metadata) { metadata.getProperties().setStorageName("proxyTicketsTable"); metadata.getProperties().setStorageTimeout(casProperties.getTicket().getSt().getTimeToKillInSeconds()); super.buildAndRegisterServiceTicketDefinition(plan, metadata); } @Override protected void buildAndRegisterTicketGrantingTicketDefinition(final TicketCatalog plan, final TicketDefinition metadata) { metadata.getProperties().setStorageName("ticketGrantingTicketsTable"); metadata.getProperties().setStorageTimeout(casProperties.getTicket().getTgt().getMaxTimeToLiveInSeconds()); super.buildAndRegisterTicketGrantingTicketDefinition(plan, metadata); } @Override protected void buildAndRegisterProxyGrantingTicketDefinition(final TicketCatalog plan, final TicketDefinition metadata) { metadata.getProperties().setStorageName("proxyGrantingTicketsTable"); metadata.getProperties().setStorageTimeout(casProperties.getTicket().getTgt().getMaxTimeToLiveInSeconds()); super.buildAndRegisterTicketGrantingTicketDefinition(plan, metadata); } }