From bda613709f071a2ee5c73e74cb855a1781d0c77f Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 28 Jan 2011 08:54:38 -0500 Subject: [PATCH] INT-1727 decoupled relationship between Groovy Contro Bus and generic Script Processor --- .../groovy/GroovyCommandMessageProcessor.java | 9 ++++----- .../groovy/GroovyScriptPayloadMessageProcessorTests.java | 4 +++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyCommandMessageProcessor.java b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyCommandMessageProcessor.java index bab9e8b08b..0be8700ce2 100644 --- a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyCommandMessageProcessor.java +++ b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyCommandMessageProcessor.java @@ -16,6 +16,7 @@ package org.springframework.integration.groovy; import groovy.lang.GString; import org.springframework.integration.Message; +import org.springframework.integration.handler.AbstractScriptExecutingMessageProcessor; import org.springframework.scripting.ScriptSource; import org.springframework.scripting.groovy.GroovyScriptFactory; import org.springframework.scripting.support.StaticScriptSource; @@ -27,14 +28,12 @@ import org.springframework.util.Assert; * @author Oleg Zhurakousky * @since 2.0 */ -public class GroovyCommandMessageProcessor extends GroovyScriptExecutingMessageProcessor { +public class GroovyCommandMessageProcessor extends AbstractScriptExecutingMessageProcessor { - public GroovyCommandMessageProcessor() { - super(null); - } + private final ScriptVariableSource scriptVariableSource; public GroovyCommandMessageProcessor(ScriptVariableSource scriptVariableSource) { - super(null, scriptVariableSource); + this.scriptVariableSource = scriptVariableSource; } @Override diff --git a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/GroovyScriptPayloadMessageProcessorTests.java b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/GroovyScriptPayloadMessageProcessorTests.java index 3aacf64021..9c91bc088b 100644 --- a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/GroovyScriptPayloadMessageProcessorTests.java +++ b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/GroovyScriptPayloadMessageProcessorTests.java @@ -37,19 +37,21 @@ public class GroovyScriptPayloadMessageProcessorTests { private AtomicInteger countHolder = new AtomicInteger(); - private GroovyCommandMessageProcessor processor = new GroovyCommandMessageProcessor(); + private GroovyCommandMessageProcessor processor; @Test @Repeat(20) public void testSimpleExecution() throws Exception { int count = countHolder.getAndIncrement(); Message message = MessageBuilder.withPayload("headers.foo" + count).setHeader("foo" + count, "bar").build(); + processor = new GroovyCommandMessageProcessor(new DefaultScriptVariableSource()); Object result = processor.processMessage(message); assertEquals("bar", result.toString()); } @Test public void testDoubleExecutionWithNewScript() throws Exception { + processor = new GroovyCommandMessageProcessor(new DefaultScriptVariableSource()); Message message = MessageBuilder.withPayload("headers.foo").setHeader("foo", "bar").build(); Object result = processor.processMessage(message); assertEquals("bar", result.toString());