public abstract class AbstractCasWebflowConfigurer
extends java.lang.Object
implements org.apereo.cas.web.flow.CasWebflowConfigurer
AbstractCasWebflowConfigurer is responsible for
providing an entry point into the CAS webflow.| Modifier and Type | Field and Description |
|---|---|
protected org.springframework.context.ApplicationContext |
applicationContext
Application context.
|
protected org.apereo.cas.configuration.CasConfigurationProperties |
casProperties
CAS Properties.
|
protected org.springframework.webflow.engine.builder.support.FlowBuilderServices |
flowBuilderServices
Flow builder services.
|
protected org.springframework.webflow.definition.registry.FlowDefinitionRegistry |
loginFlowDefinitionRegistry
The Login flow definition registry.
|
protected org.springframework.webflow.definition.registry.FlowDefinitionRegistry |
logoutFlowDefinitionRegistry
The logout flow definition registry.
|
| Constructor and Description |
|---|
AbstractCasWebflowConfigurer(org.springframework.webflow.engine.builder.support.FlowBuilderServices flowBuilderServices,
org.springframework.webflow.definition.registry.FlowDefinitionRegistry loginFlowDefinitionRegistry) |
| Modifier and Type | Method and Description |
|---|---|
org.springframework.webflow.engine.Flow |
buildFlow(java.lang.String location,
java.lang.String id) |
protected boolean |
containsFlowState(org.springframework.webflow.engine.Flow flow,
java.lang.String stateId)
Contains flow state?
|
protected boolean |
containsTransition(org.springframework.webflow.engine.TransitionableState state,
java.lang.String transition)
Contains transition boolean.
|
org.springframework.webflow.engine.ActionState |
createActionState(org.springframework.webflow.engine.Flow flow,
java.lang.String name,
org.springframework.webflow.execution.Action... actions) |
org.springframework.webflow.engine.DecisionState |
createDecisionState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String testExpression,
java.lang.String thenStateId,
java.lang.String elseStateId) |
org.springframework.webflow.engine.EndState |
createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id) |
org.springframework.webflow.engine.EndState |
createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
org.springframework.binding.expression.Expression expression) |
org.springframework.webflow.engine.EndState |
createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId) |
org.springframework.webflow.engine.EndState |
createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId,
boolean redirect) |
org.springframework.webflow.engine.EndState |
createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
org.springframework.webflow.execution.ViewFactory viewFactory) |
org.springframework.webflow.action.EvaluateAction |
createEvaluateAction(java.lang.String expression) |
protected org.springframework.binding.expression.Expression |
createExpression(java.lang.String expression,
java.lang.Class expectedType)
Create expression expression.
|
protected org.springframework.webflow.engine.FlowVariable |
createFlowVariable(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.Class type)
Create flow variable flow variable.
|
protected org.springframework.binding.mapping.Mapper |
createMapperToSubflowState(java.util.List<org.springframework.binding.mapping.impl.DefaultMapping> mappings)
Create mapper to subflow state.
|
protected org.springframework.binding.mapping.impl.DefaultMapping |
createMappingToSubflowState(java.lang.String name,
java.lang.String value,
boolean required,
java.lang.Class type)
Create mapping to subflow state.
|
protected org.springframework.webflow.engine.builder.BinderConfiguration |
createStateBinderConfiguration(java.util.List<java.lang.String> properties)
Create state model bindings.
|
protected void |
createStateDefaultTransition(org.springframework.webflow.engine.TransitionableState state,
java.lang.String targetState)
Add a default transition to a given state.
|
protected void |
createStateModelBinding(org.springframework.webflow.engine.TransitionableState state,
java.lang.String modelName,
java.lang.Class modelType)
Create state model binding.
|
protected org.springframework.webflow.engine.SubflowAttributeMapper |
createSubflowAttributeMapper(org.springframework.binding.mapping.Mapper inputMapper,
org.springframework.binding.mapping.Mapper outputMapper)
Create subflow attribute mapper.
|
org.springframework.webflow.engine.SubflowState |
createSubflowState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String subflow) |
org.springframework.webflow.engine.SubflowState |
createSubflowState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String subflow,
org.springframework.webflow.execution.Action entryAction) |
org.springframework.webflow.engine.Transition |
createTransition(org.springframework.binding.expression.Expression criteriaOutcomeExpression,
java.lang.String targetState) |
org.springframework.webflow.engine.Transition |
createTransition(java.lang.String targetState) |
org.springframework.webflow.engine.Transition |
createTransition(java.lang.String criteriaOutcome,
java.lang.String targetState) |
org.springframework.webflow.engine.Transition |
createTransition(java.lang.String criteriaOutcome,
org.springframework.webflow.engine.TransitionableState targetState) |
protected org.springframework.webflow.engine.Transition |
createTransitionForState(org.springframework.webflow.engine.TransitionableState state,
java.lang.String criteriaOutcome,
java.lang.String targetState)
Create transition for state transition.
|
protected org.springframework.webflow.engine.Transition |
createTransitionForState(org.springframework.webflow.engine.TransitionableState state,
java.lang.String criteriaOutcome,
java.lang.String targetState,
boolean removeExisting)
Add transition to action state.
|
org.springframework.webflow.engine.ViewState |
createViewState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
org.springframework.binding.expression.Expression expression,
org.springframework.webflow.engine.builder.BinderConfiguration binder) |
org.springframework.webflow.engine.ViewState |
createViewState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId) |
org.springframework.webflow.engine.ViewState |
createViewState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId,
org.springframework.webflow.engine.builder.BinderConfiguration binder) |
protected abstract void |
doInitialize()
Handle the initialization of the webflow.
|
protected org.springframework.binding.expression.Expression |
getExpressionStringFromAction(org.springframework.webflow.action.EvaluateAction act)
Gets expression string from action.
|
org.springframework.webflow.engine.Flow |
getLoginFlow() |
org.springframework.webflow.engine.Flow |
getLogoutFlow() |
protected org.springframework.binding.expression.spel.SpringELExpressionParser |
getSpringExpressionParser()
Gets spring expression parser.
|
org.springframework.webflow.engine.TransitionableState |
getStartState(org.springframework.webflow.engine.Flow flow) |
protected org.springframework.webflow.engine.builder.BinderConfiguration |
getViewStateBinderConfiguration(org.springframework.webflow.engine.ViewState state)
Gets state binder configuration.
|
void |
initialize() |
protected void |
registerMultifactorProvidersStateTransitionsIntoWebflow(org.springframework.webflow.engine.TransitionableState state)
Register multifactor providers state transitions into webflow.
|
void |
setLogoutFlowDefinitionRegistry(org.springframework.webflow.definition.registry.FlowDefinitionRegistry logoutFlowDefinitionRegistry) |
void |
setStartState(org.springframework.webflow.engine.Flow flow,
java.lang.String state) |
void |
setStartState(org.springframework.webflow.engine.Flow flow,
org.springframework.webflow.engine.TransitionableState state) |
protected org.springframework.webflow.definition.registry.FlowDefinitionRegistry logoutFlowDefinitionRegistry
protected final org.springframework.webflow.definition.registry.FlowDefinitionRegistry loginFlowDefinitionRegistry
@Autowired protected org.springframework.context.ApplicationContext applicationContext
@Autowired protected org.apereo.cas.configuration.CasConfigurationProperties casProperties
protected final org.springframework.webflow.engine.builder.support.FlowBuilderServices flowBuilderServices
public AbstractCasWebflowConfigurer(org.springframework.webflow.engine.builder.support.FlowBuilderServices flowBuilderServices,
org.springframework.webflow.definition.registry.FlowDefinitionRegistry loginFlowDefinitionRegistry)
@PostConstruct public void initialize()
initialize in interface org.apereo.cas.web.flow.CasWebflowConfigurerprotected abstract void doInitialize()
throws java.lang.Exception
java.lang.Exception - the exceptionpublic org.springframework.webflow.engine.Flow buildFlow(java.lang.String location,
java.lang.String id)
buildFlow in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.Flow getLoginFlow()
getLoginFlow in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.Flow getLogoutFlow()
getLogoutFlow in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.TransitionableState getStartState(org.springframework.webflow.engine.Flow flow)
getStartState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.ActionState createActionState(org.springframework.webflow.engine.Flow flow,
java.lang.String name,
org.springframework.webflow.execution.Action... actions)
createActionState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.DecisionState createDecisionState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String testExpression,
java.lang.String thenStateId,
java.lang.String elseStateId)
createDecisionState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic void setStartState(org.springframework.webflow.engine.Flow flow,
java.lang.String state)
setStartState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic void setStartState(org.springframework.webflow.engine.Flow flow,
org.springframework.webflow.engine.TransitionableState state)
setStartState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.action.EvaluateAction createEvaluateAction(java.lang.String expression)
createEvaluateAction in interface org.apereo.cas.web.flow.CasWebflowConfigurerprotected void createStateDefaultTransition(org.springframework.webflow.engine.TransitionableState state,
java.lang.String targetState)
state - the state to include the default transitiontargetState - the id of the destination state to which the flow should transferprotected org.springframework.webflow.engine.Transition createTransitionForState(org.springframework.webflow.engine.TransitionableState state,
java.lang.String criteriaOutcome,
java.lang.String targetState)
state - the statecriteriaOutcome - the criteria outcometargetState - the target stateprotected org.springframework.webflow.engine.Transition createTransitionForState(org.springframework.webflow.engine.TransitionableState state,
java.lang.String criteriaOutcome,
java.lang.String targetState,
boolean removeExisting)
state - the action statecriteriaOutcome - the criteria outcometargetState - the target stateremoveExisting - the remove existingpublic org.springframework.webflow.engine.Transition createTransition(java.lang.String criteriaOutcome,
java.lang.String targetState)
createTransition in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.Transition createTransition(java.lang.String criteriaOutcome,
org.springframework.webflow.engine.TransitionableState targetState)
createTransition in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.Transition createTransition(org.springframework.binding.expression.Expression criteriaOutcomeExpression,
java.lang.String targetState)
createTransition in interface org.apereo.cas.web.flow.CasWebflowConfigurerprotected org.springframework.binding.expression.Expression createExpression(java.lang.String expression,
java.lang.Class expectedType)
expression - the expressionexpectedType - the expected typeprotected org.springframework.binding.expression.spel.SpringELExpressionParser getSpringExpressionParser()
public org.springframework.webflow.engine.Transition createTransition(java.lang.String targetState)
createTransition in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.EndState createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id)
createEndState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.EndState createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId)
createEndState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.EndState createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
org.springframework.binding.expression.Expression expression)
createEndState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.EndState createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId,
boolean redirect)
createEndState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.EndState createEndState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
org.springframework.webflow.execution.ViewFactory viewFactory)
createEndState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.ViewState createViewState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
org.springframework.binding.expression.Expression expression,
org.springframework.webflow.engine.builder.BinderConfiguration binder)
createViewState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.ViewState createViewState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId)
createViewState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.ViewState createViewState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String viewId,
org.springframework.webflow.engine.builder.BinderConfiguration binder)
createViewState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.SubflowState createSubflowState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String subflow,
org.springframework.webflow.execution.Action entryAction)
createSubflowState in interface org.apereo.cas.web.flow.CasWebflowConfigurerpublic org.springframework.webflow.engine.SubflowState createSubflowState(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.String subflow)
createSubflowState in interface org.apereo.cas.web.flow.CasWebflowConfigurerprotected org.springframework.binding.mapping.Mapper createMapperToSubflowState(java.util.List<org.springframework.binding.mapping.impl.DefaultMapping> mappings)
mappings - the mappingsprotected org.springframework.binding.mapping.impl.DefaultMapping createMappingToSubflowState(java.lang.String name,
java.lang.String value,
boolean required,
java.lang.Class type)
name - the namevalue - the valuerequired - the requiredtype - the typeprotected org.springframework.webflow.engine.SubflowAttributeMapper createSubflowAttributeMapper(org.springframework.binding.mapping.Mapper inputMapper,
org.springframework.binding.mapping.Mapper outputMapper)
inputMapper - the input mapperoutputMapper - the output mapperpublic void setLogoutFlowDefinitionRegistry(org.springframework.webflow.definition.registry.FlowDefinitionRegistry logoutFlowDefinitionRegistry)
protected boolean containsFlowState(org.springframework.webflow.engine.Flow flow,
java.lang.String stateId)
flow - the flowstateId - the state idprotected boolean containsTransition(org.springframework.webflow.engine.TransitionableState state,
java.lang.String transition)
state - the statetransition - the transitionprotected org.springframework.webflow.engine.FlowVariable createFlowVariable(org.springframework.webflow.engine.Flow flow,
java.lang.String id,
java.lang.Class type)
flow - the flowid - the idtype - the typeprotected org.springframework.webflow.engine.builder.BinderConfiguration createStateBinderConfiguration(java.util.List<java.lang.String> properties)
properties - the propertiesprotected void createStateModelBinding(org.springframework.webflow.engine.TransitionableState state,
java.lang.String modelName,
java.lang.Class modelType)
state - the statemodelName - the model namemodelType - the model typeprotected org.springframework.webflow.engine.builder.BinderConfiguration getViewStateBinderConfiguration(org.springframework.webflow.engine.ViewState state)
state - the stateprotected org.springframework.binding.expression.Expression getExpressionStringFromAction(org.springframework.webflow.action.EvaluateAction act)
act - the actprotected void registerMultifactorProvidersStateTransitionsIntoWebflow(org.springframework.webflow.engine.TransitionableState state)
state - the state