X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fnetconf%2Fconfig-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fnetconf%2Fconfignetconfconnector%2Fmapping%2Fconfig%2FModuleConfig.java;h=48ff835a451e789d51826c4a9c65ba4241d3329b;hp=064cd9fe6f332cb01124c7243a3e25430b8be6a9;hb=0ae12c54560ef14cb8c08beef4553f7523d41578;hpb=371bb07d5c970798f247170130c93147890708e8 diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleConfig.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleConfig.java index 064cd9fe6f..48ff835a45 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleConfig.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/config/ModuleConfig.java @@ -8,8 +8,8 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.config; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Multimap; import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditStrategyType; import org.opendaylight.controller.netconf.util.xml.XmlElement; @@ -21,15 +21,12 @@ import org.w3c.dom.Element; import javax.management.ObjectName; import java.util.Collection; -import java.util.HashMap; -import java.util.Map; public class ModuleConfig { private final String moduleName; private final InstanceConfig instanceConfig; - // TODO 2 services from same namespace ? - private final Map providedServices; + private final Multimap providedServices; public ModuleConfig(String moduleName, InstanceConfig mbeanMapping, Collection providedServices) { this.moduleName = moduleName; @@ -37,12 +34,11 @@ public class ModuleConfig { this.providedServices = mapServices(providedServices); } - private Map mapServices(Collection providedServices) { - HashMap mapped = Maps.newHashMap(); + private Multimap mapServices(Collection providedServices) { + Multimap mapped = HashMultimap.create(); for (QName providedService : providedServices) { String key = providedService.getNamespace().toString(); - Preconditions.checkState(mapped.containsKey(key) == false); mapped.put(key, providedService.getLocalName()); } @@ -53,11 +49,11 @@ public class ModuleConfig { return instanceConfig; } - public Map getProvidedServices() { + public Multimap getProvidedServices() { return providedServices; } - public Element toXml(ObjectName instanceON, Services depTracker, Document document, String namespace) { + public Element toXml(ObjectName instanceON, ServiceRegistryWrapper depTracker, Document document, String namespace) { Element root = document.createElement(XmlNetconfConstants.MODULE_KEY); // Xml.addNamespaceAttr(document, root, namespace); @@ -88,10 +84,10 @@ public class ModuleConfig { } - public ModuleElementResolved fromXml(XmlElement moduleElement, Services depTracker, String instanceName, + public ModuleElementResolved fromXml(XmlElement moduleElement, ServiceRegistryWrapper depTracker, String instanceName, String moduleNamespace, EditStrategyType defaultStrategy) { - InstanceConfigElementResolved ice = instanceConfig.fromXml(moduleElement, depTracker, moduleNamespace, defaultStrategy); + InstanceConfigElementResolved ice = instanceConfig.fromXml(moduleElement, depTracker, moduleNamespace, defaultStrategy, providedServices); return new ModuleElementResolved(instanceName, ice); }