Gittern\Entity\Diff\TreeDiff::getRemovedLeafNodesRecursive PHP Method

getRemovedLeafNodesRecursive() public method

    public function getRemovedLeafNodesRecursive()
    {
        $leaf_nodes = array();
        foreach ($this->base->getNodes() as $node) {
            if ($node instanceof TreeNode) {
                if ($this->comparison->hasNodeNamed($node->getName())) {
                    $comp_tree = $this->comparison->getNodeNamed($node->getName())->getTree();
                } else {
                    $comp_tree = new Tree();
                }
                $diff = new TreeDiff($node->getTree(), $comp_tree);
                foreach ($diff->getRemovedLeafNodesRecursive() as $leaf_node) {
                    $leaf_nodes[$node->getName() . '/' . $leaf_node->getName()] = $leaf_node;
                }
            } else {
                if (!$this->comparison->hasNodeNamed($node->getName())) {
                    $leaf_nodes[$node->getName()] = $node;
                }
            }
        }
        return $leaf_nodes;
    }

Usage Example

Example #1
0
 public function getRemovedLeafNodesRecursive()
 {
     $leaf_nodes = array();
     foreach ($this->base->getNodes() as $node) {
         if ($node instanceof TreeNode) {
             if ($this->comparison->hasNodeNamed($node->getName())) {
                 $comp_tree = $this->comparison->getNodeNamed($node->getName())->getTree();
             } else {
                 $comp_tree = new Tree();
             }
             $diff = new TreeDiff($node->getTree(), $comp_tree);
             foreach ($diff->getRemovedLeafNodesRecursive() as $leaf_node) {
                 $leaf_nodes[$node->getName() . '/' . $leaf_node->getName()] = $leaf_node;
             }
         } else {
             if (!$this->comparison->hasNodeNamed($node->getName())) {
                 $leaf_nodes[$node->getName()] = $node;
             }
         }
     }
     return $leaf_nodes;
 }