Example usage for org.springframework.integration.handler ExpressionEvaluatingMessageProcessor processMessage

List of usage examples for org.springframework.integration.handler ExpressionEvaluatingMessageProcessor processMessage

Introduction

In this page you can find the example usage for org.springframework.integration.handler ExpressionEvaluatingMessageProcessor processMessage.

Prototype

@Override
public T processMessage(Message<?> message) 

Source Link

Document

Processes the Message by evaluating the expression with that Message as the root object.

Usage

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

@SuppressWarnings({ "rawtypes", "unchecked" })
@Test/*from ww  w .java2 s . c  om*/
public void testProcessMessageExpressionThrowsRuntimeException() {
    expected.expect(new TypeSafeMatcher<Exception>(Exception.class) {
        private Throwable cause;

        @Override
        public boolean matchesSafely(Exception item) {
            logger.debug(item);
            cause = item.getCause();
            return cause instanceof UnsupportedOperationException;
        }

        public void describeTo(Description description) {
            description.appendText("cause to be UnsupportedOperationException but was ").appendValue(cause);
        }
    });
    Expression expression = expressionParser.parseExpression("payload.throwRuntimeException()");
    ExpressionEvaluatingMessageProcessor processor = new ExpressionEvaluatingMessageProcessor(expression);
    processor.setBeanFactory(mock(BeanFactory.class));
    assertEquals("foo", processor.processMessage(new GenericMessage<TestPayload>(new TestPayload())));
}

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

@SuppressWarnings({ "rawtypes", "unchecked" })
@Test//  www. ja v  a 2  s  . c  o m
public void testProcessMessageExpressionThrowsCheckedException() {
    expected.expect(new TypeSafeMatcher<Exception>(Exception.class) {
        private Throwable cause;

        @Override
        public boolean matchesSafely(Exception item) {
            logger.debug(item);
            cause = item.getCause();
            return cause instanceof CheckedException;
        }

        public void describeTo(Description description) {
            description.appendText("cause to be CheckedException but was ").appendValue(cause);
        }
    });
    Expression expression = expressionParser.parseExpression("payload.throwCheckedException()");
    ExpressionEvaluatingMessageProcessor processor = new ExpressionEvaluatingMessageProcessor(expression);
    processor.setBeanFactory(mock(BeanFactory.class));
    assertEquals("foo", processor.processMessage(new GenericMessage<TestPayload>(new TestPayload())));
}