Commit Graph

159 Commits

Author SHA1 Message Date
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
8aed3f95cd Add JSON examples for Integration Tests.
Resolves gh-67.
2020-05-06 00:45:06 -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
bbef166670 Edit Javadoc.
Resolves gh-67.
2020-05-06 00:13:17 -07:00
John Blum
8cf6a8b410 Add configurable Product.category as an enumerated type. 2020-05-05 13:40:03 -07:00
John Blum
3f05015b2f Refactor example POS application model classes to be conducive to Jackson's ObjectMapper configuration imposed by GemFire/Geode PDX framework and JSONFormatter class. 2020-05-05 13:15:24 -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
ec20642cc1 Add ObjectToJsonConverter interface specifying a contract for converting an Object to JSON.
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
98c976fe6c Add example application model classes for a PurchaseOrder in a Point-of-Sale (POS) system. 2020-05-05 11:14:04 -07:00
John Blum
a0ead741ab Add implementation of CacheDataImporter/Exporter to import/export JSON sourced data.
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
76ef0e7062 Introduce CacheDataImporterExporter interface extending the CacheDataImporter and CacheDataExporter interfaces.
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
b1e9a30e10 Override ApplicationContext prepareRefresh() and onRefresh() methods.
Add option to copy configuration from the pre-refresh BeanFactory to the post-refresh BeanFactory instance.

Apply appropriate Spring @NonNull and @Nullable annotations.

Edit Javadoc.
2020-04-27 14:18:45 -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
cd85bc9112 Add SLF4J, Logback configuration file to configure the log levels for Apache Geode and Spring Framework in Integration Tests. 2020-04-24 15:50:36 -07:00
John Blum
d5a9883258 Add optional 'apache-geode-extensions' dependency. 2020-04-24 15:49:56 -07:00
John Blum
d0fb0b3485 Add optional 'org.springframework:spring-test' dependency. 2020-04-24 15:48:47 -07:00
John Blum
c19609ec33 Edit changelog and add 1.3.0.M4 release notes. 2020-04-19 21:19:25 -07:00
John Blum
603e23f199 Edit changelog and add 1.2.6.RELEASE notes. 2020-03-27 14:25:17 -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
2282e94762 Edit changelog and add 1.3.0.M3 release notes. 2020-03-20 02:52:26 -07:00
John Blum
d90dbf6f7a Use wildcard generic type signature in declaration of the 'VCAP_REQUIRED_PROPERTIES_PREDICATE' Predicate of a parameterized PropertySource type.
Remove unnecessary @SuppressWarnings('all') annotation from iterator() method.
2020-03-18 20:23:04 -07:00
John Blum
9054f641c5 Add 1.2.5.RELEASE notes to the changelog. 2020-03-04 02:42:12 +01:00
John Blum
8de9e0c625 Add 1.1.6.RELEASE notes to the changelog. 2020-03-04 02:41:31 +01:00
John Blum
5e4f520fb9 Fix typo in changelog. 2020-03-03 22:21:09 +01:00
John Blum
2f4c8055b4 Fix SDG version in SBDG 1.3.0.M2 release notes.
SDG version in SBDG 1.3.0.M2 should be 2.3.0.M3 and not 2.3.0.M2.
2020-02-24 14:25:33 -08:00
John Blum
c2fd7f2e52 Edit changelog and add 1.3.0.M2 release notes. 2020-02-22 23:55:10 -08:00
John Blum
665355aa92 Upgrade to FreeFair Lombok Gradle Plugin 5.0.0-rc2. 2020-02-22 23:50:31 -08: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
f21900d0c8 Cleanup compiler warnings.
Apply wildcard generic type signature to PropertySource object reference in order to avoid the rawtype usage warning.

Annotate ClusterAwareCondition.match(..) and ClusterAwareCondition.getConfiguredConnectionEndpoints(..) with @SuppressWarnings.
2020-02-04 15:53:00 -08:00
John Blum
d96d608c99 Update changelog with 2.3.0.M1 release notes. 2020-01-24 21:50:26 -08:00
John Blum
827cddb372 Update changelog with 1.2.4.RELEASE notes. 2020-01-24 21:29:16 -08:00
John Blum
c1faa1b2ec Update changelog with 1.2.3.RELEASE notes. 2020-01-24 21:27:52 -08:00
John Blum
36f6392767 Update changelog with 1.1.5.RELEASE notes. 2020-01-24 21:26:40 -08:00
John Blum
b45431fd53 Optimize imports. 2020-01-24 21:17:09 -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
7031b15fcf Adapt to API changes in Spring Data for Apache Cassandra Neumann/2.3. 2020-01-16 18:56:19 -08:00
John Blum
924b1d7f89 Upgrade to Lombok Gradle Plugin 4.1.6. 2020-01-16 18:56:19 -08:00
John Blum
ed0c249e55 Update changelog with 1.2.2.RELEASE notes. 2019-12-11 18:44:12 -08:00
John Blum
b9302086cc Update changelog with 1.1.4.RELEASE notes. 2019-12-11 18:43:00 -08:00
John Blum
0300d0e753 Format source code and optimize imports. 2019-12-09 16:22:50 -08:00