Example usage for org.springframework.integration.config IntegrationEvaluationContextFactoryBean IntegrationEvaluationContextFactoryBean

List of usage examples for org.springframework.integration.config IntegrationEvaluationContextFactoryBean IntegrationEvaluationContextFactoryBean

Introduction

In this page you can find the example usage for org.springframework.integration.config IntegrationEvaluationContextFactoryBean IntegrationEvaluationContextFactoryBean.

Prototype

IntegrationEvaluationContextFactoryBean

Source Link

Usage

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"));
}