diff --git a/.classpath b/.classpath index 9b60c887..6c1e4522 100644 --- a/.classpath +++ b/.classpath @@ -15,7 +15,7 @@ - + diff --git a/docs/src/info/changelog.txt b/docs/src/info/changelog.txt index 24f1d367..32293cc0 100644 --- a/docs/src/info/changelog.txt +++ b/docs/src/info/changelog.txt @@ -2,8 +2,12 @@ SPRING GEMFIRE INTEGRATION CHANGELOG ==================================== http://www.springsource.org/spring-gemfire -Changes in version 1.1.0.M4 (2011-mm-dd) ----------------------------------------- +Changes in version 1.1.0.RC1 (2011-mm-dd) +----------------------------------------- + +General +* Upgraded to GemFire 6.6.1 +* Introduced PDX options for 'cache' and 'client-cache' elements Changes in version 1.1.0.M3 (2011-09-25) diff --git a/gradle.properties b/gradle.properties index d0d1426f..2326635c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ slf4jVersion = 1.6.1 # Common libraries springVersion = 3.1.0.RC1 -gemfireVersion = 6.6 +gemfireVersion = 6.6.1 # Testing junitVersion = 4.8.1 diff --git a/src/main/java/org/springframework/data/gemfire/CacheFactoryBean.java b/src/main/java/org/springframework/data/gemfire/CacheFactoryBean.java index a565b1af..478d5d1b 100644 --- a/src/main/java/org/springframework/data/gemfire/CacheFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/CacheFactoryBean.java @@ -74,13 +74,22 @@ public class CacheFactoryBean implements BeanNameAware, BeanFactoryAware, BeanCl } public void run() { - Assert.isAssignable(PdxSerializer.class, pdxSerializer.getClass(), "Invalid pdx serializer used"); - - factory.setPdxSerializer((PdxSerializer) pdxSerializer); - factory.setPdxDiskStore(pdxDiskStoreName); - factory.setPdxIgnoreUnreadFields(pdxIgnoreUnreadFields); - factory.setPdxPersistent(pdxPersistent); - factory.setPdxReadSerialized(pdxReadSerialized); + if (pdxSerializer != null) { + Assert.isAssignable(PdxSerializer.class, pdxSerializer.getClass(), "Invalid pdx serializer used"); + factory.setPdxSerializer((PdxSerializer) pdxSerializer); + } + if (pdxDiskStoreName != null) { + factory.setPdxDiskStore(pdxDiskStoreName); + } + if (pdxIgnoreUnreadFields != null) { + factory.setPdxIgnoreUnreadFields(pdxIgnoreUnreadFields); + } + if (pdxPersistent != null) { + factory.setPdxPersistent(pdxPersistent); + } + if (pdxReadSerialized != null) { + factory.setPdxReadSerialized(pdxReadSerialized); + } } } diff --git a/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java b/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java index 4c660dc2..6b0a180c 100644 --- a/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/client/ClientCacheFactoryBean.java @@ -53,13 +53,22 @@ public class ClientCacheFactoryBean extends CacheFactoryBean { } public void run() { - Assert.isAssignable(PdxSerializer.class, pdxSerializer.getClass(), "Invalid pdx serializer used"); - - factory.setPdxSerializer((PdxSerializer) pdxSerializer); - factory.setPdxDiskStore(pdxDiskStoreName); - factory.setPdxIgnoreUnreadFields(pdxIgnoreUnreadFields); - factory.setPdxPersistent(pdxPersistent); - factory.setPdxReadSerialized(pdxReadSerialized); + if (pdxSerializer != null) { + Assert.isAssignable(PdxSerializer.class, pdxSerializer.getClass(), "Invalid pdx serializer used"); + factory.setPdxSerializer((PdxSerializer) pdxSerializer); + } + if (pdxDiskStoreName != null) { + factory.setPdxDiskStore(pdxDiskStoreName); + } + if (pdxIgnoreUnreadFields != null) { + factory.setPdxIgnoreUnreadFields(pdxIgnoreUnreadFields); + } + if (pdxPersistent != null) { + factory.setPdxPersistent(pdxPersistent); + } + if (pdxReadSerialized != null) { + factory.setPdxReadSerialized(pdxReadSerialized); + } } } diff --git a/src/main/java/org/springframework/data/gemfire/config/CacheParser.java b/src/main/java/org/springframework/data/gemfire/config/CacheParser.java index 7a35cbf6..69630ec1 100644 --- a/src/main/java/org/springframework/data/gemfire/config/CacheParser.java +++ b/src/main/java/org/springframework/data/gemfire/config/CacheParser.java @@ -43,6 +43,11 @@ class CacheParser extends AbstractSingleBeanDefinitionParser { ParsingUtils.setPropertyValue(element, builder, "cache-xml-location", "cacheXml"); ParsingUtils.setPropertyReference(element, builder, "properties-ref", "properties"); + ParsingUtils.setPropertyValue(element, builder, "pdx-serializer", "pdxSerializer"); + ParsingUtils.setPropertyValue(element, builder, "pdx-disk-store", "pdxDiskStore"); + ParsingUtils.setPropertyValue(element, builder, "pdx-persistent", "pdxPersistent"); + ParsingUtils.setPropertyValue(element, builder, "pdx-read-serialized", "pdxReadSerialized"); + ParsingUtils.setPropertyValue(element, builder, "pdx-ignore-unread-fields", "pdxIgnoreUnreadFields"); } @Override diff --git a/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.1.xsd b/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.1.xsd index ee21f867..6f1d1a9c 100644 --- a/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.1.xsd +++ b/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.1.xsd @@ -50,6 +50,57 @@ when the same cache is used in multiple application context/bean factories insid ]]> + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/java/org/springframework/data/gemfire/CacheIntegrationTest.java b/src/test/java/org/springframework/data/gemfire/CacheIntegrationTest.java index f01ada81..dd197edf 100644 --- a/src/test/java/org/springframework/data/gemfire/CacheIntegrationTest.java +++ b/src/test/java/org/springframework/data/gemfire/CacheIntegrationTest.java @@ -30,7 +30,7 @@ import com.gemstone.gemfire.cache.Cache; * * @author Costin Leau */ -public class CacheIntegrationTest extends RecreatingContextTest{ +public class CacheIntegrationTest extends RecreatingContextTest { @Override protected String location() { @@ -61,5 +61,4 @@ public class CacheIntegrationTest extends RecreatingContextTest{ public void testCacheWithXml() throws Exception { Cache cache = ctx.getBean("cache-with-xml", Cache.class); } - } \ No newline at end of file diff --git a/src/test/java/org/springframework/data/gemfire/config/CacheNamespaceTest.java b/src/test/java/org/springframework/data/gemfire/config/CacheNamespaceTest.java index 41086663..614b322e 100644 --- a/src/test/java/org/springframework/data/gemfire/config/CacheNamespaceTest.java +++ b/src/test/java/org/springframework/data/gemfire/config/CacheNamespaceTest.java @@ -62,6 +62,10 @@ public class CacheNamespaceTest extends RecreatingContextTest { Resource res = TestUtils.readField("cacheXml", cfb); assertEquals("gemfire-cache.xml", res.getFilename()); assertEquals(ctx.getBean("props"), TestUtils.readField("properties", cfb)); + + assertEquals(Boolean.FALSE, TestUtils.readField("pdxIgnoreUnreadFields", cfb)); + assertEquals(Boolean.TRUE, TestUtils.readField("pdxPersistent", cfb)); + } @Test(expected = IllegalArgumentException.class) diff --git a/src/test/resources/org/springframework/data/gemfire/config/cache-ns.xml b/src/test/resources/org/springframework/data/gemfire/config/cache-ns.xml index de546d8a..75700484 100644 --- a/src/test/resources/org/springframework/data/gemfire/config/cache-ns.xml +++ b/src/test/resources/org/springframework/data/gemfire/config/cache-ns.xml @@ -16,7 +16,7 @@ - + false