empty string handling
This commit is contained in:
@@ -17,6 +17,7 @@ package org.springframework.webflow.action;
|
||||
|
||||
import org.springframework.core.JdkVersion;
|
||||
import org.springframework.core.enums.LabeledEnum;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.webflow.execution.Event;
|
||||
import org.springframework.webflow.execution.RequestContext;
|
||||
|
||||
@@ -81,7 +82,13 @@ public class ResultObjectBasedEventFactory extends EventFactorySupport implement
|
||||
String eventId = EnumUtils.getEnumName(resultObject);
|
||||
return event(source, eventId, getResultAttributeName(), resultObject);
|
||||
} else if (isString(resultObject.getClass())) {
|
||||
return event(source, (String) resultObject);
|
||||
String resultString = (String) resultObject;
|
||||
if (StringUtils.hasText(resultString)) {
|
||||
return event(source, resultString);
|
||||
} else {
|
||||
// treat an empty string as the null event
|
||||
return event(source, getNullEventId());
|
||||
}
|
||||
} else if (isEvent(resultObject.getClass())) {
|
||||
return (Event) resultObject;
|
||||
} else {
|
||||
|
||||
@@ -34,6 +34,20 @@ public class EvaluateActionTests extends TestCase {
|
||||
assertEquals("bar", result.getId());
|
||||
}
|
||||
|
||||
public void testEvaluateExpressionEmptyStringResult() throws Exception {
|
||||
EvaluateAction action = new EvaluateAction(new StaticExpression(""), null);
|
||||
MockRequestContext context = new MockRequestContext();
|
||||
Event result = action.execute(context);
|
||||
assertEquals("null", result.getId());
|
||||
}
|
||||
|
||||
public void testEvaluateExpressionNullResult() throws Exception {
|
||||
EvaluateAction action = new EvaluateAction(new StaticExpression(null), null);
|
||||
MockRequestContext context = new MockRequestContext();
|
||||
Event result = action.execute(context);
|
||||
assertEquals("success", result.getId());
|
||||
}
|
||||
|
||||
public void testEvaluateExpressionResultExposer() throws Exception {
|
||||
StaticExpression resultExpression = new StaticExpression("");
|
||||
EvaluateAction action = new EvaluateAction(new StaticExpression("bar"), new ActionResultExposer(
|
||||
|
||||
Reference in New Issue
Block a user