/support/cas-server-support-mongo-ticket-registry/src/main/java/org/apereo/cas/config/MongoDbTicketRegistryTicketCatalogConfiguration.java
https://github.com/Jasig/cas · Java · 74 lines · 57 code · 11 blank · 6 comment · 0 complexity · eb2491e34c811cfe54fbbb40b9cefab8 MD5 · raw file
- package org.apereo.cas.config;
- import org.apereo.cas.configuration.CasConfigurationProperties;
- import org.apereo.cas.configuration.features.CasFeatureModule;
- import org.apereo.cas.util.spring.boot.ConditionalOnFeatureEnabled;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.boot.autoconfigure.AutoConfiguration;
- import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
- import org.springframework.boot.context.properties.EnableConfigurationProperties;
- import org.springframework.cloud.context.config.annotation.RefreshScope;
- import org.springframework.context.ConfigurableApplicationContext;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.ScopedProxyMode;
- import java.util.function.Function;
- /**
- * This is {@link MongoDbTicketRegistryTicketCatalogConfiguration}.
- *
- * @author Misagh Moayyed
- * @since 5.2.0
- */
- @EnableConfigurationProperties(CasConfigurationProperties.class)
- @ConditionalOnFeatureEnabled(feature = CasFeatureModule.FeatureCatalog.TicketRegistry, module = "mongo")
- @AutoConfiguration
- public class MongoDbTicketRegistryTicketCatalogConfiguration extends BaseTicketDefinitionBuilderSupportConfiguration {
- public MongoDbTicketRegistryTicketCatalogConfiguration(
- final ConfigurableApplicationContext applicationContext,
- final CasConfigurationProperties casProperties,
- @Qualifier("mongoDbTicketCatalogConfigurationValuesProvider")
- final CasTicketCatalogConfigurationValuesProvider configProvider) {
- super(casProperties, configProvider, applicationContext);
- }
- @Configuration(value = "MongoDbTicketRegistryTicketCatalogProviderConfiguration", proxyBeanMethods = false)
- @EnableConfigurationProperties(CasConfigurationProperties.class)
- public static class MongoDbTicketRegistryTicketCatalogProviderConfiguration {
- @ConditionalOnMissingBean(name = "mongoDbTicketCatalogConfigurationValuesProvider")
- @Bean
- @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
- public CasTicketCatalogConfigurationValuesProvider mongoDbTicketCatalogConfigurationValuesProvider() {
- return new CasTicketCatalogConfigurationValuesProvider() {
- @Override
- public Function<CasConfigurationProperties, String> getServiceTicketStorageName() {
- return p -> "serviceTicketsCollection";
- }
- @Override
- public Function<CasConfigurationProperties, String> getProxyTicketStorageName() {
- return p -> "proxyTicketsCollection";
- }
- @Override
- public Function<CasConfigurationProperties, String> getTicketGrantingTicketStorageName() {
- return p -> "ticketGrantingTicketsCollection";
- }
- @Override
- public Function<CasConfigurationProperties, String> getProxyGrantingTicketStorageName() {
- return p -> "proxyGrantingTicketsCollection";
- }
- @Override
- public Function<CasConfigurationProperties, String> getTransientSessionStorageName() {
- return p -> "transientSessionTicketsCollection";
- }
- };
- }
- }
- }