还是用issues吧 #582
jgc295216405 started this conversation in Show and tell
还是用issues吧 #582
Replies: 2 comments
-
| xxx |
Beta Was this translation helpful? Give feedback.
0 replies
-
| x |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
StateMachineImpl#routeTransitions和StateMachineImpl#routeTransition both have npe
solution :
private Transition<S, E, C> routeTransition(S sourceStateId, E event) {
State sourceState = getState(sourceStateId);
List<Transition<S, E, C>> transitions = sourceState.getEventTransitions(event);
if (transitions == null || transitions.size() == 0) {
return null;
}
return transitions.get(0);
}
private List<Transition<S, E, C>> routeTransitions(S sourceStateId, E event) {
State sourceState = getState(sourceStateId);
List<Transition<S, E, C>> transitions = sourceState.getEventTransitions(event);
return transitions;
}
..........
@OverRide
public S fireEvent(S sourceStateId, E event, C ctx) {
isReady();
Transition<S, E, C> transition = routeTransition(sourceStateId, event);
if (transition == null) {
Debugger.debug("There is no Transition for " + event);
failCallback.onFail(sourceStateId, event, ctx);
return sourceStateId;
}
return transition.transit(ctx, true).getId();
}
@OverRide
public List
fireParallelEvent(S sourceState, E event, C context) {isReady();
List<Transition<S, E, C>> transitions = routeTransitions(sourceState, event);
List
result = new ArrayList<>();if (transitions == null || transitions.isEmpty()) {
Debugger.debug("There is no Transition for " + event);
failCallback.onFail(sourceState, event, context);
result.add(sourceState);
return result;
}
for (Transition<S, E, C> transition : transitions) {
S id = transition.transit(context, true).getId();
result.add(id);
}
return result;
}
Beta Was this translation helpful? Give feedback.
All reactions