From: Robert Varga Date: Thu, 30 May 2019 13:55:28 +0000 (+0200) Subject: Cleanup NodeIdentifier instantiation X-Git-Tag: release/sodium~50 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=da96605b2c0ef0d5393b28cbb1d2aa39109f88ee;p=netconf.git Cleanup NodeIdentifier instantiation We have pre-computed NodeIdentifier instances for most cases where we are using just a QName. This patch exposes constants and makes sure we rely on them. Change-Id: I8165e1679773c1ba390a17008061e2e0574f0e8f Signed-off-by: Robert Varga --- diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformer.java index 5bc655cb93..17491a98a8 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformer.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformer.java @@ -24,7 +24,6 @@ import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransform import org.opendaylight.netconf.sal.connect.util.MessageCounter; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangConstants; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -100,8 +99,7 @@ public class BaseRpcSchemalessTransformer implements MessageTransformer { - - private static final YangInstanceIdentifier.NodeIdentifier REPLY_ID = - new YangInstanceIdentifier.NodeIdentifier(NetconfMessageTransformUtil.NETCONF_RPC_REPLY_QNAME); // TODO maybe we should move this somewhere else as this // might be used in applications using schemaless mountpoints - public static final YangInstanceIdentifier.NodeIdentifier SCHEMALESS_NOTIFICATION_PAYLOAD = + public static final NodeIdentifier SCHEMALESS_NOTIFICATION_PAYLOAD = // FIXME: assign proper namespace - new YangInstanceIdentifier.NodeIdentifier(QName.create("", "schemaless-notification-payload")); + new NodeIdentifier(QName.create("", "schemaless-notification-payload")); private final MessageCounter counter; @@ -61,7 +58,7 @@ public class SchemalessMessageTransformer implements MessageTransformer EMPTY_FILTER; diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformer.java index 32390607b8..cb5a401419 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformer.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformer.java @@ -11,6 +11,9 @@ import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTr import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_CONFIG_QNAME; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_DATA_NODEID; import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_DATA_QNAME; +import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_FILTER_NODEID; +import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_FILTER_QNAME; +import static org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil.NETCONF_OPERATION_QNAME; import com.google.common.base.Preconditions; import java.util.Collections; @@ -121,16 +124,15 @@ class SchemalessRpcStructureTransformer implements RpcStructureTransformer { @Override public DataContainerChild toFilterStructure(final YangInstanceIdentifier path) { final Document document = XmlUtil.newDocument(); - final QName filterQname = NetconfMessageTransformUtil.NETCONF_FILTER_QNAME; - final Element filter = - document.createElementNS(filterQname.getNamespace().toString(), filterQname.getLocalName()); - final Attr a = document.createAttributeNS(filterQname.getNamespace().toString(), "type"); + final String filterNs = NETCONF_FILTER_QNAME.getNamespace().toString(); + final Element filter = document.createElementNS(filterNs, NETCONF_FILTER_QNAME.getLocalName()); + final Attr a = document.createAttributeNS(filterNs, "type"); a.setTextContent("subtree"); filter.setAttributeNode(a); document.appendChild(filter); instanceIdToXmlStructure(path.getPathArguments(), filter); return Builders.anyXmlBuilder() - .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(filterQname)) + .withNodeIdentifier(NETCONF_FILTER_NODEID) .withValue(new DOMSource(document.getDocumentElement())) .build(); } @@ -184,9 +186,8 @@ class SchemalessRpcStructureTransformer implements RpcStructureTransformer { private static void setOperationAttribute(final Optional operation, final Document document, final Element dataNode) { - final QName operationQname = NetconfMessageTransformUtil.NETCONF_OPERATION_QNAME; - final Attr operationAttribute = - document.createAttributeNS(operationQname.getNamespace().toString(), operationQname.getLocalName()); + final Attr operationAttribute = document.createAttributeNS(NETCONF_OPERATION_QNAME.getNamespace().toString(), + NETCONF_OPERATION_QNAME.getLocalName()); operationAttribute.setTextContent(toOperationString(operation.get())); dataNode.setAttributeNode(operationAttribute); }