X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Fconfig%2FConfig.java;h=f33a32271fd189dd39a61b7403069d765e4d1615;hb=b5d0a1c60d3ff26cb4d7ecf45ee5fc0f95636c19;hp=2242101f5b12ab1cbdf940576dc6a60d530a7c25;hpb=371bb07d5c970798f247170130c93147890708e8;p=controller.git diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/Config.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/Config.java index 2242101f5b..f33a32271f 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/Config.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/Config.java @@ -52,21 +52,24 @@ public class Config { this.moduleNamesToConfigs = Collections.unmodifiableMap(moduleNamesToConfigs); } - private Map>> getMappedInstances(Set instancesToMap, - Services serviceTracker) { + public static Map>> getMappedInstances(Set instancesToMap, + Services serviceTracker, Map> configs) { Multimap moduleToInstances = mapInstancesToModules(instancesToMap); Map>> retVal = Maps.newLinkedHashMap(); - for (String namespace : moduleConfigs.keySet()) { + for (String namespace : configs.keySet()) { Map> innerRetVal = Maps.newHashMap(); - for (Entry mbeEntry : moduleConfigs.get(namespace).entrySet()) { + for (Entry mbeEntry : configs.get(namespace).entrySet()) { String moduleName = mbeEntry.getKey(); Collection instances = moduleToInstances.get(moduleName); + // TODO, this code does not support same module names from different namespaces + // Namespace should be present in ObjectName + if (instances == null) continue; @@ -86,10 +89,10 @@ public class Config { return retVal; } - private void addServices(Services serviceTracker, Collection instances, - Map providedServices) { + private static void addServices(Services serviceTracker, Collection instances, + Multimap providedServices) { for (ObjectName instanceOn : instances) { - for (Entry serviceName : providedServices.entrySet()) { + for (Entry serviceName : providedServices.entries()) { serviceTracker.addServiceEntry(serviceName.getKey(), serviceName.getValue(), instanceOn); } } @@ -115,7 +118,7 @@ public class Config { Services serviceTracker = new Services(); Map>> moduleToInstances = getMappedInstances(instancesToMap, - serviceTracker); + serviceTracker, moduleConfigs); Element root = dataElement; if (maybeNamespace.isPresent()) { @@ -243,7 +246,7 @@ public class Config { checkState(moduleConfig != null, "Cannot find ModuleConfig with name " + factoryName + " in " + moduleNamesToConfigs); // Set services = ; - for (Entry serviceName : moduleConfig.getProvidedServices().entrySet()) { + for (Entry serviceName : moduleConfig.getProvidedServices().entries()) { services.addServiceEntry(serviceName.getKey(), serviceName.getValue(), existingON); }