List of usage examples for org.springframework.statemachine.support.tree Tree getRoot
public Node<T> getRoot()
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; }