Fixed up the GemFireDataSourceUsingNonSpringConfiguredGemFireServerIntegrationTest to customize the classpath in order to exlude the Spring Data GemFire dependency from the non-Spring-configured GemFire Server's classpath thereby removing any presence of the ListRegionsOnServerFunction GemFire Function; made use of the com.gemstone.gemfire.distributed.ServerLauncher class for launching the non-Spring-configured GemFire Server and finally, wrote the gemfire-datasource-integration-test-cache.xml as an cache.xml file to the non-Spring-configured GemFire Server's working directory to properly configure the GemFire Server.
(cherry picked from commit 65ab1c7dcd)
Signed-off-by: John Blum <jblum@pivotal.io>
Refactored the GemfireDataSourcePostProcessorTest class test cases based on the new implementation of the GemfireDataSourcePostProcessor BeanFactoryPostProcessor, which uses the GemFire internal GetRegionsFunction GemFire Function as a fallback when the ListRegionsOnServerFunction has not been registered or is not available. In addition, added 2 integration tests to test a Spring Data GemFire ClientCache connecting to a Spring-configured GemFire Server and non-Spring-configured GemFire Server asserting that client PROXY Region beans are appropriately created in the Spring ApplicationContext.
(cherry picked from commit 52e4be4240)
Signed-off-by: John Blum <jblum@pivotal.io>
Removed the SDG XSD schema restriction requiring the use of at least 1 <gfe:locator> of <gfe:server> sub-element on the <gfe:pool> element. Also added a default Locator endpoint on localhost listening on the Locators default port of 10334 when no Locator or Server endpoints were specified, either by way of explicit use of the 'locators' or 'servers' attribute or a corresponding <gfe:locator> or <gfe:server> sub-element.
(cherry picked from commit 13b961c8138b2aa2555f40d0230e65b25b494a24)
Signed-off-by: John Blum <jblum@pivotal.io>
Updated copyright years. Fall back to locally available Spring Data Commons reference docs as the remote variant doesn't seem to work currently. Included reference to the return type listing appendix from Spring Data Commons.
Added additional test cases to test and cover different combinations of data-policy and persistent attribute settings with explicit RegionFactoryBean and nested RegionAttributesFatoryBean 'bean' definitions in Spring XML configuration meta-data.
Following up to SGF-374 with additional test criteria to assert that a GatewayHub marked as 'persistent' does not need to explicity declare a 'DiskStore', that the GatewayHub will use the 'DEFAULT' DiskStore instead.
Removed the XSD enumeration restriction on the 'scope' attribute of the 'baseReplicatedRegionType' complexType, Region element definition in the SDG XSD allowing the use of property placeholders to specify a GemFire Cache Region's Scope for different distribution patterns. In addition, completely removed the 'scopeType' simpleType element definition in the SDG XSD.
Removed the XSD enumeration restriction on the 'type' attribute of the 'index' element definition inside the SDG XML namespace (XSD) allowing the use of property placeholders to specify the Index types on GemFire Cache Region Indexes.
Removed the XSD enumeration restriction on the 'eviction-type' attribute of the 'subscription-config' sub-element of the 'cache-server' element inside the SDG XML namespace (XSD) allowing the use of property placeholders to specify the Eviction Policy for Client Subscription to GemFire Cache Servers.
Removed the XSD enumeration restriction on the 'result-policy' attribute of the 'interestType' SDG XSD complex-type definition in order to allow users to specify an Interest Policy using concrete values or properly placeholders when registering client Region Interests.
Refactoring SDG enum types. Renamed the EvictionType enum to EvictionPolicyType to reflect that the enum represents an Eviction 'policy' encompassing both Eviction algorith along with the monitored resource triggering Eviction. Renamed the EvictionTypeConverter to EvictionPolicyConverter to more accurately reflect it's intent. Renamed IndexMaintenanceType enum to IndexMaintenancePolicyType to more accurately describe the purpose of the index maintenance setting reflected as a policy. Renamed IndexMaintenanceTypeConverter to IndexMaintenancePolicyConverter to more accurately reflect it's intent.
Removed the 'subscriptionPolicyType' XSD simple-type definition and subsequently, all Subscription policy enumeration restrictions on SDG Region elements in the SDG XML namespace (e.g. gfe:partitioned-region) that declare and define a Subscription policy. Renamed SubscriptionType to InterestPolicyType along with the associated test suite class. Renamed the SubscriptionTypeConverter class to InterestPolicyConverter along with the associated test suite class. Created the RegionSubscriptionAttributesNamespaceTest class to test the configuration of Subscription on GemFire Regions in the SDG XML namespace using various settings and property placeholders.
Removed the 'evictionActionType' XSD simple-type definition and subsequently, all EvictionAction enumeration restrictions on all SDG Region element types in the SDG XML namespace (e.g. gfe:partitioned-region) that define and declare an eviction policy and corresponding 'action'. In addition, performed refactoring and cleanup on serveral new SDG enumeration types, like EvictionType and ExpirationActionType, along with the corresponding Converter implementations and bean properties on their respective FactoryBeans (EvictionAttributesFactoryBean and ExpirationAttributesFactoryBean).
Removed the XSD enumeration restriction on the 'type' attribute of the 'evictionType' XSD complex-type definition in the SDG XML namespace schema, which is used by the 'eviction' sub-elements in the LOCAL, PARTITION and REPLICATE Region element schema types. In addition, created the ExpirationAttributesFactoryBean class in the org.springframework.data.gemfire package which serves as a Spring FactoryBean and builder for constructing GemFire EvictionAttributes used in Region configuration. Updated tests to assert and validate the use of property placeholders on both the Eviction 'type' and Expiration 'action' attributes in the Spring Data GemFire XML namespace configuration meta-data.
Removed the XSD enumeration restriction on the 'action' attribute of the 'expirationType' XSD complex-type definition used by the 'region-ttl', 'region-tti', 'entry-ttl', and 'entry-tti' elements in the 'baseReadOnlyRegionType' inside the Spring GemFire XML Schema (XSD).