public void addBranch(AgeAbstractClassImprint superClass, AgeAbstractClassImprint subClass) { for (ImprintTreeNode supNodes : nodeMap.get(superClass)) { ImprintTreeNode nd = nodeCreator.create(subClass); createTreeStructure(subClass, nd); getData().add(nd, supNodes); getData().openAll(supNodes); // System.out.println("Adding "+subClass.getName()+" to "+supNodes.getTitle()); } }
public void setRoot(AgeAbstractClassImprint root) { Tree data = getData(); if (root == null) { data.getRoot().setChildren(new TreeNode[0]); data.setRoot(data.getRoot()); return; } TreeNode rootNode = data.getRoot(); ImprintTreeNode clsRoot = nodeCreator.create(root); createTreeStructure(root, clsRoot); rootNode.setChildren(new TreeNode[] {clsRoot}); data.setRoot(rootNode); data.openAll(); }
private void createTreeStructure(AgeAbstractClassImprint cls, ImprintTreeNode node) { addNodeToMap(node); if ((direction == Direction.PARENT2CHILD && cls.getChildren() == null) || (direction == Direction.CHILD2PARENT && cls.getParents() == null)) return; TreeNode[] children = new TreeNode [direction == Direction.PARENT2CHILD ? cls.getChildren().size() : cls.getParents().size()]; int i = 0; for (AgeAbstractClassImprint subcls : direction == Direction.PARENT2CHILD ? cls.getChildren() : cls.getParents()) { ImprintTreeNode ctn = nodeCreator.create(subcls); children[i++] = ctn; createTreeStructure(subcls, ctn); } node.setChildren(children); }