From bdc49cb25f23090d00c27dd8c64393f6909aa9ab Mon Sep 17 00:00:00 2001 From: Mark Fisher Date: Mon, 26 Jul 2010 20:19:42 +0000 Subject: [PATCH] INT-1268 renamed to --- .../xml/IntegrationNamespaceHandler.java | 2 +- ...rser.java => ScheduledProducerParser.java} | 8 +-- ...her.java => ScheduledMessageProducer.java} | 12 ++--- .../config/xml/spring-integration-2.0.xsd | 9 ++-- ... ScheduledProducerParserTests-context.xml} | 8 +-- ...java => ScheduledProducerParserTests.java} | 52 +++++++++---------- ...ava => ScheduledMessageProducerTests.java} | 14 ++--- 7 files changed, 53 insertions(+), 52 deletions(-) rename spring-integration-core/src/main/java/org/springframework/integration/config/xml/{PublisherParser.java => ScheduledProducerParser.java} (91%) rename spring-integration-core/src/main/java/org/springframework/integration/endpoint/{TriggeredMessagePublisher.java => ScheduledMessageProducer.java} (90%) rename spring-integration-core/src/test/java/org/springframework/integration/config/xml/{PublisherParserTests-context.xml => ScheduledProducerParserTests-context.xml} (58%) rename spring-integration-core/src/test/java/org/springframework/integration/config/xml/{PublisherParserTests.java => ScheduledProducerParserTests.java} (60%) rename spring-integration-core/src/test/java/org/springframework/integration/endpoint/{TriggeredMessagePublisherTests.java => ScheduledMessageProducerTests.java} (87%) diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceHandler.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceHandler.java index 892860c744..112f499f8c 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceHandler.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/IntegrationNamespaceHandler.java @@ -59,7 +59,7 @@ public class IntegrationNamespaceHandler extends AbstractIntegrationNamespaceHan registerBeanDefinitionParser("poller", new PollerParser()); registerBeanDefinitionParser("annotation-config", new AnnotationConfigParser()); registerBeanDefinitionParser("application-event-multicaster", new ApplicationEventMulticasterParser()); - registerBeanDefinitionParser("publisher", new PublisherParser()); + registerBeanDefinitionParser("scheduled-producer", new ScheduledProducerParser()); registerBeanDefinitionParser("publishing-interceptor", new PublishingInterceptorParser()); registerBeanDefinitionParser("channel-interceptor", new GlobalChannelInterceptorParser()); registerBeanDefinitionParser("converter", new ConverterParser()); diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/PublisherParser.java b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/ScheduledProducerParser.java similarity index 91% rename from spring-integration-core/src/main/java/org/springframework/integration/config/xml/PublisherParser.java rename to spring-integration-core/src/main/java/org/springframework/integration/config/xml/ScheduledProducerParser.java index 885c4d74b6..0a7584f187 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/xml/PublisherParser.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/xml/ScheduledProducerParser.java @@ -25,16 +25,16 @@ import org.springframework.beans.factory.xml.ParserContext; import org.springframework.util.StringUtils; /** - * Parser for the <publisher> element. + * Parser for the <scheduled-producer> element. * * @author Mark Fisher * @since 2.0 */ -public class PublisherParser extends AbstractSingleBeanDefinitionParser { +public class ScheduledProducerParser extends AbstractSingleBeanDefinitionParser { @Override protected String getBeanClassName(Element element) { - return IntegrationNamespaceUtils.BASE_PACKAGE + ".endpoint.TriggeredMessagePublisher"; + return IntegrationNamespaceUtils.BASE_PACKAGE + ".endpoint.ScheduledMessageProducer"; } @Override @@ -81,7 +81,7 @@ public class PublisherParser extends AbstractSingleBeanDefinitionParser { return; } builder.addPropertyReference("outputChannel", element.getAttribute("channel")); - builder.addConstructorArgValue(element.getAttribute("payload")); + builder.addConstructorArgValue(element.getAttribute("payload-expression")); IntegrationNamespaceUtils.setValueIfAttributeDefined(builder, element, "auto-startup"); // TODO: add support for header expression sub-elements } diff --git a/spring-integration-core/src/main/java/org/springframework/integration/endpoint/TriggeredMessagePublisher.java b/spring-integration-core/src/main/java/org/springframework/integration/endpoint/ScheduledMessageProducer.java similarity index 90% rename from spring-integration-core/src/main/java/org/springframework/integration/endpoint/TriggeredMessagePublisher.java rename to spring-integration-core/src/main/java/org/springframework/integration/endpoint/ScheduledMessageProducer.java index 8c312d4b40..8271349144 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/endpoint/TriggeredMessagePublisher.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/endpoint/ScheduledMessageProducer.java @@ -37,14 +37,14 @@ import org.springframework.util.CollectionUtils; * @author Mark Fisher * @since 2.0 */ -public class TriggeredMessagePublisher extends MessageProducerSupport { +public class ScheduledMessageProducer extends MessageProducerSupport { private static final ExpressionParser PARSER = new SpelExpressionParser(); private final Trigger trigger; - private final MessagePublishingTask task; + private final MessageProducingTask task; private volatile ScheduledFuture future; @@ -53,11 +53,11 @@ public class TriggeredMessagePublisher extends MessageProducerSupport { private final StandardEvaluationContext context = new StandardEvaluationContext(); - public TriggeredMessagePublisher(Trigger trigger, String payloadExpression) { + public ScheduledMessageProducer(Trigger trigger, String payloadExpression) { Assert.notNull(trigger, "trigger must not be null"); Assert.hasText(payloadExpression, "payloadExpression is required"); this.trigger = trigger; - this.task = new MessagePublishingTask(PARSER.parseExpression(payloadExpression)); + this.task = new MessageProducingTask(PARSER.parseExpression(payloadExpression)); } @@ -105,12 +105,12 @@ public class TriggeredMessagePublisher extends MessageProducerSupport { } - private class MessagePublishingTask implements Runnable { + private class MessageProducingTask implements Runnable { private final Expression payloadExpression; - private MessagePublishingTask(Expression payloadExpression) { + private MessageProducingTask(Expression payloadExpression) { this.payloadExpression = payloadExpression; } diff --git a/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd b/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd index 3947246194..56c0479b0c 100644 --- a/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd +++ b/spring-integration-core/src/main/resources/org/springframework/integration/config/xml/spring-integration-2.0.xsd @@ -2274,7 +2274,7 @@ Name of the header whose value to use. - + Defines a component that evaluates an expression to generate a Message payload @@ -2313,7 +2313,7 @@ Name of the header whose value to use. - + SpEL expression to be evaluated for each triggered execution. @@ -2325,7 +2325,7 @@ Name of the header whose value to use. - MessageChannel to which this publisher's output should be sent. + MessageChannel to which this producer's output should be sent. @@ -2337,11 +2337,12 @@ Name of the header whose value to use. - Specify whether this publisher should start automatically. + Specify whether this producer should start automatically. By default it will. Set this to 'false' to require a manual start. + diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/xml/PublisherParserTests-context.xml b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/ScheduledProducerParserTests-context.xml similarity index 58% rename from spring-integration-core/src/test/java/org/springframework/integration/config/xml/PublisherParserTests-context.xml rename to spring-integration-core/src/test/java/org/springframework/integration/config/xml/ScheduledProducerParserTests-context.xml index d7600c7d4a..257818d260 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/xml/PublisherParserTests-context.xml +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/ScheduledProducerParserTests-context.xml @@ -17,13 +17,13 @@ - + - + - + - + diff --git a/spring-integration-core/src/test/java/org/springframework/integration/config/xml/PublisherParserTests.java b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/ScheduledProducerParserTests.java similarity index 60% rename from spring-integration-core/src/test/java/org/springframework/integration/config/xml/PublisherParserTests.java rename to spring-integration-core/src/test/java/org/springframework/integration/config/xml/ScheduledProducerParserTests.java index 30206b049f..2da375ce13 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/config/xml/PublisherParserTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/config/xml/ScheduledProducerParserTests.java @@ -27,7 +27,7 @@ import org.springframework.beans.DirectFieldAccessor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationContext; import org.springframework.expression.Expression; -import org.springframework.integration.endpoint.TriggeredMessagePublisher; +import org.springframework.integration.endpoint.ScheduledMessageProducer; import org.springframework.scheduling.Trigger; import org.springframework.scheduling.support.CronTrigger; import org.springframework.scheduling.support.PeriodicTrigger; @@ -40,7 +40,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; */ @ContextConfiguration @RunWith(SpringJUnit4ClassRunner.class) -public class PublisherParserTests { +public class ScheduledProducerParserTests { @Autowired private ApplicationContext context; @@ -48,61 +48,61 @@ public class PublisherParserTests { @Test public void fixedDelay() { - TriggeredMessagePublisher publisher = context.getBean("fixedDelayPublisher", TriggeredMessagePublisher.class); - assertFalse(publisher.isAutoStartup()); - DirectFieldAccessor publisherAccessor = new DirectFieldAccessor(publisher); - Trigger trigger = (Trigger) publisherAccessor.getPropertyValue("trigger"); + ScheduledMessageProducer producer = context.getBean("fixedDelayProducer", ScheduledMessageProducer.class); + assertFalse(producer.isAutoStartup()); + DirectFieldAccessor producerAccessor = new DirectFieldAccessor(producer); + Trigger trigger = (Trigger) producerAccessor.getPropertyValue("trigger"); assertEquals(PeriodicTrigger.class, trigger.getClass()); DirectFieldAccessor triggerAccessor = new DirectFieldAccessor(trigger); assertEquals(1234L, triggerAccessor.getPropertyValue("period")); assertEquals(Boolean.FALSE, triggerAccessor.getPropertyValue("fixedRate")); - assertEquals(context.getBean("fixedDelayChannel"), publisherAccessor.getPropertyValue("outputChannel")); + assertEquals(context.getBean("fixedDelayChannel"), producerAccessor.getPropertyValue("outputChannel")); Expression payloadExpression = (Expression) new DirectFieldAccessor( - publisherAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); + producerAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); assertEquals("'fixedDelayTest'", payloadExpression.getExpressionString()); } @Test public void fixedRate() { - TriggeredMessagePublisher publisher = context.getBean("fixedRatePublisher", TriggeredMessagePublisher.class); - assertFalse(publisher.isAutoStartup()); - DirectFieldAccessor publisherAccessor = new DirectFieldAccessor(publisher); - Trigger trigger = (Trigger) publisherAccessor.getPropertyValue("trigger"); + ScheduledMessageProducer producer = context.getBean("fixedRateProducer", ScheduledMessageProducer.class); + assertFalse(producer.isAutoStartup()); + DirectFieldAccessor producerAccessor = new DirectFieldAccessor(producer); + Trigger trigger = (Trigger) producerAccessor.getPropertyValue("trigger"); assertEquals(PeriodicTrigger.class, trigger.getClass()); DirectFieldAccessor triggerAccessor = new DirectFieldAccessor(trigger); assertEquals(5678L, triggerAccessor.getPropertyValue("period")); assertEquals(Boolean.TRUE, triggerAccessor.getPropertyValue("fixedRate")); - assertEquals(context.getBean("fixedRateChannel"), publisherAccessor.getPropertyValue("outputChannel")); + assertEquals(context.getBean("fixedRateChannel"), producerAccessor.getPropertyValue("outputChannel")); Expression payloadExpression = (Expression) new DirectFieldAccessor( - publisherAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); + producerAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); assertEquals("'fixedRateTest'", payloadExpression.getExpressionString()); } @Test public void cron() { - TriggeredMessagePublisher publisher = context.getBean("cronPublisher", TriggeredMessagePublisher.class); - assertFalse(publisher.isAutoStartup()); - DirectFieldAccessor publisherAccessor = new DirectFieldAccessor(publisher); - Trigger trigger = (Trigger) publisherAccessor.getPropertyValue("trigger"); + ScheduledMessageProducer producer = context.getBean("cronProducer", ScheduledMessageProducer.class); + assertFalse(producer.isAutoStartup()); + DirectFieldAccessor producerAccessor = new DirectFieldAccessor(producer); + Trigger trigger = (Trigger) producerAccessor.getPropertyValue("trigger"); assertEquals(CronTrigger.class, trigger.getClass()); assertEquals("7 6 5 4 3 ?", new DirectFieldAccessor(new DirectFieldAccessor( trigger).getPropertyValue("sequenceGenerator")).getPropertyValue("expression")); - assertEquals(context.getBean("cronChannel"), publisherAccessor.getPropertyValue("outputChannel")); + assertEquals(context.getBean("cronChannel"), producerAccessor.getPropertyValue("outputChannel")); Expression payloadExpression = (Expression) new DirectFieldAccessor( - publisherAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); + producerAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); assertEquals("'cronTest'", payloadExpression.getExpressionString()); } @Test public void triggerRef() { - TriggeredMessagePublisher publisher = context.getBean("triggerRefPublisher", TriggeredMessagePublisher.class); - assertTrue(publisher.isAutoStartup()); - DirectFieldAccessor publisherAccessor = new DirectFieldAccessor(publisher); - Trigger trigger = (Trigger) publisherAccessor.getPropertyValue("trigger"); + ScheduledMessageProducer producer = context.getBean("triggerRefProducer", ScheduledMessageProducer.class); + assertTrue(producer.isAutoStartup()); + DirectFieldAccessor producerAccessor = new DirectFieldAccessor(producer); + Trigger trigger = (Trigger) producerAccessor.getPropertyValue("trigger"); assertEquals(context.getBean("customTrigger"), trigger); - assertEquals(context.getBean("triggerRefChannel"), publisherAccessor.getPropertyValue("outputChannel")); + assertEquals(context.getBean("triggerRefChannel"), producerAccessor.getPropertyValue("outputChannel")); Expression payloadExpression = (Expression) new DirectFieldAccessor( - publisherAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); + producerAccessor.getPropertyValue("task")).getPropertyValue("payloadExpression"); assertEquals("'triggerRefTest'", payloadExpression.getExpressionString()); } diff --git a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/TriggeredMessagePublisherTests.java b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/ScheduledMessageProducerTests.java similarity index 87% rename from spring-integration-core/src/test/java/org/springframework/integration/endpoint/TriggeredMessagePublisherTests.java rename to spring-integration-core/src/test/java/org/springframework/integration/endpoint/ScheduledMessageProducerTests.java index 8a2ffaee02..72b6be8bcb 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/endpoint/TriggeredMessagePublisherTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/endpoint/ScheduledMessageProducerTests.java @@ -36,7 +36,7 @@ import org.springframework.scheduling.support.PeriodicTrigger; * @author Mark Fisher * @since 2.0 */ -public class TriggeredMessagePublisherTests { +public class ScheduledMessageProducerTests { private static final AtomicInteger counter = new AtomicInteger(); @@ -45,17 +45,17 @@ public class TriggeredMessagePublisherTests { public void test() throws Exception { QueueChannel channel = new QueueChannel(); Trigger trigger = new PeriodicTrigger(100); - String payloadExpression = "'test-' + T(org.springframework.integration.endpoint.TriggeredMessagePublisherTests).next()"; + String payloadExpression = "'test-' + T(org.springframework.integration.endpoint.ScheduledMessageProducerTests).next()"; ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler(); scheduler.afterPropertiesSet(); Map headerExpressions = new HashMap(); headerExpressions.put("foo", "'x'"); headerExpressions.put("bar", "7 * 6"); - TriggeredMessagePublisher publisher = new TriggeredMessagePublisher(trigger, payloadExpression); - publisher.setHeaderExpressions(headerExpressions); - publisher.setTaskScheduler(scheduler); - publisher.setOutputChannel(channel); - publisher.start(); + ScheduledMessageProducer producer = new ScheduledMessageProducer(trigger, payloadExpression); + producer.setHeaderExpressions(headerExpressions); + producer.setTaskScheduler(scheduler); + producer.setOutputChannel(channel); + producer.start(); List> messages = new ArrayList>(); for (int i = 0; i < 3; i++) { messages.add(channel.receive(1000));