diff --git a/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.4.xsd b/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.4.xsd index dcde2076..b6590330 100644 --- a/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.4.xsd +++ b/src/main/resources/org/springframework/data/gemfire/config/spring-gemfire-1.4.xsd @@ -72,7 +72,6 @@ use inner bean declarations. - @@ -2335,19 +2334,25 @@ A gateway event filter for this gateway sender - + +Inner bean definition for the event filter. + ]]> + + + + + - + @@ -2772,8 +2777,7 @@ A transport filter for this gateway component - + diff --git a/src/test/java/org/springframework/data/gemfire/config/GemfireV7GatewayNamespaceTest.java b/src/test/java/org/springframework/data/gemfire/config/GemfireV7GatewayNamespaceTest.java index cd693206..e5707cb5 100644 --- a/src/test/java/org/springframework/data/gemfire/config/GemfireV7GatewayNamespaceTest.java +++ b/src/test/java/org/springframework/data/gemfire/config/GemfireV7GatewayNamespaceTest.java @@ -18,6 +18,7 @@ package org.springframework.data.gemfire.config; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; import java.io.File; @@ -50,11 +51,11 @@ import com.gemstone.gemfire.cache.wan.GatewayTransportFilter; /** * This test is only valid for GF 7.0 and above - * + *

* @author David Turanski - * + * @author John Blum */ - +@SuppressWarnings("unused") public class GemfireV7GatewayNamespaceTest extends RecreatingContextTest { /* (non-Javadoc) @@ -107,73 +108,113 @@ public class GemfireV7GatewayNamespaceTest extends RecreatingContextTest { @Test public void testGatewaySender() throws Exception { - GatewaySenderFactoryBean gwsfb = ctx.getBean("&gateway-sender", GatewaySenderFactoryBean.class); - Cache cache = TestUtils.readField("cache", gwsfb); - assertNotNull(cache); - List eventFilters = TestUtils.readField("eventFilters", gwsfb); + GatewaySenderFactoryBean gatewaySenderFactoryBean = ctx.getBean("&gateway-sender", GatewaySenderFactoryBean.class); + + assertNotNull(gatewaySenderFactoryBean); + assertNotNull(TestUtils.readField("cache", gatewaySenderFactoryBean)); + assertEquals(2, TestUtils.readField("remoteDistributedSystemId", gatewaySenderFactoryBean)); + assertEquals(10, TestUtils.readField("alertThreshold", gatewaySenderFactoryBean)); + assertEquals(11, TestUtils.readField("batchSize", gatewaySenderFactoryBean)); + assertEquals(12, TestUtils.readField("dispatcherThreads", gatewaySenderFactoryBean)); + assertEquals(true, TestUtils.readField("manualStart", gatewaySenderFactoryBean)); + + List eventFilters = TestUtils.readField("eventFilters", gatewaySenderFactoryBean); + assertNotNull(eventFilters); assertEquals(2, eventFilters.size()); assertTrue(eventFilters.get(0) instanceof TestEventFilter); - List transportFilters = TestUtils.readField("transportFilters", gwsfb); + List transportFilters = TestUtils.readField("transportFilters", gatewaySenderFactoryBean); + assertNotNull(transportFilters); assertEquals(2, transportFilters.size()); assertTrue(transportFilters.get(0) instanceof TestTransportFilter); - - assertEquals(2, TestUtils.readField("remoteDistributedSystemId", gwsfb)); - assertEquals(10, TestUtils.readField("alertThreshold", gwsfb)); - assertEquals(11, TestUtils.readField("batchSize", gwsfb)); - assertEquals(12, TestUtils.readField("dispatcherThreads", gwsfb)); - assertEquals(true, TestUtils.readField("manualStart", gwsfb)); } @SuppressWarnings("rawtypes") @Test public void testInnerGatewaySender() throws Exception { Region region = ctx.getBean("region-inner-gateway-sender", Region.class); - GatewaySender gws = ctx.getBean("gateway-sender", GatewaySender.class); + assertNotNull(region.getAttributes().getGatewaySenderIds()); assertEquals(2, region.getAttributes().getGatewaySenderIds().size()); - RegionFactoryBean rfb = ctx.getBean("®ion-inner-gateway-sender", RegionFactoryBean.class); - Object[] gwsenders = TestUtils.readField("gatewaySenders", rfb); - gws = (GatewaySender) gwsenders[0]; - List eventFilters = gws.getGatewayEventFilters(); + RegionFactoryBean regionFactoryBean = ctx.getBean("®ion-inner-gateway-sender", RegionFactoryBean.class); + + Object[] gatewaySenders = TestUtils.readField("gatewaySenders", regionFactoryBean); + + assertNotNull(gatewaySenders); + assertEquals(2, gatewaySenders.length); + + GatewaySender gatewaySender = (GatewaySender) gatewaySenders[0]; + + assertNotNull(gatewaySender); + assertEquals(1, gatewaySender.getRemoteDSId()); + assertEquals(false, gatewaySender.isManualStart()); + assertEquals(true,gatewaySender.isRunning()); + assertEquals(10, gatewaySender.getAlertThreshold()); + assertEquals(11, gatewaySender.getBatchSize()); + assertEquals(3000, gatewaySender.getBatchTimeInterval()); + assertEquals(2, gatewaySender.getDispatcherThreads()); + assertEquals("diskstore", gatewaySender.getDiskStoreName()); + assertTrue(gatewaySender.isBatchConflationEnabled()); + assertEquals(50, gatewaySender.getMaximumQueueMemory()); + assertEquals(OrderPolicy.THREAD, gatewaySender.getOrderPolicy()); + assertTrue(gatewaySender.isPersistenceEnabled()); + assertFalse(gatewaySender.isParallel()); + assertEquals(16536, gatewaySender.getSocketBufferSize()); + assertEquals(3000, gatewaySender.getSocketReadTimeout()); + + List eventFilters = gatewaySender.getGatewayEventFilters(); + assertNotNull(eventFilters); assertEquals(1, eventFilters.size()); assertTrue(eventFilters.get(0) instanceof TestEventFilter); - List transportFilters = gws.getGatewayTransportFilters(); + List transportFilters = gatewaySender.getGatewayTransportFilters(); assertNotNull(transportFilters); assertEquals(1, transportFilters.size()); assertTrue(transportFilters.get(0) instanceof TestTransportFilter); - - assertEquals(1, gws.getRemoteDSId()); - assertEquals(false, gws.isManualStart()); - assertEquals(true,gws.isRunning()); - assertEquals(10, gws.getAlertThreshold()); - assertEquals(11, gws.getBatchSize()); - assertEquals(3000, gws.getBatchTimeInterval()); - assertEquals(2, gws.getDispatcherThreads()); - assertEquals("diskstore", gws.getDiskStoreName()); - assertTrue(gws.isBatchConflationEnabled()); - assertEquals(50, gws.getMaximumQueueMemory()); - assertEquals(OrderPolicy.THREAD, gws.getOrderPolicy()); - assertTrue(gws.isPersistenceEnabled()); - assertFalse(gws.isParallel()); - assertEquals(16536, gws.getSocketBufferSize()); - assertEquals(3000, gws.getSocketReadTimeout()); } @Test - public void testInnerGatewayReceiver() { - GatewayReceiver gwr = ctx.getBean("gateway-receiver", GatewayReceiver.class); - assertEquals(12345, gwr.getStartPort()); - assertEquals(23456, gwr.getEndPort()); - assertEquals("192.168.0.1", gwr.getBindAddress()); - assertEquals(3000, gwr.getMaximumTimeBetweenPings()); - assertEquals(16536, gwr.getSocketBufferSize()); + public void testGatewaySenderWithEventTransportFilterRefs() throws Exception { + GatewaySenderFactoryBean gatewaySenderFactoryBean = ctx.getBean("&gateway-sender-with-event-transport-filter-refs", + GatewaySenderFactoryBean.class); + + assertNotNull(gatewaySenderFactoryBean); + assertNotNull(TestUtils.readField("cache", gatewaySenderFactoryBean)); + assertEquals(3, TestUtils.readField("remoteDistributedSystemId", gatewaySenderFactoryBean)); + assertEquals(50, TestUtils.readField("batchSize", gatewaySenderFactoryBean)); + assertEquals(10, TestUtils.readField("dispatcherThreads", gatewaySenderFactoryBean)); + assertEquals(true, TestUtils.readField("manualStart", gatewaySenderFactoryBean)); + + List eventFilters = TestUtils.readField("eventFilters", gatewaySenderFactoryBean); + + assertNotNull(eventFilters); + assertEquals(1, eventFilters.size()); + assertTrue(eventFilters.get(0) instanceof TestEventFilter); + assertSame(ctx.getBean("event-filter"), eventFilters.get(0)); + + List transportFilters = TestUtils.readField("transportFilters", gatewaySenderFactoryBean); + + assertNotNull(transportFilters); + assertEquals(1, transportFilters.size()); + assertTrue(transportFilters.get(0) instanceof TestTransportFilter); + assertSame(ctx.getBean("transport-filter"), transportFilters.get(0)); + } + + @Test + public void testGatewayReceiver() { + GatewayReceiver gatewayReceiver = ctx.getBean("gateway-receiver", GatewayReceiver.class); + + assertNotNull(gatewayReceiver); + assertEquals("192.168.0.1", gatewayReceiver.getBindAddress()); + assertEquals(12345, gatewayReceiver.getStartPort()); + assertEquals(23456, gatewayReceiver.getEndPort()); + assertEquals(3000, gatewayReceiver.getMaximumTimeBetweenPings()); + assertEquals(16536, gatewayReceiver.getSocketBufferSize()); } @SuppressWarnings("rawtypes") @@ -181,49 +222,38 @@ public class GemfireV7GatewayNamespaceTest extends RecreatingContextTest { @Override public void close() { - // TODO Auto-generated method stub } @Override public void afterAcknowledgement(GatewayQueueEvent arg0) { - // TODO Auto-generated method stub - } @Override public boolean beforeEnqueue(GatewayQueueEvent arg0) { - // TODO Auto-generated method stub return false; } @Override public boolean beforeTransmit(GatewayQueueEvent arg0) { - // TODO Auto-generated method stub return false; } - } public static class TestTransportFilter implements GatewayTransportFilter { @Override public void close() { - // TODO Auto-generated method stub - } @Override public InputStream getInputStream(InputStream arg0) { - // TODO Auto-generated method stub return null; } @Override public OutputStream getOutputStream(OutputStream arg0) { - // TODO Auto-generated method stub return null; } - } @SuppressWarnings("rawtypes") @@ -231,15 +261,12 @@ public class GemfireV7GatewayNamespaceTest extends RecreatingContextTest { @Override public void close() { - // TODO Auto-generated method stub } @Override public boolean processEvents(List arg0) { - // TODO Auto-generated method stub return false; } - } } diff --git a/src/test/resources/org/springframework/data/gemfire/config/gateway-v7-ns.xml b/src/test/resources/org/springframework/data/gemfire/config/gateway-v7-ns.xml index c2c342fa..3ed666f1 100644 --- a/src/test/resources/org/springframework/data/gemfire/config/gateway-v7-ns.xml +++ b/src/test/resources/org/springframework/data/gemfire/config/gateway-v7-ns.xml @@ -1,83 +1,83 @@ + http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd + " default-lazy-init="true"> - - - - - - - - - + + + + + + + + + - - - + batch-conflation-enabled="true" + batch-size="10" + batch-time-interval="3" + dispatcher-threads="4" + disk-store-ref="diskstore" + disk-synchronous="true" + maximum-queue-memory="50" + parallel="false" + persistent="true" + order-policy="KEY"> + + + - + - - - - - - - - - + + + + + + + + + + + + + +