List of usage examples for org.springframework.statemachine.support.tree Tree add
public void add(T data, Object id, Object parent)
From source file:org.springframework.statemachine.config.AbstractStateMachineFactory.java
private void treeAdd(Tree<StateData<S, E>> tree, Collection<StateData<S, E>> stateDatas) { // recursive call due to possible submachine data ref if (stateDatas == null) { return;//from w w w. j a va2s .c o m } for (StateData<S, E> stateData : stateDatas) { tree.add(stateData, stateData.getState(), stateData.getParent()); treeAdd(tree, stateData.getSubmachineStateData()); } }
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); }//from w w w .jav a2 s . c om 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); }// w ww . j a v 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; }