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

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

Introduction

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

Prototype

@Override
    public StandardEvaluationContext getObject() 

Source Link

Usage

From source file:org.springframework.integration.handler.ExpressionEvaluatingMessageProcessorTests.java

@SuppressWarnings({ "rawtypes", "unchecked" })
@Test/*w w  w.  ja  va  2s  .  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"));
}