Weird compiler error still there...
This commit is contained in:
@@ -38,11 +38,11 @@ import org.springframework.integration.context.SimpleBeanResolver;
|
|||||||
public abstract class AbstractExpressionEvaluator implements BeanFactoryAware {
|
public abstract class AbstractExpressionEvaluator implements BeanFactoryAware {
|
||||||
|
|
||||||
private final StandardEvaluationContext evaluationContext = new StandardEvaluationContext();
|
private final StandardEvaluationContext evaluationContext = new StandardEvaluationContext();
|
||||||
|
|
||||||
private final ExpressionParser expressionParser = new SpelExpressionParser();
|
private final ExpressionParser expressionParser = new SpelExpressionParser();
|
||||||
|
|
||||||
private final BeanFactoryTypeConverter typeConverter = new BeanFactoryTypeConverter();
|
private final BeanFactoryTypeConverter typeConverter = new BeanFactoryTypeConverter();
|
||||||
|
|
||||||
public AbstractExpressionEvaluator() {
|
public AbstractExpressionEvaluator() {
|
||||||
evaluationContext.setTypeConverter(typeConverter);
|
evaluationContext.setTypeConverter(typeConverter);
|
||||||
evaluationContext.addPropertyAccessor(new MapAccessor());
|
evaluationContext.addPropertyAccessor(new MapAccessor());
|
||||||
@@ -85,17 +85,17 @@ public abstract class AbstractExpressionEvaluator implements BeanFactoryAware {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected Object evaluateExpression(String expression, Object input) {
|
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) {
|
protected <T> T evaluateExpression(String expression, Object input, Class<T> expectedType) {
|
||||||
return expressionParser.parseExpression(expression).getValue(this.evaluationContext, input, expectedType);
|
return expressionParser.parseExpression(expression).getValue(this.evaluationContext, input, expectedType);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Object evaluateExpression(Expression expression, Object input) {
|
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) {
|
protected <T> T evaluateExpression(Expression expression, Object input, Class<T> expectedType) {
|
||||||
return expression.getValue(this.evaluationContext, input, expectedType);
|
return expression.getValue(this.evaluationContext, input, expectedType);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -217,12 +217,13 @@ public class MessagingMethodInvokerHelper<T> extends AbstractExpressionEvaluator
|
|||||||
try {
|
try {
|
||||||
Expression expression = candidate.getExpression();
|
Expression expression = candidate.getExpression();
|
||||||
Class<?> expectedType = this.expectedType != null ? this.expectedType : candidate.method.getReturnType();
|
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) {
|
if (this.requiresReply) {
|
||||||
Assert.notNull(result,
|
Assert.notNull(result,
|
||||||
"Expression evaluation result was null, but this processor requires a reply.");
|
"Expression evaluation result was null, but this processor requires a reply.");
|
||||||
}
|
}
|
||||||
return (T) result;
|
return result;
|
||||||
}
|
}
|
||||||
// keep the first exception
|
// keep the first exception
|
||||||
catch (EvaluationException e) {
|
catch (EvaluationException e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user