List of usage examples for org.springframework.statemachine.support.tree Tree Tree
Tree
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 .ja v a 2 s .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); }// ww w . j a va2 s. 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); }/* ww w. j a va 2s. c o 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; }