diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTargetStateResolver.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTargetStateResolver.java
index 26c732c8..a56ce6cb 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTargetStateResolver.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTargetStateResolver.java
@@ -75,7 +75,7 @@ class TextToTargetStateResolver extends AbstractConverter {
if (targetStateId.startsWith(BEAN_PREFIX)) {
return flowBuilderContext.getBeanFactory().getBean(targetStateId.substring(BEAN_PREFIX.length()));
} else {
- Expression expression = parser.parseExpression(targetStateId, new ParserContextImpl().eval(
+ Expression expression = parser.parseExpression(targetStateId, new ParserContextImpl().template().eval(
RequestContext.class).expect(String.class));
return new DefaultTargetStateResolver(expression);
}
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTransitionCriteria.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTransitionCriteria.java
index 864e1620..778f1d61 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTransitionCriteria.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/support/TextToTransitionCriteria.java
@@ -21,14 +21,12 @@ import org.springframework.binding.convert.support.AbstractConverter;
import org.springframework.binding.expression.Expression;
import org.springframework.binding.expression.ExpressionParser;
import org.springframework.binding.expression.ExpressionVariable;
-import org.springframework.binding.expression.ognl.OgnlExpressionParser;
import org.springframework.binding.expression.support.ParserContextImpl;
import org.springframework.util.StringUtils;
import org.springframework.webflow.engine.TransitionCriteria;
import org.springframework.webflow.engine.WildcardTransitionCriteria;
import org.springframework.webflow.engine.builder.FlowBuilderContext;
import org.springframework.webflow.engine.support.BooleanExpressionTransitionCriteria;
-import org.springframework.webflow.engine.support.EventIdTransitionCriteria;
import org.springframework.webflow.execution.RequestContext;
/**
@@ -89,30 +87,10 @@ class TextToTransitionCriteria extends AbstractConverter {
return flowBuilderContext.getBeanFactory().getBean(encodedCriteria.substring(BEAN_PREFIX.length()),
TransitionCriteria.class);
} else {
- if (parser instanceof OgnlExpressionParser) {
- // 1.0 compatability
- OgnlExpressionParser ognl = (OgnlExpressionParser) parser;
- if (ognl.isTemplateExpression(encodedCriteria)) {
- return createBooleanExpressionTransitionCriteria(encodedCriteria, parser);
- } else {
- return createEventIdTransitionCriteria(encodedCriteria);
- }
- } else {
- return createBooleanExpressionTransitionCriteria(encodedCriteria, parser);
- }
+ return createBooleanExpressionTransitionCriteria(encodedCriteria, parser);
}
}
- /**
- * Hook method subclasses can override to return a specialized eventId matching transition criteria implementation.
- * @param eventId the event id to match
- * @return the transition criteria object
- * @throws ConversionException when something goes wrong
- */
- protected TransitionCriteria createEventIdTransitionCriteria(String eventId) throws ConversionException {
- return new EventIdTransitionCriteria(eventId);
- }
-
/**
* Hook method subclasses can override to return a specialized expression evaluating transition criteria
* implementation.
@@ -123,7 +101,7 @@ class TextToTransitionCriteria extends AbstractConverter {
*/
protected TransitionCriteria createBooleanExpressionTransitionCriteria(String encodedCriteria,
ExpressionParser parser) throws ConversionException {
- Expression expression = parser.parseExpression(encodedCriteria, new ParserContextImpl().eval(
+ Expression expression = parser.parseExpression(encodedCriteria, new ParserContextImpl().template().eval(
RequestContext.class).variable(new ExpressionVariable("result", "lastEvent.id")));
return new BooleanExpressionTransitionCriteria(expression);
}
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowBuilder.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowBuilder.java
index 5d2f7776..f54daad4 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowBuilder.java
+++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowBuilder.java
@@ -543,7 +543,7 @@ public class XmlFlowBuilder extends AbstractFlowBuilder implements ResourceHolde
private Expression parseSubflowExpression(Element element) {
String subflow = element.getAttribute("subflow");
Expression subflowId = getExpressionParser().parseExpression(subflow,
- new ParserContextImpl().eval(RequestContext.class).expect(String.class));
+ new ParserContextImpl().template().eval(RequestContext.class).expect(String.class));
return new SubflowExpression(subflowId, getLocalContext().getFlowDefinitionLocator());
}
@@ -595,26 +595,26 @@ public class XmlFlowBuilder extends AbstractFlowBuilder implements ResourceHolde
} else {
encodedView = getLocalContext().getViewFactoryCreator().createViewIdByConvention(parseId(element));
Expression viewName = getExpressionParser().parseExpression(encodedView,
- new ParserContextImpl().eval(RequestContext.class).expect(String.class));
+ new ParserContextImpl().template().eval(RequestContext.class).expect(String.class));
return getLocalContext().getViewFactoryCreator().createViewFactory(viewName,
getLocalContext().getResourceLoader());
}
} else if (encodedView.startsWith("externalRedirect:")) {
String encodedUrl = encodedView.substring("externalRedirect:".length());
Expression externalUrl = getExpressionParser().parseExpression(encodedUrl,
- new ParserContextImpl().eval(RequestContext.class).expect(String.class));
+ new ParserContextImpl().template().eval(RequestContext.class).expect(String.class));
return new ActionExecutingViewFactory(new ExternalRedirectAction(externalUrl));
} else if (encodedView.startsWith("flowRedirect:")) {
String flowRedirect = encodedView.substring("flowRedirect:".length());
Expression expression = getExpressionParser().parseExpression(flowRedirect,
- new ParserContextImpl().eval(RequestContext.class).expect(String.class));
+ new ParserContextImpl().template().eval(RequestContext.class).expect(String.class));
return new ActionExecutingViewFactory(new FlowDefinitionRedirectAction(expression));
} else if (encodedView.startsWith("bean:")) {
return (ViewFactory) getLocalContext().getBeanFactory().getBean(encodedView.substring("bean:".length()),
ViewFactory.class);
} else {
Expression viewName = getExpressionParser().parseExpression(encodedView,
- new ParserContextImpl().eval(RequestContext.class).expect(String.class));
+ new ParserContextImpl().template().eval(RequestContext.class).expect(String.class));
return getLocalContext().getViewFactoryCreator().createViewFactory(viewName,
getLocalContext().getResourceLoader());
}
diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/spring-webflow-2.0.xsd b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/spring-webflow-2.0.xsd
index fdc29af3..dd99b1ad 100644
--- a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/spring-webflow-2.0.xsd
+++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/spring-webflow-2.0.xsd
@@ -41,11 +41,40 @@ The unique identifier of this state; must be unique to this flow.
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -656,11 +685,12 @@ If specified and the result is not compatible with the expected type, a type con
-
+
@@ -723,7 +753,7 @@ Secures this transition.
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
+
+
+
+
-
+
-
+
-
-
-
-
+
+
+
+
+
\ No newline at end of file
diff --git a/spring-webflow/src/test/java/org/springframework/webflow/test/search-flow.xml b/spring-webflow/src/test/java/org/springframework/webflow/test/search-flow.xml
index 9d524247..73060941 100644
--- a/spring-webflow/src/test/java/org/springframework/webflow/test/search-flow.xml
+++ b/spring-webflow/src/test/java/org/springframework/webflow/test/search-flow.xml
@@ -5,23 +5,23 @@
-
+
-
+
-
+
-
+