Commit Graph

523 Commits

Author SHA1 Message Date
Oliver Gierke
13388fdbf1 SGF-437 - Updated changelog.
(cherry picked from commit 1ae0cb4d7298aea1bd58ea896ef9db078d2566f0)
Signed-off-by: John Blum <jblum@pivotal.io>
2016-02-16 19:23:17 -08:00
John Blum
184f05bf30 SGF-471 - Change spring-data-build and spring-data-commons dependency versions to GA releases...
Because Spring Data GemFire with Apache Geode support (apache-geode) is not part of the Spring Data Release Trains (e.g. Fowler, Gosling, Hopper, etc) it makes more sense to maintain a constant and stable dependency on both Spring Data Build and Spring Data Commons, respectively.  Until Apache Geode has an official GA release, SDG with Apache Geode support cannot progress along with the other SD modules during pre-release, development milestones (e.g. M1, RC1) since Apache Geode does not maintain a predictable and similar release cycle.  Therefore, it makes sense that SDG with Apache Geode support be coupled with the Apache Geode release cycle until the first GA release.  At which time, SDG with Apache Geode support can then maintain a constant, fixed dependency on Apache Geode, as a 'driver' (similar to SDG with Pivotal GemFire support, which depends only on GA GemFire releases) and subsequently, be sync'd with the SD Release Train.
2016-02-11 16:49:25 -08:00
John Blum
f24d8e9865 SGF-468 - Improve coordination between the PoolFactoryBean and ClientCacheFactoryBean when configuring and resolving the GemFire DistributedSystem.
(cherry picked from commit 770038a3aa20c4a989689a5883f98716b4d925aa)
Signed-off-by: John Blum <jblum@pivotal.io>
2016-02-03 13:23:24 -08:00
John Blum
83023a4425 SGF-459 - Add support for the get(key:Object, valueLoader:Callable) method in Spring Framework 4.3's Cache interface.
(cherry picked from commit 1b11b912f53b90df7b18fc40e070155096d3648e)
Signed-off-by: John Blum <jblum@pivotal.io>
2016-02-02 00:09:45 -08:00
John Blum
0d5554b543 SGF-466 - Restore function to the Gradle-based build.
(cherry picked from commit 730eea0e38adefc6aec6ba9b0272e6c8d591ac13)
Signed-off-by: John Blum <jblum@pivotal.io>
2016-02-02 00:08:30 -08:00
Oliver Gierke
bd78cb7249 SGF-465 - Moved project build to Maven.
Introduced Maven pom.xml basically mimicking what's been previously defined in build.gradle. Moved Asciidoctor files into places expected by the Spring Data build parent. Moved notice.txt etc. to src/main/resources. Switched to Logback for test logging.
(cherry picked from commit 4a6adbadb69dd219435b4947ee89dca925b56e48)

Signed-off-by: John Blum <jblum@pivotal.io>
2016-02-02 00:08:19 -08:00
Eitan Suez
df075a5d99 SGF-462 - adding appinfo hint to client-region element
-  This allows IDEs to figure out the correct type for this element

Closes PR #85

(cherry picked from commit c5431091978bb650b786653e1737ea9c1dd85bff)
2016-01-14 12:06:01 -08:00
John Blum
a6ab1cf804 SGF-458 - Enable resolution of GemFire's DistributedSystem and System properties to be overridden in PoolFactoryBean.
(cherry picked from commit 10fadc0d9a92d007a7bff85045c5169f2d8797f7)
Signed-off-by: John Blum <jblum@pivotal.io>
2016-01-08 20:00:30 -08:00
John Blum
a4bbf2f342 SGF-457 - Clean up Javadoc warnings.
(cherry picked from commit 91619b8811116cb3c5096c73e3e683267d88086f)
Signed-off-by: John Blum <jblum@pivotal.io>
2016-01-08 20:00:21 -08:00
Jens Deppe
03fa75736c SGF-455 - Simplified registration for shared GemfireMappingContext for repositories.
A <gemfire:repositories /> now registers a single bean definition for a GemfireMappingContext that gets wired to the GemfireRepositoryFactoryBean instances registered within the system unless an explicit mapping context is referenced.

The GemfireRepositoryFactoryBean now checks a GemfireMappingContext being registered and rejects to start without one. The same applies to GemfireRepositoryFactory.

Related tickets: SGF-448, SGF-449, SGF-450.
(cherry picked from commit 34665d16ec543e85afcde174194ba5fbff44b841)
2015-12-31 09:04:02 -08:00
Jens Deppe
ef99a04be8 SGF-454 - Adapted to API changes in Spring Data Commons.
Related tickets: DATACMNS-89.
(cherry picked from commit 6ad886ffaefc41b2bc9b014aee6acbc0ad9039ac)
2015-12-31 08:41:14 -08:00
Jens Deppe
693a2e89c3 SGF-447 - Fix Spring Data GemFire due to recent changes to Apache Geode that removed various internal utility classes in favor of external Spring classes.
(cherry picked from commit 042af996e69c87e936f34003e02c826470ef41ab)
2015-12-30 16:57:38 -08:00
John Blum
8590f2c222 SGF-450 - GemfireRepositoryFactoryBean needs to explicitly register the default GemfireMappingContext when not explicitly defined as a bean in the application's Spring context.
(cherry picked from commit eebe7bb6229a13f70ce7ab8d26798138038f9db7)
Signed-off-by: John Blum <jblum@pivotal.io>
2015-12-03 19:13:28 -08:00
John Blum
a17efd4d5b SGF-449 - GemfireRepositoryFactoryBean.setGemfireMappingContext needs to call RepositoryFactoryBeanSupport.setMappingContext.
(cherry picked from commit 37d41a1ed2166a5296e43d2778511fd3131e4510)
Signed-off-by: John Blum <jblum@pivotal.io>
2015-12-03 19:13:18 -08:00
John Blum
c7b45af48e SGF-448 - GemfireRepositoryConfigurationExtension needs to override the RepositoryConfigurationExtensionSupport postProcess(:BeanDefinitionBuilder, :AnnotationRepositoryConfigurationSource) method.
(cherry picked from commit cf64807b095637fea43ec00acfaa1204cdedd8cb)
Signed-off-by: John Blum <jblum@pivotal.io>
2015-12-03 19:12:58 -08:00
Jens Deppe
251199a5cc SGF-447: Replace GemFire internal StringUtils with Spring standard StringUtils 2015-11-30 07:52:20 -08:00
John Blum
919d86093d SGF-443 - Fix Spring Data GemFire apache-geode build due to recent changes to Apache Geode that removed the HDFS support. 2015-10-28 11:33:25 -07:00
John Blum
a6b1189db6 SGF-441 - Fix possible CacheClosedException in ClientCacheFactoryBean onApplicationEvent(:ContextRefreshedEvent) when the ClientCache initialization is lazy.
(cherry picked from commit f645e7d1a4ea1954c21aa2416b46669d97f4e18d)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-18 00:39:00 -07:00
John Blum
8cc93f72a0 SGF-440 - Optimize imports across the SDG codebase.
(cherry picked from commit af343a45fa57a9580a5942de8c091c680adea87b)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-16 13:07:30 -07:00
John Blum
09d44bb99b SGF-438 - Make <gfe:client-cache>, 'ready-for-events' true the default for durable clients.
(cherry picked from commit 0514a6b5e84f43cd6717097c52141ce5c698bf99)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-16 08:40:08 -07:00
John Blum
1bb8e7b7a9 SGF-439 - Add 'durable-client-id' and 'durable-client-timeout' attributes to the <gfe:client-cache> namespace element for convenience.
(cherry picked from commit e74768f006d59210ddd3d4fe5294a60ca505674f)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-16 08:30:25 -07:00
John Blum
5025e2347a SGF-434 - Add a durable GemFire client cache test to assert proper behavior by SDG.
Removed the ClientCacheFactoryBean.readyForEvents() method and moved the logic to onApplicationEvent(..).
Updated the spring-gemfire 1.6 and 1.7 XSD with the new keep-alive attribue on the client-cache element.
Changed the generic signature of the CacheFactoryBean class back to com.gemstone.gemfire.cache.Cache due to the Spring container bean resolution Exception when using JavaConfig in SDG 1.7 with GemFire 8.1 and core Spring Framework 4.1.7.
(cherry picked from commit a458115c7f145bce9f02af71572920894ba66465)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-14 02:08:45 -07:00
John Blum
61105b4da4 SGF-434 - Add a durable GemFire client cache test to assert proper behavior by SDG.
(cherry picked from commit b52a185)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-14 02:08:22 -07:00
John Blum
01eb4a44a2 SGF-435 - Fix apache-geode build due to recent Apache Geode codebase changes that removed the deprecated BridgeServer code. 2015-10-08 12:12:21 -07:00
John Blum
92f84e2b57 SGF-429 - GemfirePersistentProperty considers a BigDecimal property an entity.
Additional changes and refactoring inspired by Spring Data MongoDB custom SimpleTypeHolder.
(cherry picked from commit 2344eb521df7326b06740c5196eeea4669c9349e)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-05 23:41:23 -07:00
John Blum
afec8c216e SGF-429 - GemfirePersistentProperty considers a BigDecimal property an entity.
(cherry picked from commit 6113bfbea146a1036352fcc93f955f52d087822a)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-05 23:41:15 -07:00
John Blum
3b9a43573a SGF-432 - IndexFactoryBean traps IndexExistsException instead of IndexNameConflictException.
(cherry picked from commit 9cc4b98e351b93c1c8d75ecb1cad8da77231782b)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-05 23:41:05 -07:00
John Blum
63b7c0aabc SGF-433 - Fix improper resolution of Spring property placeholders in 'locators' and 'servers' attributes on the '<gfe:pool>' element(s) in Spring XML config.
(cherry picked from commit 1cd2a7ff505008c0d985f3ae3129fb0ce62c4f8b)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-10-01 20:08:05 -07:00
John Blum
c313a757bd SGF-387 - Prepare SDG 1.8 and upgrade to GemFire 8.2.0 GA
Created the spring-gemfire-1.8.xsd and spring-data-gemfire-1.8.xsd and updated the spring.schemas file to references the version appropriate schemas (XSDs) for SDG 1.8.  Also rebased on 'master' to pull in SGF-409.
(cherry picked from commit 32d52301c643d7ca9d735f6f53d4f44333922ebc)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-09-10 15:01:39 -07:00
John Blum
28990b0bdf SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Fixed up Javadoc.
(cherry picked from commit a2ec36157b5907a5f4ccb08775bf26bf20a2aa8b)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-31 22:32:06 -07:00
John Blum
21c0d9b50a SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Renamed the '<gfe-data:export-snapshot>' and '<gfe-data:import-snapshot>' sub-elements to <gfe-data:snapshot-export>' and '<gfe-data:snapshot-import>' respectively; updated the SnapshotServiceParser to appropriately handle the sub-element name change.
Added a mini chapter in the Spring Data GemFire Reference Guide on how-to use the GemFire SnapshotService support provided by Spring Data GemFire.
2015-08-31 22:31:51 -07:00
John Blum
05f33c7d51 SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Renamed the <gfe-data:snapshot-service> element 'suppress-init-import' attribute to 'suppress-import-on-init'.
Fixed up the JSONRegionAdviceTest class test case failures due to changes in the ..repository.sample.Person application domain object class.
(cherry picked from commit d9245f343050182f570a0ea1bf629f03258667b1)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-31 22:30:21 -07:00
John Blum
ea37fbacbe SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Repackaged all GemFire Snapshot Service support classes in Spring Data GemFire under org.springframework.data.gemfire.snapshot.
Moved snapshot application events to ..snapshot.event.
Moved the ComposableSnapshotFilter class to ..snapshot.filter.
(cherry picked from commit 5bf3e8e8132c9cff0c3da33b271bfa4e049968c0)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-31 22:30:09 -07:00
John Blum
3a360a37b4 SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Refactored the SnapshotServiceFactoryBean with the addition of a new property (suppressInitImport) to suppress importing on initialization.
Refactored the SnapshotServiceFactoryBean SnapshotServiceAdapter interface's doImport(..) and doExport(..) method signatures to varargs.
Added the ComposableSnapshotFilter class implemeting the SnapshotFilter interface and Composition Design Pattern for composing multiple SnapshotFilters into one using logical operators.
Cleaned up and added addition unit tests.
Completed all integration testing including testing with export and import snapshot application event driven GemFire Cache Region snapshots.
2015-08-31 22:29:55 -07:00
John Blum
447d55efbe SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Refactored the SnapshotApplicationEvent into 2 separate ApplicationEvent classes to handle import and exports.
Refactored the SnapshotServiceFactoryBean class to handle import/export SnapshotApplicationEvents in onApplicationEvent(:SnapshotApplicationEvent).
Added integration tests for the archive file handling capabilities of the SnapshotServiceFactoryBean.SnapshotServiceAdapterSupport class.
Added additional unit tests.
(cherry picked from commit 35107aa12dc9d5f133697775c2535c1f9cd3cd87)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-31 22:27:59 -07:00
John Blum
e78169eda2 SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Refactored the ServiceSnapshotFactoryBean class to handle ZIP and JAR files as input sources on GemFire Cache data imports.
Added additional unit tests for SnapshotServiceFactoryBean to improve coverage along with a basic integration test covering import and export.
Fixed bugs in the SnapshotServiceParser and the XSD.
Moved the iterable(:Enumeration) and iterable(:Iterator) methods from the test CollectionUtils class to the 'official' CollectionUtils class.
(cherry picked from commit b47884c88c52b612aff6b8aa01fc0994ac42095c)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-31 22:27:51 -07:00
John Blum
f3d1617dde SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Introduced a SnapshotApplicationEvent extending Spring ApplicationEvent to allow SDG-based GemFire applications to trigger GemFire Cache Region data snapshots (export ops).
Refactored SnapshotServiceFactoryBean to be a ApplicationListener on SnapshotApplicationEvents.
Introduced ExportSnapshotException and ImportSnapshotException to more succinctly desribe the snapshot import/export error.
Refactored CacheSnapshotServiceAdapter.doImport(..) method to invoke load(:SnapshotFormat, :SnapshotOptions, :File...), i.e. file-based in order to apply the SnapshotFilter on load, which is not applicable to the CacheSnapshotService.load(:File, :SnapshotFormat) method that assumes the 'File' is a directory.  Therefore doImport(..) expands the directory if the File given is indeed a valid file system directory.
Added additional unit tests.
(cherry picked from commit 96f6a70595543bc375b2f346bd1c0932b174e2b6)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-31 22:27:42 -07:00
John Blum
dadd32843a SGF-408 - Provide support in the SDG XML namespace to load a pre-defined data set using GemFire Snapshot Service for development and testing purposes.
Initial implementation and unit tests.
2015-08-31 22:27:19 -07:00
John Blum
5d8a1d2ce5 SGF-392 - Add support for OQL Query statement extensions in Repository Query methods via Annotations.
Implementation and unit test coverage complete.
(cherry picked from commit 23d05aeaee743922a9d371b8b7f8201e6cb9578c)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-14 13:18:59 -07:00
John Blum
780ce89050 SGF-392 - Add support for OQL Query statement extensions in Repository Query methods via Annotations.
(cherry picked from commit c022f2c00585d9f90243a480486cb38f6d46d2ee)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-14 13:18:48 -07:00
John Blum
8b216b83c2 SGF-425 - Allow early initialization and re-initialization of LazyWiringDeclarableSupport instances.
Deprecated org.springframework.data.gemfire.WiringDeclarableSupport in favor of LazyWiringDeclarableSupport and modified LazyWiringDeclarableSupport to 'release' the BeanFactory reference.
(cherry picked from commit 29a169a10cd78d451f4d84227e8058be68d0d6be)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-11 00:09:28 -07:00
John Blum
0c813862e1 SGF-425 - Allow early initialization and re-initialization of LazyWiringDeclarableSupport instances.
Fixed test failures associated with changes to LazyWiringDeclarableSupport passing the ApplicationContext onApplicationEvents (ContextRefreshedEvent) directly rather than the ApplicationContext's ConfigurableListableBeanFactory required by BeanConfigurerSupport.
(cherry picked from commit be6a3aac3e5281fdb2c77ad8b88200c92c0b7883)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-11 00:09:17 -07:00
John Blum
0bf13f7e0b SGF-425 - Allow early initialization and re-initialization of LazyWiringDeclarableSupport instances.
(cherry picked from commit 93280bf2047081e5387a896e27e19e5d7e5cce12)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-11 00:09:08 -07:00
John Blum
cd4a2497b7 SGF-423 - Handle improper ClassCastException thrown from SDG's Function Execution interface and annotation-based support when a GemFire Function throws an Exception.
Additional refactoring and added serveral unit tests.
(cherry picked from commit a806f1540e6fc995410671f34382d14389ace90a)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-11 00:08:57 -07:00
John Blum
677d46c1df SGF-423 - Handle improper ClassCastException thrown from SDG's Function Execution interface and annotation-based support when a GemFire Function throws an Exception.
Initial refactoring and code cleanup.
(cherry picked from commit bb8ce682c6cc97abb149b74c58b2124b445e1bd2)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-11 00:08:47 -07:00
Oliver Gierke
22d50d0189 SGF-421 - Switched to existing PropertyAccessor abstraction.
Removed the custom BeanPropertyAccessor implementation that was introduced to compensate for the removal of BeanWrapper in Spring Data Commons. That removal however was already preceded by an alternative way to obtain a PropertyAccessor via the PersistentEntity, which is what we're now doing.(cherry picked from commit 85c333dfc582719229fee006e538ff77f569a242)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-11 00:06:54 -07:00
John Blum
fcfa530fd3 SGF-421 - Fix Spring Data GemFire's MappingPdxSerializer due to the package-private access modifier change on org.springframework.data.mapping.model.BeanWrapper.
(cherry picked from commit d5d2fd09b7a105c1eb1f8955f98127e550641ae6)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-08-03 18:11:49 -07:00
John Blum
6264b93c7d SGF-404 - Enable Expiration settings and policies to be specified per application domain object using an @Expiration annotation and a custom, SDG-provided CustomExpiry instance.
Added support for Spring Property Placeholders in the @Expiration annotation attributes to offer even more flexibility when configuring Region Entry values, application domain object Expiration policies and settings.
(cherry picked from commit 92f3c4e80839ed4034fe3229c68aebf90091c9a1)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-07-31 14:30:55 -07:00
John Blum
f07c6990a4 SGF-404 - Enable Expiration settings and policies to be specified per application domain object using an @Expiration annotation and a custom, SDG-provided CustomExpiry instance.
Added support for SpEL expressions in the @Expiration annotation attributes to offer even more flexibility when configuring Region Entry values, application domain object Expiration policies and settings.
(cherry picked from commit 6e73f52025509d9bf89a3baf25d21201b49728de)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-07-31 14:30:45 -07:00
John Blum
cab84cc2ab SGF-404 - Enable Expiration settings and policies to be specified per application domain object using an @Expiration annotation and a custom, SDG-provided CustomExpiry instance.
Added Javadoc comments to the AnnotationBasedExpiration class factory methods: forIdleTimeout() and forTimeToLive().  Also added a section in the Region configuration chapter of the Spring Data GemFire Reference Guide.
(cherry picked from commit 419eb8d8792124d7ad6f2e7e7da12f4013b3a429)

Signed-off-by: John Blum <jblum@pivotal.io>
2015-07-31 14:30:35 -07:00