Weird compiler error still there...

This commit is contained in:
David Syer
2010-09-01 14:21:53 +00:00
parent cae40b8dcd
commit c39cf0bbf1
2 changed files with 10 additions and 9 deletions

View File

@@ -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> T evaluateExpression(String expression, Object input, Class<T> 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> T evaluateExpression(Expression expression, Object input, Class<T> expectedType) {
return expression.getValue(this.evaluationContext, input, expectedType);
}

View File

@@ -217,12 +217,13 @@ public class MessagingMethodInvokerHelper<T> 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) {