/** * Gets transition execution criteria chain for transition. * * @param def the def * @return the transition execution criteria chain for transition */ public List<TransitionCriteria> getTransitionExecutionCriteriaChainForTransition(final Transition def) { if (def.getExecutionCriteria() instanceof TransitionCriteriaChain) { val chain = (TransitionCriteriaChain) def.getExecutionCriteria(); val field = ReflectionUtils.findField(chain.getClass(), "criteriaChain"); ReflectionUtils.makeAccessible(field); return (List<TransitionCriteria>) ReflectionUtils.getField(field, chain); } if (def.getExecutionCriteria() != null) { return CollectionUtils.wrapList(def.getExecutionCriteria()); } return new ArrayList<>(0); }
.map(tr -> tr.getId() + " -> " + tr.getTargetStateId() + " @ " + tr.getExecutionCriteria().toString()) .collect(Collectors.toList()); if (!acts.isEmpty()) {
throw new IllegalStateException("Execution of '" + this + "' was blocked by '" + getExecutionCriteria() + "', " + "; however, no source state is set at runtime. " + "This is an illegal situation: check your flow definition.");