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%2Fruntime%2FRuntime.java;h=439dea2a80c352252228333cc19b9a66adc7775f;hp=64f295a4d885f784a1f2c6a0ddaea915bc19ee8e;hb=84248dac9ed8aa37e996e39429c8aa8ece473eaf;hpb=b5d0a1c60d3ff26cb4d7ecf45ee5fc0f95636c19 diff --git a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/runtime/Runtime.java b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/runtime/Runtime.java index 64f295a4d8..439dea2a80 100644 --- a/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/runtime/Runtime.java +++ b/opendaylight/netconf/config-netconf-connector/src/main/java/org/opendaylight/controller/netconf/confignetconfconnector/mapping/runtime/Runtime.java @@ -8,22 +8,25 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.runtime; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Maps; -import com.google.common.collect.Multimap; +import java.util.Collection; +import java.util.Map; +import java.util.Set; + +import javax.management.ObjectName; + import org.opendaylight.controller.config.api.jmx.ObjectNameUtil; import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.Config; import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.ModuleConfig; -import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.Services; +import org.opendaylight.controller.netconf.confignetconfconnector.mapping.config.ServiceRegistryWrapper; import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.util.xml.XmlUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; -import javax.management.ObjectName; -import java.util.Collection; -import java.util.Map; -import java.util.Set; +import com.google.common.base.Optional; +import com.google.common.collect.HashMultimap; +import com.google.common.collect.Maps; +import com.google.common.collect.Multimap; public class Runtime { @@ -60,19 +63,15 @@ public class Runtime { return retVal; } - public Element toXml(Set instancesToMap, Set configBeans, Document document) { - Services serviceTracker = new Services(); + public Element toXml(Set instancesToMap, Set configBeans, Document document, ServiceRegistryWrapper serviceRegistry) { + Element root = XmlUtil.createElement(document, XmlNetconfConstants.DATA_KEY, Optional.absent()); - Element root = document.createElement(XmlNetconfConstants.DATA_KEY); - - Element modulesElement = document.createElement(XmlNetconfConstants.MODULES_KEY); - XmlUtil.addNamespaceAttr(modulesElement, - XmlNetconfConstants.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG); + Element modulesElement = XmlUtil.createElement(document, XmlNetconfConstants.MODULES_KEY, Optional.of(XmlNetconfConstants.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG)); root.appendChild(modulesElement); Map> moduleToRuntimeInstance = mapInstancesToModules(instancesToMap); Map>> moduleToConfigInstance = Config.getMappedInstances( - configBeans, serviceTracker, moduleConfigs); + configBeans, moduleConfigs); for (String localNamespace : moduleConfigs.keySet()) { @@ -86,12 +85,12 @@ public class Runtime { Element runtimeXml; ModuleConfig moduleConfig = moduleConfigs.get(localNamespace).get(moduleName); - if(instanceToRbe==null || instanceToRbe.containsKey(instanceName) == false) { - runtimeXml = moduleConfig.toXml(instanceON, serviceTracker, document, localNamespace); + if(instanceToRbe==null || !instanceToRbe.containsKey(instanceName)) { + runtimeXml = moduleConfig.toXml(instanceON, serviceRegistry, document, localNamespace); } else { ModuleRuntime moduleRuntime = moduleRuntimes.get(localNamespace).get(moduleName); runtimeXml = moduleRuntime.toXml(localNamespace, instanceToRbe.get(instanceName), document, - moduleConfig, instanceON, serviceTracker); + moduleConfig, instanceON, serviceRegistry); } modulesElement.appendChild(runtimeXml); } @@ -102,14 +101,4 @@ public class Runtime { return root; } - private ObjectName findInstance(Collection objectNames, String instanceName) { - for (ObjectName objectName : objectNames) { - String name = ObjectNameUtil.getInstanceName(objectName); - if(name.equals(instanceName)) - return objectName; - } - - throw new UnsupportedOperationException("Unable to find config bean instance under name " + instanceName + " among " + objectNames); - } - }