From 08a6e206601bcbe509ba88ab1c0bd52108e8a4e1 Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Fri, 2 Sep 2011 19:50:12 +0300 Subject: [PATCH] SGF-68 + fix region initialization --- .../springframework/data/gemfire/RegionFactoryBean.java | 3 ++- .../data/gemfire/RegionLookupFactoryBean.java | 6 +++++- .../data/gemfire/client/ClientRegionFactoryBean.java | 2 +- .../data/gemfire/client/RegionIntegrationTest.java | 9 +++++---- .../springframework/data/gemfire/client/basic-region.xml | 9 ++++++++- 5 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java b/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java index afa903c2..7a7ea4eb 100644 --- a/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/RegionFactoryBean.java @@ -63,12 +63,13 @@ public class RegionFactoryBean extends RegionLookupFactoryBean imple private RegionAttributes attributes; private Scope scope; private DataPolicy dataPolicy; + private Region region; @Override public void afterPropertiesSet() throws Exception { super.afterPropertiesSet(); - + region = getRegion(); postProcess(region); } diff --git a/src/main/java/org/springframework/data/gemfire/RegionLookupFactoryBean.java b/src/main/java/org/springframework/data/gemfire/RegionLookupFactoryBean.java index ec0a4db6..3333203c 100644 --- a/src/main/java/org/springframework/data/gemfire/RegionLookupFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/RegionLookupFactoryBean.java @@ -43,7 +43,7 @@ public class RegionLookupFactoryBean implements FactoryBean>, private GemFireCache cache; private String name; - Region region; + private Region region; public void afterPropertiesSet() throws Exception { Assert.notNull(cache, "Cache property must be set"); @@ -111,4 +111,8 @@ public class RegionLookupFactoryBean implements FactoryBean>, public void setName(String name) { this.name = name; } + + protected Region getRegion() { + return region; + } } \ No newline at end of file diff --git a/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java b/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java index 2de597c0..d8ec564a 100644 --- a/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java +++ b/src/main/java/org/springframework/data/gemfire/client/ClientRegionFactoryBean.java @@ -61,13 +61,13 @@ public class ClientRegionFactoryBean extends RegionLookupFactoryBean private DataPolicy dataPolicy; private RegionAttributes attributes; - private Region region; @Override public void afterPropertiesSet() throws Exception { super.afterPropertiesSet(); + region = getRegion(); postProcess(region); } diff --git a/src/test/java/org/springframework/data/gemfire/client/RegionIntegrationTest.java b/src/test/java/org/springframework/data/gemfire/client/RegionIntegrationTest.java index 3c56e761..68e59c6e 100644 --- a/src/test/java/org/springframework/data/gemfire/client/RegionIntegrationTest.java +++ b/src/test/java/org/springframework/data/gemfire/client/RegionIntegrationTest.java @@ -24,8 +24,9 @@ import java.util.Arrays; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.config.BeanDefinition; +import org.springframework.beans.factory.support.BeanDefinitionRegistry; import org.springframework.context.ApplicationContext; -import org.springframework.data.gemfire.client.ClientRegionFactoryBean; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @@ -91,12 +92,12 @@ public class RegionIntegrationTest { } //@Test - //TODO: Disabled since for some reason in Spring, I get the bean rather then the client + // TODO: disabled since the interest registration requires a proper pool to be created, which requires another JVM to run with the server/locator public void testRegionInterest() throws Exception { ClientRegionFactoryBean regionFB = (ClientRegionFactoryBean) ctx.getBean("&basic-client"); System.out.println("**** interests are " + Arrays.toString(regionFB.getInterests())); - //BeanDefinition bd = ((BeanDefinitionRegistry) ctx.getAutowireCapableBeanFactory()).getBeanDefinition("basic-client"); - // System.out.println(bd.getPropertyValues().getPropertyValue("interests").getValue()); + BeanDefinition bd = ((BeanDefinitionRegistry) ctx.getAutowireCapableBeanFactory()).getBeanDefinition("basic-client"); + System.out.println(bd.getPropertyValues().getPropertyValue("interests").getValue()); } @Test diff --git a/src/test/resources/org/springframework/data/gemfire/client/basic-region.xml b/src/test/resources/org/springframework/data/gemfire/client/basic-region.xml index 7fa3ee5c..dd10be36 100644 --- a/src/test/resources/org/springframework/data/gemfire/client/basic-region.xml +++ b/src/test/resources/org/springframework/data/gemfire/client/basic-region.xml @@ -31,7 +31,8 @@ - + @@ -40,6 +41,12 @@ + + + + + +