use of org.opendaylight.controller.config.facade.xml.mapping.config.InstanceConfig in project controller by opendaylight.
the class ConfigSubsystemFacade method transformMbeToModuleConfigs.
public Map<String, /* Namespace from yang file */
Map<String, /* Name of module entry from yang file */
ModuleConfig>> transformMbeToModuleConfigs(final BeanReader reader, final Map<String, /* Namespace from yang file */
Map<String, /* Name of module entry from yang file */
ModuleMXBeanEntry>> mbeanentries) {
Map<String, Map<String, ModuleConfig>> namespaceToModuleNameToModuleConfig = new HashMap<>();
for (Map.Entry<String, Map<String, ModuleMXBeanEntry>> namespaceToModuleToMbe : mbeanentries.entrySet()) {
for (Map.Entry<String, ModuleMXBeanEntry> moduleNameToMbe : namespaceToModuleToMbe.getValue().entrySet()) {
String moduleName = moduleNameToMbe.getKey();
ModuleMXBeanEntry moduleMXBeanEntry = moduleNameToMbe.getValue();
ModuleConfig moduleConfig = new ModuleConfig(moduleName, new InstanceConfig(reader, moduleMXBeanEntry.getAttributes(), moduleMXBeanEntry.getNullableDummyContainerName()));
Map<String, ModuleConfig> moduleNameToModuleConfig = namespaceToModuleNameToModuleConfig.computeIfAbsent(namespaceToModuleToMbe.getKey(), k -> new HashMap<>());
moduleNameToModuleConfig.put(moduleName, moduleConfig);
}
}
return namespaceToModuleNameToModuleConfig;
}
use of org.opendaylight.controller.config.facade.xml.mapping.config.InstanceConfig in project controller by opendaylight.
the class ConfigSubsystemFacade method createModuleRuntimes.
private Map<String, Map<String, ModuleRuntime>> createModuleRuntimes(final ConfigRegistryClient client, final Map<String, Map<String, ModuleMXBeanEntry>> mbeanentries) {
Map<String, Map<String, ModuleRuntime>> retVal = new HashMap<>();
for (Map.Entry<String, Map<String, ModuleMXBeanEntry>> namespaceToModuleEntry : mbeanentries.entrySet()) {
Map<String, ModuleRuntime> innerMap = new HashMap<>();
Map<String, ModuleMXBeanEntry> entriesFromNamespace = namespaceToModuleEntry.getValue();
for (Map.Entry<String, ModuleMXBeanEntry> moduleToMXEntry : entriesFromNamespace.entrySet()) {
ModuleMXBeanEntry mbe = moduleToMXEntry.getValue();
Map<RuntimeBeanEntry, InstanceConfig> cache = new HashMap<>();
RuntimeBeanEntry root = null;
for (RuntimeBeanEntry rbe : mbe.getRuntimeBeans()) {
cache.put(rbe, new InstanceConfig(client, rbe.getYangPropertiesToTypesMap(), mbe.getNullableDummyContainerName()));
if (rbe.isRoot()) {
root = rbe;
}
}
if (root == null) {
continue;
}
InstanceRuntime rootInstanceRuntime = createInstanceRuntime(root, cache);
ModuleRuntime moduleRuntime = new ModuleRuntime(rootInstanceRuntime);
innerMap.put(moduleToMXEntry.getKey(), moduleRuntime);
}
retVal.put(namespaceToModuleEntry.getKey(), innerMap);
}
return retVal;
}
Aggregations