Commit Graph

49 Commits

Author SHA1 Message Date
John Blum
b45431fd53 Optimize imports. 2020-01-24 21:17:09 -08:00
John Blum
47b3c01bf4 Improve EnableClusterAware configuration logic to identify Region beans of type CacheTypeAwareRegionFactoryBean.
Resolves gh-66.
2019-11-15 18:53:19 -08:00
John Blum
25960adc4d Add auto-configuration support for TLS using SSL when deploying Spring Boot ClientCache applications to PCF using PCC that requires secure Sockets.
The TLS/SSL auto-configuration enables and configures the use of the SSL default context provided by the JRE, which the ClientCache instance uses to obtain the required CERT necessary when creating SSL Sockets between the client and PCC servers.

Resolves gh-61.
2019-10-17 15:50:26 -07:00
John Blum
4eff04c517 Refactor Cluster-aware Conditions to be CloudFoundry Environment-aware.
Resolves gh-56.
2019-09-24 00:34:36 -07:00
John Blum
0da65d79b9 Fix possible NullPointerException when testing and mocking.
Resolves gh-52.
2019-09-20 13:41:55 -07:00
John Blum
0094fd6ea4 Add Environment/System property to control ClusterAwareCondition matching.
Provide static method ClusterAwareConfiguration.ClusterAwareCondition.isAvailable() to assess whether the cluster was available in application components and act accordingly.

Resolves gh-52.
2019-09-20 13:23:43 -07:00
John Blum
6b4827c9b6 Add TypelessAnnotationConfigSupport class extending SDG's o.s.d.g.config.annotation.support.AbstractAnnotationConfigSupport class, which is not based on any configuration-based annotation, but provides a means to utilize the helper methods. 2019-09-20 01:42:40 -07:00
John Blum
ff3ddaf586 Adds support to properly clean up and 'reset' the ClusterAwareConfiguration.ClusterAwareCondition state on ApplicationContext closed events. 2019-09-12 17:40:08 -07:00
John Blum
8e30b4ddd2 Improve CQ Auto-configuration by assessing the availability of a server or cluster first before enabling and auto-configuring CQ functionality.
This added capabilities relies on the new ClusterAwareConditions.

Resolves gh-53.
2019-09-12 14:28:59 -07:00
John Blum
25cf033095 Format source code; Optimize imports. 2019-09-12 01:09:38 -07:00
John Blum
a616bc52e7 Correct 'beanName' variable spelling in Lambda expression of the clientCacheMemberNameConfigurer and peerCacheMemberNameConfigurer bean definitions.
Optimize imports.
2019-09-12 01:09:38 -07:00
John Blum
a8e29f7065 Provide ability to reset Cluster-Aware Configuration Condition state. 2019-09-12 01:09:38 -07:00
John Blum
c1d7424de1 Add @EnableClusterAware annotation configuration support allowing developers to seamlessly switch between local and client/server development environments.
Resolves gh-52.
2019-09-12 01:09:38 -07:00
John Blum
69250d1e30 Add capability to find an optional user by name.
Resolves gh-44.
2019-09-10 12:29:32 -07:00
John Blum
2fc6a28de2 Format source code; Optimize imports. 2019-09-03 14:39:52 -07:00
John Blum
a16018bcb2 Add support for 'locators' and 'remote-locators' properties configuration on Spring Boot, Apache Geode Locator applications when using the @UseLocators annotation. 2019-09-01 10:58:58 -07:00
John Blum
6558e0ee97 Remove all improper uses of the Apache Shiro API and replace with the appropriate core Spring Framework API.
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.
2019-08-20 15:00:36 -07:00
John Blum
621982f472 Add functionality to target and extract VCAP environment variable configuration for a specific CloudCache Service Instance in PCF.
Resolves gh-33.
2019-06-28 18:43:27 -07:00
John Blum
6e81c007e6 Add comparable methods to optionally 'find' as well as 'require' a CloudCache Service Instance in PCF.
Resolves gh-33.
2019-06-28 13:03:30 -07:00
John Blum
3047073b52 Edit Javadoc.
Apply Spring @NonNull & @Nullable annotations to the API.
2019-06-12 18:19:55 -07:00
John Blum
82a3887f89 Add RegionConfigurer to enable Inline Caching capabilities using a SD CrudRepository for an application Region. 2019-06-12 18:06:10 -07:00
John Blum
66f75bc898 Optimize imports. 2019-06-12 11:02:59 -07:00
John Blum
7278f2af6e Add RegionConfigurer to register a SD CrudRepository as a Region CacheWriter to write-through to an external data source for Inline Caching. 2019-06-12 11:00:34 -07:00
John Blum
f82bf7380a Add RegionConfigurer to register a SD CrudRepository as a Region CacheLoader to handle cache misses in Inline Caching. 2019-06-12 10:59:23 -07:00
John Blum
8d9d520a75 Change getRepository() access modifier to public. 2019-06-12 10:58:54 -07:00
John Blum
567b231954 Optimize imports.
Format source code.
2019-06-09 18:07:40 -07:00
John Blum
6e0cf8f200 Edit Javadoc. 2019-05-09 19:55:46 -07:00
John Blum
7617fddd78 Add a concrete o.s.g.cache.RepositoryCacheLoader class, which implements org.apache.geode.cache.CacheLoader and uses (delegates to) a Spring Data CrudRepository. 2019-05-09 19:52:09 -07:00
John Blum
c33d75db27 Add a concrete o.s.g.cache.RepositoryCacheWriter class, which implements org.apache.geode.cache.CacheWriter and uses (delegates to) a Spring Data CrudRepository. 2019-05-09 19:51:11 -07:00
John Blum
a1300c5fc5 Add abstract base class supporting the development of Spring Data Repository, Apache Geode CacheLoader/CacheWriter implementations. 2019-05-09 19:49:29 -07:00
John Blum
75f8aed494 Add o.s.g.cache.support.CacheWriterSupport interface extending org.apache.geode.cache.CacheWriter to facilitate the implementations of application CacheWriters.
The CacheWriterSupport compliments the o.s.g.cache.support.CacheLoaderSupport interface.
2019-05-09 19:48:15 -07:00
John Blum
b9578f679d Add abstract utility class for working with java.util.function.Functions. 2019-05-09 19:45:50 -07:00
John Blum
cdcbbca6a4 Encapsulate configuration of Apache Geode/Pivotal GemFire (PCC) Security (Auth) using an enabling Annotation with the CacheFactory API. 2019-05-06 16:48:23 -07:00
John Blum
fa421c6da4 Refactor SecurityManagerProxy class.
Remove init(:Properties) method call from constructor.

Implement the o.s.beans.factory.BeanFactoryAware interface.

Override the locateBeanFactory() method.

Switch the test configuration to use the new @EnableSecurityManagerProxy annotation.
2019-05-06 16:48:23 -07:00
John Blum
4f7383f71b Encapsulate configuration of Apache Geode/Pivotal GemFire (PCC) Security (Auth) using an enabling Annotation and security-manager property with proxying. 2019-05-06 16:48:23 -07:00
John Blum
473e31af30 Remove unnecessary use of java.util.Optional. 2019-04-29 19:37:14 -07:00
John Blum
332b228589 Edit Javadoc.
Correct invalid '@literl' and '@lin' Javadoc tags.
2019-04-29 16:19:04 -07:00
John Blum
a366c7abd5 Add findMethod(:Class, :String, :Object[]):Optional<Method> and supporting private Predicate creation methods.
findMethod(..) matches a Method based on the Object's Class type, the Method name and whether the arguments passed can be used to invoek a (potentially) overloaded method by the same name.

Add a resolveInvocationTarget(:Object, :Method) to resolve the target of the Method invocation.

The target of the Method invocation is determined by whether the Method is static; if the Method is static, then the resolved target is null, otherwise it is the target Object.
2019-04-29 16:13:00 -07:00
John Blum
8da5755ed8 Update copyright to 2019.
Resolves gh-19.
2019-03-21 18:07:02 -07:00
Toshiaki Maki
9a27b397fc Fix placeholders in log statements.
The log statement incorrectly used String.format(..) placecholders (e.g. %s) rather than SLF4J placeholders (e.g. {}).

Resolves gh-24.
2019-03-11 11:17:03 -07:00
John Blum
5a70c32261 Format source code. 2019-01-29 15:07:26 -08:00
John Blum
6e8cca1425 Format source code. 2019-01-29 10:28:27 -08:00
John Blum
60d23c9b8f Apply Java 8 constructs and features (e.g. Method References). 2019-01-28 09:41:27 -08:00
John Blum
fe54953e00 Add logic to ignore member name if 'spring.data.gemfire.name' or 'spring.data.gemfire.cache.name' properties are set.
Add logic to ignore member name if the 'spring.application.name' property is set.

Add integration tests asserting that @UseMemberName overrides the name attribute specified in the caching annotations (e.g. @ClientCacheApplication#name() or @PeerCacheApplication#name()).
2018-10-02 16:13:24 -07:00
John Blum
b6e47a6578 Add test cases for getting the value of an Object Field. 2018-09-20 00:07:13 -07:00
John Blum
f1c9e3ea3c Add get(:Object: fieldName:String) and get(:Object, :Field) methods to ObjectUtils.
Add overloaded doOperationSafely(:ExceptionThrowingOperation, :Function<Throwable, T>) method.
2018-09-19 13:14:27 -07:00
John Blum
2bd1afdb9e Add utiliy method to invoke a method on an object. 2018-08-29 10:06:33 -07:00
John Blum
d98c8d1334 Add annotation configuration support to configure Apache Geode/Pivotal GemFire Locators ('locators') used in P2P topologies and remote Locators ('remote-locators') used in WAN topologies. 2018-06-21 17:51:42 -07:00
John Blum
330dc7fec3 Rename modules.
Rename geode-spring-boot to spring-geode.

Rename geode-spring-boot-autoconfigure to spring-geode-autoconfigure.

Rename geode-spring-boot-starter to spring-geode-starter.

Rename gemfire-spring-boot-starter to spring-gemfire-starter.

Resolves GitHub Issue #6.
2018-06-19 18:35:09 -07:00