From dcda490ecdca0d8fff623e5f93754a0761be1d98 Mon Sep 17 00:00:00 2001 From: Jakub Morvay Date: Thu, 26 May 2016 16:35:24 +0200 Subject: [PATCH] Bug 5836 - Set namespace for DOM nodes Subtree filtering expects nodes with correct namespaces. XML constructed in config subsystem netconf server does not contain correct namespaces when in DOM format. Always include namespace when constructing DOM nodes. Change-Id: I4d67f224421b5951fd2a83442870add299e70c1c Signed-off-by: Jakub Morvay --- .../facade/xml/mapping/config/ModuleConfig.java | 8 +++++--- .../config/facade/xml/mapping/config/Services.java | 14 +++++++++----- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/ModuleConfig.java b/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/ModuleConfig.java index 764f694343..1b0aaa2668 100644 --- a/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/ModuleConfig.java +++ b/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/ModuleConfig.java @@ -34,17 +34,19 @@ public class ModuleConfig { } public Element toXml(ObjectName instanceON, Document document, String namespace, final EnumResolver enumResolver) { - Element root = XmlUtil.createElement(document, XmlMappingConstants.MODULE_KEY, Optional.absent()); + final Optional configNs = + Optional.of(XmlMappingConstants.URN_OPENDAYLIGHT_PARAMS_XML_NS_YANG_CONTROLLER_CONFIG); + Element root = XmlUtil.createElement(document, XmlMappingConstants.MODULE_KEY, configNs); // type belongs to config.yang namespace, but needs to be prefix:moduleName Element typeElement = XmlUtil.createTextElementWithNamespacedContent(document, XmlMappingConstants.TYPE_KEY, - XmlMappingConstants.PREFIX, namespace, moduleName); + XmlMappingConstants.PREFIX, namespace, moduleName, configNs); root.appendChild(typeElement); // name belongs to config.yang namespace String instanceName = ObjectNameUtil.getInstanceName(instanceON); - Element nameElement = XmlUtil.createTextElement(document, XmlMappingConstants.NAME_KEY, instanceName, Optional.absent()); + Element nameElement = XmlUtil.createTextElement(document, XmlMappingConstants.NAME_KEY, instanceName, configNs); root.appendChild(nameElement); diff --git a/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/Services.java b/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/Services.java index 2f0d73eaab..c2683d44ab 100644 --- a/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/Services.java +++ b/opendaylight/config/config-manager-facade-xml/src/main/java/org/opendaylight/controller/config/facade/xml/mapping/config/Services.java @@ -155,19 +155,23 @@ public final class Services { // type belongs to config.yang namespace String serviceType = serviceEntry.getKey(); - Element typeElement = XmlUtil.createTextElementWithNamespacedContent(document, XmlMappingConstants.TYPE_KEY, - XmlMappingConstants.PREFIX, namespaceToRefEntry.getKey(), serviceType); + Element typeElement = XmlUtil.createTextElementWithNamespacedContent( + document, XmlMappingConstants.TYPE_KEY, XmlMappingConstants.PREFIX, + namespaceToRefEntry.getKey(), serviceType, configNs); serviceElement.appendChild(typeElement); for (Entry instanceEntry : serviceEntry.getValue().entrySet()) { - Element instanceElement = XmlUtil.createElement(document, XmlMappingConstants.INSTANCE_KEY, Optional.absent()); + Element instanceElement = XmlUtil.createElement( + document, XmlMappingConstants.INSTANCE_KEY, configNs); serviceElement.appendChild(instanceElement); - Element nameElement = XmlUtil.createTextElement(document, NAME_KEY, instanceEntry.getKey(), Optional.absent()); + Element nameElement = XmlUtil.createTextElement( + document, NAME_KEY, instanceEntry.getKey(), configNs); instanceElement.appendChild(nameElement); - Element providerElement = XmlUtil.createTextElement(document, PROVIDER_KEY, instanceEntry.getValue(), Optional.absent()); + Element providerElement = XmlUtil.createTextElement( + document, PROVIDER_KEY, instanceEntry.getValue(), configNs); instanceElement.appendChild(providerElement); } } -- 2.36.6