From 2df24cc603bceaefdc7253be48771977fb33740a Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Fri, 28 Jan 2011 10:08:07 -0500 Subject: [PATCH] INT-1727 removed the runtime resolution of bean in DefaultScriptVariableSource if the actual instance is RuntimeBeanReference --- .../groovy/DefaultScriptVariableSource.java | 9 +-------- .../groovy/config/GroovyScriptParser.java | 5 ++--- .../GroovyServiceActivatorTests-context.xml | 15 ++++++++------- .../config/GroovyServiceActivatorTests.java | 1 + 4 files changed, 12 insertions(+), 18 deletions(-) diff --git a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/DefaultScriptVariableSource.java b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/DefaultScriptVariableSource.java index 292d37e12c..a9080b04b7 100644 --- a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/DefaultScriptVariableSource.java +++ b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/DefaultScriptVariableSource.java @@ -22,7 +22,6 @@ import org.springframework.beans.BeansException; import org.springframework.beans.factory.BeanFactory; import org.springframework.beans.factory.BeanFactoryAware; import org.springframework.beans.factory.ListableBeanFactory; -import org.springframework.beans.factory.config.RuntimeBeanReference; import org.springframework.integration.Message; import org.springframework.util.CollectionUtils; @@ -59,13 +58,7 @@ public class DefaultScriptVariableSource implements BeanFactoryAware, ScriptVari if (!CollectionUtils.isEmpty(variableMap)){ for (String variableName : variableMap.keySet()) { Object variableValue = variableMap.get(variableName); - if (variableValue instanceof RuntimeBeanReference){ - String beanName = ((RuntimeBeanReference)variableValue).getBeanName(); - scriptVariables.put(variableName, this.beanFactory.getBean(beanName)); - } - else { - scriptVariables.put(variableName, variableValue); - } + scriptVariables.put(variableName, variableValue); } } // custom logic diff --git a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/config/GroovyScriptParser.java b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/config/GroovyScriptParser.java index 2ce25e2ecb..9dd319c9bc 100644 --- a/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/config/GroovyScriptParser.java +++ b/spring-integration-groovy/src/main/java/org/springframework/integration/groovy/config/GroovyScriptParser.java @@ -16,15 +16,14 @@ package org.springframework.integration.groovy.config; -import java.util.HashMap; import java.util.List; -import java.util.Map; import org.w3c.dom.Element; import org.springframework.beans.factory.config.RuntimeBeanReference; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionReaderUtils; +import org.springframework.beans.factory.support.ManagedMap; import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser; import org.springframework.beans.factory.xml.ParserContext; import org.springframework.beans.factory.xml.XmlReaderContext; @@ -85,7 +84,7 @@ public class GroovyScriptParser extends AbstractSingleBeanDefinitionParser { BeanDefinitionBuilder scriptVariableSourceBuilder = BeanDefinitionBuilder.genericBeanDefinition("org.springframework.integration.groovy.DefaultScriptVariableSource"); - Map variableMap = new HashMap(); + ManagedMap variableMap = new ManagedMap(); for (Element childElement : variableElements) { String variableName = childElement.getAttribute("name"); String variableValue = childElement.getAttribute("value"); diff --git a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests-context.xml b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests-context.xml index e82fc89553..9113656777 100644 --- a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests-context.xml +++ b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests-context.xml @@ -3,12 +3,11 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:groovy="http://www.springframework.org/schema/integration/groovy" - xsi:schemaLocation="http://www.springframework.org/schema/integration - http://www.springframework.org/schema/integration/spring-integration.xsd - http://www.springframework.org/schema/integration/groovy - http://www.springframework.org/schema/integration/groovy/spring-integration-groovy-2.0.xsd - http://www.springframework.org/schema/beans - http://www.springframework.org/schema/beans/spring-beans.xsd"> + xmlns:aop="http://www.springframework.org/schema/aop" + xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd + http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd + http://www.springframework.org/schema/integration/groovy http://www.springframework.org/schema/integration/groovy/spring-integration-groovy-2.0.xsd + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> @@ -35,6 +34,8 @@ - + + + diff --git a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests.java b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests.java index 98c8ca06a8..9c1cb5d426 100644 --- a/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests.java +++ b/spring-integration-groovy/src/test/java/org/springframework/integration/groovy/config/GroovyServiceActivatorTests.java @@ -68,6 +68,7 @@ public class GroovyServiceActivatorTests { String value1 = (String) replyChannel.receive(0).getPayload(); String value2 = (String) replyChannel.receive(0).getPayload(); String value3 = (String) replyChannel.receive(0).getPayload(); + System.out.println(value1 + "\n" + value2 + "\n" + value3); assertTrue(value1.startsWith("groovy-test-1-foo - bar")); assertTrue(value2.startsWith("groovy-test-2-foo - bar")); assertTrue(value3.startsWith("groovy-test-3-foo - bar"));