Cleaning up after Keith. :)

This commit is contained in:
Jeremy Grelle
2008-01-15 20:20:12 +00:00
parent 92c8a98814
commit 0d21651dda
5 changed files with 35 additions and 11 deletions

View File

@@ -23,6 +23,17 @@ package org.springframework.binding.expression;
*/
public interface ExpressionParser {
/**
* Is the provided expression string an "eval" expression: meaning an expression that validates to a dynamic value,
* and not a literal expression? "Eval" expressions are normally enclosed in delimiters like #{}, where literal
* expressions are not delimited.
*
* TODO - candidate for removal in a future milestone: is this really needed?
* @param string the string
* @return true if the expression is an eval expression string, false otherwise.
*/
public boolean isEvalExpressionString(String string);
/**
* Parse the provided expression string, returning an expression evaluator capable of evaluating it.
* @param expressionString the parseable expression string; cannot be null

View File

@@ -22,6 +22,16 @@ import org.springframework.binding.expression.ParserException;
*/
public class ELExpressionParser implements ExpressionParser {
/**
* The expression prefix.
*/
private static final String EXPRESSION_PREFIX = "#{";
/**
* The expression suffix.
*/
private static final String EXPRESSION_SUFFIX = "}";
/**
* The ExpressionFactory for constructing EL expressions
*/
@@ -45,6 +55,10 @@ public class ELExpressionParser implements ExpressionParser {
this.contextFactories.put(expressionTargetType, contextFactory);
}
public boolean isEvalExpressionString(String expressionString) {
return expressionString.startsWith(EXPRESSION_PREFIX) && expressionString.endsWith(EXPRESSION_SUFFIX);
}
public Expression parseExpression(String expressionString, Class expressionTargetType,
Class expectedEvaluationResultType, ExpressionVariable[] expressionVariables) throws ParserException {
if (expectedEvaluationResultType == null) {

View File

@@ -80,6 +80,10 @@ public abstract class AbstractExpressionParser implements ExpressionParser {
this.expressionSuffix = expressionSuffix;
}
public boolean isEvalExpressionString(String string) {
return string.startsWith(expressionPrefix) && string.endsWith(expressionSuffix);
}
public Expression parseExpression(String expressionString, Class expressionTargetType,
Class expectedEvaluationResultType, ExpressionVariable[] expressionVariables) throws ParserException {
Assert.notNull(expressionString, "The expression string to parse is required");

View File

@@ -29,8 +29,7 @@ import javax.faces.context.ResponseWriter;
import javax.faces.render.RenderKit;
import org.springframework.binding.message.Message;
import org.springframework.binding.message.MessageResolver;
import org.springframework.binding.message.Messages;
import org.springframework.binding.message.MessageBuilder;
import org.springframework.binding.message.Severity;
import org.springframework.context.MessageSource;
import org.springframework.util.ClassUtils;
@@ -75,7 +74,7 @@ public class FlowFacesContext extends FacesContext {
* Translates a FacesMessage to an SWF Message and adds it to the current MessageContext
*/
public void addMessage(String clientId, FacesMessage message) {
MessageResolver messageResolver;
MessageBuilder builder = new MessageBuilder();
StringBuffer msgText = new StringBuffer();
if (StringUtils.hasText(message.getSummary())) {
msgText.append(message.getSummary());
@@ -87,13 +86,13 @@ public class FlowFacesContext extends FacesContext {
}
if (message.getSeverity() == FacesMessage.SEVERITY_INFO) {
messageResolver = Messages.text(source, msgText.toString(), Severity.INFO);
builder.source(source).defaultText(msgText.toString()).info();
} else if (message.getSeverity() == FacesMessage.SEVERITY_WARN) {
messageResolver = Messages.text(source, msgText.toString(), Severity.WARNING);
builder.source(source).defaultText(msgText.toString()).warning();
} else {
messageResolver = Messages.text(source, msgText.toString(), Severity.ERROR);
builder.source(source).defaultText(msgText.toString()).error();
}
context.getMessageContext().addMessage(messageResolver);
context.getMessageContext().addMessage(builder.build());
}
/**

View File

@@ -54,10 +54,6 @@ public final class DefaultExpressionParserFactory {
return getDefaultExpressionParser().isEvalExpressionString(string);
}
public String parseEvalExpressionString(String string) throws ParserException {
return getDefaultExpressionParser().parseEvalExpressionString(string);
}
public Expression parseExpression(String expressionString, Class expressionTargetType,
Class expectedEvaluationResultType, ExpressionVariable[] expressionVariables)
throws ParserException {