Commit Graph

277 Commits

Author SHA1 Message Date
John Blum
2aaaea76bf Remove exclude from Apache Geode dependencies on 'org.apache.logging.log4j:log4j-core'.
Resolves gh-48.
2020-09-18 02:33:58 -07:00
John Blum
74c4bdbcd9 Remove exclude from Apache Geode dependencies on 'javax.servlet:javax.servlet-api'.
Resolves gh-49.
2020-09-18 02:33:58 -07:00
John Blum
cb34cd2201 Remove all source code (Javadoc) references to 'Pivotal GemFire' or 'GemFire' in general. 2020-09-17 21:24:16 -07:00
John Blum
3a094b1c39 Rename changelog to 'SPRING BOOT FOR APACHE GEODE CHANGELOG'.
Replace all references to 'Pivotal GemFire' with 'VMware Tanzu GemFire'.

Qualify references to Pivotal CloudFoundry with the acronymn, 'PCF'.

Qualify reference to Pivotal Cloud Cache with the acronym, 'PCC'.
2020-09-17 19:50:53 -07:00
John Blum
a0b40a2fd7 Edit changelog and include 1.3.4.RELEASE notes. 2020-09-17 19:35:39 -07:00
John Blum
3f959d32ec Edit changelog and include 1.2.10.RELEASE notes. 2020-09-17 19:34:47 -07:00
John Blum
830b82245c Edit changelog and include 1.1.10.RELEASE notes. 2020-09-17 19:33:59 -07:00
John Blum
2df58554e6 Edit changelog and include 1.3.3.RELEASE notes. 2020-08-20 16:52:12 -07:00
John Blum
08e7b7cd1b Edit changelog and add 1.4.0-M2 release notes. 2020-08-20 14:13:05 -07:00
John Blum
800a0ee434 Add Integration Tests asserting the configuration and behavior of the AsyncInlineCachingRepositoryConfigurer using a custom AsyncEventErrorHandler and user-defined AsyncEventOperationRepositoryFunction.
Resolves gh-58.
2020-08-19 19:48:16 -07:00
John Blum
6af91f5eb5 Change AbstractAsyncEventOperationRepositoryFunction, CreateUpdateAsyncEventRepositoryFunction and RemoveAsyncEventRepositoryFunction to static member classes.
Add constructor requiring a reference to the associated RepositoryAsyncEventListener delegating AsyncEvent handling/processing to the Function.

Add alias methods from the RepositoryAsyncEventListener getAsyncEventErrorHandler() and getRepository() methods to the AsyncEventOperationRepositoryFunction classes.

Refatory type signatures and Generics usage.

Edit Javadoc.

Resolves gh-58.
2020-08-19 18:48:38 -07:00
John Blum
ecffa18654 Add protected API calls to construct the AEQ, the factory and the listener.
Add builder methods to configure Function post-processors applied to the AEQ, factory and listener.

Add API to configure an AsyncEventErrorHandler.

Edit Javadoc.

Resolves gh-58.
2020-08-19 18:48:38 -07:00
John Blum
01ebfadcbe Rename DEFAULT class member constant to DEFAULT_EVENT_ERROR_HANDLER.
Edit Javadoc.

Resolves gh-58.
2020-08-19 18:48:48 -07:00
John Blum
8da34ccf91 Add additional verification asserting no more interactions on the mock CrudRepository.
Resolves gh-58.
2020-08-19 18:48:38 -07:00
John Blum
430c64fdda Extends STDG's IntegrationTestsSupport class. 2020-08-18 01:04:20 -07:00
John Blum
16968f5651 Edit Javadoc. 2020-08-18 00:40:05 -07:00
John Blum
5f1cd1db5d Add Integration Tests for AsyncInlineCachingRegionConfigurer and RepositoryAsyncEventListener.
Resolves gh-58.
2020-08-18 00:35:09 -07:00
John Blum
3eb26f9717 Create SDG RegionConfigurer implementation to configure a target Region with Asynchronous, Inline Caching functionality.
Resolves gh-58.
2020-08-17 22:34:02 -07:00
John Blum
d9e5476e21 Annotate newRepositoryCacheWriter() with @SuppressWarnings('rawtypes'). 2020-08-17 22:31:27 -07:00
John Blum
e8b94b7b7a Annotate newRepositoryCacheLoader() with @SuppressWarnings('rawtypes'). 2020-08-15 18:28:11 -07:00
John Blum
08e7052cee Create GemFire/Geode AsyncEventListener implementation using a SD CrudRepository for persistent data access operations.
Resolves gh-58.
2020-08-14 15:01:28 -07:00
John Blum
109a1e70d8 Optimize imports.
Remove unnecessary @SuppressWarnings(..) annotation declarations.
2020-08-08 15:32:10 -07:00
John Blum
ca5bd06fc3 Edit changelog and include 1.3.2.RELEASE notes. 2020-08-07 17:45:48 -07:00
John Blum
10c11c180c Add new Spring ApplicationListener implementation to log the state of the Spring Environment consistently across contexts as needed.
The EnvironmentLoggingApplicationListener is automattically registered with the Spring Boot configured list of ApplicationListeners via the (SpringFactories) SPI.
2020-08-05 16:28:35 -07:00
John Blum
7ea7dc2fe6 Edit changelog and include 1.2.9.RELEASE notes. 2020-07-27 22:51:01 -07:00
John Blum
c0ebbcadff Edit changelog and include 1.1.9.RELEASE notes. 2020-07-27 22:50:21 -07:00
John Blum
2efcde3d74 Edit changelog and add 1.4.0-M1 release notes. 2020-07-27 02:51:21 -07:00
John Blum
0b1fabec7c Edit changelog and add 1.3.1.RELEASE notes. 2020-07-27 01:11:05 -07:00
John Blum
20b8c2d172 Cleanup all unsafe and unchecked compiler warnings. 2020-07-23 14:57:01 -07:00
John Blum
ba24c50ba2 Cleanup uses and/or overrides of Apache Geode, Spring and Test Framework (e.g. Mockito) deprecated APIs. 2020-07-23 14:57:09 -07:00
John Blum
5ca11cbc44 Declare 'com.google.code.findbugs:jsr305' as a compileOnly/testCompileOnly depedency to cleanup Gradle build warnings.
Without this dependency the Gradle build logs warnings about:

> Task :spring-geode-autoconfigure:compileTestJava
warning: unknown enum constant When.MAYBE
  reason: class file for javax.annotation.meta.When not found
...
2020-07-23 14:57:01 -07:00
John Blum
73af4f0ccd Add postProcess(:Resource) method invocation to Resource resolution for all loaded Resources.
Resolves gh-92.
2020-07-23 12:25:15 -07:00
John Blum
61ec8ccb28 Refactor ResourceCapableCacheDataImporterExporter to not fail on missing Resources for import and rather log a warning.
It is valid that a Resource may not exist for a Region on import since the user may not want to import any data into the Region.

Resolves gh-92.
2020-07-22 16:59:47 -07:00
John Blum
f23675fec5 Refactor ResourceCapableCacheDataImporterExporter to use ObjectAwareUtils to initialize the import & export ResourceResolvers with the ApplicationContext, Environment and ResourceLoader managed objects if present.
Resolves gh-92.
2020-07-22 12:43:16 -07:00
John Blum
faaa218f51 Add ObjectAwareUtils abstract utility class for perforing functions on Spring Aware Objects.
Spring Aware Objects currently handled by ObjectAwareUtils includes, but is not limited to: ApplicationContextAware, ApplicationEventPublisherAware, BeanClassLoaderAware, BeanFactoryAware, BeanNameAware, EnvironmentAware and ResourceLoaderAware.
2020-07-22 12:42:38 -07:00
John Blum
7a13850ef0 Refactor ResourceCapableCacheDataImporterExporter import & export cache ResourceResolver base classes to be static.
Change AbstractCacheResourceResolver class to be ApplicationContextAware and EnvironmentAware.

Add getLogger() method to the AbstractCacheResourceResolver class.

Add Resource description in Logger message logged by onMissingResource(..) on export.

Annotate AbstractExportResourceResolver.onMisingResource(..) method signature with Spring Framework @NonNull and @Nullable annotations.

Separate logic from afterPropertiesSet() initializing the ApplicationContext, Environment and ResourceLoader objects on aware import/export ResourceResolvers into init methods.

Edit Javadoc.

Resolves gh-92.
2020-07-21 22:29:52 -07:00
John Blum
0cd771b236 Move filter on isImportProfilesActive(:Environment) before Region Predicate test in importInto(:Region).
Move the isImportProfilesActive(:Environment) method before the importInto(:Region) method.

Annotate toSet(..) class method signature with Spring Framework @NonNull and @Nullable annotations.

Edit Javadoc.

Resolves gh-92.
2020-07-21 22:09:49 -07:00
John Blum
bfb26e5980 Refactor ResourceLoaderResourceResolver to describe the Resource onMissingResource(..) when Resource is not null.
Remove 'final' modifier from setResourceLoader(:ResourceLoader).

Edit Javadoc.

Resolves gh-92.
2020-07-21 22:09:25 -07:00
John Blum
a439b8a81d Refactor the ResourceResolver interface, require(..) method to throw a ResourceNotFoundException.
Edit Javadoc.

Resolves gh-92.
2020-07-21 20:33:50 -07:00
John Blum
1976a5f3e6 Refactor FileResourceWriter to throw a ResourceWriteException on a IOException.
Resolves gh-92.
2020-07-20 21:51:38 -07:00
John Blum
e60231e308 Refactor LifecycleAwareCacheDataImporterExporter to configure the ExportResourceResolver, ImportResourceResolver, ResourceLoader, ResourceReader and ResourceWriter on the decorated, wrapped CacheDataImporterExporter if the importer/exporter is ResourceLoaderAware and Resource capable.
Resolves gh-92.
2020-07-20 20:56:42 -07:00
John Blum
9aa818f398 Refactor ResourceCapableCacheDataImporterExporter to use setter injection instead of field injection.
Fix bug with FileSystemExportResourceResolve to append the file system path with the file system path separator.

Resolves gh-92.
2020-07-20 18:33:02 -07:00
John Blum
9c1f3354ac Edit Javadoc. 2020-07-20 18:25:05 -07:00
John Blum
d38442af2a Refactor AbstractResourceWriter to throw a ResourcewWriteException on an IOException during doWrite(..).
Additionally, add a preProcess(:WritableResource) to process the WritableResource before data for the target Resource is written.

Resolves gh-92.
2020-07-20 18:25:05 -07:00
John Blum
94b16dafbe Refactor AbstractResourceReader to throw a ResourceReadException on an IOException during doRead(..).
Additionally, add a preProcess(:Resource) method to process the Resource before data from the target Resource is read.

Resolves gh-92.
2020-07-20 18:25:05 -07:00
John Blum
3ed0145ea7 Refactor ResourceUtils and rename getWritableResource(:Resource) as asStrictlyWritableResource(:Resource).
Add additional, lenient asWritableResource(:Resource) method return an Optional<WritableResource> if the given Resource is not an instance of WritableResource.

Resolves gh-92.
2020-07-20 17:43:41 -07:00
John Blum
290dbc3e48 Fix Javadoc. 2020-07-20 13:38:53 -07:00
John Blum
2d1cc28188 Refactor JsonCacheDataImporterExporter to extend ResourceCapableCacheDataImporterExporter.
Change doImportInto(:Region) logic to make use of the ImportResourceResolver and ResourceReader on import.

Change doExportFrom(:Region) logic to make use of the ExportResourceResolver and ResourceWriter on export.

Resolves gh-92.
2020-07-20 13:25:26 -07:00
John Blum
4bf62d9bf0 Refactor ResourceCapableCacheDataImporterExporter class with Open/Closed Principles.
Change CacheResourceResolver, ExportResourceResolver and ImportResourceResolver interfaces into @FunctionalInterfaces; provide default implementation for the resolve(location:String):Optional<Resource> method.

Change access modifier on AbstractExportResourceResolver and AbstractImportResourceResolver from protected to public.

Resolves gh-92.
2020-07-20 13:10:20 -07:00
John Blum
e49ffa3d0f Add ResourceResolver implementation that resolves to a single (i.e. 'Singleton') Resource.
Resolve gh-92.
2020-07-20 12:41:34 -07:00