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=5d41b784f5cdaa4ff264774b05069ad6e83f3ff3;hb=80aa861b74f7b0b3574f0962cdb45740ff71946c;hp=bb5a67cb9ce9051570b6ea736cc83d5e89cd1977;hpb=d7a972ac145d9f0ac8870dac2d7835520e92c02a;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 bb5a67cb9c..5d41b784f5 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 @@ -9,12 +9,17 @@ package org.opendaylight.controller.netconf.confignetconfconnector.mapping.config; import static com.google.common.base.Preconditions.checkState; -import static java.lang.String.format; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +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; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -24,29 +29,19 @@ 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.util.xml.XmlElement; -import org.opendaylight.controller.netconf.util.xml.XmlNetconfConstants; import org.opendaylight.controller.netconf.util.xml.XmlUtil; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.common.collect.Multimap; public class Config { - private final Logger logger = LoggerFactory.getLogger(Config.class); private final Map> moduleConfigs; - private final Map moduleNamesToConfigs; private final Map> identityMap; @@ -56,11 +51,6 @@ public class Config { public Config(Map> moduleConfigs, Map> identityMap) { this.moduleConfigs = moduleConfigs; - Map moduleNamesToConfigs = new HashMap<>(); - for (Entry> entry : moduleConfigs.entrySet()) { - moduleNamesToConfigs.putAll(entry.getValue()); - } - this.moduleNamesToConfigs = Collections.unmodifiableMap(moduleNamesToConfigs); this.identityMap = identityMap; } @@ -82,8 +72,9 @@ public class Config { // TODO, this code does not support same module names from different namespaces // Namespace should be present in ObjectName - if (instances == null) + if (instances == null){ continue; + } innerRetVal.put(moduleName, instances); @@ -104,24 +95,18 @@ public class Config { return retVal; } - // public Element toXml(Set instancesToMap, String namespace, - // Document document) { - // return toXml(instancesToMap, Optional.of(namespace), document); - // } - public Element toXml(Set instancesToMap, Optional maybeNamespace, Document document, Element dataElement, ServiceRegistryWrapper serviceTracker) { Map>> moduleToInstances = getMappedInstances(instancesToMap, moduleConfigs); - Element root = dataElement; if (maybeNamespace.isPresent()) { - root.setAttributeNS(maybeNamespace.get(), dataElement.getNodeName(), "xmlns"); + dataElement.setAttributeNS(maybeNamespace.get(), dataElement.getNodeName(), "xmlns"); } Element modulesElement = XmlUtil.createElement(document, XmlNetconfConstants.MODULES_KEY, Optional.of(XmlNetconfConstants.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG)); - root.appendChild(modulesElement); + dataElement.appendChild(modulesElement); for (String moduleNamespace : moduleToInstances.keySet()) { for (Entry> moduleMappingEntry : moduleToInstances.get(moduleNamespace) .entrySet()) { @@ -133,15 +118,15 @@ public class Config { } for (ObjectName objectName : moduleMappingEntry.getValue()) { - modulesElement.appendChild(mapping.toXml(objectName, serviceTracker, document, moduleNamespace)); + modulesElement.appendChild(mapping.toXml(objectName, document, moduleNamespace)); } } } - root.appendChild(Services.toXml(serviceTracker, document)); + dataElement.appendChild(Services.toXml(serviceTracker, document)); - return root; + return dataElement; } // TODO refactor, replace string representing namespace with namespace class @@ -264,10 +249,12 @@ public class Config { Optional modulesOpt = getModulesElement(parent); List recognised = Lists.newArrayList(); - if(servicesOpt.isPresent()) + if(servicesOpt.isPresent()){ recognised.add(servicesOpt.get()); - if(modulesOpt.isPresent()) + } + if(modulesOpt.isPresent()){ recognised.add(modulesOpt.get()); + } parent.checkUnrecognisedElements(recognised); } @@ -275,7 +262,7 @@ public class Config { private String getFactoryName(String factoryNameWithPrefix, String prefixOrEmptyString) { checkState( factoryNameWithPrefix.startsWith(prefixOrEmptyString), - format("Internal error: text " + "content '%s' of type node does not start with prefix '%s'", + String.format("Internal error: text " + "content '%s' of type node does not start with prefix '%s'", factoryNameWithPrefix, prefixOrEmptyString)); int factoryNameAfterPrefixIndex;