Esempio n. 1
0
 public function testGetFirstNodeName()
 {
     // not empty node
     $result = TreeUtils::getFirstNodeName(self::getTestGroup());
     $this->assertEquals('node1', $result);
     // empty node
     $result = TreeUtils::getFirstNodeName(new GroupNodeDefinition('some_name'));
     $this->assertNull($result);
 }
Esempio n. 2
0
 /**
  * {@inheritdoc}
  */
 public function getSubtree($subtreeRootName)
 {
     if (!isset($this->processedSubTrees[$subtreeRootName])) {
         $treeData = $this->getTree();
         $subtree = TreeUtils::findNodeByName($treeData, $subtreeRootName);
         if ($subtree === null) {
             throw new ItemNotFoundException(sprintf('Subtree "%s" not found', $subtreeRootName));
         }
         $this->processedSubTrees[$subtreeRootName] = $subtree;
     }
     return $this->processedSubTrees[$subtreeRootName];
 }
 /**
  * {@inheritdoc}
  */
 public function chooseActiveGroups($activeGroup, $activeSubGroup)
 {
     $tree = $this->getTree();
     if ($activeGroup === null) {
         $activeGroup = TreeUtils::getFirstNodeName($tree);
     }
     // we can find active subgroup only in case if group is specified
     if ($activeSubGroup === null && $activeGroup) {
         $subtree = TreeUtils::findNodeByName($tree, $activeGroup);
         if ($subtree instanceof GroupNodeDefinition) {
             $subGroups = TreeUtils::getByNestingLevel($subtree, 2);
             if ($subGroups instanceof GroupNodeDefinition) {
                 $activeSubGroup = TreeUtils::getFirstNodeName($subGroups);
             }
         }
     }
     return array($activeGroup, $activeSubGroup);
 }