Search in sources :

Example 26 with ConfigurationBuilder

use of org.reflections.util.ConfigurationBuilder in project cas by apereo.

the class OidcProfileScopeToAttributesFilter method configureAttributeReleasePoliciesByScope.

private void configureAttributeReleasePoliciesByScope() {
    final OidcProperties oidc = casProperties.getAuthn().getOidc();
    final String packageName = BaseOidcScopeAttributeReleasePolicy.class.getPackage().getName();
    final Reflections reflections = new Reflections(new ConfigurationBuilder().filterInputsBy(new FilterBuilder().includePackage(packageName)).setUrls(ClasspathHelper.forPackage(packageName)).setScanners(new SubTypesScanner(true)));
    final Set<Class<? extends BaseOidcScopeAttributeReleasePolicy>> subTypes = reflections.getSubTypesOf(BaseOidcScopeAttributeReleasePolicy.class);
    subTypes.forEach(Unchecked.consumer(t -> {
        final BaseOidcScopeAttributeReleasePolicy ex = t.getDeclaredConstructor().newInstance();
        if (oidc.getScopes().contains(ex.getScopeName())) {
            LOGGER.debug("Found OpenID Connect scope [{}] to filter attributes", ex.getScopeName());
            filters.put(ex.getScopeName(), ex);
        } else {
            LOGGER.debug("OpenID Connect scope [{}] is not configured for use and will be ignored", ex.getScopeName());
        }
    }));
    if (!userScopes.isEmpty()) {
        LOGGER.debug("Configuring attributes release policies for user-defined scopes [{}]", userScopes);
        userScopes.forEach(t -> filters.put(t.getScopeName(), t));
    }
}
Also used : CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) OidcProfileScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcProfileScopeAttributeReleasePolicy) OidcAttributeToScopeClaimMapper(org.apereo.cas.oidc.claims.mapping.OidcAttributeToScopeClaimMapper) OidcCustomScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcCustomScopeAttributeReleasePolicy) HashMap(java.util.HashMap) Reflections(org.reflections.Reflections) OidcEmailScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcEmailScopeAttributeReleasePolicy) ArrayList(java.util.ArrayList) BaseOidcScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.BaseOidcScopeAttributeReleasePolicy) HashSet(java.util.HashSet) PrincipalFactory(org.apereo.cas.authentication.principal.PrincipalFactory) DefaultOAuth20ProfileScopeToAttributesFilter(org.apereo.cas.support.oauth.profile.DefaultOAuth20ProfileScopeToAttributesFilter) FilterBuilder(org.reflections.util.FilterBuilder) OidcProperties(org.apereo.cas.configuration.model.support.oidc.OidcProperties) Map(java.util.Map) OidcAddressScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcAddressScopeAttributeReleasePolicy) AccessToken(org.apereo.cas.ticket.accesstoken.AccessToken) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) ChainingAttributeReleasePolicy(org.apereo.cas.services.ChainingAttributeReleasePolicy) ServicesManager(org.apereo.cas.services.ServicesManager) Unchecked(org.jooq.lambda.Unchecked) OidcConstants(org.apereo.cas.oidc.OidcConstants) Collection(java.util.Collection) OidcPhoneScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.OidcPhoneScopeAttributeReleasePolicy) Set(java.util.Set) DenyAllAttributeReleasePolicy(org.apereo.cas.services.DenyAllAttributeReleasePolicy) RegisteredService(org.apereo.cas.services.RegisteredService) ClasspathHelper(org.reflections.util.ClasspathHelper) SubTypesScanner(org.reflections.scanners.SubTypesScanner) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) OidcRegisteredService(org.apereo.cas.services.OidcRegisteredService) Service(org.apereo.cas.authentication.principal.Service) J2EContext(org.pac4j.core.context.J2EContext) Principal(org.apereo.cas.authentication.principal.Principal) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) BaseOidcScopeAttributeReleasePolicy(org.apereo.cas.oidc.claims.BaseOidcScopeAttributeReleasePolicy) FilterBuilder(org.reflections.util.FilterBuilder) SubTypesScanner(org.reflections.scanners.SubTypesScanner) OidcProperties(org.apereo.cas.configuration.model.support.oidc.OidcProperties) Reflections(org.reflections.Reflections)

Example 27 with ConfigurationBuilder

use of org.reflections.util.ConfigurationBuilder in project cas by apereo.

the class CasServerProfileRegistrar method locateSubtypesByReflection.

private Object locateSubtypesByReflection(final Function<Class, Object> mapper, final Collector collector, final Class parentType, final Predicate filter, final String packageNamespace) {
    final Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage(packageNamespace)).setScanners(new SubTypesScanner(false)));
    final Set<Class<?>> subTypes = (Set) reflections.getSubTypesOf(parentType);
    return subTypes.stream().filter(c -> !Modifier.isInterface(c.getModifiers()) && !Modifier.isAbstract(c.getModifiers()) && filter.test(c)).map(mapper).filter(Objects::nonNull).collect(collector);
}
Also used : CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) Setter(lombok.Setter) RequiredArgsConstructor(lombok.RequiredArgsConstructor) CentralAuthenticationService(org.apereo.cas.CentralAuthenticationService) Reflections(org.reflections.Reflections) Function(java.util.function.Function) AbstractRegisteredService(org.apereo.cas.services.AbstractRegisteredService) Pair(org.apache.commons.lang3.tuple.Pair) Clients(org.pac4j.core.client.Clients) Client(org.pac4j.core.client.Client) Map(java.util.Map) Predicates(com.google.common.base.Predicates) Collector(java.util.stream.Collector) MultifactorAuthenticationUtils(org.apereo.cas.authentication.MultifactorAuthenticationUtils) IndirectClient(org.pac4j.core.client.IndirectClient) VariegatedMultifactorAuthenticationProvider(org.apereo.cas.services.VariegatedMultifactorAuthenticationProvider) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) LinkedHashSet(java.util.LinkedHashSet) ServicesManager(org.apereo.cas.services.ServicesManager) MultifactorAuthenticationProvider(org.apereo.cas.services.MultifactorAuthenticationProvider) Predicate(java.util.function.Predicate) Set(java.util.Set) ApplicationContext(org.springframework.context.ApplicationContext) Collectors(java.util.stream.Collectors) AbstractMultifactorAuthenticationProvider(org.apereo.cas.authentication.AbstractMultifactorAuthenticationProvider) RegisteredService(org.apereo.cas.services.RegisteredService) ClasspathHelper(org.reflections.util.ClasspathHelper) SubTypesScanner(org.reflections.scanners.SubTypesScanner) Objects(java.util.Objects) Slf4j(lombok.extern.slf4j.Slf4j) Modifier(java.lang.reflect.Modifier) ApplicationContextAware(org.springframework.context.ApplicationContextAware) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) LinkedHashSet(java.util.LinkedHashSet) Set(java.util.Set) SubTypesScanner(org.reflections.scanners.SubTypesScanner) Reflections(org.reflections.Reflections)

Example 28 with ConfigurationBuilder

use of org.reflections.util.ConfigurationBuilder in project cas by apereo.

the class JpaServiceRegistryConfiguration method jpaServicePackagesToScan.

@Bean
public List<String> jpaServicePackagesToScan() {
    final Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage(CentralAuthenticationService.NAMESPACE)).setScanners(new SubTypesScanner(false)));
    final Set<Class<? extends AbstractRegisteredService>> subTypes = reflections.getSubTypesOf(AbstractRegisteredService.class);
    return subTypes.stream().map(t -> t.getPackage().getName()).collect(Collectors.toList());
}
Also used : CasConfigurationProperties(org.apereo.cas.configuration.CasConfigurationProperties) CentralAuthenticationService(org.apereo.cas.CentralAuthenticationService) Autowired(org.springframework.beans.factory.annotation.Autowired) Reflections(org.reflections.Reflections) EnableTransactionManagement(org.springframework.transaction.annotation.EnableTransactionManagement) RefreshScope(org.springframework.cloud.context.config.annotation.RefreshScope) AbstractRegisteredService(org.apereo.cas.services.AbstractRegisteredService) JpaTransactionManager(org.springframework.orm.jpa.JpaTransactionManager) ServiceRegistryExecutionPlan(org.apereo.cas.services.ServiceRegistryExecutionPlan) EnableConfigurationProperties(org.springframework.boot.context.properties.EnableConfigurationProperties) JpaServiceRegistry(org.apereo.cas.services.JpaServiceRegistry) Qualifier(org.springframework.beans.factory.annotation.Qualifier) DataSource(javax.sql.DataSource) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) JpaConfigDataHolder(org.apereo.cas.configuration.model.support.jpa.JpaConfigDataHolder) Set(java.util.Set) Collectors(java.util.stream.Collectors) ServiceRegistry(org.apereo.cas.services.ServiceRegistry) ClasspathHelper(org.reflections.util.ClasspathHelper) SubTypesScanner(org.reflections.scanners.SubTypesScanner) Configuration(org.springframework.context.annotation.Configuration) Slf4j(lombok.extern.slf4j.Slf4j) List(java.util.List) PlatformTransactionManager(org.springframework.transaction.PlatformTransactionManager) HibernateJpaVendorAdapter(org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter) EntityManagerFactory(javax.persistence.EntityManagerFactory) Lazy(org.springframework.context.annotation.Lazy) Bean(org.springframework.context.annotation.Bean) ServiceRegistryExecutionPlanConfigurer(org.apereo.cas.services.ServiceRegistryExecutionPlanConfigurer) JpaBeans(org.apereo.cas.configuration.support.JpaBeans) LocalContainerEntityManagerFactoryBean(org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) SubTypesScanner(org.reflections.scanners.SubTypesScanner) AbstractRegisteredService(org.apereo.cas.services.AbstractRegisteredService) Reflections(org.reflections.Reflections) Bean(org.springframework.context.annotation.Bean) LocalContainerEntityManagerFactoryBean(org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean)

Example 29 with ConfigurationBuilder

use of org.reflections.util.ConfigurationBuilder in project oc-explorer by devgateway.

the class ReflectionsConfiguration method reflections.

@Bean
public Reflections reflections() {
    logger.debug("Starting reflections scanners...");
    Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage("org.devgateway.ocds.persistence.mongo")).setScanners(new SubTypesScanner(), new FieldAnnotationsScanner(), new MethodParameterScanner()));
    logger.debug("Configured reflections bean.");
    return reflections;
}
Also used : MethodParameterScanner(org.reflections.scanners.MethodParameterScanner) ConfigurationBuilder(org.reflections.util.ConfigurationBuilder) FieldAnnotationsScanner(org.reflections.scanners.FieldAnnotationsScanner) SubTypesScanner(org.reflections.scanners.SubTypesScanner) Reflections(org.reflections.Reflections) Bean(org.springframework.context.annotation.Bean)

Aggregations

ConfigurationBuilder (org.reflections.util.ConfigurationBuilder)29 Reflections (org.reflections.Reflections)26 SubTypesScanner (org.reflections.scanners.SubTypesScanner)16 URL (java.net.URL)7 ArrayList (java.util.ArrayList)7 TypeAnnotationsScanner (org.reflections.scanners.TypeAnnotationsScanner)7 FilterBuilder (org.reflections.util.FilterBuilder)7 HashSet (java.util.HashSet)5 List (java.util.List)5 Set (java.util.Set)5 Collectors (java.util.stream.Collectors)5 Slf4j (lombok.extern.slf4j.Slf4j)5 CasConfigurationProperties (org.apereo.cas.configuration.CasConfigurationProperties)4 ResourcesScanner (org.reflections.scanners.ResourcesScanner)4 ClasspathHelper (org.reflections.util.ClasspathHelper)4 Bean (org.springframework.context.annotation.Bean)4 File (java.io.File)3 Map (java.util.Map)3 CentralAuthenticationService (org.apereo.cas.CentralAuthenticationService)3 IOException (java.io.IOException)2