Commit Graph

461 Commits

Author SHA1 Message Date
John Blum
58c41f8e87 Completed Client Cache Region Template testing for JIRA feature requests SGF-207 and SGF-254 adding support for template-defined Regions. In addition, fixed JIRA bug SGF-310 pertaining to the missing 'concurrency-level' attribute on the <gfe:client-region> element in the SDG XSD as well as SGF-311 involving the ClientRegionFactoryBean not properly setting the 'concurrencyChecksEnabled' property on GemFire's ClientRegionFactory class.
(cherry picked from commit 4bff3d9f7a)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 16:45:58 -07:00
John Blum
a877bf55ce Added another test case for JIRA feature requests SGF-207 and SDG-254, Region Templates, to test the correct Region to Region Template bean defintion order in the Spring context configuration file. Region Templates must be defined 'before' the Regions that are based on those template definitions.
(cherry picked from commit 02fd3ce44e)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 16:42:02 -07:00
John Blum
eed8849ddf Completed Peer Cache Region Template testing for JIRA feature requests SGF-207 and SGF-254 adding support for template-defined Regions.
(cherry picked from commit 5919d87658)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 16:41:31 -07:00
John Blum
0085b609d4 Code refactoring and cleanup related to SGF-207 and SGF-254, Region Templates.
(cherry picked from commit dab04833c9)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 16:40:54 -07:00
John Blum
5af6a7e2f0 Additional work and changes for JIRA feature requests SGF-207 and SGF-254 to enable developers with the ability to create Region templates to model attributes and configuration meta-data common to multiple, strongly-typed GemFire Region types (e.g. REPLICATE, PARTITION, etc).
(cherry picked from commit 2f66eca99b)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 16:35:18 -07:00
John Blum
083b4e2986 Initial implementation and tests for JIRA feature requests SGF-207 and SGF-254 supporting inheritable Region templates when defining GemFire Regions using Spring Data GemFire XML configuration meta-data. This feature allows common Region configuration and attribute values to be defined once and then shared across multiple Region bean definitions in the Spring context for added convenience.
(cherry picked from commit 5d27c19ef5)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 16:16:00 -07:00
John Blum
f1e5fee45b Fixes JIRA bug SGF-312 allowing developers to declare/define and register multiple PartitionListeners on a Partitioned Region using nested inner bean and bean reference elements inside the <gfe:partition-listener> sub-element of the <gfe:partitioned-region> element in the SDG XML namespace (XSD).
(cherry picked from commit b9a966e11a)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 15:56:16 -07:00
John Blum
c46b5f8575 Implements JIRA improvement SGF-223 enabling Spring Data GemFire to create GemFire Disk Store directory locations automatically (based on nested <gfe:disk-dir> elements inside the <gfe:disk-store> element specified in Spring config) without the user having to create the disk directories for the location manually, unlike GemFire's native configuration options (such as cache.xml).
(cherry picked from commit 96cb3775fb)

Signed-off-by: John Blum <jblum@pivotal.io>
2014-09-03 15:42:03 -07:00
John Blum
324b25e5cf Fixes JIRA issue SGF-304 changing the GroupMembersFunctionExecution class to call the correct GemFire com.gemstone.gemfire.cache.execute.FunctionService method, onMembers(groups:String[]) (plural). Performed additional refactoring in related classes. 2014-08-11 16:21:58 -07:00
John Blum
0e3b8885d4 Fixed test issue in GatewayReceiverNamespaceTest class which caused a com.gemstone.gemfire.management.ManagementException: javax.management.InstanceAlreadyExistsException: GemFire:service=GatewayReceiver,type=Member,member=10.237.177.13(80647)-24771 when mocking was disabled and true integration testing was performed in the SDG build/test run. 2014-07-30 23:31:38 -07:00
John Blum
48e874c852 Re-implemented the toObjectArray method using System.arraycopy. 2014-07-08 00:16:27 -07:00
John Blum
e7059a370c Fixes JIRA issue SGF-297 enabling Spring Data GemFire POJO, Function annotated methods to be invoked from Gfsh when arguments are injected during Function argument resolution. 2014-07-07 23:50:45 -07:00
John Blum
34bc5da8a1 Completes JIRA improvement SGF-294 allowing GemFire Gateway Receivers to be configured for manual start using the Spring Data GemFire XML namespace. This commit completes the improvement in the 1.5 XSD for the SDG 1.5.0.M1 (Evans) release. 2014-07-07 18:31:37 -07:00
John Blum
db066287b0 Completes JIRA improvement SGF-294 allowing GemFire Gateway Receivers to be configured for manual start using the Spring Data GemFire XML namespace. This commit completes the improvement in the 1.4 XSD first in order to backport the feature to the SDG 1.4.2 release. 2014-07-07 18:29:32 -07:00
John Blum
1ed3ad4295 Fixed test issues in SubRegionNamespaceTest class involving Region fullPath property assertions. 2014-07-07 13:43:43 -07:00
John Blum
8a8d0d89ff Fixes JIRA issue SGF-295 allowing all Eviction Policy Actions (LOCAL_DESTROY, OVERFLOW_TO_DISK) to be specified on Local Regions configured using the Spring Data GemFire XML namespace. This commit resolves the issue in the 1.5 XSD for the SDG 1.5.0.M1 (Evans) release. 2014-07-07 13:10:47 -07:00
John Blum
1df9454524 Fixes JIRA issue SGF-295 allowing all Eviction Policy Actions (LOCAL_DESTROY, OVERFLOW_TO_DISK) to be specified on Local Regions configured using the Spring Data GemFire XML namespace. This commit resolves the issue in the 1.4 XSD first in order to backport the fix to the SDG 1.4.2 release. 2014-07-07 13:07:51 -07:00
John Blum
1233a4bbb2 Completes SGF-296 - adding SDG XML schemas (XSDs) for both the spring-gemfire (gfe) XML namespace as well as the spring-data-gemfire (gfe-data) XML namespace. Switches the default XSDs to the 1.5 versions, respectively. 2014-07-03 17:29:48 -07:00
John Blum
8cc46ac0fc Upgraded Spring Data GemFire 1.5 to Spring Framework 4.0.5. 2014-07-02 20:18:52 -07:00
John Blum
ff11bd384d Fixed message in assertion and overrode the assertInitialized method of LazyWiringDeclarableSupport in the inner, static UserDataStoreCacheLoader test class to properly assert that the Spring defined DataSource dependency was properly configured. 2014-06-24 19:07:55 -07:00
John Blum
1920ce4ba1 Fixes JIRA issue SGF-290 handling custom OQL statements specified with an @Query annotated Repository method that returns neither a Collection nor a Entity-based result, such as the case with SELECT count(*) FROM /Region ... based queries returning an Integer count. 2014-06-16 20:12:50 -07:00
John Blum
17ec3138c8 Completed SGF-272 refactoring SDG API Javadoc comments as well as cleaning up all Javadoc warnings reported by the SDG Gradle-based build when building on Java 7 and Java 8. 2014-05-07 19:47:58 -07:00
John Blum
98441b9a14 Modified the testLookupQueryService method to use pure mock objects to test the lookup behavior and conditional statements. Added an assertion to the testLookupLocalQueryService test case to verify that the RegionService.getQueryService() method is 'never' called. 2014-05-05 11:46:52 -07:00
John Blum
c15a430419 Fixed failing testLookupQueryService test when mocks are not enabled. In addition, assured the tests passes with or without mocks enabled. 2014-05-05 09:44:17 -07:00
John Blum
14754be03e Implements SGF-274 removing the use of temporary callback objects passed to the 'templated' execute method for each operation implementation in order to reduce the memory footprint, especially in the context of Repositories. 2014-05-02 14:51:08 -07:00
John Blum
426c110187 Implements JIRA improvement SGF-281 involving the addition of logic in SDG to avoid setting the Disk Store Name on the RegionAttributes used to a create a Region in the RegionFactoryBean when the Region is neither 'persistent' nor has an Eviction policy of Overflow To Disk. GemFire erroneously throws an IllegalStateException when the Region references a Disk Store but is not configured with persistence or overflow, which should not matter. Also fixed JIRA issues SGF-282 where the Eviction 'action' is ignored for PARTITION Regions when the 'threshold' is not set. 2014-04-28 15:56:20 -07:00
John Blum
0c25e14be9 Fixes JIRA issue SGF-273 - OrderBy (static) and Sort parameter (dynamic) Repository Queries do not work. 2014-04-28 15:37:30 -07:00
John Blum
8fd0b0bf6d Fixes JIRA issue SGF-277 - OQL Join in Repository Interface. 2014-04-28 14:21:45 -07:00
John Blum
edca5232a4 Fixes JIRA issues SGF-271 - <cq-listener-container> element is missing the 'auto-startup' attribute, SGF-275 - <cq-listener-container> element's phase attribute is ignored, SGF-278 - ContinuousQueryListenerContainer class's 'taskExecutor' property is not set properly by the GemfireListenerContainerParser, SGF-279 - <cq-listener-container> element is missing the 'error-handler' attribute, and finally, SGF-280 - the ContinuousQueryListenerContainer class is not Thread-safe. 2014-04-28 13:34:44 -07:00
John Blum
83fde996b5 Merge branch 'sgf268' of github.com:jxblum/spring-data-gemfire into jxblum-pr64 2014-04-21 11:50:19 -07:00
John Blum
163e36497c Fixes JIRA issues SGF-271 - <cq-listener-container> element missing the 'auto-startup' attribute, SGF-275 - <cq-listener-container> element's phase attribute is ignored, SGF-278 - ContinuousQueryListenerContainer class's 'taskExecutor' property is not set properly by the GemfireListenerContainerParser, SGF-279 - <cq-listener-container> element is missing the 'error-handler' attribute, and finally, SGF-280 - the ContinuousQueryListenerContainer class is not Thread-safe. 2014-04-18 23:01:02 -07:00
John Blum
dc289b478e Refactored and cleaned up Javadoc. 2014-04-16 23:30:06 -07:00
John Blum
e6066d60c0 Declared and implemented the findAll(:Sort) method from the SDC's PagingAndSortingRepository abstraction in SDG given GemFire supports ORDER BY in Queries. 2014-04-16 21:11:54 -07:00
John Blum
7c354f59d6 Refactored and cleaned up deprecated and unchecked/unsafe Java and GemFire API usage. 2014-04-16 13:22:59 -07:00
John Blum
dbf593d409 Added test cases to test and assert the correct behavior of the StringBasedGemfireRepositoryQuery.toCollection(..) method for handling various GemFire Select Query result types. 2014-04-16 09:36:06 -07:00
John Blum
6ad31ba619 Resolves JIRA improvement SGF-265, appropriately handling the 'new' Query result type (ResultsCollectionPdxDeserializerWrapper) introduced and returned by GemFire's Querying infrastructure in 7.0.2, breaking backwards compatibility with 7.0.1 for certain types of Queries. 2014-04-16 08:56:45 -07:00
John Blum
4ae0be7860 Fixed compilation issues on JDK 7 and JDK 8. Refactored the DataSourceAdapter abstract, supporting class to implement the Java 7 DataSource.getParentLogger():Logger method. 2014-04-14 16:19:04 -07:00
John Blum
d400c78fb6 Completes JIRA ticket SGF-260 adding support for @Id annotated domain entity interface and class methods in addition to domain entity class fields. This change replaces the DefaultGemfireEntityInformation class's PersistentEntityBasedEntityInformation implementation of the EntityInformation interface to use the new Spring Data Commons org.springframework.data.repository.core.support.PersistentEntityInformation class. Now, DefaultGemfireEntityInformation extends PersistentEntityInformation directly and uses the GemfirePersistentEntity mapping meta-data to retrieve information about the domain entity's id. 2014-03-27 12:44:25 -07:00
John Blum
7f5eb6edb6 Additional changes for SGF-260 supporting @Id annotations on domain entity class or interface methods in addition to domain entity class fields. This change replaces the use of the org.springframework.data.repository.core.support.ReflectionEntityInformation in the DefaultGemfireEntityInformation class with an internal implementation of SDC EntityInformation interface based on the GemfirePersistentEntity instance passed to the DefaultGemfireEntityInformation class during construction. 2014-03-26 17:04:03 -07:00
John Blum
c027e73131 Completes testing for SGF-260, which enables the Spring Data Commons @Id mapping annotation to be used on methods of domain interfaces or classes in addition to domain entity class fields. These test additions require DATACMNS-476 (https://jira.spring.io/browse/DATACMNS-476), with details in GitHub PR #76 (https://github.com/spring-projects/spring-data-commons/pull/76) to be included in the recent SDC 1.8.0.BUILD-SNAPSHOT, slated for the Spring Data Dijkstra release as M1. 2014-03-26 17:04:03 -07:00
John Blum
321728d7d5 Added appropriate synchronization around application event notification using the Spring ApplicationContext and ApplicationEventMulticaster. In addition, added support for late ContextRefreshedEvent notifications in the case where ApplicationListeners are registered after the ConfigurableApplicationContext has already been constructed, configured, initialized and refreshed. This latest feature is meant to support updates planned in the 7.5 GemFire release to the Gfsh 'deploy' command dynamically deploying and initializing Declarables in the JAR file. It is possible that Declarables are created and initialized in an unspecified order given there is not equivalent to Spring's Ordered interface in GemFire. 2014-03-25 11:04:31 -07:00
John Blum
f6ccc09c23 Added support to the SpringContextBootstrappingInitializer class for component scanning given a set of base packages to scan. Refactored LazyWiringDeclarableSupport to implement the DisposableBean interface in order for any extending bean component to unregister itself from the SpringContextBootstrappingInitializer to stop receiving ApplicationContext event notifications when destroyed. Fully tested the application component scanning and configuration using Annotations and JavaConfig-based configuration, uplifting some of the application components (UserDao, UserService, etc) from the integration test and adding a UserApplicationConfiguration @Configuration component in order to test this functionlity properly. 2014-03-25 11:04:31 -07:00
John Blum
ba84061b48 Completed all testing and interface/functional changes for SGF-248 - Bootstrapping a Spring ApplicationContext with GemFire. 2014-03-25 11:04:10 -07:00
John Blum
5476837119 Renaming the SpringContextBootsrappingInitializerTest to SpringContextBootstrappingInitializerIntegrationTest to reflect the fact that the test class is actually an 'integration' test. Also renamed the cache-with-initializer.xml GemFire native configuration file to cache-with-spring-context-bootstrap-initializer.xml to indicate that we are using GemFire to bootstrap a Spring container. 2014-03-25 11:03:44 -07:00
John Blum
8e57cc05a3 Early solution for SGF-248 concerning bootstrapping a Spring ApplicationContext inside a GemFire Server-based JVM process when starting the GemFire Server from Gfsh. 2014-03-25 11:03:44 -07:00
John Blum
217732b7f7 Implements SGF-204 changing the default behavior or Region lookups. 2014-03-24 13:55:51 -07:00
John Blum
1594c5f062 Implements SGF-88 - Region Shortcuts; Implements SGF-257 - Strict types in the SDG XSD for Region data-policy and shortcut attributes; Fixes SGF-258 - missing data-policy attribute for Partitioned Regions; Fixes SGF-263 - ineffective application of disk-synchronous attribute setting on Region bean definitions defined with SDG XML namespace. 2014-03-21 00:35:32 -07:00
John Blum
942c5ca7be Added specific Spring Converter implementations for GemFire RegionShortcut and ClientRegionShortcut enumerated value classes. 2014-03-21 00:35:31 -07:00
John Blum
984df1b9d4 Refactored RegionFactoryBean and ParsingUtils classes to simplify the code. Specifically, simplified the logic in the parseExpiration and parseCustomExpiration methods while preserving functional behavior. 2014-03-21 00:35:31 -07:00
John Blum
c5a33d6fef Completes JIRA ticket SGF-204 changing the default behavior of peer and client Region types to not perform a lookup first of an existing Region of the same name/path if the Region was created and configured using native cache.xml in GemFire in addition Spring config. 2014-03-11 21:19:10 -07:00