private static void updateTransition()

in src/main/java/org/apache/commons/scxml2/io/ModelUpdater.java [368:395]


    private static void updateTransition(final SimpleTransition transition,
                                         final Map<String, TransitionTarget> targets) throws ModelException {
        final String next = transition.getNext();
        if (next == null) { // stay transition
            return;
        }
        final Set<TransitionTarget> tts = transition.getTargets();
        if (tts.isEmpty()) {
            // 'next' is a space separated list of transition target IDs
            final StringTokenizer ids = new StringTokenizer(next);
            while (ids.hasMoreTokens()) {
                final String id = ids.nextToken();
                final TransitionTarget tt = targets.get(id);
                if (tt == null) {
                    logAndThrowModelError(ERR_TARGET_NOT_FOUND, new Object[] {
                            id });
                }
                tts.add(tt);
            }
            if (tts.size() > 1) {
                final boolean legal = verifyTransitionTargets(tts);
                if (!legal) {
                    logAndThrowModelError(ERR_ILLEGAL_TARGETS, new Object[] {
                            next });
                }
            }
        }
    }