/** * @return \TreeNode */ public function build() { $node = new TreeNode($this->data, $this->id); $node->setChildren($this->children); $node->setObject($this->object); return $node; }
/** * @return TreeNode */ public function wrapInAThreeLevelArtifactTree(array $cards) { $forest = new TreeNode(); $forest->setChildren($cards); $root = new TreeNode(); $root->addChild($forest); return $root; }
public function visit(TreeNode $node) { $top_parents = array(); $cache_alreaydy_built_parents = array(); foreach ($node->getChildren() as $child) { $top = $this->buildParentHierarchy($child, $cache_alreaydy_built_parents); $top_parents[$top->getId()] = $top; } $node->setChildren($top_parents); }
public function visit(TreeNode $tree_node) { $new_children = array(); foreach ($tree_node->getChildren() as $child_node) { $child_artifact = $child_node->getObject(); if ($this->hierarchy->exists($child_artifact->getTrackerId())) { if ($this->isBacklogPlannableArtifact($child_artifact)) { $new_children[] = $child_node; } else { $new_subchildren = $child_node->accept($this)->getChildren(); $new_children = array_merge($new_children, $new_subchildren); } } } $new_tree_node = new TreeNode(); $new_tree_node->setChildren($new_children); return $new_tree_node; }
public function itSetsTheParentNodeOfTheChildren() { $root = new TreeNode(); $node_1 = new TreeNode(); $node_2 = new TreeNode(); $children = array($node_1, $node_2); $root->setChildren($children); $this->assertEqual($root, $node_2->getParentNode()); $this->assertEqual($root, $node_1->getParentNode()); }