Fix filter type namespace 85/108085/2
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 1 Oct 2023 11:06:53 +0000 (13:06 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 1 Oct 2023 20:10:25 +0000 (22:10 +0200)
We are emitting "type" with the NETCONF base namespace.

This is wrong, as attributes are not subject to default namespace, hence
we should be emitting it as a plain attribute -- it is interpreted in
the context of its defining element, which already is in NETCONF base
namespace.

JIRA: NETCONF-1170
Change-Id: I9cf63ca52297cd45ea062ec7ddfb1ff4a9e853f7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
19 files changed:
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/NetconfStateSchemas.java
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/NetconfMessageTransformUtil.java
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/impl/SchemalessRpcStructureTransformer.java
plugins/netconf-client-mdsal/src/test/java/org/opendaylight/netconf/client/mdsal/impl/NetconfMessageTransformerTest.java
plugins/netconf-client-mdsal/src/test/java/org/opendaylight/netconf/client/mdsal/spi/NetconfDeviceWriteOnlyTxTest.java
plugins/netconf-client-mdsal/src/test/resources/schemaless/filter/container.xml
plugins/netconf-client-mdsal/src/test/resources/schemaless/filter/keyed-list-bad-key.xml
plugins/netconf-client-mdsal/src/test/resources/schemaless/filter/keyed-list-compound-key.xml
plugins/netconf-client-mdsal/src/test/resources/schemaless/filter/keyed-list.xml
plugins/netconf-client-mdsal/src/test/resources/schemaless/filter/one-root-filter.xml
plugins/netconf-client-mdsal/src/test/resources/schemaless/filter/two-roots-filter.xml
protocol/netconf-test-util/src/main/resources/netconfMessages/get-config-fields-request.xml
protocol/netconf-test-util/src/main/resources/netconfMessages/get-config-with-multiple-subtrees.xml
protocol/netconf-test-util/src/main/resources/netconfMessages/get-fields-request.xml
protocol/netconf-test-util/src/main/resources/netconfMessages/get-with-multiple-root-subtrees.xml
protocol/netconf-test-util/src/main/resources/netconfMessages/get-with-multiple-subtrees.xml
protocol/netconf-test-util/src/main/resources/netconfMessages/getConfig_candidate-filter.xml
protocol/netconf-test-util/src/main/resources/subtree/rpc/10/request.xml
protocol/netconf-test-util/src/main/resources/subtree/rpc/8/request.xml

index 449041b5151560ef0063a98f20a56c1d4de11134..f10c684d244b65fef950ec8571c73e6e8b492ad5 100644 (file)
@@ -13,10 +13,8 @@ import static com.google.common.base.Verify.verify;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.IETF_NETCONF_MONITORING;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_DATA_NODEID;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_FILTER_NODEID;
-import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_FILTER_QNAME;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_GET_NODEID;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_GET_QNAME;
-import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_TYPE_QNAME;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.toId;
 
 import com.google.common.annotations.VisibleForTesting;
@@ -33,6 +31,7 @@ import javax.xml.transform.dom.DOMSource;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMRpcResult;
 import org.opendaylight.mdsal.dom.api.DOMRpcService;
+import org.opendaylight.netconf.api.NamespaceURN;
 import org.opendaylight.netconf.api.xml.XmlUtil;
 import org.opendaylight.netconf.client.mdsal.api.NetconfDeviceSchemas;
 import org.opendaylight.netconf.client.mdsal.api.NetconfSessionPreferences;
@@ -82,10 +81,8 @@ public final class NetconfStateSchemas implements NetconfDeviceSchemas {
     static {
         final Document document = XmlUtil.newDocument();
 
-        final Element filterElem = XmlUtil.createElement(document, NETCONF_FILTER_QNAME.getLocalName(),
-            Optional.of(NETCONF_FILTER_QNAME.getNamespace().toString()));
-        filterElem.setAttributeNS(NETCONF_FILTER_QNAME.getNamespace().toString(), NETCONF_TYPE_QNAME.getLocalName(),
-            "subtree");
+        final Element filterElem = XmlUtil.createElement(document, "filter", Optional.of(NamespaceURN.BASE));
+        filterElem.setAttribute("type", "subtree");
 
         final Element stateElem = XmlUtil.createElement(document, NetconfState.QNAME.getLocalName(),
             Optional.of(NetconfState.QNAME.getNamespace().toString()));
index b0a1bef4c0919f9daeaaca8a3ed007878c7e5a4e..01394503ad3edfd9035b2a5cde78a0b5396f5cc1 100644 (file)
@@ -31,6 +31,7 @@ import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.mdsal.dom.api.DOMDataTreeIdentifier;
 import org.opendaylight.netconf.api.DocumentedException;
 import org.opendaylight.netconf.api.EffectiveOperation;
+import org.opendaylight.netconf.api.NamespaceURN;
 import org.opendaylight.netconf.api.messages.NetconfMessage;
 import org.opendaylight.netconf.api.messages.NotificationMessage;
 import org.opendaylight.netconf.api.messages.RpcMessage;
@@ -84,7 +85,6 @@ public final class NetconfMessageTransformUtil {
 
     public static final @NonNull QName CREATE_SUBSCRIPTION_RPC_QNAME =
             QName.create(CreateSubscriptionInput.QNAME, "create-subscription").intern();
-    private static final String SUBTREE = "subtree";
 
     // Blank document used for creation of new DOM nodes
     private static final Document BLANK_DOCUMENT = XmlUtil.newDocument();
@@ -161,8 +161,6 @@ public final class NetconfMessageTransformUtil {
     public static final @NonNull Absolute NETCONF_GET_CONFIG_PATH = toPath(NETCONF_GET_CONFIG_QNAME);
     public static final @NonNull QName NETCONF_DISCARD_CHANGES_QNAME = QName.create(NETCONF_QNAME, "discard-changes");
     public static final @NonNull Absolute NETCONF_DISCARD_CHANGES_PATH = toPath(NETCONF_DISCARD_CHANGES_QNAME);
-    public static final @NonNull QName NETCONF_TYPE_QNAME = QName.create(NETCONF_QNAME, "type").intern();
-    public static final @NonNull QName NETCONF_FILTER_QNAME = QName.create(NETCONF_QNAME, "filter").intern();
     public static final @NonNull QName NETCONF_GET_QNAME =
         QName.create(NETCONF_QNAME, XmlNetconfConstants.GET).intern();
     public static final @NonNull NodeIdentifier NETCONF_GET_NODEID = NodeIdentifier.create(NETCONF_GET_QNAME);
@@ -197,9 +195,10 @@ public final class NetconfMessageTransformUtil {
 
     public static final @NonNull Absolute CREATE_SUBSCRIPTION_RPC_PATH = toPath(CREATE_SUBSCRIPTION_RPC_QNAME);
 
-    public static final @NonNull NodeIdentifier NETCONF_FILTER_NODEID = NodeIdentifier.create(NETCONF_FILTER_QNAME);
+    public static final @NonNull NodeIdentifier NETCONF_FILTER_NODEID =
+        NodeIdentifier.create(QName.create(NETCONF_QNAME, "filter").intern());
 
-    public static final @NonNull AnyxmlNode<?> EMPTY_FILTER = buildFilterStructure(getNetconfFilterElement());
+    public static final @NonNull AnyxmlNode<?> EMPTY_FILTER = buildFilterStructure(newFilterElement());
 
     private NetconfMessageTransformUtil() {
         // Hidden on purpose
@@ -214,7 +213,7 @@ public final class NetconfMessageTransformUtil {
      */
     public static AnyxmlNode<?> toFilterStructure(final YangInstanceIdentifier identifier,
                                                        final EffectiveModelContext ctx) {
-        final Element element = getNetconfFilterElement();
+        final Element element = newFilterElement();
         try {
             NormalizedDataUtil.writeFilter(identifier, new DOMResult(element), ctx, null);
         } catch (IOException | XMLStreamException e) {
@@ -234,7 +233,7 @@ public final class NetconfMessageTransformUtil {
     public static AnyxmlNode<?> toFilterStructure(final List<FieldsFilter> fieldsFilters,
                                                   final EffectiveModelContext ctx) {
         Preconditions.checkState(!fieldsFilters.isEmpty(), "An empty list of subtree filters is not allowed");
-        final Element element = getNetconfFilterElement();
+        final Element element = newFilterElement();
 
         for (final FieldsFilter filter : fieldsFilters) {
             try {
@@ -248,11 +247,9 @@ public final class NetconfMessageTransformUtil {
         return buildFilterStructure(element);
     }
 
-    private static Element getNetconfFilterElement() {
-        final Element element = XmlUtil.createElement(BLANK_DOCUMENT, NETCONF_FILTER_QNAME.getLocalName(),
-                Optional.of(NETCONF_FILTER_QNAME.getNamespace().toString()));
-        element.setAttributeNS(NETCONF_FILTER_QNAME.getNamespace().toString(), NETCONF_TYPE_QNAME.getLocalName(),
-                SUBTREE);
+    private static Element newFilterElement() {
+        final var element = XmlUtil.createElement(BLANK_DOCUMENT, "filter", Optional.of(NamespaceURN.BASE));
+        element.setAttribute("type", "subtree");
         return element;
     }
 
index 716a9ffdbffa9161e035bab5127858c2dab9a2dd..fef080b42a3352294889d323b34235eebaaa340a 100644 (file)
@@ -11,7 +11,6 @@ import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransform
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_CONFIG_QNAME;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_DATA_NODEID;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_FILTER_NODEID;
-import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_FILTER_QNAME;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_OPERATION_QNAME;
 import static org.opendaylight.netconf.common.mdsal.NormalizedDataUtil.NETCONF_DATA_QNAME;
 import static org.opendaylight.netconf.common.mdsal.NormalizedDataUtil.appendListKeyNodes;
@@ -22,6 +21,7 @@ import java.util.Optional;
 import javax.xml.transform.dom.DOMSource;
 import org.opendaylight.netconf.api.DocumentedException;
 import org.opendaylight.netconf.api.EffectiveOperation;
+import org.opendaylight.netconf.api.NamespaceURN;
 import org.opendaylight.netconf.api.xml.XmlElement;
 import org.opendaylight.netconf.api.xml.XmlUtil;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -135,12 +135,8 @@ class SchemalessRpcStructureTransformer implements RpcStructureTransformer {
     }
 
     private static Element prepareFilterElement(final Document document) {
-        // FIXME: use a constant
-        final var filterNs = NETCONF_FILTER_QNAME.getNamespace().toString();
-        final var filter = document.createElementNS(filterNs, NETCONF_FILTER_QNAME.getLocalName());
-        final var attr = document.createAttributeNS(filterNs, "type");
-        attr.setTextContent("subtree");
-        filter.setAttributeNode(attr);
+        final var filter = document.createElementNS(NamespaceURN.BASE, "filter");
+        filter.setAttribute("type", "subtree");
         document.appendChild(filter);
         return filter;
     }
index 3a0e1e030974441e865d0b9eb620dac118e4cfd8..421531f0f59e2078103af3e63b188c3045a5167d 100644 (file)
@@ -356,7 +356,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
 
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get-config xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<schemas>\n"
                 + "<schema>\n"
@@ -384,7 +384,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
 
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get-config xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<schemas/>\n"
                 + "</netconf-state>"
@@ -464,7 +464,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
 
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">"
                 + "<get xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<capabilities>\n"
                 + "<capability>a:b:c</capability>\n"
@@ -487,7 +487,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
 
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<capabilities>\n"
                 + "<capability/>\n"
@@ -510,7 +510,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
 
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<datastores>\n"
                 + "<datastore/>\n"
@@ -879,7 +879,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
         // testing
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<statistics>\n"
                 + "<netconf-start-time/>\n"
@@ -913,7 +913,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
         // testing
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<capabilities/>\n"
                 + "<datastores/>\n"
@@ -939,7 +939,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
         // testing
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\"/>\n"
                 + "</filter>\n"
                 + "</get>\n"
@@ -965,7 +965,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
         // testing
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<schemas>\n"
                 + "<schema>\n"
@@ -1005,7 +1005,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
         // testing
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<datastores>\n"
                 + "<datastore>\n"
@@ -1043,7 +1043,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
         // testing
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<datastores>\n"
                 + "<datastore/>\n"
@@ -1077,7 +1077,7 @@ public class NetconfMessageTransformerTest extends AbstractBaseSchemasTest {
         // testing
         assertSimilarXml(netconfMessage, "<rpc message-id=\"m-0\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\">\n"
                 + "<get>\n"
-                + "<filter xmlns:ns0=\"urn:ietf:params:xml:ns:netconf:base:1.0\" ns0:type=\"subtree\">\n"
+                + "<filter type=\"subtree\">\n"
                 + "<netconf-state xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\">\n"
                 + "<sessions>\n"
                 + "<session>\n"
index 747310015f7cf8303fdeed9e63745b1f339c50e6..db00a0fa5fd1107411e2d003f8bbc0e872abb7e5 100644 (file)
@@ -18,7 +18,7 @@ import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.DISCARD_CHANGES_RPC_CONTENT;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_CANDIDATE_NODEID;
-import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_FILTER_QNAME;
+import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_FILTER_NODEID;
 import static org.opendaylight.netconf.client.mdsal.impl.NetconfMessageTransformUtil.NETCONF_RUNNING_NODEID;
 
 import com.google.common.util.concurrent.Futures;
@@ -75,9 +75,9 @@ public class NetconfDeviceWriteOnlyTxTest extends AbstractBaseSchemasTest {
     public void testIgnoreNonVisibleData() {
         final WriteCandidateTx tx = new WriteCandidateTx(id, new NetconfBaseOps(rpc, mock(MountPointContext.class)),
                 false);
-        final MapNode emptyList = ImmutableNodes.mapNodeBuilder(NETCONF_FILTER_QNAME).build();
-        tx.merge(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.of(NETCONF_FILTER_QNAME), emptyList);
-        tx.put(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.of(NETCONF_FILTER_QNAME), emptyList);
+        final MapNode emptyList = ImmutableNodes.mapNodeBuilder(NETCONF_FILTER_NODEID).build();
+        tx.merge(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.of(NETCONF_FILTER_NODEID), emptyList);
+        tx.put(LogicalDatastoreType.CONFIGURATION, YangInstanceIdentifier.of(NETCONF_FILTER_NODEID), emptyList);
 
         verify(rpc, atMost(1)).invokeNetconf(any(), any());
     }
index d889c8d693cce63e9e9b91513abf4ce274c66b9f..a65fefa57e411f723301284e98b42a3c89af76ad 100644 (file)
@@ -1,6 +1,6 @@
-<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<filter xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" type="subtree">
     <top xmlns="http://example.com/schema/1.2/config">
         <users>
         </users>
     </top>
-</filter>
\ No newline at end of file
+</filter>
index 2906847fcf12d8b6b046ae334545a2a005773712..1c374327a25739c4aed69593a08b718347ea6c55 100644 (file)
@@ -1,4 +1,4 @@
-<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<filter xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" type="subtree">
     <top xmlns="http://example.com/schema/1.2/config">
         <users>
             <user>
index ce6c5227719aea2eedd6a1043264cfabae71c052..0735f0efcb77838c5f16f19225858bb638694b19 100644 (file)
@@ -1,4 +1,4 @@
-<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<filter xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" type="subtree">
     <top xmlns="http://example.com/schema/1.2/config">
         <users>
             <user>
@@ -7,4 +7,4 @@
             </user>
         </users>
     </top>
-</filter>
\ No newline at end of file
+</filter>
index ae2e01e14367534daccc52fa1ee5bd8ea4f05a17..1e908effac5ba779d185e5b5bab10c5913419110 100644 (file)
@@ -1,4 +1,4 @@
-<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<filter xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" type="subtree">
     <top xmlns="http://example.com/schema/1.2/config">
         <users>
             <user>
index 2ef8528d11f06d7fe468bcf5290dca7e6b2fb2e0..03286d65e61a7d3f676e6f94c032fe7c8942a1cf 100644 (file)
@@ -1,5 +1,4 @@
-<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree"
-        xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<filter xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" type="subtree">
     <c-1 xmlns="test-namespace">
         <leaf-1/>
         <list-1>
@@ -10,4 +9,4 @@
             </c-2>
         </list-1>
     </c-1>
-</filter>
\ No newline at end of file
+</filter>
index e9723dcee18247664ec862ad8d0f56e5bed8bb0f..d9b4f083a455352e80b92563c9ef02cf0cfffc2b 100644 (file)
@@ -1,5 +1,4 @@
-<filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree"
-        xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
+<filter xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" type="subtree">
     <c-1 xmlns="test-namespace">
         <list-1>
             <c-2/>
@@ -8,4 +7,4 @@
     <c-x xmlns="test-namespace">
         <l-x/>
     </c-x>
-</filter>
\ No newline at end of file
+</filter>
index 6ad30b273b9fb3807db2ab5d192b5f08414acebb..138b1e920c09f80c4d6ddb2f5e5d61374150a7b7 100644 (file)
@@ -3,11 +3,11 @@
         <source>
             <running/>
         </source>
-        <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
+        <filter type="subtree">
             <c xmlns="test:namespace">
                 <a/>
                 <b/>
             </c>
         </filter>
     </get-config>
-</rpc>
\ No newline at end of file
+</rpc>
index fee24ee7733b7a363413bf0cf7c038ac42646dc2..ae3936ee17d54ff30d71e24ee27d541221bc4bdb 100644 (file)
@@ -3,7 +3,7 @@
         <source>
             <running/>
         </source>
-        <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
+        <filter type="subtree">
             <c xmlns="test:namespace">
                 <a/>
                 <d>
@@ -15,4 +15,4 @@
             </e>
         </filter>
     </get-config>
-</rpc>
\ No newline at end of file
+</rpc>
index 7d42854bdd0b63a23b08ac8b0132ce45e9ce32d7..9ac62ac8d34f887a93382944fbec2701abac0d31 100644 (file)
@@ -1,10 +1,10 @@
 <rpc message-id="m-0" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <get>
-        <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
+        <filter type="subtree">
             <c xmlns="test:namespace">
                 <a/>
                 <b/>
             </c>
         </filter>
     </get>
-</rpc>
\ No newline at end of file
+</rpc>
index 92fe72863d809737c72e8502696bedde01270b71..620134d750047426d8234b99f127ea790708c04c 100644 (file)
@@ -1,8 +1,8 @@
 <rpc message-id="m-0" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <get>
-        <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
+        <filter type="subtree">
             <c xmlns="test:namespace"/>
             <e xmlns="test:namespace"/>
         </filter>
     </get>
-</rpc>
\ No newline at end of file
+</rpc>
index 334095abcf0900e208ddb23e9787d56f020779e5..7fae398b5cdffb75d4e396a3ce4584492d2a2539 100644 (file)
@@ -1,6 +1,6 @@
 <rpc message-id="m-0" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
     <get>
-        <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
+        <filter type="subtree">
             <c xmlns="test:namespace">
                 <a/>
                 <d>
@@ -12,4 +12,4 @@
             </e>
         </filter>
     </get>
-</rpc>
\ No newline at end of file
+</rpc>
index 7ebbe15526d1f5de40f521e87609f47ce2877e03..882c59b6a68082e2b52381d951b724d5e090e916 100644 (file)
@@ -11,8 +11,8 @@
         <source>
             <candidate/>
         </source>
-        <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
+        <filter type="subtree">
             <c xmlns="test:namespace"/>
         </filter>
     </get-config>
-</rpc>
\ No newline at end of file
+</rpc>
index 259b123bdf60ce2c4d3adcdf8595b73062256a28..72b6397830000f526ccdc02fd36310a3e979dd55 100644 (file)
@@ -3,7 +3,7 @@
         <source>
             <running/>
         </source>
-        <filter xmlns:a="urn:ietf:params:xml:ns:netconf:base:1.0" a:type="subtree">
+        <filter type="subtree">
             <modules xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
                 <module>
                     <type xmlns:x="urn:opendaylight:params:xml:ns:yang:controller:md:sal:connector:netconf">x:sal-netconf-connector</type>
index 4d71ba4ac92e49f8c8a840c74b72b6df666ab245..ec2fafe53cb9bcf72b685908e5fc2b019f642f01 100644 (file)
@@ -1,6 +1,6 @@
 <rpc xmlns="urn:ietf:params:xml:ns:netconf:base:1.0" message-id="m-10">
   <get-config>
-    <filter xmlns:ns0="urn:ietf:params:xml:ns:netconf:base:1.0" ns0:type="subtree">
+    <filter type="subtree">
       <services xmlns="urn:opendaylight:params:xml:ns:yang:controller:config">
         <service/>
       </services>