The XmlFlowBuilder now consistently uses "fromStringTo(Class.class)" to resolve types (SWF-268).
This commit is contained in:
@@ -56,7 +56,7 @@ public class TextToClass extends ConversionServiceAwareConverter {
|
||||
else {
|
||||
// try first an aliased based lookup
|
||||
if (getConversionService() != null) {
|
||||
Class aliasedClass = getConversionService().getClassByAlias(text);
|
||||
Class aliasedClass = getConversionService().getClassByAlias(classNameOrAlias);
|
||||
if (aliasedClass != null) {
|
||||
return aliasedClass;
|
||||
}
|
||||
|
||||
@@ -27,6 +27,7 @@ Package org.springframework.webflow.engine
|
||||
occur during exception handling (SWF-261).
|
||||
* The XmlFlowBuilder now also supports OGNL expressions in the "to" attribute of a transition
|
||||
when using the "on-exception" attribute (SWF-269).
|
||||
* The XmlFlowBuilder now consistently uses "fromStringTo(Class.class)" to resolve types (SWF-268).
|
||||
|
||||
Package org.springframework.webflow.execution
|
||||
* Added FlowExecutionListener.sessionCreated(RequestContext, FlowSession) callback, useful for
|
||||
|
||||
@@ -856,16 +856,9 @@ public class XmlFlowBuilder extends BaseFlowBuilder implements ResourceHolder {
|
||||
|
||||
private Object convertPropertyValue(Element element, String stringValue) {
|
||||
if (element.hasAttribute(TYPE_ATTRIBUTE)) {
|
||||
ConversionExecutor executor = fromStringTo(element.getAttribute(TYPE_ATTRIBUTE));
|
||||
if (executor != null) {
|
||||
// convert string value to instance of aliased type
|
||||
return executor.execute(stringValue);
|
||||
}
|
||||
else {
|
||||
Class targetClass = (Class)fromStringTo(Class.class).execute(element.getAttribute(TYPE_ATTRIBUTE));
|
||||
// convert string value to instance of target class
|
||||
return fromStringTo(targetClass).execute(stringValue);
|
||||
}
|
||||
Class targetClass = (Class)fromStringTo(Class.class).execute(element.getAttribute(TYPE_ATTRIBUTE));
|
||||
// convert string value to instance of target class
|
||||
return fromStringTo(targetClass).execute(stringValue);
|
||||
}
|
||||
else {
|
||||
return stringValue;
|
||||
@@ -1002,7 +995,9 @@ public class XmlFlowBuilder extends BaseFlowBuilder implements ResourceHolder {
|
||||
if (StringUtils.hasText(from)) {
|
||||
if (StringUtils.hasText(to)) {
|
||||
ConversionService service = getLocalFlowServiceLocator().getConversionService();
|
||||
return service.getConversionExecutor(service.getClassByAlias(from), service.getClassByAlias(to));
|
||||
Class sourceClass = (Class)fromStringTo(Class.class).execute(from);
|
||||
Class targetClass = (Class)fromStringTo(Class.class).execute(to);
|
||||
return service.getConversionExecutor(sourceClass, targetClass);
|
||||
}
|
||||
else {
|
||||
throw new IllegalArgumentException("Use of the 'from' attribute requires use of the 'to' attribute");
|
||||
|
||||
Reference in New Issue
Block a user