From f0db35873bfa7258b8e6c3f625cc7ae7dd1460f3 Mon Sep 17 00:00:00 2001 From: Iwein Fuld Date: Sun, 7 Jun 2009 12:43:07 +0000 Subject: [PATCH] IN PROGRESS - issue INT-633: BridgeHandler should not require an output channel http://jira.springframework.org/browse/INT-633 And the xsd part... --- .../config/xml/spring-integration-1.0.xsd | 2 +- .../config/xml/BridgeParserTests-context.xml | 40 +++++++++++-------- .../config/xml/BridgeParserTests.java | 24 ++++++++++- 3 files changed, 47 insertions(+), 19 deletions(-) diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd index c230a53e20..7998dd162d 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd +++ b/org.springframework.integration/src/main/java/org/springframework/integration/config/xml/spring-integration-1.0.xsd @@ -469,7 +469,7 @@ + use="optional"> diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml index 0986d63437..4726dfa9a7 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests-context.xml @@ -1,32 +1,38 @@ - + http://www.springframework.org/schema/integration/spring-integration-1.0.xsd"> + - - - - - - - - - - - + - + - + + + + + + + + + + + + + + + + + diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java index 0671d85124..de698ef91b 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/config/xml/BridgeParserTests.java @@ -23,14 +23,18 @@ import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.integration.channel.PollableChannel; +import org.springframework.integration.channel.QueueChannel; import org.springframework.integration.core.Message; import org.springframework.integration.core.MessageChannel; +import org.springframework.integration.core.MessagingException; +import org.springframework.integration.message.MessageBuilder; import org.springframework.integration.message.StringMessage; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests; /** * @author Mark Fisher + * @author Iwein Fuld */ @ContextConfiguration public class BridgeParserTests extends AbstractJUnit4SpringContextTests { @@ -43,6 +47,10 @@ public class BridgeParserTests extends AbstractJUnit4SpringContextTests { @Qualifier("subscribableChannel") private MessageChannel subscribableChannel; + @Autowired + @Qualifier("stopperChannel") + private MessageChannel stopperChannel; + @Autowired @Qualifier("output1") private PollableChannel output1; @@ -51,7 +59,6 @@ public class BridgeParserTests extends AbstractJUnit4SpringContextTests { @Qualifier("output2") private PollableChannel output2; - @Test public void pollableChannel() { Message message = new StringMessage("test1"); @@ -68,4 +75,19 @@ public class BridgeParserTests extends AbstractJUnit4SpringContextTests { assertEquals(message, reply); } + @Test + public void stopperWithReplyHeader() { + PollableChannel replyChannel = new QueueChannel(); + Message message = MessageBuilder.withPayload("test3").setReplyChannel(replyChannel).build(); + this.stopperChannel.send(message); + Message reply = replyChannel.receive(0); + assertEquals(message, reply); + } + + @Test(expected = MessagingException.class) + public void stopperWithoutReplyHeader() { + Message message = MessageBuilder.withPayload("test3").build(); + this.stopperChannel.send(message); + } + }