Note: configuring the runtime user of a Spring Boot app outside of CloudFoundry is already supported. Simply set the 'spring.data.gemfire.security.username' and 'spring.data.gemfire.security.password' properties.
Resolves gh-44.
Wrap existing Security conditions (e.g. Cloud Platform, spring.data.gemfire.security properties) in a SecurityTriggersCondition class extending AnyNestedCondition.
Declare nested Condition on the 'spring.boot.data.gemfire.security.auth.environment.post-processor.enabled' property fixing bug with the non-guarded application of the @EnableSecurity annotation.
Edit Javadoc.
Optimize imports.
Wrap existing SSL conditions (e.g. trusted.keystore, spring.data.gemfire.security.ssl properties) in a SslTriggersCondition class extending AnyNestedCondition.
Declare nested Condition on the 'spring.boot.data.gemfire.security.ssl.environment.post-processor.enabled.property' fixing bug with the non-guarded application of the @EnableSsl annotation.
Change order of trusted.keystore scan in TrustedKeyStoreIsPresentCondition to be classpath, working directory then home directory, reflecting the documentation.
Remove System.err.printf statements.
Remove non-qualified 'ssl-keystore' and 'ssl-trustore' properties.
Edit Javadoc.
Optimize imports.
Exclude the 'javax.servlet:javax.servlet-api' transitive dependency except from in the 'spring-geode-starter-session' and 'spring-gemfire-starter-session' modules.
Remove unnecessary 'javax.servlet:javax.servlet-api' provided dependency in 'spring-geode-autoconfigure'.
Remove unnecessary 'org.springframework.boot:spring-boot-starter-tomcat' runtime dependency from 'spring-geode-samples-caching-httpsession'.
Remove unnecessary 'javax.cache:cache-api' and 'org.springframework.shell:spring-shell' runtime dependencies from 'spring-geode-samples-caching-inline'.
Remove unnecessary 'javax.cache:cache-api' and 'org.springframework.shell:spring-shell' runtime dependencies from 'spring-geode-samples-caching-lookaside'.
Remove unnecessary 'javax.cache:cache-api' runtime dependency from 'spring-geode-samples-caching-near'.
Resolves gh-47.
For example, usages of org.apache.shiro.util.Assert and org.apache.shiro.util.StringUtils should be replaced with org.springframework.util.Assert and org.springframework.util.StringUtils, respectively.
The test cases specifically tests the use case where a user has provisioned mutliple instances of the CloudCache Service in PCF and bound each of them to her deployed Spring Boot, ClientCache app.
Resolves gh-33.
The test cases specifically tests the use case where a user deployed a Spring Boot, ClientCache app to PCF connected to an external, standalone Apache Geode or Pivotal GemFire cluster.
Resolves gh-33.
Introduces the new 'spring.boot.data.gemfire.cloud.cloudfoundry.service.cloudcache.name' property enabling users to target a specific CloudCache Service Instance in PCF.
Fails fast and throws an IllegalStateException if the target CloudCache Service Instance cannot be found.
Logs warning when no CloudCache Service Instance is found. However, client security auto-configuration will no longer require a CloudCache Service Instance when deploying Spring Boot, GemFire ClientCache app to PCF. This enables users to deploy Spring Boot, ClientCache apps to PCF and connect them to external Apache Geode or Pivotal GemFire clusters.
Resolves gh-33.
This will help avoid inadvertently including additional @Configuration classes in the classpath that are not required by, or applicable to, this test class.
Switch from using the GemfireBeanFactoryLocator with the security-manager property set to the SecurityManagerProxy to using the @EnableSecurityManager Annotation with the CacheFactory API.
Improve invokeMethod(..) to allow arguments, handle class (static) methods, find the Method based on matching arguments to parameter types, and delegate accessibility to ObjectUtils.
Change access modifier on registerInterceptor(..) to protected.
Change access modifier on the schemaObjectInitializerPostProcessor(..) bean definition to public.
Move the HttpRequest.getHeaders() call inside the conditional on isAuthenticationEnabled().
Remove the private doOperationSafely(:ExceptionThrowingOperation):T method. Both the ExceptionThrowingOperation interface and doOperationSafely(..) method can be replaced by o.s.geode.core.util.ObjectUtils.
Refactor the existing invokeMethod(..) method; change access modifier to package-private.