Example usage for org.springframework.statemachine.support.tree Tree getRoot

List of usage examples for org.springframework.statemachine.support.tree Tree getRoot

Introduction

In this page you can find the example usage for org.springframework.statemachine.support.tree Tree getRoot.

Prototype

public Node<T> getRoot() 

Source Link

Usage

From source file:org.springframework.statemachine.config.AbstractStateMachineFactory.java

private Iterator<Node<StateData<S, E>>> buildStateDataIterator(StateMachineModel<S, E> stateMachineModel) {
    Tree<StateData<S, E>> tree = new Tree<StateData<S, E>>();
    treeAdd(tree, stateMachineModel.getStatesData().getStateData());
    return new TreeTraverser<Node<StateData<S, E>>>() {
        @Override//from  w  ww  .  j a  va2s.c  o m
        public Iterable<Node<StateData<S, E>>> children(Node<StateData<S, E>> root) {
            return root.getChildren();
        }
    }.postOrderTraversal(tree.getRoot()).iterator();
}

From source file:org.springframework.statemachine.recipes.tasks.TasksHandler.java

private static int topLevelTaskCount(List<TaskWrapper> tasks) {
    Tree<TaskWrapper> tree = new Tree<TaskWrapper>();
    for (TaskWrapper wrapper : tasks) {
        tree.add(wrapper, wrapper.id, wrapper.parent);
    }/*w  w w.  j av  a2s .c  o  m*/
    return tree.getRoot().getChildren().size();
}

From source file:org.springframework.statemachine.recipes.tasks.TasksHandler.java

private static Iterator<Node<TaskWrapper>> buildTasksIterator(List<TaskWrapper> tasks) {
    Tree<TaskWrapper> tree = new Tree<TaskWrapper>();
    for (TaskWrapper wrapper : tasks) {
        tree.add(wrapper, wrapper.id, wrapper.parent);
    }/*from  www . jav a  2s .  co  m*/

    TreeTraverser<Node<TaskWrapper>> traverser = new TreeTraverser<Node<TaskWrapper>>() {
        @Override
        public Iterable<Node<TaskWrapper>> children(Node<TaskWrapper> root) {
            return root.getChildren();
        }
    };

    Iterable<Node<TaskWrapper>> postOrderTraversal = traverser.postOrderTraversal(tree.getRoot());
    Iterator<Node<TaskWrapper>> iterator = postOrderTraversal.iterator();
    return iterator;
}