Adding ability to resolve flow-local Spring Beans from EL expressions.
This commit is contained in:
@@ -15,6 +15,7 @@ import org.springframework.binding.expression.el.ELExpressionParser;
|
||||
import org.springframework.webflow.core.collection.MutableAttributeMap;
|
||||
import org.springframework.webflow.core.expression.el.RequestContextELResolver;
|
||||
import org.springframework.webflow.core.expression.el.ScopeSearchingELResolver;
|
||||
import org.springframework.webflow.core.expression.el.SpringBeanWebFlowELResolver;
|
||||
import org.springframework.webflow.execution.RequestContext;
|
||||
|
||||
/**
|
||||
@@ -46,6 +47,7 @@ public class LegacyJSFELExpressionParser extends ELExpressionParser {
|
||||
public ELContext getELContext(Object target) {
|
||||
List customResolvers = new ArrayList();
|
||||
customResolvers.add(new RequestContextELResolver());
|
||||
customResolvers.add(new SpringBeanWebFlowELResolver());
|
||||
customResolvers.add(new ScopeSearchingELResolver());
|
||||
customResolvers.add(new LegacyJSFBeanResolver());
|
||||
ELResolver resolver = new DefaultELResolver(target, customResolvers);
|
||||
|
||||
@@ -34,16 +34,12 @@ public class JsfViewFactoryCreator implements ViewFactoryCreator {
|
||||
|
||||
private Lifecycle lifecycle;
|
||||
|
||||
public JsfViewFactoryCreator() {
|
||||
lifecycle = createFlowFacesLifecycle();
|
||||
}
|
||||
|
||||
public Action createFinalResponseAction(Expression viewName, ResourceLoader resourceLoader) {
|
||||
return new JsfFinalResponseAction(new JsfViewFactory(viewName, resourceLoader, lifecycle));
|
||||
return new JsfFinalResponseAction(new JsfViewFactory(viewName, resourceLoader, getLifecycle()));
|
||||
}
|
||||
|
||||
public ViewFactory createViewFactory(Expression viewName, ResourceLoader resourceLoader) {
|
||||
return new JsfViewFactory(viewName, resourceLoader, lifecycle);
|
||||
return new JsfViewFactory(viewName, resourceLoader, getLifecycle());
|
||||
}
|
||||
|
||||
private Lifecycle createFlowFacesLifecycle() {
|
||||
@@ -53,4 +49,11 @@ public class JsfViewFactoryCreator implements ViewFactoryCreator {
|
||||
return new FlowLifecycle(defaultLifecycle);
|
||||
}
|
||||
|
||||
private Lifecycle getLifecycle() {
|
||||
if (lifecycle == null) {
|
||||
lifecycle = createFlowFacesLifecycle();
|
||||
}
|
||||
return lifecycle;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user