The XmlFlowBuilder now consistently uses "fromStringTo(Class.class)" to resolve types (SWF-268).

This commit is contained in:
Erwin Vervaet
2007-03-21 19:53:05 +00:00
parent bf7e855ad5
commit 544ddbcda5
3 changed files with 8 additions and 12 deletions

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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");