minor structure polishing / naming conventions

This commit is contained in:
Keith Donald
2008-03-08 05:01:28 +00:00
parent 1952fdea46
commit 743edf8999
17 changed files with 43 additions and 144 deletions

View File

@@ -19,9 +19,9 @@ import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.AbstractSingleBeanDefinitionParser;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.binding.expression.el.DefaultExpressionFactoryUtils;
import org.springframework.faces.expression.LegacyJSFELExpressionParser;
import org.springframework.faces.model.converter.FacesConversionService;
import org.springframework.faces.webflow.JsfViewFactoryCreator;
import org.springframework.faces.webflow.JsfManagedBeanAwareELExpressionParser;
import org.springframework.util.StringUtils;
import org.springframework.webflow.engine.builder.support.FlowBuilderServices;
import org.springframework.webflow.expression.el.WebFlowELExpressionParser;
@@ -54,7 +54,7 @@ public class FacesFlowBuilderServicesBeanDefinitionParser extends AbstractSingle
protected void doParse(Element element, BeanDefinitionBuilder definitionBuilder) {
boolean enableManagedBeans = parseEnableManagedBeans(element, definitionBuilder);
if (enableManagedBeans) {
definitionBuilder.addPropertyValue(EXPRESSION_PARSER_PROPERTY, new LegacyJSFELExpressionParser(
definitionBuilder.addPropertyValue(EXPRESSION_PARSER_PROPERTY, new JsfManagedBeanAwareELExpressionParser(
DefaultExpressionFactoryUtils.createExpressionFactory()));
} else {
parseExpressionParser(element, definitionBuilder);

View File

@@ -7,7 +7,7 @@ import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import org.springframework.faces.ui.resource.FlowResourceHelper;
import org.springframework.faces.ui.resource.ResourceHelper;
public abstract class BaseDojoParentComponentRenderer extends BaseSpringFacesParentComponentRenderer {
@@ -19,7 +19,7 @@ public abstract class BaseDojoParentComponentRenderer extends BaseSpringFacesPar
private String springDojoJsResourceUri = "/spring/Spring-Dojo.js";
private FlowResourceHelper resourceHelper = new FlowResourceHelper();
private ResourceHelper resourceHelper = new ResourceHelper();
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
super.encodeBegin(context, component);

View File

@@ -5,13 +5,13 @@ import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import org.springframework.faces.ui.resource.FlowResourceHelper;
import org.springframework.faces.ui.resource.ResourceHelper;
public abstract class BaseSpringFacesParentComponentRenderer extends BaseParentComponentRenderer {
private String springJsResourceUri = "/spring/Spring.js";
private FlowResourceHelper resourceHelper = new FlowResourceHelper();
private ResourceHelper resourceHelper = new ResourceHelper();
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {

View File

@@ -24,14 +24,14 @@ import javax.faces.component.ValueHolder;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.springframework.faces.ui.resource.FlowResourceHelper;
import org.springframework.faces.ui.resource.ResourceHelper;
import org.springframework.util.StringUtils;
public class DojoAdvisorRenderer extends DojoRenderer {
private static final String SCRIPT_ELEMENT = "script";
private FlowResourceHelper resourceHelper = new FlowResourceHelper();
private ResourceHelper resourceHelper = new ResourceHelper();
public void encodeEnd(FacesContext context, UIComponent component) throws IOException {

View File

@@ -22,7 +22,7 @@ import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import org.springframework.faces.ui.resource.FlowResourceHelper;
import org.springframework.faces.ui.resource.ResourceHelper;
public class DojoRenderer extends SpringFacesRenderer {
@@ -34,7 +34,7 @@ public class DojoRenderer extends SpringFacesRenderer {
private String springDojoJsResourceUri = "/spring/Spring-Dojo.js";
private FlowResourceHelper resourceHelper = new FlowResourceHelper();
private ResourceHelper resourceHelper = new ResourceHelper();
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {

View File

@@ -20,7 +20,7 @@ import java.io.IOException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import org.springframework.faces.ui.resource.FlowResourceHelper;
import org.springframework.faces.ui.resource.ResourceHelper;
public class ExtJsRenderer extends SpringFacesRenderer {
@@ -30,7 +30,7 @@ public class ExtJsRenderer extends SpringFacesRenderer {
private static final String SPRING_EXT_SCRIPT = "/spring/Spring-Ext.js";
private FlowResourceHelper resourceHelper = new FlowResourceHelper();
private ResourceHelper resourceHelper = new ResourceHelper();
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {

View File

@@ -21,13 +21,13 @@ import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.render.Renderer;
import org.springframework.faces.ui.resource.FlowResourceHelper;
import org.springframework.faces.ui.resource.ResourceHelper;
public class SpringFacesRenderer extends Renderer {
private String springJsResourceUri = "/spring/Spring.js";
private FlowResourceHelper resourceHelper = new FlowResourceHelper();
private ResourceHelper resourceHelper = new ResourceHelper();
public void encodeBegin(FacesContext context, UIComponent component) throws IOException {

View File

@@ -25,9 +25,6 @@ import java.util.Set;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
/**
* Helper used by Spring Faces component renderers to add links to javascript and css resources. The resource links will
* be rendered in the correct format for the requests to be handled by Web Flow and routed to a special "resources" flow
@@ -36,7 +33,7 @@ import org.springframework.webflow.execution.RequestContextHolder;
* @author Jeremy Grelle
*
*/
public class FlowResourceHelper {
public class ResourceHelper {
private static final String RENDERED_RESOURCES_KEY = "org.springframework.faces.RenderedResources";
@@ -58,31 +55,20 @@ public class FlowResourceHelper {
* @throws IOException
*/
public void renderScriptLink(FacesContext facesContext, String scriptPath, Map attributes) throws IOException {
if (alreadyRendered(facesContext, scriptPath)) {
return;
}
RequestContext requestContext = RequestContextHolder.getRequestContext();
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement("script", null);
writer.writeAttribute("type", "text/javascript", null);
Iterator i = attributes.keySet().iterator();
while (i.hasNext()) {
String key = (String) i.next();
writer.writeAttribute(key, attributes.get(key), null);
}
String src = requestContext.getExternalContext().getContextPath() + "/resources" + scriptPath;
String src = facesContext.getExternalContext().getRequestContextPath() + "/resources" + scriptPath;
writer.writeAttribute("src", src, null);
writer.endElement("script");
markRendered(facesContext, scriptPath);
}
@@ -93,26 +79,16 @@ public class FlowResourceHelper {
* @throws IOException
*/
public void renderStyleLink(FacesContext facesContext, String cssPath) throws IOException {
if (alreadyRendered(facesContext, cssPath)) {
return;
}
RequestContext requestContext = RequestContextHolder.getRequestContext();
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement("link", null);
writer.writeAttribute("type", "text/css", null);
writer.writeAttribute("rel", "stylesheet", null);
String src = requestContext.getExternalContext().getContextPath() + "/resources" + cssPath;
String src = facesContext.getExternalContext().getRequestContextPath() + "/resources" + cssPath;
writer.writeAttribute("href", src, null);
writer.endElement("link");
markRendered(facesContext, cssPath);
}
@@ -123,21 +99,14 @@ public class FlowResourceHelper {
* @throws IOException
*/
public void renderDojoInclude(FacesContext facesContext, String module) throws IOException {
if (alreadyRendered(facesContext, module)) {
return;
}
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement("script", null);
writer.writeAttribute("type", "text/javascript", null);
writer.writeText("dojo.require('" + module + "');", null);
writer.endElement("script");
markRendered(facesContext, module);
}

View File

@@ -13,22 +13,20 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.faces.expression;
package org.springframework.faces.webflow;
import javax.el.CompositeELResolver;
import javax.faces.el.PropertyResolver;
import org.springframework.binding.expression.el.MapAdaptableELResolver;
import org.springframework.webflow.expression.el.RequestContextELResolver;
import org.springframework.webflow.expression.el.ScopeSearchingELResolver;
import org.springframework.faces.expression.ELDelegatingPropertyResolver;
/**
* Assembles {@link RequestContextELResolver} and {@link ScopeSearchingELResolver} into a composite that may be used
* with JSF 1.1 and higher for property resolution.
* For resolving MapAdaptable properties with JSF 1.1 or >.
*
* @author Jeremy Grelle
*/
public class CompositeFlowPropertyResolver extends ELDelegatingPropertyResolver {
public class FlowPropertyResolver extends ELDelegatingPropertyResolver {
private static final CompositeELResolver composite = new CompositeELResolver();
@@ -36,7 +34,7 @@ public class CompositeFlowPropertyResolver extends ELDelegatingPropertyResolver
composite.add(new MapAdaptableELResolver());
}
public CompositeFlowPropertyResolver(PropertyResolver nextResolver) {
public FlowPropertyResolver(PropertyResolver nextResolver) {
super(nextResolver, composite);
}
}

View File

@@ -13,11 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.faces.expression;
package org.springframework.faces.webflow;
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;
@@ -26,26 +27,25 @@ import org.springframework.webflow.expression.el.SpringBeanWebFlowELResolver;
import org.springframework.webflow.expression.el.SpringSecurityELResolver;
/**
* Assembles {@link RequestContextELResolver} and {@link ScopeSearchingELResolver} into a composite that may be used
* with JSF 1.1 and higher for variable resolution.
* For resolving flow request context variables with JSF 1.1 or >.
*
* @author Jeremy Grelle
*/
public class CompositeFlowVariableResolver extends ELDelegatingVariableResolver {
public class FlowVariableResolver extends ELDelegatingVariableResolver {
private static final CompositeELResolver composite = new CompositeELResolver();
static {
composite.add(new RequestContextELResolver());
composite.add(new ImplicitFlowVariableELResolver());
composite.add(new ScopeSearchingELResolver());
if (ClassUtils.isPresent("org.springframework.security.context.SecurityContextHolder")) {
composite.add(new SpringSecurityELResolver());
}
composite.add(new SpringBeanWebFlowELResolver());
composite.add(new ImplicitFlowVariableELResolver());
composite.add(new ScopeSearchingELResolver());
}
public CompositeFlowVariableResolver(VariableResolver nextResolver) {
public FlowVariableResolver(VariableResolver nextResolver) {
super(nextResolver, composite);
}
}

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.faces.expression;
package org.springframework.faces.webflow;
import java.util.ArrayList;
import java.util.List;
@@ -43,9 +43,9 @@ import org.springframework.webflow.expression.el.SpringSecurityELResolver;
*
* @author Jeremy Grelle
*/
public class LegacyJSFELExpressionParser extends ELExpressionParser {
public class JsfManagedBeanAwareELExpressionParser extends ELExpressionParser {
public LegacyJSFELExpressionParser(ExpressionFactory expressionFactory) {
public JsfManagedBeanAwareELExpressionParser(ExpressionFactory expressionFactory) {
super(expressionFactory);
putContextFactory(RequestContext.class, new RequestContextELContextFactory());
putContextFactory(MutableAttributeMap.class, new AttributeMapELContextFactory());
@@ -63,7 +63,7 @@ public class LegacyJSFELExpressionParser extends ELExpressionParser {
customResolvers.add(new SpringSecurityELResolver());
}
customResolvers.add(new SpringBeanWebFlowELResolver(context));
customResolvers.add(new LegacyJSFBeanResolver());
customResolvers.add(new JsfManagedBeanResolver());
ELResolver resolver = new DefaultELResolver(target, customResolvers);
return new WebFlowELContext(resolver);
}

View File

@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.faces.expression;
package org.springframework.faces.webflow;
import java.util.Iterator;
@@ -32,7 +32,7 @@ import org.springframework.webflow.execution.RequestContextHolder;
*
* @author Jeremy Grelle
*/
public class LegacyJSFBeanResolver extends ELResolver {
public class JsfManagedBeanResolver extends ELResolver {
public Class getCommonPropertyType(ELContext context, Object base) {
return Object.class;