John Blum
e76100af47
Add ObjetToJsonConverter interface implementation to convert an Object or PDX to JSON using Apache Geode's o.a.g.pdx.JSONFormatter class.
...
This converter extends (is backed by) the JacksonObjectToJsonConverter implementation to fallback on Jackson's ObjectMapper if the Object to convert is not a o.a.g.pdx.PdxInstance.
Resolves gh-67.
2020-05-06 11:45:47 -07:00
John Blum
cb3141f0b7
Add JsonToPdxConverter interface implementation to convert JSON to PDX using Apache Geode's o.a.g.pdx.JSONFormatter class.
...
Resolves gh-67.
2020-05-06 11:42:06 -07:00
John Blum
9f97a8313d
Add conditional logic to handle beans of type ResolvableRegionFactoryBean.
...
Resolves gh-67.
2020-05-06 11:07:52 -07:00
John Blum
68e7b54c90
Refactor importInto(:Region) to parse and convert JSON containing multiple objects into an array of PdxInstances each stored in the Region.
...
Edit Javadoc.
Resolves gh-67.
2020-05-06 00:43:03 -07:00
John Blum
e67c383de8
Add JsonToPdxArrayConverter interface and Spring Converter extension specifying a contract to convert JSON into PDX, as an array of PdxInstance objects.
...
Resolves gh-69.
2020-05-06 00:37:31 -07:00
John Blum
c3b697e759
Complete base implementation of the JSON CacheDataImporterExporter.
...
Resolves gh-67.
2020-05-05 11:14:04 -07:00
John Blum
8cb59be29c
Add JsonToPdxConverter interface specifying a contract to convert JSON to PDX.
...
The JSON may be expressed as a byte[] or a String.
Resolves gh-67.
2020-05-05 11:14:04 -07:00
John Blum
074fd7f1ed
Add java.util.function.Predicate on Region to filter Regions on data import/export.
...
Add protected getLogger() method returning a SLF4J Logger to log messages and events during data import/export operations.
Format source code.
Resolves gh-67.
2020-05-05 11:14:04 -07:00
John Blum
1b44a80830
Add abstract base class implementation of the CacheDataImporterExporter interface to correctly manage data exports and imports based on application and Environment (context) configuration.
...
Resolves gh-67.
2020-05-05 11:14:04 -07:00
John Blum
1a19c228be
Introduce new CacheDataImporter and CacheDataExporter interfaces to import and export data into and out from a GemFire/Geode cache on startup.
...
These new interfaces and APIs are intended to be used in SBDG's auto-configuration when the Spring Boot app using Apache Geode starts up in order to load or save data.
Resolves gh-67.
2020-05-05 11:14:04 -07:00
John Blum
46722ea9c4
Add ApplicationContextMembershipListener implementation and extension of MembershipListenerAdapter to adapt the Spring ApplicationContext to handle peer member departed and joined membership events.
2020-04-27 15:16:42 -07:00
John Blum
2deb202c21
Add new AbstractContextLoader implementation and extension to the Spring TestContext Framework to configure and bootstrap the RefreshableAnnotationConfigApplicationContext used in Spring based tests.
2020-04-27 14:18:45 -07:00
John Blum
e8ddc1f744
Introduce new Spring ApplicationContext implementation and extension that is Refreshable and can be configured with Annotations.
2020-04-27 14:18:45 -07:00
John Blum
069ad68016
Add Unit Test demonstrating how to use Mock objects with Spring's Cache Abstraction in a @Cacheable @Service component/bean.
2020-03-20 14:01:28 -07:00
John Blum
8447eaad10
Update Copyright to 2020.
2020-02-19 23:04:23 -08:00
John Blum
1969f89492
Add GeodeLoggingApplicationListener registered with Spring Boot to handle backwards compatibility and existing logging configuration expressed with SDG.
...
User may configure logging using @ClientCacheApplication(logLevel = INFO), or by annotating their Spring application class with @EnableLogging(logLevel = INFO) or using 1 of SDG's logging configuration properties ['spring.data.gemfire.cache.log-level', 'spring.data.gemfire.logging.level'], therefore, SBDG makes a best attempt to honor those logging configuration settings.
Resolves gh-73.
2020-02-14 15:19:14 -08:00
John Blum
ddafaafe56
Fix tests failures in the Apache Geode, Inline Caching support Integration Tests involving Apache Cassandra due to the DataStax 4.x Driver upgrade in Spring Data Neumann/2.3.
2020-01-22 12:39:12 -08:00
John Blum
0300d0e753
Format source code and optimize imports.
2019-12-09 16:22:50 -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
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
c3f19df920
Move ClusterAwareConfiguration.ClusterAwareCondition.reset() to @AfterClass tear down method.
2019-09-12 16:57:48 -07:00
John Blum
7992b3e893
Edit Javadoc.
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
8febb7cab4
Mock the SDG o.s.d.g.LocatorFactoryBean.
2019-09-03 14:36:35 -07:00
John Blum
f39f480a1a
Format source code; Optimize imports.
2019-09-03 13:01:55 -07:00
John Blum
d16e36a38f
Extend o.s.d.g.tests.integration.IntegrationTestsSupport.
...
Format source code.
Optimize imports.
2019-09-03 13:01:22 -07:00
John Blum
263206a3c0
Add LocatorConfigurer to LocatorApplication configuration class to disable Apache Geode Cluster Configuration.
...
Add Before and After cleanup() method to remove any Locator runtime files and directories.
2019-09-03 12:50:04 -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
6c1c7af36d
Adapt to API and TestContext behavior changes in Spring Framework 5.2.
2019-08-21 11:56:31 -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
a8f88dff0a
Declare AbstractInlineCachingWithExternalDataSourceIntegrationTests as a proper abstract class.
2019-06-13 01:39:14 -07:00
John Blum
bc1c259fb7
Add Integration Tests testing the Inline Caching support using Apache Cassandra.
2019-06-13 01:32:02 -07:00
John Blum
d3bb6e4b32
Extend AbstractInlineCachingWithExternalDataSourceIntegrationTests.
2019-06-13 01:31:14 -07:00
John Blum
6837ac82c9
Add abstract base class encapsulating functionality and test cases common to all Inline Caching Integration Tests.
2019-06-13 01:30:00 -07:00
John Blum
7b5824f4c7
Add Integration Tests testing the Inline Caching support using a RDBMS (HSQLDB Database).
2019-06-13 00:19:10 -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
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
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
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
71c93615d9
Refactor test class setup and tearDown.
...
Remove GemfireBeanFactoryLocator cleanup. Rely on IntegrationTestsSupport to cleanup the GemfireBeanFactoryLocator state.
Rename setup/tearDown method from cleanUpBeanFactoryLocatorReferences to cleanupSecurityManagerProxyInstance.
2019-05-06 16:48:23 -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