List of usage examples for org.springframework.integration.config IntegrationEvaluationContextFactoryBean IntegrationEvaluationContextFactoryBean
IntegrationEvaluationContextFactoryBean
From source file:org.springframework.integration.handler.ExpressionEvaluatingMessageProcessorTests.java
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test/*from ww w . j a va2 s .c o m*/
public void testProcessMessageWithParameterCoercionToNonPrimitive() throws Exception {
class TestTarget {
@SuppressWarnings("unused")
public String find(Resource[] resources) {
return Arrays.asList(resources).toString();
}
}
Expression expression = expressionParser.parseExpression("#target.find(payload)");
ExpressionEvaluatingMessageProcessor processor = new ExpressionEvaluatingMessageProcessor(expression);
ConfigurableListableBeanFactory beanFactory = new GenericApplicationContext().getBeanFactory();
processor.setBeanFactory(beanFactory);
IntegrationEvaluationContextFactoryBean factoryBean = new IntegrationEvaluationContextFactoryBean();
factoryBean.setBeanFactory(beanFactory);
beanFactory.registerSingleton(IntegrationContextUtils.INTEGRATION_EVALUATION_CONTEXT_BEAN_NAME,
factoryBean.getObject());
processor.afterPropertiesSet();
EvaluationContext evaluationContext = TestUtils.getPropertyValue(processor, "evaluationContext",
EvaluationContext.class);
evaluationContext.setVariable("target", new TestTarget());
String result = (String) processor.processMessage(new GenericMessage<String>("classpath*:*.properties"));
assertTrue("Wrong result: " + result, result.contains("log4j.properties"));
}