本文整理了Java中org.springframework.webflow.engine.Flow.getStateInstance()
方法的一些代码示例,展示了Flow.getStateInstance()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Flow.getStateInstance()
方法的具体详情如下:
包路径:org.springframework.webflow.engine.Flow
类名称:Flow
方法名:getStateInstance
[英]Lookup the identified state instance of this flow.
[中]查找此流的已标识状态实例。
代码示例来源:origin: org.springframework.webflow/spring-webflow
public StateDefinition getState(String stateId) {
return getStateInstance(stateId);
}
代码示例来源:origin: org.springframework.webflow/spring-webflow
/**
* Set the start state for this flow to the state with the provided <code>stateId</code>; a state must exist by the
* provided <code>stateId</code>.
* @param stateId the id of the new start state
* @throws IllegalArgumentException when no state exists with the id you provided
*/
public void setStartState(String stateId) throws IllegalArgumentException {
setStartState(getStateInstance(stateId));
}
代码示例来源:origin: org.springframework.webflow/spring-webflow
/**
* Return the <code>TransitionableState</code> with given <code>stateId</code>.
* @param stateId id of the state to look up
* @return the transitionable state
* @throws IllegalArgumentException if the identified state cannot be found
* @throws ClassCastException when the identified state is not transitionable
*/
public TransitionableState getTransitionableState(String stateId) throws IllegalArgumentException,
ClassCastException {
State state = getStateInstance(stateId);
if (state != null && !(state instanceof TransitionableState)) {
throw new ClassCastException("The state '" + stateId + "' of flow '" + getId() + "' must be transitionable");
}
return (TransitionableState) state;
}
代码示例来源:origin: org.springframework.webflow/spring-webflow
public State resolveTargetState(Transition transition, State sourceState, RequestContext context) {
String targetStateId = (String) targetStateIdExpression.getValue(context);
if (targetStateId != null) {
return ((Flow) context.getActiveFlow()).getStateInstance(targetStateId);
} else {
return null;
}
}
代码示例来源:origin: org.springframework.webflow/spring-webflow
/**
* Jump to a state of the currently active flow. If this execution has not been started, a new session will be
* activated and its current state will be set. This is a implementation-internal method that bypasses the
* {@link #start(MutableAttributeMap, ExternalContext)} operation and allows for jumping to an arbitrary flow state.
* Useful for testing.
* @param stateId the identifier of the state to jump to
*/
public void setCurrentState(String stateId) {
FlowSessionImpl session;
if (status == FlowExecutionStatus.NOT_STARTED) {
session = activateSession(flow);
status = FlowExecutionStatus.ACTIVE;
} else {
session = getActiveSessionInternal();
}
State state = session.getFlow().getStateInstance(stateId);
session.setCurrentState(state);
}
代码示例来源:origin: org.springframework.webflow/spring-webflow
/**
* Try to handle given exception using execution exception handlers registered at the state level. Returns null if
* no handler handled the exception.
* @return true if the exception was handled
*/
private boolean tryStateHandlers(FlowExecutionException exception, RequestControlContext context) {
if (exception.getStateId() != null) {
State state = getActiveSessionInternal().getFlow().getStateInstance(exception.getStateId());
return state.handleException(exception, context);
} else {
return false;
}
}
代码示例来源:origin: org.springframework.webflow/spring-webflow
FlowSessionImpl rootSession = execution.getRootSession();
rootSession.setFlow(flow);
rootSession.setState(flow.getStateInstance(rootSession.getStateId()));
if (execution.hasSubflowSessions()) {
for (Iterator<FlowSessionImpl> it = execution.getSubflowSessionIterator(); it.hasNext();) {
Flow subflowDef = (Flow) subflowDefinitionLocator.getFlowDefinition(subflowSession.getFlowId());
subflowSession.setFlow(subflowDef);
subflowSession.setState(subflowDef.getStateInstance(subflowSession.getStateId()));
代码示例来源:origin: org.springframework.webflow/org.springframework.webflow
/**
* Set the start state for this flow to the state with the provided <code>stateId</code>; a state must exist by the
* provided <code>stateId</code>.
* @param stateId the id of the new start state
* @throws IllegalArgumentException when no state exists with the id you provided
*/
public void setStartState(String stateId) throws IllegalArgumentException {
setStartState(getStateInstance(stateId));
}
代码示例来源:origin: spring-projects/spring-webflow
/**
* Set the start state for this flow to the state with the provided <code>stateId</code>; a state must exist by the
* provided <code>stateId</code>.
* @param stateId the id of the new start state
* @throws IllegalArgumentException when no state exists with the id you provided
*/
public void setStartState(String stateId) throws IllegalArgumentException {
setStartState(getStateInstance(stateId));
}
代码示例来源:origin: org.springframework.webflow/org.springframework.webflow
public State resolveTargetState(Transition transition, State sourceState, RequestContext context) {
String targetStateId = (String) targetStateIdExpression.getValue(context);
if (targetStateId != null) {
return ((Flow) context.getActiveFlow()).getStateInstance(targetStateId);
} else {
return null;
}
}
代码示例来源:origin: org.springframework/spring-webflow
/**
* Try to handle given exception using execution exception handlers registered at the state level. Returns null if
* no handler handled the exception.
*/
private ViewSelection tryStateHandlers(FlowExecutionException exception, RequestControlContext context) {
if (isActive() && exception.getStateId() != null) {
return getActiveFlow().getStateInstance(exception.getStateId()).handleException(exception, context);
} else {
return null;
}
}
代码示例来源:origin: spring-projects/spring-webflow
public void testOnEventInvalidCurrentState() {
MockRequestControlContext context = new MockRequestControlContext(flow);
context.setCurrentState(flow.getStateInstance("myState2"));
Event event = new Event(this, "submit");
context.setCurrentEvent(event);
try {
context.setCurrentEvent(event);
flow.handleEvent(context);
} catch (IllegalStateException e) {
}
}
代码示例来源:origin: spring-projects/spring-webflow
public void testOnEventNoTransition() {
MockRequestControlContext context = new MockRequestControlContext(flow);
context.setCurrentState(flow.getStateInstance("myState1"));
Event event = new Event(this, "bogus");
context.setCurrentEvent(event);
try {
context.setCurrentEvent(event);
flow.handleEvent(context);
} catch (NoMatchingTransitionException e) {
}
}
代码示例来源:origin: spring-projects/spring-webflow
public void testViewStateRedirect() {
ViewStateModel view = new ViewStateModel("view");
view.setRedirect("true");
model.setStates(asList(view));
Flow flow = getFlow(model);
assertTrue(((ViewState) flow.getStateInstance("view")).getRedirect());
}
代码示例来源:origin: spring-projects/spring-webflow
public void testViewStateExternalRedirect() {
ViewStateModel state = new ViewStateModel("view");
state.setView("externalRedirect:http://www.paypal.com?_callbackUrl=#{flowExecutionUri}");
model.setStates(asList(state));
Flow flow = getFlow(model);
ViewFactory vf = ((ViewState) flow.getStateInstance("view")).getViewFactory();
assertTrue(vf instanceof ActionExecutingViewFactory);
ActionExecutingViewFactory avf = (ActionExecutingViewFactory) vf;
assertTrue(avf.getAction() instanceof ExternalRedirectAction);
}
代码示例来源:origin: spring-projects/spring-webflow
public void testViewStateVariable() {
ViewStateModel view = new ViewStateModel("view");
view.setVars(asList(new VarModel("foo", "org.springframework.webflow.TestBean")));
model.setStates(asList(view));
Flow flow = getFlow(model);
assertNotNull(((ViewState) flow.getStateInstance("view")).getVariable("foo"));
}
代码示例来源:origin: spring-projects/spring-webflow
public void testViewStateFlowRedirect() {
ViewStateModel state = new ViewStateModel("view");
state.setView("flowRedirect:myFlow?input=#{flowScope.foo}");
model.setStates(asList(state));
Flow flow = getFlow(model);
ViewFactory vf = ((ViewState) flow.getStateInstance("view")).getViewFactory();
assertTrue(vf instanceof ActionExecutingViewFactory);
ActionExecutingViewFactory avf = (ActionExecutingViewFactory) vf;
assertTrue(avf.getAction() instanceof FlowDefinitionRedirectAction);
}
代码示例来源:origin: spring-projects/spring-webflow
public void testOnEvent() {
MockRequestControlContext context = new MockRequestControlContext(flow);
context.setCurrentState(flow.getStateInstance("myState1"));
Event event = new Event(this, "submit");
context.setCurrentEvent(event);
assertTrue(context.getFlowExecutionContext().isActive());
context.setCurrentEvent(event);
flow.handleEvent(context);
assertTrue(!context.getFlowExecutionContext().isActive());
}
代码示例来源:origin: spring-projects/spring-webflow
public void testOnEventGlobalTransition() {
MockRequestControlContext context = new MockRequestControlContext(flow);
context.setCurrentState(flow.getStateInstance("myState1"));
Event event = new Event(this, "globalEvent");
context.setCurrentEvent(event);
assertTrue(context.getFlowExecutionContext().isActive());
context.setCurrentEvent(event);
flow.handleEvent(context);
assertTrue(!context.getFlowExecutionContext().isActive());
}
代码示例来源:origin: spring-projects/spring-webflow
public void testHandleException() {
flow.getExceptionHandlerSet().add(
new TransitionExecutingFlowExecutionExceptionHandler().add(TestException.class, "myState2"));
MockRequestControlContext context = new MockRequestControlContext(flow);
context.setCurrentState(flow.getStateInstance("myState1"));
FlowExecutionException e = new FlowExecutionException(flow.getId(), flow.getStartState().getId(), "Oops!",
new TestException());
flow.handleException(e, context);
assertFalse(context.getFlowExecutionContext().isActive());
}
内容来源于网络,如有侵权,请联系作者删除!