Skip to content

Commit 455cc9b

Browse files
committed
Don't propagate null CL to GroovyScriptFactory
https://build.spring.io/browse/INT-MASTER-1505/ * Fix Sonar smells in the `AbstractScriptParser`
1 parent be86db5 commit 455cc9b

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

spring-integration-groovy/src/main/java/org/springframework/integration/groovy/GroovyCommandMessageProcessor.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,10 @@ protected Object executeScript(ScriptSource scriptSource, Map<String, Object> va
125125
customizerDecorator.setVariables(variables);
126126
}
127127
GroovyScriptFactory factory = new GroovyScriptFactory(getClass().getSimpleName(), customizerDecorator);
128-
factory.setBeanClassLoader(getBeanClassLoader());
128+
ClassLoader beanClassLoader = getBeanClassLoader();
129+
if (beanClassLoader != null) {
130+
factory.setBeanClassLoader(beanClassLoader);
131+
}
129132
factory.setBeanFactory(getBeanFactory());
130133
try {
131134
Object result = factory.getScriptedObject(scriptSource);

spring-integration-scripting/src/main/java/org/springframework/integration/scripting/config/AbstractScriptParser.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,23 @@ protected void doParse(Element element, ParserContext parserContext, BeanDefinit
6464
List<Element> variableElements = DomUtils.getChildElementsByTagName(element, "variable");
6565
String scriptVariableGeneratorName = element.getAttribute("script-variable-generator");
6666

67-
6867
if (StringUtils.hasText(scriptVariableGeneratorName) && variableElements.size() > 0) {
6968
parserContext.getReaderContext().error(
7069
"'script-variable-generator' and 'variable' sub-elements are mutually exclusive.", element);
7170
return;
7271
}
7372

7473
if (StringUtils.hasText(scriptLocation)) {
75-
builder.addConstructorArgValue(this.resolveScriptLocation(element, parserContext.getReaderContext(),
76-
scriptLocation));
74+
builder.addConstructorArgValue(resolveScriptLocation(element, scriptLocation));
7775
}
7876
else {
7977
builder.addConstructorArgValue(new StaticScriptSource(scriptText));
8078
}
8179

82-
BeanMetadataElement scriptVariableGeneratorDef = null;
83-
80+
BeanMetadataElement scriptVariableGeneratorDef;
8481
if (!StringUtils.hasText(scriptVariableGeneratorName)) {
85-
BeanDefinitionBuilder scriptVariableGeneratorBuilder = BeanDefinitionBuilder
86-
.genericBeanDefinition(DefaultScriptVariableGenerator.class);
82+
BeanDefinitionBuilder scriptVariableGeneratorBuilder =
83+
BeanDefinitionBuilder.genericBeanDefinition(DefaultScriptVariableGenerator.class);
8784
ManagedMap<String, Object> variableMap = buildVariablesMap(element, parserContext, variableElements);
8885
if (!CollectionUtils.isEmpty(variableMap)) {
8986
scriptVariableGeneratorBuilder.addConstructorArgValue(variableMap);
@@ -108,7 +105,7 @@ protected void doParse(Element element, ParserContext parserContext, BeanDefinit
108105
protected void postProcess(BeanDefinitionBuilder builder, Element element, ParserContext parserContext) {
109106
}
110107

111-
private Object resolveScriptLocation(Element element, XmlReaderContext readerContext, String scriptLocation) {
108+
private Object resolveScriptLocation(Element element, String scriptLocation) {
112109
String refreshDelayText = element.getAttribute(REFRESH_CHECK_DELAY_ATTRIBUTE);
113110
String beanClassName = RefreshableResourceScriptSource.class.getName();
114111
BeanDefinitionBuilder resourceScriptSourceBuilder = BeanDefinitionBuilder.genericBeanDefinition(beanClassName);
@@ -124,6 +121,7 @@ private Object resolveScriptLocation(Element element, XmlReaderContext readerCon
124121

125122
private ManagedMap<String, Object> buildVariablesMap(final Element element, final ParserContext parserContext,
126123
List<Element> variableElements) {
124+
127125
@SuppressWarnings("serial")
128126
ManagedMap<String, Object> variableMap = new ManagedMap<String, Object>() {
129127

0 commit comments

Comments
 (0)