Commit Graph

47 Commits

Author SHA1 Message Date
John Blum
9821a1e277 Update Copyright for 2022. 2022-03-02 16:16:01 -08:00
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
8c3062c79a Declare 'org.apache.geode:geode-membership' as a test-compile dependency in the apache-geode-extensions module.
Declare 'org.apache.geode:geode-serialization' as a test-compile dependency in the apache-geode-extensions module.
2020-09-18 01:28:22 -07:00
John Blum
1a9319c44c Replace uses of the internal DistributionConfig API and class with org.apache.geode.distributed.ConfigurationProperties. 2020-09-18 01:06:06 -07:00
John Blum
7508685564 Declare 'com.fasterxml.jackson.core:jackson-databind' as compile-time dependency. 2020-09-17 21:46:43 -07:00
John Blum
01f9730b6c Remove use of org.springframework.util.ObjectUtils.
Provide private implementation of nullSafeClassName(:Object).
2020-09-17 21:45:41 -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
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
f6e6a957dc Include PdxFieldNotWritableException, RuntimeException class to indicate a PDX field on a PdxInstance is not modifiable. 2020-06-10 20:01:33 -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
0a3c2bb7ab Refactor from(:PdxInstance) factory method to handle PdxInstanceWrapper arguments.
The from(:PdxInstance) method should not wrap a PdxInstance more than once.

Format source code.
2020-06-10 12:21:35 -07:00
John Blum
139d52918c Add factory method to unwrap a PdxInstanceWrapper returning the underlying, delegate PdxInstance. 2020-06-10 12:21:35 -07:00
John Blum
6fbc40daa8 Adapt CacheUtils to identify client LOCAL Regions when collecting (getting) all values from the Region in collectValues(:Region).
Add new isProxyRegion(:Region) method to safely determine if the Region is a PROXY.

Add new isRegionWithPool(:Region) method to safely determine if the Region has been configured with a Pool, imply the Region is owned by a client (i.e. ClientCache).

Edit Javadoc.
2020-06-08 15:08:14 -07:00
John Blum
ad7a41920a Edit Javadoc.
Declare @throws Javadoc tag for IllegalStateException, which is thrown if a cache instance is not resolvable when require() is called.
2020-06-02 21:17:27 -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
John Blum
df466c0a62 Add PdxInstanceWrapper class to wrap (decorate) existing PdxInstances and more appropriately handle JSON to Object mappings returned by getObject(). 2020-05-12 19:01:17 -07:00
John Blum
b1ec1dbab2 Delegate all cach instance operations to org.springframework.geode.util.CacheUtils. 2020-05-11 00:02:41 -07:00
John Blum
d4aa108414 Add abstract utility class for working with GemFire/Geode cache instances (ClientCache & peer Cache) and Regions. 2020-05-11 00:00:10 -07:00
John Blum
d8ede349cb Add assertion that asserts a given Object (subject) is not null.
Edit Javadoc.
2020-05-10 22:28:28 -07:00
John Blum
7c65ad4320 Add PdxInstanceBuilder class used to create instances of PDX types (PdxInstance).
The Builder allows users to copy an existing PdxInstance to a new PdxInstance or create a PdxInstance from an Object.
2020-05-09 23:03:26 -07:00
John Blum
a4d452cfa4 Add SimpleCacheResolver class to resolve instances of GemFire/Geode ClientCaches and peer Caches. 2020-05-09 23:03:26 -07:00
John Blum
0950ba7d9f Reorganize assertions in GeodeAssertions alphabetically. 2020-04-27 14:39:27 -07:00
John Blum
ed0989cce0 Refactor MembershipListenerAdapter away from using java.util.function.Consumer implementations to delegate the processing of membership event towards using the new MembershipEvent types along with overloaded membership event handler methods.
Move MembershipListenerAdapter from org.springframework.geode.distributed to org.springframework.geode.distributed.event.

Edit Javadoc.
2020-04-27 14:35:21 -07:00
John Blum
f134c06390 Introduce the QuorumLostEvent class extending MembershipEvent to signal that a quorum of peer members was lost in the event of a split brain or network partition. 2020-04-27 14:31:36 -07:00
John Blum
6cff7a3da0 Introduce the MemberSuspectEvent class extends MembershipEvent to signal when a peer member of the distributd system (cluster) becomes suspect.
A peer member of the distributed system (cluster) becomse suspect when it is no longer responsive to other peer members in the cluster.
2020-04-27 14:29:54 -07:00
John Blum
dad1459c44 Introduce the MemberJoinedEvent class extending MembershipEvent to signal when a new member joins the distributed system (cluster) as a peer. 2020-04-27 14:28:41 -07:00
John Blum
0f1dbc175d Introduce the MemberDepartedEvent class extending MembershipEvent to signal when a peer member departs from the distributed system (cluster). 2020-04-27 14:27:45 -07:00
John Blum
afb853646f Introduce the abstract MembershipEvent class to encapsulate the details of a membership event (e.g. memberJoined event) as defined by the o.a.g.distributed.internal.MembershipListener interface. 2020-04-27 14:25:27 -07:00
John Blum
929b2e49e5 Add MembershipListenerAdaper class implementing and adapting the o.a.g.distributed.internal.MembershipListener interface.
The internal Apache Geode API MembershipListener interface is useful for receiving notification in the event a peer cache member is disconnected (forced disconnected) and then auto-reconnected to the cluster.
2020-04-27 14:18:45 -07:00
John Blum
3770ff4569 Introduce TupleConsumer interface extending and implementing the java.util.function.Consumer interface accepting a variable number of arguments reprented by InvocationArguments. 2020-04-27 14:18:45 -07:00
John Blum
7ab6cc25b8 Introduce TriConsumer interface modeled after the java.util.function.Consumer interface that accepts 3 arguments. 2020-04-27 14:18:45 -07:00
John Blum
6f0b2ecf84 Introduce InvocationArguments type to capture the arguments passed to a method invocation's parameters. 2020-04-27 14:18:45 -07:00
John Blum
35c731c66c Replace reference to DistributionConfig.GEMFIRE_PREXIX with constant String literal. 2020-04-09 15:18:14 -07:00
John Blum
8c42646359 Add assertions for instanceof checks on InternalDistributedSystem.
Refactor both instanceof and not instanceof checks.
2020-03-20 02:08:24 -07:00
John Blum
8e88abfebe Add the org.springframework.geode.util.GeodeAssertions abstract class containing assertions for different Apache Geode objects, such as a cache or Region.
GeodeAssertions will help in the effort to remove all uses of internal Apache Geode APIs and restrict all internal Apache Geode API usage to the apache-geode-extensions module.

Resolves gh-70.
2020-02-21 20:17:32 -08:00
John Blum
796f15e876 Change the GeodeConstants abstract class to an interface. 2020-02-21 20:17:32 -08:00
John Blum
d9a9b7d698 Remove use of the org.apache.geode.distributed.internal.DistributionConfig class to refer to the 'gemfire.' property prefix.
Resolves gh-70.
2020-02-21 19:24:52 -08:00
John Blum
c434873f58 Remove uses of the org.apache.geode.distributed.internal.DistributionConfig interface to refer to configuration property names.
Resolves gh-70.
2020-02-21 19:19:12 -08:00
John Blum
d266c1c660 Remove uses of the org.apache.geode.management.internal.security.ResourceConstants class to refer to Security constants and properties.
Resolves gh-70.
2020-02-21 19:14:36 -08:00
John Blum
49d5e65a9f Introduce the org.springframework.geode.util.GeodeConstants class to encapsulate common Apache Geode constants used by SBDG.
The GeodeConstants class will help in the effort to remove all uses of internal Apache Geode APIs, isolating all internal Apache Geode API usage to the apache-geode-extensions module.

Resolves gh-70.
2020-02-21 18:52:27 -08:00
John Blum
8447eaad10 Update Copyright to 2020. 2020-02-19 23:04:23 -08:00
John Blum
ac8d47bec4 Add raw Apache Geode ClientCache application verifying the log-level property has no effect.
Resolves gh-73.
2020-02-13 00:13:38 -08:00
John Blum
5c5032e4a2 Exclude the 'javax.servlet:javax.servlet-api' transitive dependency from 'geode-core'.
Exclude the 'javax.servlet:javax.servlet-api' transitive dependency except from in the 'spring-geode-starter-session' and 'spring-gemfire-starter-session' modules.

Remove unnecessary 'javax.servlet:javax.servlet-api' provided dependency in 'spring-geode-autoconfigure'.

Remove unnecessary 'org.springframework.boot:spring-boot-starter-tomcat' runtime dependency from 'spring-geode-samples-caching-httpsession'.

Remove unnecessary 'javax.cache:cache-api' and 'org.springframework.shell:spring-shell' runtime dependencies from 'spring-geode-samples-caching-inline'.

Remove unnecessary 'javax.cache:cache-api' and 'org.springframework.shell:spring-shell' runtime dependencies from 'spring-geode-samples-caching-lookaside'.

Remove unnecessary 'javax.cache:cache-api' runtime dependency from 'spring-geode-samples-caching-near'.

Resolves gh-47.
2019-08-22 22:46:26 -07:00
John Blum
c218795e8d Refactor logging dependencies in SBDG Module Gradle build files.
Remove the exclude for 'org.apache.logging.log4j:log4j-to-slf4j'.

Add an exclude for 'org.apache.logging.log4j:log4j-core'.

Resolves gh-42.
2019-08-21 11:56:32 -07:00
John Blum
a59017949a Add convenient o.a.g.cache.CacheListener implementation that processes all EntryEvents and RegionEvents using the same logic. 2019-08-12 10:37:47 -07:00
John Blum
57a1ea4840 Add apache-geode-extensions module containing classes implementing Apache Geode interfaces and SPIs.
These extensions will be used for testing and documentation purposes.

For example, this module contains extensions to Apache Geode's o.a.g.security.SecurityManager and o.a.g.security.AuthInitialize interfaces used in the SBDG samples.
2019-04-22 23:45:47 -07:00