diff --git a/spring-webflow/changelog.txt b/spring-webflow/changelog.txt index 39684c32..1b3b95d7 100644 --- a/spring-webflow/changelog.txt +++ b/spring-webflow/changelog.txt @@ -51,6 +51,7 @@ Package org.springframework.webflow.engine converters (SWF-220). * Added setFlowAttributes method to XmlFlowRegistryFactoryBean to make it easier to configure externally defined flow definition attributes (SWF-200). +* Added setXmlFlowRegistrar method to XmlFlowRegistryFactoryBean. Package org.springframework.webflow.execution.factory * The getHolder method on ConditionalFlowExecutionListenerLoader is now private. It has a package diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowRegistryFactoryBean.java b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowRegistryFactoryBean.java index 997dbf05..50b4e1a2 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowRegistryFactoryBean.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/xml/XmlFlowRegistryFactoryBean.java @@ -20,6 +20,7 @@ import java.util.Map; import java.util.Properties; import org.springframework.core.io.Resource; +import org.springframework.util.Assert; import org.springframework.webflow.core.collection.AttributeMap; import org.springframework.webflow.core.collection.LocalAttributeMap; import org.springframework.webflow.definition.registry.FlowDefinitionRegistry; @@ -85,9 +86,17 @@ public class XmlFlowRegistryFactoryBean extends AbstractFlowBuildingFlowRegistry /** * Returns the configured externalized XML flow registrar. */ - protected XmlFlowRegistrar getXmlFlowRegistrar() { + public XmlFlowRegistrar getXmlFlowRegistrar() { return flowRegistrar; } + + /** + * Set the configured externalized XML flow registrar. + */ + public void setXmlFlowRegistrar(XmlFlowRegistrar flowRegistrar) { + Assert.notNull(flowRegistrar, "The flowRegistrar is required"); + this.flowRegistrar = flowRegistrar; + } /** * Sets the locations (resource file paths) pointing to XML-based flow @@ -180,7 +189,7 @@ public class XmlFlowRegistryFactoryBean extends AbstractFlowBuildingFlowRegistry protected void init(FlowServiceLocator flowServiceLocator) { // simply wire in the locator to the registrar - flowRegistrar.setFlowServiceLocator(flowServiceLocator); + getXmlFlowRegistrar().setFlowServiceLocator(flowServiceLocator); } protected void doPopulate(FlowDefinitionRegistry registry) {