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=0c2b0e228e8c6763aea207c978aabdc02cd11dc1;hp=a5a625a2d6859a373511a1c22ffc9b98c9df6521;hb=8720a3f3498bbc6fab675431f4200d26641a8ec8;hpb=d166f8ebd062f3a28a6ad7b7eb03988bb9052600 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 a5a625a2d6..0c2b0e228e 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 @@ -9,8 +9,9 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.config; import com.google.common.base.Optional; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; +import java.util.Date; +import java.util.Map; +import javax.management.ObjectName; import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; import org.opendaylight.controller.netconf.api.NetconfDocumentedException; import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfig; @@ -18,76 +19,43 @@ import org.opendaylight.controller.netconf.confignetconfconnector.operations.edi import org.opendaylight.controller.netconf.util.xml.XmlElement; import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.util.xml.XmlUtil; -import org.opendaylight.yangtools.yang.common.QName; import org.w3c.dom.Document; import org.w3c.dom.Element; -import javax.management.ObjectName; -import java.util.Collection; -import java.util.Date; -import java.util.Map; - public class ModuleConfig { private final String moduleName; private final InstanceConfig instanceConfig; - private final Multimap providedServices; - public ModuleConfig(String moduleName, InstanceConfig mbeanMapping, Collection providedServices) { + public ModuleConfig(String moduleName, InstanceConfig mbeanMapping) { this.moduleName = moduleName; this.instanceConfig = mbeanMapping; - this.providedServices = mapServices(providedServices); } - private Multimap mapServices(Collection providedServices) { - Multimap mapped = HashMultimap.create(); - - for (QName providedService : providedServices) { - String key = providedService.getNamespace().toString(); - mapped.put(key, providedService.getLocalName()); - } - - return mapped; - } - - public InstanceConfig getMbeanMapping() { - return instanceConfig; - } + public Element toXml(ObjectName instanceON, Document document, String namespace) { + Element root = XmlUtil.createElement(document, XmlNetconfConstants.MODULE_KEY, Optional.absent()); - public Multimap getProvidedServices() { - return providedServices; - } + // type belongs to config.yang namespace, but needs to be prefix:moduleName - public Element toXml(ObjectName instanceON, ServiceRegistryWrapper depTracker, Document document, String namespace) { - Element root = XmlUtil.createElement(document, XmlNetconfConstants.MODULE_KEY, Optional.absent()); - // Xml.addNamespaceAttr(document, root, namespace); + Element typeElement = XmlUtil.createTextElementWithNamespacedContent(document, XmlNetconfConstants.TYPE_KEY, + XmlNetconfConstants.PREFIX, namespace, moduleName); - final String prefix = getPrefix(); - Element typeElement = XmlUtil.createPrefixedTextElement(document, XmlUtil.createPrefixedValue(prefix, XmlNetconfConstants.TYPE_KEY), prefix, - moduleName, Optional.of(namespace)); - // Xml.addNamespaceAttr(document, typeElement, - // XMLUtil.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG); root.appendChild(typeElement); + // name belongs to config.yang namespace + String instanceName = ObjectNameUtil.getInstanceName(instanceON); + Element nameElement = XmlUtil.createTextElement(document, XmlNetconfConstants.NAME_KEY, instanceName, Optional.absent()); - Element nameElement = XmlUtil.createTextElement(document, XmlUtil.createPrefixedValue(prefix, XmlNetconfConstants.NAME_KEY), - ObjectNameUtil.getInstanceName(instanceON), Optional.of(namespace)); - // Xml.addNamespaceAttr(document, nameElement, - // XMLUtil.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG); root.appendChild(nameElement); - root = instanceConfig.toXml(instanceON, depTracker, namespace, document, root); + root = instanceConfig.toXml(instanceON, namespace, document, root); return root; } - private String getPrefix() { - return XmlNetconfConstants.PREFIX; - } - public ModuleElementResolved fromXml(XmlElement moduleElement, ServiceRegistryWrapper depTracker, String instanceName, String moduleNamespace, EditStrategyType defaultStrategy, Map> identityMap) throws NetconfDocumentedException { - InstanceConfigElementResolved ice = instanceConfig.fromXml(moduleElement, depTracker, moduleNamespace, defaultStrategy, providedServices, identityMap); + InstanceConfigElementResolved ice = instanceConfig.fromXml(moduleElement, depTracker, moduleNamespace, defaultStrategy, identityMap); return new ModuleElementResolved(instanceName, ice); }