X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=netconf%2Fsal-netconf-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetconf%2Fsal%2Fconnect%2Fnetconf%2Fschema%2Fmapping%2FSchemalessMessageTransformer.java;h=d3b920a4244905248f66ccf0d2efe89b95f67b7b;hb=refs%2Fchanges%2F23%2F103723%2F3;hp=d2cb8d52267daaa3dd419890bf6ad41156c20c81;hpb=ddfdd7b56162e9c45639388b10407d45f5f0ba13;p=netconf.git diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformer.java index d2cb8d5226..d3b920a424 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformer.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformer.java @@ -7,39 +7,37 @@ */ package org.opendaylight.netconf.sal.connect.netconf.schema.mapping; -import java.util.Date; +import java.time.Instant; import java.util.Map; import javax.xml.transform.dom.DOMSource; -import org.opendaylight.controller.config.util.xml.MissingNameSpaceException; -import org.opendaylight.controller.config.util.xml.XmlElement; -import org.opendaylight.controller.md.sal.dom.api.DOMNotification; -import org.opendaylight.controller.md.sal.dom.api.DOMRpcResult; -import org.opendaylight.controller.md.sal.dom.spi.DefaultDOMRpcResult; +import org.opendaylight.mdsal.dom.api.DOMNotification; +import org.opendaylight.mdsal.dom.api.DOMRpcResult; +import org.opendaylight.mdsal.dom.spi.DefaultDOMRpcResult; import org.opendaylight.netconf.api.NetconfMessage; -import org.opendaylight.netconf.sal.connect.api.MessageTransformer; +import org.opendaylight.netconf.api.xml.MissingNameSpaceException; +import org.opendaylight.netconf.api.xml.XmlElement; +import org.opendaylight.netconf.sal.connect.api.NotificationTransformer; +import org.opendaylight.netconf.sal.connect.api.RpcTransformer; import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransformUtil; import org.opendaylight.netconf.sal.connect.util.MessageCounter; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; -import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.w3c.dom.Document; import org.w3c.dom.Element; /** * Transforms anyxml rpcs for schemaless netconf devices. */ -public class SchemalessMessageTransformer implements MessageTransformer { - - private static final YangInstanceIdentifier.NodeIdentifier REPLY_ID = - new YangInstanceIdentifier.NodeIdentifier(NetconfMessageTransformUtil.NETCONF_RPC_REPLY_QNAME); +public class SchemalessMessageTransformer implements NotificationTransformer, RpcTransformer { // 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 = - new YangInstanceIdentifier.NodeIdentifier(QName.create("schemaless-notification-payload")); + public static final NodeIdentifier SCHEMALESS_NOTIFICATION_PAYLOAD = + // FIXME: assign proper namespace + new NodeIdentifier(QName.create("", "schemaless-notification-payload")); private final MessageCounter counter; @@ -49,7 +47,7 @@ public class SchemalessMessageTransformer implements MessageTransformer stripped = NetconfMessageTransformUtil.stripNotification(message); + final Map.Entry stripped = NetconfMessageTransformUtil.stripNotification(message); final QName notificationNoRev; try { notificationNoRev = @@ -59,8 +57,8 @@ public class SchemalessMessageTransformer implements MessageTransformer input) { - final DOMSource payload = (DOMSource) input.getValue(); + public NetconfMessage toRpcRequest(final QName rpc, final NormalizedNode input) { + final DOMSource payload = (DOMSource) input.body(); wrapPayload((Document) payload.getNode()); - return new NetconfMessage(((Document) ((AnyXmlNode) input).getValue().getNode())); + return new NetconfMessage((Document) ((DOMSourceAnyxmlNode) input).body().getNode()); } /** @@ -86,18 +84,13 @@ public class SchemalessMessageTransformer implements MessageTransformer