From c39cf0bbf1fe9089a19fdd39be3f4e587c194efd Mon Sep 17 00:00:00 2001 From: David Syer Date: Wed, 1 Sep 2010 14:21:53 +0000 Subject: [PATCH] Weird compiler error still there... --- .../util/AbstractExpressionEvaluator.java | 14 +++++++------- .../util/MessagingMethodInvokerHelper.java | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/spring-integration-core/src/main/java/org/springframework/integration/util/AbstractExpressionEvaluator.java b/spring-integration-core/src/main/java/org/springframework/integration/util/AbstractExpressionEvaluator.java index aa74f141f1..ff61fda853 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/util/AbstractExpressionEvaluator.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/util/AbstractExpressionEvaluator.java @@ -38,11 +38,11 @@ import org.springframework.integration.context.SimpleBeanResolver; public abstract class AbstractExpressionEvaluator implements BeanFactoryAware { private final StandardEvaluationContext evaluationContext = new StandardEvaluationContext(); - + private final ExpressionParser expressionParser = new SpelExpressionParser(); - + private final BeanFactoryTypeConverter typeConverter = new BeanFactoryTypeConverter(); - + public AbstractExpressionEvaluator() { evaluationContext.setTypeConverter(typeConverter); evaluationContext.addPropertyAccessor(new MapAccessor()); @@ -85,17 +85,17 @@ public abstract class AbstractExpressionEvaluator implements BeanFactoryAware { } protected Object evaluateExpression(String expression, Object input) { - return evaluateExpression(expression, input, null); + return evaluateExpression(expression, input, (Class) null); } - + protected T evaluateExpression(String expression, Object input, Class expectedType) { return expressionParser.parseExpression(expression).getValue(this.evaluationContext, input, expectedType); } protected Object evaluateExpression(Expression expression, Object input) { - return evaluateExpression(expression, input, null); + return evaluateExpression(expression, input, (Class) null); } - + protected T evaluateExpression(Expression expression, Object input, Class expectedType) { return expression.getValue(this.evaluationContext, input, expectedType); } diff --git a/spring-integration-core/src/main/java/org/springframework/integration/util/MessagingMethodInvokerHelper.java b/spring-integration-core/src/main/java/org/springframework/integration/util/MessagingMethodInvokerHelper.java index 6572587650..9d91a530e3 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/util/MessagingMethodInvokerHelper.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/util/MessagingMethodInvokerHelper.java @@ -217,12 +217,13 @@ public class MessagingMethodInvokerHelper extends AbstractExpressionEvaluator try { Expression expression = candidate.getExpression(); Class expectedType = this.expectedType != null ? this.expectedType : candidate.method.getReturnType(); - Object result = this.evaluateExpression(expression, parameters, expectedType); + @SuppressWarnings("unchecked") + T result = (T) this.evaluateExpression(expression, parameters, expectedType); if (this.requiresReply) { Assert.notNull(result, "Expression evaluation result was null, but this processor requires a reply."); } - return (T) result; + return result; } // keep the first exception catch (EvaluationException e) {