From 01b26ba0d5e057352f751192db1b9159f065f5ed Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Mon, 7 Apr 2008 10:52:09 +0000 Subject: [PATCH] upgrade to 2.5.3 several fixes to jsf resolvers in faces --- spring-binding/.classpath | 6 ++--- spring-faces/.classpath | 12 +++++----- .../faces/webflow/FlowVariableResolver.java | 5 ----- ...JsfManagedBeanAwareELExpressionParser.java | 20 ++++------------- ...lderServicesBeanDefinitionParserTests.java | 2 +- spring-js/.classpath | 4 ++-- spring-webflow/.classpath | 22 +++++++++---------- 7 files changed, 27 insertions(+), 44 deletions(-) diff --git a/spring-binding/.classpath b/spring-binding/.classpath index ff7f3bf8..e069e453 100644 --- a/spring-binding/.classpath +++ b/spring-binding/.classpath @@ -10,9 +10,9 @@ - - - + + + diff --git a/spring-faces/.classpath b/spring-faces/.classpath index 384d9d51..03773318 100644 --- a/spring-faces/.classpath +++ b/spring-faces/.classpath @@ -23,11 +23,11 @@ - - - - - - + + + + + + diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowVariableResolver.java b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowVariableResolver.java index 1b0aed22..12068a9e 100644 --- a/spring-faces/src/main/java/org/springframework/faces/webflow/FlowVariableResolver.java +++ b/spring-faces/src/main/java/org/springframework/faces/webflow/FlowVariableResolver.java @@ -19,11 +19,9 @@ import javax.el.CompositeELResolver; import javax.faces.el.VariableResolver; import org.springframework.faces.expression.ELDelegatingVariableResolver; -import org.springframework.util.ClassUtils; import org.springframework.webflow.expression.el.ImplicitFlowVariableELResolver; import org.springframework.webflow.expression.el.RequestContextELResolver; import org.springframework.webflow.expression.el.ScopeSearchingELResolver; -import org.springframework.webflow.expression.el.SpringSecurityELResolver; /** * For resolving flow request context variables with JSF 1.1 or >. @@ -38,9 +36,6 @@ public class FlowVariableResolver extends ELDelegatingVariableResolver { composite.add(new RequestContextELResolver()); composite.add(new ImplicitFlowVariableELResolver()); composite.add(new ScopeSearchingELResolver()); - if (ClassUtils.isPresent("org.springframework.security.context.SecurityContextHolder")) { - composite.add(new SpringSecurityELResolver()); - } } public FlowVariableResolver(VariableResolver nextResolver) { diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfManagedBeanAwareELExpressionParser.java b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfManagedBeanAwareELExpressionParser.java index f019fe91..bde6f56f 100644 --- a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfManagedBeanAwareELExpressionParser.java +++ b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfManagedBeanAwareELExpressionParser.java @@ -27,15 +27,13 @@ import javax.el.VariableMapper; import org.springframework.binding.expression.el.DefaultELResolver; import org.springframework.binding.expression.el.ELContextFactory; import org.springframework.binding.expression.el.ELExpressionParser; -import org.springframework.util.ClassUtils; -import org.springframework.webflow.core.collection.MutableAttributeMap; +import org.springframework.binding.expression.el.NullELResolver; import org.springframework.webflow.execution.RequestContext; import org.springframework.webflow.expression.el.ActionMethodELResolver; import org.springframework.webflow.expression.el.ImplicitFlowVariableELResolver; import org.springframework.webflow.expression.el.RequestContextELResolver; import org.springframework.webflow.expression.el.ScopeSearchingELResolver; import org.springframework.webflow.expression.el.SpringBeanWebFlowELResolver; -import org.springframework.webflow.expression.el.SpringSecurityELResolver; /** * A JSF-specific ExpressionParser that allows beans managed by either JSF, Spring, or Web Flow referenced in @@ -48,7 +46,6 @@ public class JsfManagedBeanAwareELExpressionParser extends ELExpressionParser { public JsfManagedBeanAwareELExpressionParser(ExpressionFactory expressionFactory) { super(expressionFactory); putContextFactory(RequestContext.class, new RequestContextELContextFactory()); - putContextFactory(MutableAttributeMap.class, new AttributeMapELContextFactory()); } private static class RequestContextELContextFactory implements ELContextFactory { @@ -56,22 +53,13 @@ public class JsfManagedBeanAwareELExpressionParser extends ELExpressionParser { RequestContext context = (RequestContext) target; List customResolvers = new ArrayList(); customResolvers.add(new RequestContextELResolver(context)); + customResolvers.add(new NullELResolver()); customResolvers.add(new ImplicitFlowVariableELResolver(context)); customResolvers.add(new ScopeSearchingELResolver(context)); - customResolvers.add(new ActionMethodELResolver()); - if (ClassUtils.isPresent("org.springframework.security.context.SecurityContextHolder")) { - customResolvers.add(new SpringSecurityELResolver()); - } customResolvers.add(new SpringBeanWebFlowELResolver(context)); + customResolvers.add(new ActionMethodELResolver()); customResolvers.add(new JsfManagedBeanResolver()); - ELResolver resolver = new DefaultELResolver(target, customResolvers); - return new WebFlowELContext(resolver); - } - } - - private static class AttributeMapELContextFactory implements ELContextFactory { - public ELContext getELContext(Object target) { - ELResolver resolver = new DefaultELResolver(target, null); + ELResolver resolver = new DefaultELResolver(null, customResolvers); return new WebFlowELContext(resolver); } } diff --git a/spring-faces/src/test/java/org/springframework/faces/config/FacesFlowBuilderServicesBeanDefinitionParserTests.java b/spring-faces/src/test/java/org/springframework/faces/config/FacesFlowBuilderServicesBeanDefinitionParserTests.java index dbe45a2f..58423990 100644 --- a/spring-faces/src/test/java/org/springframework/faces/config/FacesFlowBuilderServicesBeanDefinitionParserTests.java +++ b/spring-faces/src/test/java/org/springframework/faces/config/FacesFlowBuilderServicesBeanDefinitionParserTests.java @@ -5,8 +5,8 @@ import junit.framework.TestCase; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.faces.model.converter.FacesConversionService; import org.springframework.faces.webflow.JSFMockHelper; -import org.springframework.faces.webflow.JsfViewFactoryCreator; import org.springframework.faces.webflow.JsfManagedBeanAwareELExpressionParser; +import org.springframework.faces.webflow.JsfViewFactoryCreator; import org.springframework.webflow.engine.builder.support.FlowBuilderServices; import org.springframework.webflow.expression.el.WebFlowELExpressionParser; diff --git a/spring-js/.classpath b/spring-js/.classpath index c6ef17cf..0447daa0 100644 --- a/spring-js/.classpath +++ b/spring-js/.classpath @@ -12,7 +12,7 @@ - - + + diff --git a/spring-webflow/.classpath b/spring-webflow/.classpath index c8f80653..e3fc1978 100644 --- a/spring-webflow/.classpath +++ b/spring-webflow/.classpath @@ -26,17 +26,17 @@ - - - - - - - - - - - + + + + + + + + + + +