INT-866 added "method" variable to the SpEL context and also refactored ExpressionBinding and ExpressionSource (work in progress).
This commit is contained in:
@@ -108,19 +108,23 @@ public class MessagePublishingInterceptorTests {
|
||||
|
||||
private static class TestExpressionSource implements ExpressionSource {
|
||||
|
||||
public String getArgumentMapName(Method method) {
|
||||
public String getMethodNameVariableName(Method method) {
|
||||
return "m";
|
||||
}
|
||||
|
||||
public String[] getArgumentNames(Method method) {
|
||||
public String getArgumentMapVariableName(Method method) {
|
||||
return "map";
|
||||
}
|
||||
|
||||
public String[] getArgumentVariableNames(Method method) {
|
||||
return new String[] { "a1", "a2"};
|
||||
}
|
||||
|
||||
public String getReturnValueName(Method method) {
|
||||
public String getReturnValueVariableName(Method method) {
|
||||
return "r";
|
||||
}
|
||||
|
||||
public String getExceptionName(Method method) {
|
||||
public String getExceptionVariableName(Method method) {
|
||||
return "x";
|
||||
}
|
||||
|
||||
|
||||
@@ -36,16 +36,16 @@ public class MethodAnnotationExpressionSourceTests {
|
||||
Method method = getMethod("methodWithExpressionAnnotationOnly", String.class, int.class);
|
||||
String expressionString = source.getPayloadExpression(method);
|
||||
assertEquals("testExpression1", expressionString);
|
||||
assertEquals(2, source.getArgumentNames(method).length);
|
||||
assertEquals("arg1", source.getArgumentNames(method)[0]);
|
||||
assertEquals("arg2", source.getArgumentNames(method)[1]);
|
||||
assertEquals(2, source.getArgumentVariableNames(method).length);
|
||||
assertEquals("arg1", source.getArgumentVariableNames(method)[0]);
|
||||
assertEquals("arg2", source.getArgumentVariableNames(method)[1]);
|
||||
String[] headerStrings = source.getHeaderExpressions(method);
|
||||
assertNotNull(headerStrings);
|
||||
assertEquals(1, headerStrings.length);
|
||||
assertEquals("", headerStrings[0]);
|
||||
assertEquals(ExpressionSource.DEFAULT_ARGUMENT_MAP_NAME, source.getArgumentMapName(method));
|
||||
assertEquals(ExpressionSource.DEFAULT_EXCEPTION_NAME, source.getExceptionName(method));
|
||||
assertEquals(ExpressionSource.DEFAULT_RETURN_VALUE_NAME, source.getReturnValueName(method));
|
||||
assertEquals(ExpressionSource.DEFAULT_ARGUMENT_MAP_VARIABLE_NAME, source.getArgumentMapVariableName(method));
|
||||
assertEquals(ExpressionSource.DEFAULT_EXCEPTION_VARIABLE_NAME, source.getExceptionVariableName(method));
|
||||
assertEquals(ExpressionSource.DEFAULT_RETURN_VALUE_VARIABLE_NAME, source.getReturnValueVariableName(method));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -53,12 +53,12 @@ public class MethodAnnotationExpressionSourceTests {
|
||||
Method method = getMethod("methodWithExpressionBinding", String.class, int.class);
|
||||
String expressionString = source.getPayloadExpression(method);
|
||||
assertEquals("testExpression2", expressionString);
|
||||
assertEquals(2, source.getArgumentNames(method).length);
|
||||
assertEquals("s", source.getArgumentNames(method)[0]);
|
||||
assertEquals("i", source.getArgumentNames(method)[1]);
|
||||
assertEquals("argz", source.getArgumentMapName(method));
|
||||
assertEquals("x", source.getExceptionName(method));
|
||||
assertEquals("result", source.getReturnValueName(method));
|
||||
assertEquals(2, source.getArgumentVariableNames(method).length);
|
||||
assertEquals("s", source.getArgumentVariableNames(method)[0]);
|
||||
assertEquals("i", source.getArgumentVariableNames(method)[1]);
|
||||
assertEquals("argz", source.getArgumentMapVariableName(method));
|
||||
assertEquals("x", source.getExceptionVariableName(method));
|
||||
assertEquals("result", source.getReturnValueVariableName(method));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -88,7 +88,8 @@ public class MethodAnnotationExpressionSourceTests {
|
||||
}
|
||||
|
||||
@Publisher("testExpression2")
|
||||
@ExpressionBinding(argNames="s, i", argumentMapName="argz", exceptionName="x", returnValueName="result")
|
||||
@ExpressionBinding(argumentVariableNames="s, i", argumentMapVariableName="argz",
|
||||
exceptionVariableName="x", returnValueVariableName="result")
|
||||
public void methodWithExpressionBinding(String arg1, int arg2) {
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user