static Set getStateTuples()

in statemachine/src/main/java/org/apache/statemachine/StateMachineLogParser.java [106:135]


    static Set<Tuple> getStateTuples(Map<String, List<String>> fsms) {
        Set<Tuple> tuples = new HashSet<Tuple>();
        for (List<String> transitions : fsms.values()) {
            String currentEvent = null;
            for (String s : transitions) {
                //System.err.println(s);
                Matcher m = eventPattern.matcher(s);
                if (m.find()) {
                    currentEvent = m.group(1);
                    continue;
                }
                m = transitionPattern.matcher(s);
                if (m.find()) {
                    if (currentEvent == null) {
                        System.err.println("event is null");
                    }
                    String state1 = m.group(1);
                    String state2 = m.group(2);
                    tuples.add(new Tuple(cleanupState(state1),
                            currentEvent,
                            cleanupState(state2)));
                    continue;
                }
                if (s.contains("deferred")) {
                    currentEvent = currentEvent + "[deferred]";
                }
            }
        }
        return tuples;
    }