added proxy lookup to builder services conversion service

This commit is contained in:
Keith Donald
2008-03-31 20:09:34 +00:00
parent 01730318f9
commit aabbc7d3bf

View File

@@ -1,6 +1,8 @@
package org.springframework.webflow.engine.builder.support;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.binding.convert.ConversionException;
import org.springframework.binding.convert.ConversionExecutor;
import org.springframework.binding.convert.ConversionService;
import org.springframework.binding.convert.service.GenericConversionService;
import org.springframework.binding.expression.ExpressionParser;
@@ -104,8 +106,18 @@ public class FlowBuilderContextImpl implements FlowBuilderContext {
GenericConversionService service = new GenericConversionService();
service.addConverter(new TextToTransitionCriteria(this));
service.addConverter(new TextToTargetStateResolver(this));
service.setParent(flowBuilderServices.getConversionService());
service.setParent(new ParentConversionServiceProxy());
return service;
}
/**
* A little proxy that refreshes the externally configured conversion service reference on each invocation.
*/
private class ParentConversionServiceProxy implements ConversionService {
public ConversionExecutor getConversionExecutor(Class sourceClass, Class targetClass)
throws ConversionException {
return getFlowBuilderServices().getConversionService().getConversionExecutor(sourceClass, targetClass);
}
}
}