John Blum
a605bd9f40
Add a general ResourceDataAccessException, RuntimeException class indicating problems while accessing the data from a target Resource.
...
Add ResourceReadException extending ResourceDataAccessException to indicate problems while reading from a target Resource.
Add ResourceWriteException extending ResourceDataAccessException to indicate problems while writing to a target Resource.
Resolves gh-92.
2020-07-20 12:03:01 -07:00
John Blum
58a4992905
Move all Resource handling logic and class member constants to the ResourceCapableCacheDataImporterExporter subclass.
...
Edit Javadoc.
Change access modifier on getApplicationContext() from public to protected.
Resolves gh-92.
2020-07-16 14:48:01 -07:00
John Blum
681fd81ad2
Define new, abstract ResourceCapableCacheDataImporterExporter capable of handling dynamic Resources.
...
The primary concerns involve resolving Resources for import/export along with reading from and writing to any Resource using the Spring Resource abstraction.
Resolves gh-92.
2020-07-16 14:43:32 -07:00
John Blum
9a77049a76
Add new SpEL PropertyAccessor implementation to handle Spring Environment and EnvironmentCapable objects in safe way.
2020-07-10 14:59:57 -07:00
John Blum
a1ab9226eb
Add Adapter class for a Spring Environment to use as a Map.
2020-07-10 14:59:57 -07:00
John Blum
d7f1091754
Add null-safe isReadable(:Resource) and isWritable(:Resource) utility methods.
...
Resolve gh-92.
2020-07-10 14:59:57 -07:00
John Blum
d21ce7d20a
Utilize new enum for Resource prefixes.
...
Simplify ResourceLoaderResourceResolver.getResourceLoader() to use the new 'initialize' operator.
Resolves gh-92.
2020-07-10 14:59:57 -07:00
John Blum
433d152c98
Add enumeration of supported Resource prefixes (e.g. classpath:).
...
Additionally, the enum defines operations on the Resource prefixes for convenience.
Resolves gh-92.
2020-07-10 14:59:57 -07:00
John Blum
251f762c2d
Add initialize(..) operator to promote initialization safety.
...
The initialize operator replaces the common initialization safety pattern using an if-then-else or Java's ternary operator to ensure that a collaborator reference has bee properly initialized:
target = target != null ? target : new Target();
2020-07-08 14:19:06 -07:00
John Blum
2da58cc548
Add ResourceLoaderResourceResolver implementation using Spring's ResourceLoader to resolve Resources.
...
Resolves gh-92.
2020-07-08 14:18:48 -07:00
John Blum
7de8bde27a
Define ResourceResolver interface encapsulating the algorithm or strategy for resolving Resources in different contexts.
...
Resolves gh-92.
2020-07-08 12:33:10 -07:00
John Blum
a1ece3599c
Add ResourceNotFoundException as a RuntimeException to indicate that a Resource could not be found at the specified location.
...
Resolves gh-92.
2020-07-08 12:33:10 -07:00
John Blum
60f748a30d
Add UnhandledResourceException as a RuntimeException to indicate that a Resource could not be handled, or processed (e.g. read, written).
...
Resolves gh-92.
2020-07-08 12:33:10 -07:00
John Blum
703cc43282
Add ResourceUtils abstract utility class containing operations for working with Resource objects and byte arrays.
...
Resolves gh-92.
2020-07-08 12:33:10 -07:00
John Blum
02f06500fc
Add FileResourceWriter implementation to write data to a File-based Resource.
...
Resolves gh-92.
2020-07-07 11:24:50 -07:00
John Blum
edd0cab1af
Add AbstractResourceWriter base class containing operations common to all ResourceWriters.
...
Resolves gh-92.
2020-07-07 11:23:26 -07:00
John Blum
d2591f7f8c
Define ResourceWriter interface for writing data to a resource identified by a Resource handle.
...
Resolves gh-92.
2020-07-07 11:21:47 -07:00
John Blum
8ed0f24d8b
Add ByteArrayResourceReader implementation that reads the data from a Resource (e.g. ClassPathResource) into a byte array.
...
Resolves gh-92.
2020-07-07 11:20:15 -07:00
John Blum
2b05bc5919
Add AbstractResourceReader base class defining operations common to all ResourceReaders.
...
Resolves gh-92.
2020-07-07 11:18:33 -07:00
John Blum
2437b0247e
Define ResourceReader interface for reading data from a resource identified by a Resource handle.
...
Ressolves gh-92.
2020-07-07 11:16:36 -07:00
John Blum
01696b15af
Refactor and polish JSON and base cache data import/export support.
2020-06-25 17:02:56 -07:00
John Blum
ad83eef6f3
Edit changelog and include 1.2.8.RELEASE notes.
2020-06-16 15:00:52 -07:00
John Blum
59f749ab90
Edit changelog and include 1.1.8.RELEASE notes.
2020-06-16 14:59:40 -07:00
John Blum
cca94c37f3
Edit changelog and add 1.3.0.RELEASE notes.
2020-06-11 01:03:37 -07:00
John Blum
5994d6b6a3
Upgrade to FreeFair Lombok Gradle Plugin 5.1.0.
2020-06-10 23:48:29 -07:00
John Blum
5318782bfb
Fix bug to handle cache data import into client LOCAL Regions when no PDX type registry exists.
...
Resolves gh-91.
2020-06-10 23:16:11 -07:00
John Blum
98ee687a78
Include JacksonJsonToObjectConverter, Spring Converter implementation to convert/map JSON to a POJO using Jackson's ObjectMapper.
2020-06-10 22:24:50 -07:00
John Blum
dd439fe300
Include ObjectPdxInstanceAdapter class to adapt a regular Object (POJO) as an instance of PdxInstance.
2020-06-10 20:03:02 -07:00
John Blum
91a10a8ca1
Move PdxInstance identifier/identity resolution logic from JsonCacheDataImporterExporter to PdxInstanceWrapper.
2020-06-10 12:39:21 -07:00
John Blum
450cc58d82
Format source code.
2020-06-10 12:21:35 -07:00
John Blum
e8a8486f33
Edit Javadoc.
2020-06-10 12:21:35 -07:00
John Blum
a0b4f60c77
Define Spring Converter interface extension to convert from JSON into an Object array (array of POJOs).
2020-06-10 12:21:35 -07:00
John Blum
2b2e03a764
Define Spring Converter interface extension to convert from JSON into an Object (POJO).
2020-06-10 12:21:35 -07:00
John Blum
db0a00e452
Rename toPdxArray(:byte[]) to toPdx(:byte[]).
2020-06-10 12:21:35 -07:00
John Blum
e05c627e13
Refactor toJson(:Region) to serialize the values from the Region using the AbstractObjectArrayToJsonConverter class and CacheUtils.collectValues(:Region) method.
2020-06-10 12:21:35 -07:00
John Blum
53dda1265b
Remove unused and unnecessary code.
2020-06-09 20:47:04 -07:00
John Blum
895378be70
Add Spring Lifecycle-aware CacheDataImporterExporter implementation.
...
Resolves gh-90.
2020-06-09 14:10:04 -07:00
John Blum
cb291c844e
Enable JSON data formatting on export.
...
Resolves gh-89.
2020-06-09 14:09:57 -07:00
John Blum
b07ca31e51
Add file system appropriate file path separator to Resource location on export.
2020-06-08 15:16:28 -07:00
John Blum
8aea5ce76d
Edit changelog and include release notes from the 1.2.7.RELEASE.
2020-05-22 14:11:39 -07:00
John Blum
9d2e1c2617
Edit changelog and include release notes from the 1.1.7.RELEASE.
2020-05-22 14:10:35 -07:00
John Blum
dcfb7eb186
Add configuration property to enable/disable data imports.
2020-05-14 22:32:31 -07:00
John Blum
9e2baf987a
Remove unnecessary @SuppressWarnings annotation declarations.
2020-05-14 19:09:59 -07:00
John Blum
51d64082fa
Edit changelog and add 1.3.0.RC1 release notes.
2020-05-13 23:04:16 -07:00
John Blum
e3efabe476
Changes 'apache-geode-extensions' dependency from 'optional' to 'compile'.
2020-05-13 00:28:56 -07:00
John Blum
ae39191563
Fix invalid Javadoc tags.
2020-05-13 00:21:47 -07:00
John Blum
a63d792898
Add getAtIdentifier(:PdxInstance) method and strategy for resolving ids from PdxInstances.
...
Add postProcess(:PdxInstance) method to allow subclasses to override the method in order to post process the PdxInstance(s) generated from JSON.
Edit Javadoc.
Rename getIdField(:PdxInstance) to getId(:PdxInstance).
Resolves gh-67.
2020-05-13 00:13:26 -07:00
John Blum
2536585de9
Edit Javadoc.
...
Resolves gh-67.
2020-05-12 22:06:07 -07:00
John Blum
fa9b2e1ae6
Fix infinite recursion bug leading to a StackOverflowError.
...
Renamed the convertObjectToJson(:Object) method in the JSONFormatterPdxToJsonConverter class to convertPojoToJson(:Object).
Resolves gh-67.
2020-05-12 22:01:22 -07:00
John Blum
8fe13e01fb
Add descriptive convertJsonToPdx(..) conversion method.
...
Add protected jsonFormatterFromJson(..) method to encapsulate the invocation of the JSONFormatter.fromJSON(..) method.
Add wrap(:PdxInstance) method to wrap the PdxInstance generated from JSON in a new instance of PdxInstanceWrapper.
Resolves gh-67.
2020-05-12 19:41:06 -07:00