@Test public void validExpression() { Expression expression = parser.parseExpression("T(System).out.println(payload)"); ExpressionEvaluatingMessageHandler handler = new ExpressionEvaluatingMessageHandler(expression); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet(); handler.handleMessage(new GenericMessage<String>("test")); }
@Override protected void onInit() { this.processor.setBeanFactory(getBeanFactory()); }
public ExpressionEvaluatingMessageHandler(Expression expression) { Assert.notNull(expression, "'expression' must not be null"); this.processor = new ExpressionEvaluatingMessageProcessor<Void>(expression, Void.class); setPrimaryExpression(expression); }
@Bean public ReactiveStreamsConsumer rawHandlerConsumer() { return new ReactiveStreamsConsumer(rawChannel(), (MessageHandler) new ExpressionEvaluatingMessageHandler(new ValueExpression<>("test"))); }
@Test public void validExpressionWithNoArgs() { Expression expression = parser.parseExpression("T(System).out.println()"); ExpressionEvaluatingMessageHandler handler = new ExpressionEvaluatingMessageHandler(expression); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet(); handler.handleMessage(new GenericMessage<String>("test")); }
public ExpressionEvaluatingMessageHandler(Expression expression) { Assert.notNull(expression, "'expression' must not be null"); this.processor = new ExpressionEvaluatingMessageProcessor<Void>(expression, Void.class); setPrimaryExpression(expression); }
@Override protected void onInit() { this.processor.setBeanFactory(getBeanFactory()); }
@Test public void validExpressionWithSomeArgs() { Expression expression = parser.parseExpression("T(System).out.write(payload.bytes, 0, headers.offset)"); ExpressionEvaluatingMessageHandler handler = new ExpressionEvaluatingMessageHandler(expression); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet(); HashMap<String, Object> headers = new HashMap<String, Object>(); headers.put("offset", 4); handler.handleMessage(new GenericMessage<String>("testtest", headers)); }
@Test(expected = MessagingException.class) public void expressionWithReturnValue() { Message<?> message = new GenericMessage<Float>(.1f); try { Expression expression = parser.parseExpression("T(System).out.printf('$%4.2f', payload)"); ExpressionEvaluatingMessageHandler handler = new ExpressionEvaluatingMessageHandler(expression); handler.setBeanFactory(mock(BeanFactory.class)); handler.afterPropertiesSet(); handler.handleMessage(message); } catch (MessagingException e) { assertEquals(e.getFailedMessage(), message); throw e; } }