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=c26b4cf5bf1bf5be05269a780d8647310d2b4ab0;hb=fb1103606a9ca152725d2b1aae0a9c8f9739faa4;hp=5d41b784f5cdaa4ff264774b05069ad6e83f3ff3;hpb=0bdf3307bc17f562c84cceeacd29f42409bfff34;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 5d41b784f5..c26b4cf5bf 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 @@ -16,7 +16,6 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Multimap; - import java.util.Collection; import java.util.Collections; import java.util.Date; @@ -24,14 +23,13 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; - import javax.management.ObjectName; - import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.api.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfig; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditStrategyType; +import org.opendaylight.controller.netconf.confignetconfconnector.osgi.EnumResolver; import org.opendaylight.controller.netconf.util.xml.XmlElement; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.w3c.dom.Document; @@ -45,13 +43,16 @@ public class Config { private final Map> identityMap; - public Config(Map> moduleConfigs) { - this(moduleConfigs, Collections.>emptyMap()); + private final EnumResolver enumResolver; + + public Config(Map> moduleConfigs, final EnumResolver enumResolver) { + this(moduleConfigs, Collections.>emptyMap(), enumResolver); } - public Config(Map> moduleConfigs, Map> identityMap) { + public Config(Map> moduleConfigs, Map> identityMap, final EnumResolver enumResolver) { this.moduleConfigs = moduleConfigs; this.identityMap = identityMap; + this.enumResolver = enumResolver; } public static Map>> getMappedInstances(Set instancesToMap, @@ -60,11 +61,11 @@ public class Config { Map>> retVal = Maps.newLinkedHashMap(); - for (String namespace : configs.keySet()) { + for (Entry> namespaceToModuleToConfigEntry : configs.entrySet()) { Map> innerRetVal = Maps.newHashMap(); - for (Entry mbeEntry : configs.get(namespace).entrySet()) { + for (Entry mbeEntry : namespaceToModuleToConfigEntry.getValue().entrySet()) { String moduleName = mbeEntry.getKey(); Collection instances = moduleToInstances.get(moduleName); @@ -80,7 +81,7 @@ public class Config { } - retVal.put(namespace, innerRetVal); + retVal.put(namespaceToModuleToConfigEntry.getKey(), innerRetVal); } return retVal; } @@ -107,18 +108,18 @@ public class Config { Element modulesElement = XmlUtil.createElement(document, XmlNetconfConstants.MODULES_KEY, Optional.of(XmlNetconfConstants.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG)); dataElement.appendChild(modulesElement); - for (String moduleNamespace : moduleToInstances.keySet()) { - for (Entry> moduleMappingEntry : moduleToInstances.get(moduleNamespace) + for (Entry>> moduleToInstanceEntry : moduleToInstances.entrySet()) { + for (Entry> moduleMappingEntry : moduleToInstanceEntry.getValue() .entrySet()) { - ModuleConfig mapping = moduleConfigs.get(moduleNamespace).get(moduleMappingEntry.getKey()); + ModuleConfig mapping = moduleConfigs.get(moduleToInstanceEntry.getKey()).get(moduleMappingEntry.getKey()); if (moduleMappingEntry.getValue().isEmpty()) { continue; } for (ObjectName objectName : moduleMappingEntry.getValue()) { - modulesElement.appendChild(mapping.toXml(objectName, document, moduleNamespace)); + modulesElement.appendChild(mapping.toXml(objectName, document, moduleToInstanceEntry.getKey(), enumResolver)); } } @@ -144,7 +145,7 @@ public class Config { @Override public ModuleElementResolved resolveElement(ModuleConfig moduleMapping, XmlElement moduleElement, ServiceRegistryWrapper serviceTracker, String instanceName, String moduleNamespace, EditStrategyType defaultStrategy) throws NetconfDocumentedException { return moduleMapping.fromXml(moduleElement, serviceTracker, - instanceName, moduleNamespace, defaultStrategy, identityMap); + instanceName, moduleNamespace, defaultStrategy, identityMap, enumResolver); } };