/**
  * Loads configuration from storage into a property.
  */
 protected function initConfigCollection($reset = FALSE)
 {
     if ($reset || empty($this->configCollection)) {
         $config_collection = [];
         $config_types = $this->listConfigTypes();
         $dependency_manager = $this->configManager->getConfigDependencyManager();
         // List configuration provided by installed features.
         $existing_config = $this->listExistingConfig(TRUE);
         foreach (array_keys($config_types) as $config_type) {
             $config = $this->listConfigByType($config_type);
             foreach ($config as $item_name => $label) {
                 $name = $this->getFullName($config_type, $item_name);
                 $data = $this->configStorage->read($name);
                 // Compute dependent config.
                 $dependent_list = $dependency_manager->getDependentEntities('config', $name);
                 $dependents = array();
                 foreach ($dependent_list as $config_name => $item) {
                     if (!isset($dependents[$config_name])) {
                         $dependents[$config_name] = $config_name;
                     }
                     // Grab any dependent graph paths.
                     if (isset($item['reverse_paths'])) {
                         foreach ($item['reverse_paths'] as $dependent_name => $value) {
                             if ($value && !isset($dependents[$dependent_name])) {
                                 $dependents[$dependent_name] = $dependent_name;
                             }
                         }
                     }
                 }
                 $config_collection[$name] = new ConfigurationItem($name, $data, ['shortName' => $item_name, 'label' => $label, 'type' => $config_type, 'dependents' => array_keys($dependents), 'subdirectory' => InstallStorage::CONFIG_INSTALL_DIRECTORY, 'package' => '', 'extensionProvided' => NULL, 'providingFeature' => isset($existing_config[$name]) ? $existing_config[$name] : NULL, 'packageExcluded' => []]);
             }
         }
         $this->setConfigCollection($config_collection);
     }
 }
 /**
  * Loads configuration from storage into a property.
  */
 protected function initConfigCollection($reset = FALSE)
 {
     if ($reset || empty($this->configCollection)) {
         $config_collection = [];
         $config_types = $this->listConfigTypes();
         $dependency_manager = $this->configManager->getConfigDependencyManager();
         foreach (array_keys($config_types) as $config_type) {
             $config = $this->listConfigByType($config_type);
             foreach ($config as $item_name => $label) {
                 $name = $this->getFullName($config_type, $item_name);
                 $data = $this->configStorage->read($name);
                 // Compute dependent config.
                 $dependent_list = $dependency_manager->getDependentEntities('config', $name);
                 $dependents = array();
                 foreach ($dependent_list as $config_name => $item) {
                     if (!isset($dependents[$config_name])) {
                         $dependents[$config_name] = $config_name;
                     }
                     // Grab any dependent graph paths.
                     if (isset($item['reverse_paths'])) {
                         foreach ($item['reverse_paths'] as $dependent_name => $value) {
                             if ($value && !isset($dependents[$dependent_name])) {
                                 $dependents[$dependent_name] = $dependent_name;
                             }
                         }
                     }
                 }
                 $config_collection[$name] = ['name' => $name, 'name_short' => $item_name, 'label' => $label, 'type' => $config_type, 'data' => $data, 'dependents' => array_keys($dependents), 'subdirectory' => InstallStorage::CONFIG_INSTALL_DIRECTORY, 'package_excluded' => []];
             }
         }
         $this->setConfigCollection($config_collection);
     }
 }
 /**
  * Loads configuration from storage into a property.
  */
 protected function initConfigCollection($reset = FALSE)
 {
     if ($reset || empty($this->configCollection)) {
         $config_collection = [];
         $config_types = $this->listConfigTypes();
         $dependency_manager = $this->configManager->getConfigDependencyManager();
         foreach (array_keys($config_types) as $config_type) {
             $config = $this->listConfigByType($config_type);
             foreach ($config as $item_name => $label) {
                 $name = $this->getFullName($config_type, $item_name);
                 $data = $this->configStorage->read($name);
                 // Compute dependent config.
                 $dependent_list = $dependency_manager->getDependentEntities('config', $name);
                 $dependents = array();
                 foreach ($dependent_list as $config_name => $item) {
                     if (!isset($dependents[$config_name])) {
                         $dependents[$config_name] = $config_name;
                     }
                     // Grab the dependent graph paths.
                     foreach ($item['paths'] as $dependent_name => $value) {
                         if ($value && !isset($dependents[$dependent_name])) {
                             $dependents[$dependent_name] = $dependent_name;
                         }
                     }
                 }
                 $config_collection[$name] = ['name' => $name, 'name_short' => $item_name, 'label' => $label, 'type' => $config_type, 'data' => $data, 'dependents' => array_keys($dependents)];
             }
         }
         $this->setConfigCollection($config_collection);
     }
 }