Class FlowModelFlowBuilder
java.lang.Object
org.springframework.webflow.engine.builder.support.AbstractFlowBuilder
net.shibboleth.idp.profile.spring.factory.FlowModelFlowBuilder
- All Implemented Interfaces:
FlowBuilder
public class FlowModelFlowBuilder extends AbstractFlowBuilder
This code is extended from
FlowModelFlowBuilder
in order to customize the Spring ApplicationContext
used for flow configuration.
The only method changed is createFlowApplicationContext(String[])
(parameter changed
from Resource
, but it's private and there are too many threads pulled by anything
but a wholesale duplication of this class).
Builds a runtime Flow
definition object from a FlowModel
.-
Field Summary
Fields Modifier and Type Field Description private FlowModel
flowModel
private FlowModelHolder
flowModelHolder
private static boolean
IS_SPRING_FACES_PRESENT
private LocalFlowBuilderContext
localFlowBuilderContext
static String
VALIDATION_HINT_RESOLVER_FLOW_ATTR
static String
VALIDATOR_FLOW_ATTR
-
Constructor Summary
Constructors Constructor Description FlowModelFlowBuilder(FlowModelHolder flowModelHolder)
-
Method Summary
Methods inherited from class org.springframework.webflow.engine.builder.support.AbstractFlowBuilder
dispose, getContext, getFlow, init
-
Field Details
-
IS_SPRING_FACES_PRESENT
private static final boolean IS_SPRING_FACES_PRESENT -
VALIDATOR_FLOW_ATTR
-
VALIDATION_HINT_RESOLVER_FLOW_ATTR
-
flowModelHolder
-
flowModel
-
localFlowBuilderContext
-
-
Constructor Details
-
FlowModelFlowBuilder
- Parameters:
flowModelHolder
- the flow model holder
-
-
Method Details
-
doInit
Initialize this builder. This could cause the builder to open a stream to an externalized resource representing the flow definition, for example.- Overrides:
doInit
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
createFlow
- Overrides:
createFlow
in classAbstractFlowBuilder
-
buildVariables
Builds any variables initialized by the flow when it starts.- Specified by:
buildVariables
in interfaceFlowBuilder
- Overrides:
buildVariables
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
buildInputMapper
Builds the input mapper responsible for mapping flow input on start.- Specified by:
buildInputMapper
in interfaceFlowBuilder
- Overrides:
buildInputMapper
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
buildStartActions
Builds any start actions to execute when the flow starts.- Specified by:
buildStartActions
in interfaceFlowBuilder
- Overrides:
buildStartActions
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
buildStates
Builds the states of the flow.- Specified by:
buildStates
in interfaceFlowBuilder
- Specified by:
buildStates
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
buildGlobalTransitions
Builds any transitions shared by all states of the flow.- Specified by:
buildGlobalTransitions
in interfaceFlowBuilder
- Overrides:
buildGlobalTransitions
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
buildEndActions
Builds any end actions to execute when the flow ends.- Specified by:
buildEndActions
in interfaceFlowBuilder
- Overrides:
buildEndActions
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
buildOutputMapper
Builds the output mapper responsible for mapping flow output on end.- Specified by:
buildOutputMapper
in interfaceFlowBuilder
- Overrides:
buildOutputMapper
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building the flow
-
buildExceptionHandlers
Creates and adds all exception handlers to the flow built by this builder.- Specified by:
buildExceptionHandlers
in interfaceFlowBuilder
- Overrides:
buildExceptionHandlers
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building this flow
-
hasFlowChanged
public boolean hasFlowChanged()- Specified by:
hasFlowChanged
in interfaceFlowBuilder
- Overrides:
hasFlowChanged
in classAbstractFlowBuilder
-
getFlowResourceString
- Specified by:
getFlowResourceString
in interfaceFlowBuilder
- Overrides:
getFlowResourceString
in classAbstractFlowBuilder
-
doDispose
Shutdown the builder, releasing any resources it holds. A new flow construction process should start with another call to theAbstractFlowBuilder.init(FlowBuilderContext)
method.- Overrides:
doDispose
in classAbstractFlowBuilder
- Throws:
FlowBuilderException
- an exception occurred building this flow
-
getFlowModel
-
getLocalContext
-
setLocalContext
-
registerFlowBeans
Register beans in the bean factory local to the flow definition being built.Subclasses may override this method to customize the population of the bean factory local to the flow definition being built; for example, to register mock implementations of services in a test environment.
- Parameters:
beanFactory
- the bean factory; register local beans with it usingSingletonBeanRegistry.registerSingleton(String, Object)
-
initLocalFlowContext
private void initLocalFlowContext() -
parseContextResources
-
createFlowApplicationContext
-
isFlowInDevelopment
private boolean isFlowInDevelopment() -
registerMessageSource
-
parseFlowMetaAttributes
-
parseFlowVariable
-
parseFlowInputMapper
-
parseFlowInputMapping
-
parseSubflowInputMapper
-
parseSubflowInputMapping
-
parseFlowOutputMapper
-
parseFlowOutputMapping
-
parseSubflowOutputMapper
-
parseSubflowOutputMapping
-
parseAndSetMappingConversionExecutor
private void parseAndSetMappingConversionExecutor(AbstractMappingModel mappingModel, DefaultMapping mapping) -
parseAndSetMappingRequired
-
parseAndAddViewState
-
parseAndAddActionState
-
parseAndAddDecisionState
-
parseAndAddSubflowState
-
parseAndAddEndState
-
parseViewFactory
private ViewFactory parseViewFactory(String view, String stateId, boolean endState, BinderModel binderModel) -
createViewFactory
-
createBinderConfiguration
-
parseViewVariables
-
parseViewVariable
-
parseIfs
-
parseIf
-
parseThen
-
parseElse
-
parseSubflowExpression
-
parseSubflowAttributeMapper
-
parseExceptionHandlers
private FlowExecutionExceptionHandler[] parseExceptionHandlers(List<ExceptionHandlerModel> modelExceptionHandlers, List<TransitionModel> modelTransitions) -
parseTransitionExecutingExceptionHandlers
private FlowExecutionExceptionHandler[] parseTransitionExecutingExceptionHandlers(List<TransitionModel> transitionModels) -
parseTransitionExecutingExceptionHandler
private FlowExecutionExceptionHandler parseTransitionExecutingExceptionHandler(TransitionModel transition) -
parseCustomExceptionHandlers
private FlowExecutionExceptionHandler[] parseCustomExceptionHandlers(List<ExceptionHandlerModel> exceptionHandlerModels) -
parseCustomExceptionHandler
private FlowExecutionExceptionHandler parseCustomExceptionHandler(ExceptionHandlerModel exceptionHandler) -
parseTransitions
-
parseTransition
-
parseActions
-
parseEvaluateAction
-
parseRenderAction
-
parseSetAction
-
parseMetaAttributes
-
parseAndPutMetaAttribute
private void parseAndPutMetaAttribute(AttributeModel attribute, MutableAttributeMap<Object> attributes) -
parseAttributeValueIfNecessary
-
parseAndPutPersistenceContext
private void parseAndPutPersistenceContext(PersistenceContextModel persistenceContext, MutableAttributeMap<Object> attributes) -
parseAndPutSecured
-
fromStringTo
- Throws:
ConversionExecutionException
-
toClass
-
toClass
-
toString
-