本文整理了Java中org.springframework.webflow.engine.Flow.getState()
方法的一些代码示例,展示了Flow.getState()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Flow.getState()
方法的具体详情如下:
包路径:org.springframework.webflow.engine.Flow
类名称:Flow
方法名:getState
[英]Returns the number of states defined in this flow.
[中]返回此流中定义的状态数。
代码示例来源:origin: org.apereo.cas/cas-server-support-actions-aup-webflow
private void createTransitionStateToAcceptableUsagePolicy(final Flow flow) {
final ActionState submit = (ActionState) flow.getState(CasWebflowConstants.TRANSITION_ID_REAL_SUBMIT);
createTransitionForState(submit, CasWebflowConstants.TRANSITION_ID_SUCCESS, STATE_ID_AUP_CHECK, true);
}
代码示例来源:origin: org.apereo.cas/cas-server-support-reports
Arrays.stream(def.getStateIds()).forEach(st -> {
val state = (State) def.getState(st);
val stateMap = new LinkedHashMap<String, Object>();
代码示例来源:origin: spring-projects/spring-webflow
public void testAddStates() {
Flow flow = new Flow("myFlow");
new EndState(flow, "myState1");
new EndState(flow, "myState2");
assertEquals("Wrong start state:", "myState1", flow.getStartState().getId());
assertEquals("State count wrong:", 2, flow.getStateCount());
assertTrue(flow.containsState("myState1"));
assertTrue(flow.containsState("myState2"));
State state = flow.getStateInstance("myState1");
assertEquals("Wrong flow:", flow.getId(), state.getFlow().getId());
assertEquals("Wrong state:", "myState1", flow.getState("myState1").getId());
assertEquals("Wrong state:", "myState2", flow.getState("myState2").getId());
}
代码示例来源:origin: org.apereo.cas/cas-server-core-webflow-api
/**
* Gets state.
*
* @param <T> the type parameter
* @param flow the flow
* @param stateId the state id
* @param clazz the clazz
* @return the state
*/
public <T> T getState(final Flow flow, final String stateId, final Class<T> clazz) {
if (containsFlowState(flow, stateId)) {
val state = flow.getState(stateId);
return clazz.cast(state);
}
return null;
}
代码示例来源:origin: spring-projects/spring-webflow
public void testGetStateNoSuchState() {
try {
flow.getState("myState3");
fail("Returned a state that doesn't exist");
} catch (IllegalArgumentException e) {
// expected
}
}
代码示例来源:origin: net.unicon/cas-mfa-java
/**
* Add on entry action to service check state.
*
* @param flow the flow
*/
protected void addOnEntryActionToServiceCheckState(final Flow flow) {
final DecisionState state = (DecisionState) flow.getState(STATE_DEFINITION_ID_SERVICE_CHECK);
final EvaluateAction action = createEvaluateAction("removeHostnameServiceInContextAction");
state.getEntryActionList().add(action);
LOGGER.debug("Set on-entry action for decision state {}", state.getId());
}
/**
代码示例来源:origin: kawhii/sso
/**
* 绑定输入信息
*
* @param flow
*/
protected void bindCredential(Flow flow) {
//重写绑定自定义credential
createFlowVariable(flow, CasWebflowConstants.VAR_ID_CREDENTIAL, UsernamePasswordSysCredential.class);
//登录页绑定新参数
final ViewState state = (ViewState) flow.getState(CasWebflowConstants.STATE_ID_VIEW_LOGIN_FORM);
final BinderConfiguration cfg = getViewStateBinderConfiguration(state);
//由于用户名以及密码已经绑定,所以只需对新加系统参数绑定即可
cfg.addBinding(new BinderConfiguration.Binding("system", null, false));
}
}
代码示例来源:origin: net.unicon/cas-mfa-java
/**
* Add multi factor outcome transitions to submission action state.
*
* @param flow the flow
* @param flowIds the flow ids
*/
protected void addMultiFactorOutcomeTransitionsToSubmissionActionState(final Flow flow, final String[] flowIds) {
final ActionState actionState = (ActionState) flow.getState(STATE_DEFINITION_ID_REAL_SUBMIT);
LOGGER.debug("Retrieved action state {}", actionState.getId());
final Action existingAction = actionState.getActionList().get(0);
actionState.getActionList().remove(existingAction);
final EvaluateAction action = createEvaluateAction("initiatingAuthenticationViaFormAction");
actionState.getActionList().add(action);
LOGGER.debug("Set action {} for action state {}", actionState.getId());
for (final String flowId : flowIds) {
addTransitionToActionState(actionState, flowId, flowId);
}
}
代码示例来源:origin: kawhii/sso
/**
* 登录校验流程
*/
private void createLoginValidateValidateFlow() {
final Flow flow = getLoginFlow();
if (flow != null) {
final ActionState state = (ActionState) flow.getState(CasWebflowConstants.TRANSITION_ID_REAL_SUBMIT);
final List<Action> currentActions = new ArrayList<>();
state.getActionList().forEach(currentActions::add);
currentActions.forEach(a -> state.getActionList().remove(a));
state.getActionList().add(createEvaluateAction("validateLoginCaptchaAction"));
currentActions.forEach(a -> state.getActionList().add(a));
state.getTransitionSet().add(createTransition("captchaError", CasWebflowConstants.STATE_ID_INIT_LOGIN_FORM));
}
}
代码示例来源:origin: kawhii/sso
/**
* 发送邮箱前输入验证码流程
*/
private void createPasswordResetValidateFlow() {
final Flow flow = getLoginFlow();
if (flow != null) {
ViewState accountInfo = (ViewState) flow.getState(CasWebflowConstants.VIEW_ID_SEND_RESET_PASSWORD_ACCT_INFO);
//提交查找用户后,先校验验证码
createTransitionForState(accountInfo, "findAccount", VALIDATE_CAPTCHA_ACTION, true);
//校验图片动作
ActionState actionState = createActionState(flow, VALIDATE_CAPTCHA_ACTION, createEvaluateAction(VALIDATE_CAPTCHA_ACTION));
//失败重新是发送页
createTransitionForState(actionState, CasWebflowConstants.TRANSITION_ID_RESET_PASSWORD,
CasWebflowConstants.VIEW_ID_SEND_RESET_PASSWORD_ACCT_INFO);
//发送邮件
createTransitionForState(actionState, "sendInstructions", "sendInstructions");
}
}
}
代码示例来源:origin: net.unicon/cas-mfa-java
/**
* Create multi factor parent subflow state definitions.
*
* @param flow the flow
* @param id the id
*/
protected void createMultiFactorParentSubflowStateDefinitions(final Flow flow, final String id) {
final EvaluateAction action = createEvaluateAction("generateMfaCredentialsAction");
final SubflowState subflowState = createSubflowState(flow, id, id, action);
final List<DefaultMapping> mappings = new ArrayList<>();
mappings.add(createMappingToSubflowState("mfaCredentials", "flowScope.mfaCredentials", true,
MultiFactorCredentials.class));
mappings.add(createMappingToSubflowState("mfaService", "flowScope.service", true,
MultiFactorAuthenticationSupportingWebApplicationService.class));
final Mapper inputMapper = createMapperToSubflowState(mappings);
final SubflowAttributeMapper subflowMapper = createSubflowAttributeMapper(inputMapper, null);
subflowState.setAttributeMapper(subflowMapper);
final ActionState actionState = (ActionState) flow.getState(STATE_DEFINITION_ID_REAL_SUBMIT);
final String targettedStateId = actionState.getTransition(SUCCESS_EVENT_ID).getTargetStateId();
subflowState.getTransitionSet().add(createTransition(MFA_SUCCESS_EVENT_ID, targettedStateId));
subflowState.getTransitionSet().add(createTransition(UNKNOWN_PRINCIPAL_ERROR_EVENT_ID,
"viewUnknownPrincipalErrorView"));
subflowState.getTransitionSet().add(createTransition(MFA_UNRECOGNIZED_AUTHN_METHOD_ERROR_EVENT_ID,
"viewMfaUnrecognizedAuthnMethodErrorView"));
}
代码示例来源:origin: spring-projects/spring-webflow
public void testGetTransitionableState() {
assertEquals("Wrong state:", "myState1", flow.getTransitionableState("myState1").getId());
assertEquals("Wrong state:", "myState1", flow.getState("myState1").getId());
}
代码示例来源:origin: org.wicketstuff/spring-webflow-extras
@Override
public boolean isEnabled() {
boolean transitionExistsForCurrentView = false;
FlowDefinition flowDef = ((FlowExecutorImpl)PageFlowWebApplication.get().getFlowExecutor()).getDefinitionLocator().getFlowDefinition(PageFlowWebApplication.get().getFlowId());
// Retrieve the flow instance for the input view state
Flow flow = (Flow)flowDef;
StateDefinition currState = flow.getState(PageFlowSession.get().getFlowState().getCurrentViewStateId());
TransitionableState transitionState = null;
if(currState instanceof TransitionableState){
transitionState = (TransitionableState)currState;
} else {
//End states aren't transitional and so none of the links should be enabled
return false;
}
if(transitionState.getTransition(getEventId()) != null || flow.getGlobalTransition(getEventId()) != null){
transitionExistsForCurrentView = true;
}
return transitionExistsForCurrentView;
}
代码示例来源:origin: spring-projects/spring-webflow
public void testFlowSecuredState() {
EndStateModel end = new EndStateModel("end");
end.setSecured(new SecuredModel("ROLE_USER"));
model.setStates(asList(end));
Flow flow = getFlow(model);
SecurityRule rule = (SecurityRule) flow.getState("end").getAttributes()
.get(SecurityRule.SECURITY_ATTRIBUTE_NAME);
assertNotNull(rule);
assertEquals(SecurityRule.COMPARISON_ANY, rule.getComparisonType());
assertEquals(1, rule.getAttributes().size());
assertTrue(rule.getAttributes().contains("ROLE_USER"));
}
代码示例来源:origin: spring-projects/spring-webflow
assertSame(flowExecution.getFlowSessions().get(0).getDefinition(), flowDefinition);
assertSame(flowExecution.getFlowSessions().get(0).getDefinition().getState("end"),
flowDefinition.getState("end"));
assertSame(flowExecution.getFlowSessions().get(1).getDefinition(), locator.child);
assertSame(flowExecution.getFlowSessions().get(1).getDefinition().getState("state"),
locator.child.getState("state"));
内容来源于网络,如有侵权,请联系作者删除!