@Override public ConditionOutcome getMatchOutcome( ConditionContext context, AnnotatedTypeMetadata metadata) { String managementEnabled = context.getEnvironment().getProperty("management.security.enabled", "true"); String basicEnabled = context.getEnvironment().getProperty("security.basic.enabled", "true"); return new ConditionOutcome( "true".equalsIgnoreCase(managementEnabled) && !"true".equalsIgnoreCase(basicEnabled), "Management security enabled and basic disabled"); }
/** * Returns the class loader for the {@link DataSource} class. Used to ensure that the driver * class can actually be loaded by the data source. */ private ClassLoader getDataSourceClassLoader(ConditionContext context) { Class<?> dataSourceClass = new DataSourceBuilder(context.getClassLoader()).findType(); if (dataSourceClass == null) { return null; } return dataSourceClass.getClassLoader(); }
private boolean isEnabled( org.springframework.context.annotation.ConditionContext context, java.lang.String prefix, boolean defaultValue) { RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(context.getEnvironment(), prefix); return resolver.getProperty("enabled", Boolean.class, defaultValue); }
@Override public ConditionOutcome getMatchOutcome( ConditionContext context, AnnotatedTypeMetadata metadata) { for (String className : CLASS_NAMES) { if (ClassUtils.isPresent(className, context.getClassLoader())) { return ConditionOutcome.match("found HibernateEntityManager class"); } } return ConditionOutcome.noMatch("did not find HibernateEntityManager class"); }
@Override public ConditionOutcome getMatchOutcome( ConditionContext context, AnnotatedTypeMetadata metadata) { RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(context.getEnvironment(), "security.oauth2.resource.jwt."); String keyValue = resolver.getProperty("key-value"); String keyUri = resolver.getProperty("key-uri"); if (StringUtils.hasText(keyValue) || StringUtils.hasText(keyUri)) { return ConditionOutcome.match("public key is provided"); } return ConditionOutcome.noMatch("public key is not provided"); }
@Override public ConditionOutcome getMatchOutcome( ConditionContext context, AnnotatedTypeMetadata metadata) { if (anyMatches(context, metadata, this.nonEmbedded)) { return ConditionOutcome.noMatch("existing non-embedded database detected"); } EmbeddedDatabaseType type = EmbeddedDatabaseConnection.get(context.getClassLoader()).getType(); if (type == null) { return ConditionOutcome.noMatch("no embedded database detected"); } return ConditionOutcome.match("embedded database " + type + " detected"); }
@Override public Outcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) { ConfigurableListableBeanFactory beanFactory = context.getBeanFactory(); String[] beans = beanFactory.getBeanNamesForType(DispatcherServlet.class, false, false); if (beans.length == 0) { return Outcome.match("no DispatcherServlet found"); } if (Arrays.asList(beans).contains(DEFAULT_DISPATCHER_SERVLET_BEAN_NAME)) { return Outcome.noMatch( "found DispatcherServlet named " + DEFAULT_DISPATCHER_SERVLET_BEAN_NAME); } return Outcome.match( "multiple DispatcherServlets found and none is named " + DEFAULT_DISPATCHER_SERVLET_BEAN_NAME); }
@Override public ConditionOutcome getMatchOutcome( ConditionContext context, AnnotatedTypeMetadata metadata) { if (anyMatches(context, metadata, this.nonEmbedded, this.embeddedCondition)) { return ConditionOutcome.match("existing auto database detected"); } if (BeanFactoryUtils.beanNamesForTypeIncludingAncestors( context.getBeanFactory(), DataSource.class, true, false) .length > 0) { return ConditionOutcome.match("Existing bean configured database detected"); } return ConditionOutcome.noMatch("no existing bean configured database"); }
@Override public ConditionOutcome getMatchOutcome( ConditionContext context, AnnotatedTypeMetadata metadata) { Environment environment = context.getEnvironment(); RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(environment, "security.oauth2.resource."); Boolean preferTokenInfo = resolver.getProperty("prefer-token-info", Boolean.class); if (preferTokenInfo == null) { preferTokenInfo = environment .resolvePlaceholders("${OAUTH2_RESOURCE_PREFERTOKENINFO:true}") .equals("true"); } String tokenInfoUri = resolver.getProperty("token-info-uri"); String userInfoUri = resolver.getProperty("user-info-uri"); if (!StringUtils.hasLength(userInfoUri)) { return ConditionOutcome.match("No user info provided"); } if (StringUtils.hasLength(tokenInfoUri) && preferTokenInfo) { return ConditionOutcome.match( "Token info endpoint " + "is preferred and user info provided"); } return ConditionOutcome.noMatch("Token info endpoint is not provided"); }
private boolean hasBean(ConditionContext context, Class<?> type) { return BeanFactoryUtils.beanNamesForTypeIncludingAncestors( context.getBeanFactory(), type, true, false) .length > 0; }
/** * Returns the class loader for the {@link DataSource} class. Used to ensure that the driver * class can actually be loaded by the data source. */ private ClassLoader getDataSourceClassLoader(ConditionContext context) { Class<?> dataSourceClass = new DataSourceBuilder(context.getClassLoader()).findType(); return (dataSourceClass == null ? null : dataSourceClass.getClassLoader()); }
private boolean isEnabled(ConditionContext context, String prefix, boolean defaultValue) { RelaxedPropertyResolver resolver = new RelaxedPropertyResolver(context.getEnvironment(), prefix); return resolver.getProperty("enabled", Boolean.class, defaultValue); }
public boolean matches( ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) { return conditionContext.getEnvironment().getProperty("os.name").contains("Linux"); }