From cee4ffb9ad70be2129dddd722086f2219f613115 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Mon, 2 Sep 2019 19:29:40 +0200 Subject: [PATCH] Bump yangtools to 4.0.1 This bumps yangtools to 4.0.1 as part of Magnesium MRI. Change-Id: I6228c73d31721c8427e7f456afd5ab3ff715c88b Signed-off-by: Robert Varga --- features/netconf/odl-netconf-api/pom.xml | 2 +- .../src/main/feature/feature.xml | 4 ++-- features/netconf/odl-netconf-util/pom.xml | 2 +- .../src/main/feature/feature.xml | 2 +- features/restconf/odl-restconf-common/pom.xml | 2 +- .../src/main/feature/feature.xml | 4 ++-- ...ingNormalizedNodeMetadataStreamWriter.java | 24 +++++++++++++------ ...nnectionNotificationTopicRegistration.java | 4 ++-- .../netconf/NetconfEventSource.java | 4 ++-- .../netconf/util/StreamingContext.java | 11 +++++---- .../connect/netconf/NetconfStateSchemas.java | 6 ++--- .../sal/SchemalessNetconfDeviceRpc.java | 4 ++-- ...NetconfRemoteSchemaYangSourceProvider.java | 6 ++--- .../mapping/BaseRpcSchemalessTransformer.java | 4 ++-- .../mapping/SchemalessMessageTransformer.java | 8 +++---- .../connect/netconf/util/NetconfBaseOps.java | 4 ++-- .../util/NetconfMessageTransformUtil.java | 4 ++-- .../util/NetconfRpcStructureTransformer.java | 13 +++++----- .../netconf/util/RpcStructureTransformer.java | 6 ++--- .../SchemalessRpcStructureTransformer.java | 15 ++++++------ .../netconf/sal/NetconfDeviceRpcTest.java | 4 ++-- .../BaseRpcSchemalessTransformerTest.java | 6 ++--- .../NetconfMessageTransformerTest.java | 10 ++++---- .../SchemalessMessageTransformerTest.java | 8 +++---- ...SchemalessRpcStructureTransformerTest.java | 13 +++++----- .../impl/DepthAwareNormalizedNodeWriter.java | 19 ++++++++++----- .../impl/NormalizedNodeJsonBodyWriter.java | 6 ++--- .../impl/NormalizedNodeXmlBodyWriter.java | 6 ++--- .../sal/restconf/impl/ControllerContext.java | 10 ++++---- .../restconf/impl/NormalizedDataPrunner.java | 4 ++-- .../netconf/sal/restconf/impl/RestCodec.java | 13 +++++----- .../restconf/impl/test/DummyRpcResult.java | 10 ++++---- .../test/JSONRestconfServiceImplTest.java | 5 ++-- .../impl/test/RestCodecExceptionsTest.java | 7 +++--- .../impl/InstanceIdentifierCodecImplTest.java | 3 +-- .../restconf/nb/rfc8040/codecs/RestCodec.java | 17 ++++++------- .../ParameterAwareNormalizedNodeWriter.java | 19 ++++++++++----- .../JSONRestconfServiceRfc8040ImplTest.java | 3 ++- .../utils/PostDataTransactionUtilTest.java | 6 ++--- ...angInstanceIdentifierDeserializerTest.java | 3 ++- .../rest/doc/maven/StaticDocGenerator.java | 4 ++-- .../sal/rest/doc/impl/ModelGenerator.java | 24 +++++++++---------- 42 files changed, 181 insertions(+), 148 deletions(-) diff --git a/features/netconf/odl-netconf-api/pom.xml b/features/netconf/odl-netconf-api/pom.xml index e771a2fc60..9f52743564 100644 --- a/features/netconf/odl-netconf-api/pom.xml +++ b/features/netconf/odl-netconf-api/pom.xml @@ -28,7 +28,7 @@ org.opendaylight.yangtools yangtools-artifacts - 3.0.5 + 4.0.1 pom import diff --git a/features/netconf/odl-netconf-api/src/main/feature/feature.xml b/features/netconf/odl-netconf-api/src/main/feature/feature.xml index 19a6a46e07..a3cc391761 100644 --- a/features/netconf/odl-netconf-api/src/main/feature/feature.xml +++ b/features/netconf/odl-netconf-api/src/main/feature/feature.xml @@ -8,8 +8,8 @@ --> - odl-netty-4 - odl-yangtools-parser-api + odl-netty-4 + odl-yangtools-parser-api odl-mdsal-model-rfc7895 odl-mdsal-model-rfc8342 diff --git a/features/netconf/odl-netconf-util/pom.xml b/features/netconf/odl-netconf-util/pom.xml index f82510eaa6..facefcc637 100644 --- a/features/netconf/odl-netconf-util/pom.xml +++ b/features/netconf/odl-netconf-util/pom.xml @@ -38,7 +38,7 @@ org.opendaylight.yangtools odl-yangtools-codec - 3.0.5 + 4.0.1 xml features diff --git a/features/netconf/odl-netconf-util/src/main/feature/feature.xml b/features/netconf/odl-netconf-util/src/main/feature/feature.xml index a14c497738..5ca797f5e2 100644 --- a/features/netconf/odl-netconf-util/src/main/feature/feature.xml +++ b/features/netconf/odl-netconf-util/src/main/feature/feature.xml @@ -11,6 +11,6 @@ mvn:org.opendaylight.netconf/netconf-util/${project.version}/cfg/config - odl-yangtools-codec + odl-yangtools-codec diff --git a/features/restconf/odl-restconf-common/pom.xml b/features/restconf/odl-restconf-common/pom.xml index 154001593c..8be85a50ee 100644 --- a/features/restconf/odl-restconf-common/pom.xml +++ b/features/restconf/odl-restconf-common/pom.xml @@ -28,7 +28,7 @@ org.opendaylight.yangtools yangtools-artifacts - 3.0.5 + 4.0.1 pom import diff --git a/features/restconf/odl-restconf-common/src/main/feature/feature.xml b/features/restconf/odl-restconf-common/src/main/feature/feature.xml index d2ac1d8e0f..342ceb01e5 100644 --- a/features/restconf/odl-restconf-common/src/main/feature/feature.xml +++ b/features/restconf/odl-restconf-common/src/main/feature/feature.xml @@ -8,8 +8,8 @@ --> - odl-karaf-feat-jetty - odl-yangtools-export + odl-karaf-feat-jetty + odl-yangtools-export odl-mdsal-model-rfc7895 diff --git a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/SplittingNormalizedNodeMetadataStreamWriter.java b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/SplittingNormalizedNodeMetadataStreamWriter.java index 147d8589ed..d00f365813 100644 --- a/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/SplittingNormalizedNodeMetadataStreamWriter.java +++ b/netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/SplittingNormalizedNodeMetadataStreamWriter.java @@ -24,7 +24,7 @@ import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.netconf.api.ModifyAction; import org.opendaylight.netconf.api.xml.XmlNetconfConstants; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.EditConfigInput; -import org.opendaylight.yangtools.rfc7952.data.api.NormalizedMetadataStreamWriter; +import org.opendaylight.yangtools.rfc7952.data.api.StreamWriterMetadataExtension; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -39,7 +39,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; final class SplittingNormalizedNodeMetadataStreamWriter implements NormalizedNodeStreamWriter, - NormalizedMetadataStreamWriter { + StreamWriterMetadataExtension { private static final Logger LOG = LoggerFactory.getLogger(SplittingNormalizedNodeMetadataStreamWriter.class); private static final QName OPERATION_ATTRIBUTE = QName.create(EditConfigInput.QNAME.getNamespace(), XmlNetconfConstants.OPERATION_ATTR_KEY); @@ -74,7 +74,7 @@ final class SplittingNormalizedNodeMetadataStreamWriter implements NormalizedNod @Override public ClassToInstanceMap getExtensions() { - return ImmutableClassToInstanceMap.of(NormalizedMetadataStreamWriter.class, this); + return ImmutableClassToInstanceMap.of(StreamWriterMetadataExtension.class, this); } @Override @@ -89,7 +89,7 @@ final class SplittingNormalizedNodeMetadataStreamWriter implements NormalizedNod writer.metadata(filterMeta(metadata)); } - private static ImmutableMap filterMeta(ImmutableMap metadata) { + private static ImmutableMap filterMeta(final ImmutableMap metadata) { // FIXME: also remove prefixed attributes? return ImmutableMap.copyOf(Maps.filterKeys(metadata, key -> !XmlParserStream.LEGACY_ATTRIBUTE_NAMESPACE.equals(key.getModule()))); @@ -168,10 +168,20 @@ final class SplittingNormalizedNodeMetadataStreamWriter implements NormalizedNod pushPath(identifier); } + @Override - public void startAnyxmlNode(final NodeIdentifier name) throws IOException { - writer.startAnyxmlNode(name); - pushPath(name); + public boolean startAnydataNode(final NodeIdentifier name, final Class objectModel) throws IOException { + // FIXME: add anydata support + return false; + } + + @Override + public boolean startAnyxmlNode(final NodeIdentifier name, final Class objectModel) throws IOException { + final boolean ret = writer.startAnyxmlNode(name, objectModel); + if (ret) { + pushPath(name); + } + return ret; } @Override diff --git a/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/ConnectionNotificationTopicRegistration.java b/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/ConnectionNotificationTopicRegistration.java index ba61ce6718..b0233b86a5 100644 --- a/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/ConnectionNotificationTopicRegistration.java +++ b/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/ConnectionNotificationTopicRegistration.java @@ -24,8 +24,8 @@ import org.opendaylight.yang.gen.v1.urn.cisco.params.xml.ns.yang.messagebus.even import org.opendaylight.yangtools.util.xml.UntrustedXML; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.slf4j.Logger; @@ -139,7 +139,7 @@ class ConnectionNotificationTopicRegistration extends NotificationTopicRegistrat return dn; } - private static AnyXmlNode encapsulate(final EventSourceStatusNotification notification) { + private static DOMSourceAnyxmlNode encapsulate(final EventSourceStatusNotification notification) { Document doc = UntrustedXML.newDocumentBuilder().newDocument(); final Element rootElement = XmlUtil.createElement(doc, "EventSourceStatusNotification", diff --git a/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSource.java b/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSource.java index b0362de220..a9da175733 100644 --- a/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSource.java +++ b/netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSource.java @@ -55,8 +55,8 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes; import org.opendaylight.yangtools.yang.model.api.NotificationDefinition; @@ -240,7 +240,7 @@ public class NetconfEventSource implements EventSource, DOMNotificationListener } } - private AnyXmlNode encapsulate(final DOMNotification body) { + private DOMSourceAnyxmlNode encapsulate(final DOMNotification body) { // FIXME: Introduce something like YangModeledAnyXmlNode in Yangtools final Document doc = XmlUtil.newDocument(); final Optional namespace = Optional.of(PAYLOAD_ARG.getNodeType().getNamespace().toString()); diff --git a/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/StreamingContext.java b/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/StreamingContext.java index 54029344fd..fa2dbe01d5 100644 --- a/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/StreamingContext.java +++ b/netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/StreamingContext.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; +import javax.xml.transform.dom.DOMSource; import org.opendaylight.yangtools.concepts.Identifiable; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; @@ -28,7 +29,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithV import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.util.DataSchemaContextNode; -import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; +import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationSchemaNode; import org.opendaylight.yangtools.yang.model.api.AugmentationTarget; import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode; @@ -78,8 +79,8 @@ abstract class StreamingContext implements Identifiable< return new Choice((ChoiceSchemaNode) potential); } else if (potential instanceof LeafListSchemaNode) { return fromLeafListSchemaNode((LeafListSchemaNode) potential); - } else if (potential instanceof AnyXmlSchemaNode) { - return new AnyXml((AnyXmlSchemaNode) potential); + } else if (potential instanceof AnyxmlSchemaNode) { + return new AnyXml((AnyxmlSchemaNode) potential); } return null; } @@ -236,14 +237,14 @@ abstract class StreamingContext implements Identifiable< } private static final class AnyXml extends AbstractSimple { - AnyXml(final AnyXmlSchemaNode schema) { + AnyXml(final AnyxmlSchemaNode schema) { super(NodeIdentifier.create(schema.getQName())); } @Override void streamToWriter(final NormalizedNodeStreamWriter writer, final PathArgument first, final Iterator others) throws IOException { - writer.startAnyxmlNode(getIdentifier()); + writer.startAnyxmlNode(getIdentifier(), DOMSource.class); // FIXME: why are we not emitting a value? writer.endNode(); } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemas.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemas.java index 913993b9cd..5c42b212db 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemas.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemas.java @@ -40,8 +40,8 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.mon import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.monitoring.rev101004.netconf.state.schemas.Schema; 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.schema.ContainerNode; +import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.LeafSetEntryNode; @@ -169,12 +169,12 @@ public final class NetconfStateSchemas implements NetconfDeviceSchemas { } final DataContainerChild rpcResult = rpcResultOpt.get(); - verify(rpcResult instanceof AnyXmlNode, "Unexpected result %s", rpcResult); + verify(rpcResult instanceof DOMSourceAnyxmlNode, "Unexpected result %s", rpcResult); final NormalizedNode dataNode; try { dataNode = NetconfUtil.transformDOMSourceToNormalizedNode(schemaContext, - ((AnyXmlNode) rpcResult).getValue()).getResult(); + ((DOMSourceAnyxmlNode) rpcResult).getValue()).getResult(); } catch (XMLStreamException | URISyntaxException | IOException | SAXException e) { LOG.warn("Failed to transform {}", rpcResult, e); return Optional.empty(); diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java index b9f89815c6..8fcf325f4d 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java @@ -27,7 +27,7 @@ import org.opendaylight.netconf.sal.connect.netconf.util.NetconfMessageTransform import org.opendaylight.netconf.sal.connect.util.RemoteDeviceId; import org.opendaylight.yangtools.concepts.ListenerRegistration; import org.opendaylight.yangtools.yang.common.RpcResult; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -54,7 +54,7 @@ public final class SchemalessNetconfDeviceRpc implements DOMRpcService { @Override public ListenableFuture invokeRpc(final SchemaPath type, final NormalizedNode input) { final MessageTransformer transformer; - if (input instanceof AnyXmlNode) { + if (input instanceof DOMSourceAnyxmlNode) { transformer = schemalessTransformer; } else if (isBaseRpc(type)) { transformer = baseRpcTransformer; diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProvider.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProvider.java index 726a657ca2..b6eed98eb6 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProvider.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProvider.java @@ -28,8 +28,8 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.netconf.mon import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.Revision; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -87,11 +87,11 @@ public final class NetconfRemoteSchemaYangSourceProvider implements SchemaSource } final Optional> child = ((ContainerNode) result).getChild(NETCONF_DATA_PATHARG); - checkState(child.isPresent() && child.get() instanceof AnyXmlNode, + checkState(child.isPresent() && child.get() instanceof DOMSourceAnyxmlNode, "%s Unexpected response to get-schema, expected response with one child %s, but was %s", id, NETCONF_DATA, result); - final DOMSource wrappedNode = ((AnyXmlNode) child.get()).getValue(); + final DOMSource wrappedNode = ((DOMSourceAnyxmlNode) child.get()).getValue(); final Element dataNode = (Element) requireNonNull(wrappedNode.getNode()); return Optional.of(dataNode.getTextContent().trim()); 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 17491a98a8..224ac0d88f 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,8 +24,8 @@ 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.schema.AnyXmlNode; 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.RpcDefinition; @@ -93,7 +93,7 @@ public class BaseRpcSchemalessTransformer implements MessageTransformer input) { final DOMSource payload = (DOMSource) input.getValue(); wrapPayload((Document) payload.getNode()); - return new NetconfMessage((Document) ((AnyXmlNode) input).getValue().getNode()); + return new NetconfMessage((Document) ((DOMSourceAnyxmlNode) input).getValue().getNode()); } /** @@ -86,7 +86,7 @@ public class SchemalessMessageTransformer implements MessageTransformer createEditConfigStrcture(final Optional> lastChild, final Optional operation, final YangInstanceIdentifier dataPath) { - final AnyXmlNode configContent = transformer.createEditConfigStructure(lastChild, dataPath, operation); + final DOMSourceAnyxmlNode configContent = transformer.createEditConfigStructure(lastChild, dataPath, operation); return Builders.choiceBuilder().withNodeIdentifier(EDIT_CONTENT_NODEID).withChild(configContent).build(); } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfMessageTransformUtil.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfMessageTransformUtil.java index 7552287a81..72af16fdf0 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfMessageTransformUtil.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfMessageTransformUtil.java @@ -61,8 +61,8 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; @@ -342,7 +342,7 @@ public final class NetconfMessageTransformUtil { return Builders.containerBuilder().withNodeIdentifier(name).withValue(ImmutableList.copyOf(node)).build(); } - public static AnyXmlNode createEditConfigAnyxml( + public static DOMSourceAnyxmlNode createEditConfigAnyxml( final SchemaContext ctx, final YangInstanceIdentifier dataPath, final Optional operation, final Optional> lastChildOverride) { diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcStructureTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcStructureTransformer.java index 4597af6784..5e444cc361 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcStructureTransformer.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcStructureTransformer.java @@ -14,7 +14,7 @@ import javax.xml.stream.XMLStreamException; import org.opendaylight.netconf.api.ModifyAction; import org.opendaylight.netconf.util.NetconfUtil; 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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes; @@ -40,10 +40,11 @@ class NetconfRpcStructureTransformer implements RpcStructureTransformer { public Optional> selectFromDataStructure( final DataContainerChild data, final YangInstanceIdentifier path) { - if (data instanceof AnyXmlNode) { + if (data instanceof DOMSourceAnyxmlNode) { final NormalizedNodeResult node; try { - node = NetconfUtil.transformDOMSourceToNormalizedNode(schemaContext, ((AnyXmlNode)data).getValue()); + node = NetconfUtil.transformDOMSourceToNormalizedNode(schemaContext, + ((DOMSourceAnyxmlNode)data).getValue()); return NormalizedNodes.findNode(node.getResult(), path.getPathArguments()); } catch (final XMLStreamException | URISyntaxException | IOException | SAXException e) { LOG.error("Cannot parse anyxml.", e); @@ -55,9 +56,9 @@ class NetconfRpcStructureTransformer implements RpcStructureTransformer { } @Override - public AnyXmlNode createEditConfigStructure(final Optional> data, - final YangInstanceIdentifier dataPath, - final Optional operation) { + public DOMSourceAnyxmlNode createEditConfigStructure(final Optional> data, + final YangInstanceIdentifier dataPath, + final Optional operation) { return NetconfMessageTransformUtil.createEditConfigAnyxml(schemaContext, dataPath, operation, data); } diff --git a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/RpcStructureTransformer.java b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/RpcStructureTransformer.java index ad1ffbaab2..17959667b3 100644 --- a/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/RpcStructureTransformer.java +++ b/netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/RpcStructureTransformer.java @@ -10,7 +10,7 @@ package org.opendaylight.netconf.sal.connect.netconf.util; import java.util.Optional; import org.opendaylight.netconf.api.ModifyAction; 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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -27,8 +27,8 @@ interface RpcStructureTransformer { * @param operation operation * @return config structure */ - AnyXmlNode createEditConfigStructure(Optional> data, - YangInstanceIdentifier dataPath, Optional operation); + DOMSourceAnyxmlNode createEditConfigStructure(Optional> data, + YangInstanceIdentifier dataPath, Optional operation); /** * Transforms path to filter structure. 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 4003ce37c2..936fdf2f86 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 @@ -28,7 +28,7 @@ import org.opendaylight.netconf.api.xml.XmlElement; import org.opendaylight.netconf.api.xml.XmlUtil; 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.schema.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; @@ -53,8 +53,9 @@ class SchemalessRpcStructureTransformer implements RpcStructureTransformer { public Optional> selectFromDataStructure( final DataContainerChild data, final YangInstanceIdentifier path) { - Preconditions.checkArgument(data instanceof AnyXmlNode); - final List xmlElements = selectMatchingNodes(getSourceElement(((AnyXmlNode)data).getValue()), path); + Preconditions.checkArgument(data instanceof DOMSourceAnyxmlNode); + final List xmlElements = selectMatchingNodes( + getSourceElement(((DOMSourceAnyxmlNode)data).getValue()), path); final Document result = XmlUtil.newDocument(); final Element dataElement = result.createElementNS(NETCONF_DATA_QNAME.getNamespace().toString(), NETCONF_DATA_QNAME.getLocalName()); @@ -62,7 +63,7 @@ class SchemalessRpcStructureTransformer implements RpcStructureTransformer { for (XmlElement xmlElement : xmlElements) { dataElement.appendChild(result.importNode(xmlElement.getDomElement(), true)); } - final AnyXmlNode resultAnyxml = Builders.anyXmlBuilder() + final DOMSourceAnyxmlNode resultAnyxml = Builders.anyXmlBuilder() .withNodeIdentifier(NETCONF_DATA_NODEID) .withValue(new DOMSource(result)) .build(); @@ -78,13 +79,13 @@ class SchemalessRpcStructureTransformer implements RpcStructureTransformer { * @return config structure */ @Override - public AnyXmlNode createEditConfigStructure(final Optional> data, + public DOMSourceAnyxmlNode createEditConfigStructure(final Optional> data, final YangInstanceIdentifier dataPath, final Optional operation) { Preconditions.checkArgument(data.isPresent()); - Preconditions.checkArgument(data.get() instanceof AnyXmlNode); + Preconditions.checkArgument(data.get() instanceof DOMSourceAnyxmlNode); - final AnyXmlNode anxmlData = (AnyXmlNode) data.get(); + final DOMSourceAnyxmlNode anxmlData = (DOMSourceAnyxmlNode) data.get(); final Document document = XmlUtil.newDocument(); final Element dataNode = (Element) document.importNode(getSourceElement(anxmlData.getValue()), true); checkDataValidForPath(dataPath, dataNode); diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java index 44b6ce7d87..9fdc31de1b 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java @@ -39,8 +39,8 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.RpcResult; import org.opendaylight.yangtools.yang.common.RpcResultBuilder; 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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; @@ -105,7 +105,7 @@ public class NetconfDeviceRpcTest { private static Node resolveNode(final DOMRpcResult result) { DataContainerChild value = ((ContainerNode) result.getResult()) .getChild(NetconfMessageTransformUtil.NETCONF_DATA_NODEID).get(); - Node node = ((AnyXmlNode)value).getValue().getNode(); + Node node = ((DOMSourceAnyxmlNode)value).getValue().getNode(); assertNotNull(node); return node; } diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java index 9e3fed657c..c5c1a6fb51 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java @@ -25,9 +25,9 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.re import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.netconf.base._1._0.rev110601.edit.config.input.target.config.target.Candidate; import org.opendaylight.yangtools.yang.common.Empty; 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.ChoiceNode; 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.DataContainerChild; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.model.api.SchemaPath; @@ -75,7 +75,7 @@ public class BaseRpcSchemalessTransformerTest { public void toRpcRequest() throws Exception { final Document doc = XmlUtil.readXmlToDocument(getClass().getResourceAsStream("/schemaless/edit-config/container.xml")); - final AnyXmlNode xml = Builders.anyXmlBuilder() + final DOMSourceAnyxmlNode xml = Builders.anyXmlBuilder() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier( NetconfMessageTransformUtil.NETCONF_CONFIG_QNAME)) .withValue(new DOMSource(doc.getDocumentElement())) @@ -123,7 +123,7 @@ public class BaseRpcSchemalessTransformerTest { Assert.assertEquals(NetconfMessageTransformUtil.NETCONF_RPC_REPLY_QNAME, rpcReply.getNodeType()); final Optional dataOpt = rpcReply.getChild(NetconfMessageTransformUtil.NETCONF_DATA_NODEID); Assert.assertTrue(dataOpt.isPresent()); - final AnyXmlNode data = (AnyXmlNode) dataOpt.get(); + final DOMSourceAnyxmlNode data = (DOMSourceAnyxmlNode) dataOpt.get(); final Diff diff = XMLUnit.compareXML(dataElement.getOwnerDocument(), (Document) data.getValue().getNode()); Assert.assertTrue(diff.toString(), diff.similar()); } diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java index 4a1fbc7bbf..dddd363003 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java @@ -72,8 +72,8 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.LeafNode; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; @@ -249,8 +249,8 @@ public class NetconfMessageTransformerTest { final DOMRpcResult compositeNodeRpcResult = transformer.toRpcResult(response, toPath(GET_SCHEMA_QNAME)); assertTrue(compositeNodeRpcResult.getErrors().isEmpty()); assertNotNull(compositeNodeRpcResult.getResult()); - final DOMSource schemaContent = - ((AnyXmlNode) ((ContainerNode) compositeNodeRpcResult.getResult()).getValue().iterator().next()).getValue(); + final DOMSource schemaContent = ((DOMSourceAnyxmlNode) ((ContainerNode) compositeNodeRpcResult.getResult()) + .getValue().iterator().next()).getValue(); assertThat(schemaContent.getNode().getTextContent(), CoreMatchers.containsString("Random YANG SCHEMA")); } @@ -292,8 +292,8 @@ public class NetconfMessageTransformerTest { final MapEntryNode schemaNode = Builders.mapEntryBuilder().withNodeIdentifier(identifierWithPredicates).withValue(values).build(); - final AnyXmlNode data = (AnyXmlNode) ((ContainerNode) compositeNodeRpcResult - .getResult()).getChild(toId(NETCONF_DATA_QNAME)).get(); + final DOMSourceAnyxmlNode data = (DOMSourceAnyxmlNode) ((ContainerNode) compositeNodeRpcResult.getResult()) + .getChild(toId(NETCONF_DATA_QNAME)).get(); NormalizedNodeResult nodeResult = NetconfUtil.transformDOMSourceToNormalizedNode(SCHEMA, data.getValue()); diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformerTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformerTest.java index dba6204402..2626180d5d 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformerTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformerTest.java @@ -21,7 +21,7 @@ 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.data.api.YangInstanceIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.w3c.dom.Document; @@ -66,8 +66,8 @@ public class SchemalessMessageTransformerTest { SchemalessMessageTransformer.SCHEMALESS_NOTIFICATION_PAYLOAD.getNodeType()); final QName qName = QName.create("org:opendaylight:notification:test:ns:yang:user-notification", "user-visited-page"); - final AnyXmlNode dataContainerChild = - (AnyXmlNode) domNotification.getBody().getChild(new YangInstanceIdentifier.NodeIdentifier(qName)).get(); + final DOMSourceAnyxmlNode dataContainerChild = (DOMSourceAnyxmlNode) domNotification.getBody() + .getChild(new YangInstanceIdentifier.NodeIdentifier(qName)).get(); final Diff diff = XMLUnit.compareXML(payload, dataContainerChild.getValue().getNode().getOwnerDocument()); Assert.assertTrue(diff.toString(), diff.similar()); @@ -76,7 +76,7 @@ public class SchemalessMessageTransformerTest { @Test public void toRpcRequest() throws Exception { final Node src = XmlUtil.readXmlToDocument("aaa"); - final AnyXmlNode input = Builders.anyXmlBuilder() + final DOMSourceAnyxmlNode input = Builders.anyXmlBuilder() .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TEST_RPC)) .withValue(new DOMSource(src)) .build(); diff --git a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformerTest.java b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformerTest.java index 1171726e91..8d030f699e 100644 --- a/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformerTest.java +++ b/netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformerTest.java @@ -33,7 +33,7 @@ import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.impl.schema.Builders; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -110,11 +110,11 @@ public class SchemalessRpcStructureTransformerTest { if (expectedException != null) { thrown.expect(expectedException); } - AnyXmlNode data = Builders.anyXmlBuilder() + DOMSourceAnyxmlNode data = Builders.anyXmlBuilder() .withNodeIdentifier(createNodeId(path.getLastPathArgument().getNodeType().getLocalName())) .withValue(source) .build(); - final AnyXmlNode anyXmlNode = + final DOMSourceAnyxmlNode anyXmlNode = adapter.createEditConfigStructure(Optional.of(data), path, Optional.of(ModifyAction.REPLACE)); final String s = XmlUtil.toString((Element) anyXmlNode.getValue().getNode()); Diff diff = new Diff(expectedConfig, s); @@ -123,7 +123,7 @@ public class SchemalessRpcStructureTransformerTest { @Test public void testToFilterStructure() throws Exception { - final AnyXmlNode anyXmlNode = (AnyXmlNode) adapter.toFilterStructure(path); + final DOMSourceAnyxmlNode anyXmlNode = (DOMSourceAnyxmlNode) adapter.toFilterStructure(path); final String s = XmlUtil.toString((Element) anyXmlNode.getValue().getNode()); Diff diff = new Diff(expectedFilter, s); Assert.assertTrue(String.format("Input %s: %s", testDataset, diff.toString()), diff.similar()); @@ -131,11 +131,12 @@ public class SchemalessRpcStructureTransformerTest { @Test public void testSelectFromDataStructure() throws Exception { - AnyXmlNode data = Builders.anyXmlBuilder() + DOMSourceAnyxmlNode data = Builders.anyXmlBuilder() .withNodeIdentifier(createNodeId(path.getLastPathArgument().getNodeType().getLocalName())) .withValue(new DOMSource(XmlUtil.readXmlToDocument(getConfigData).getDocumentElement())) .build(); - final AnyXmlNode dataStructure = (AnyXmlNode) adapter.selectFromDataStructure(data, path).get(); + final DOMSourceAnyxmlNode dataStructure = (DOMSourceAnyxmlNode) adapter.selectFromDataStructure(data, path) + .get(); final XmlElement s = XmlElement.fromDomDocument((Document) dataStructure.getValue().getNode()); final String dataFromReply = XmlUtil.toString(s.getOnlyChildElement().getDomElement()); final String expectedData = XmlUtil.toString((Element) source.getNode()); diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/DepthAwareNormalizedNodeWriter.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/DepthAwareNormalizedNodeWriter.java index 3834137e90..2128e0ee4c 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/DepthAwareNormalizedNodeWriter.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/DepthAwareNormalizedNodeWriter.java @@ -16,10 +16,11 @@ import java.util.Collection; import java.util.Map.Entry; import java.util.Optional; import java.util.Set; +import javax.xml.transform.dom.DOMSource; import org.opendaylight.netconf.sal.rest.api.RestconfNormalizedNodeWriter; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.schema.AnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -150,11 +151,17 @@ public class DepthAwareNormalizedNodeWriter implements RestconfNormalizedNodeWri writer.scalarValue(nodeAsLeaf.getValue()); writer.endNode(); return true; - } else if (node instanceof AnyXmlNode) { - final AnyXmlNode anyXmlNode = (AnyXmlNode)node; - writer.startAnyxmlNode(anyXmlNode.getIdentifier()); - writer.domSourceValue(anyXmlNode.getValue()); - writer.endNode(); + } else if (node instanceof AnyxmlNode) { + final AnyxmlNode anyxmlNode = (AnyxmlNode)node; + final Class objectModel = anyxmlNode.getValueObjectModel(); + if (writer.startAnyxmlNode(anyxmlNode.getIdentifier(), objectModel)) { + if (DOMSource.class.isAssignableFrom(objectModel)) { + writer.domSourceValue((DOMSource) anyxmlNode.getValue()); + } else { + writer.scalarValue(anyxmlNode.getValue()); + } + writer.endNode(); + } return true; } diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java index 85e480bd2c..1cc827c578 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java @@ -32,8 +32,8 @@ import org.opendaylight.netconf.util.NetconfUtil; import org.opendaylight.restconf.common.context.InstanceIdentifierContext; import org.opendaylight.restconf.common.context.NormalizedNodeContext; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -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.DOMSourceAnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild; import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -116,11 +116,11 @@ public class NormalizedNodeJsonBodyWriter implements MessageBodyWriter codec = RestCodec.from(leafNode.getType(), mount, this); + final IllegalArgumentCodec codec = RestCodec.from(leafNode.getType(), mount, this); // FIXME: UrlEncoder looks up a well-known charset, we need something that will use it directly return object == null ? "" : URLEncoder.encode(codec.serialize(object).toString(), URI_ENCODING_CHARSET.name()); } @@ -789,7 +789,7 @@ public final class ControllerContext implements SchemaContextListener, Closeable public static boolean isInstantiatedDataSchema(final DataSchemaNode node) { return node instanceof LeafSchemaNode || node instanceof LeafListSchemaNode || node instanceof ContainerSchemaNode || node instanceof ListSchemaNode - || node instanceof AnyXmlSchemaNode; + || node instanceof AnyxmlSchemaNode; } private void addKeyValue(final HashMap map, final DataSchemaNode node, final String uriValue, @@ -804,7 +804,7 @@ public final class ControllerContext implements SchemaContextListener, Closeable if (baseType instanceof LeafrefTypeDefinition) { typedef = SchemaContextUtil.getBaseTypeForLeafRef((LeafrefTypeDefinition) baseType, schemaContext, node); } - final Codec codec = RestCodec.from(typedef, mountPoint, this); + final IllegalArgumentCodec codec = RestCodec.from(typedef, mountPoint, this); Object decoded = codec.deserialize(urlDecoded); String additionalInfo = ""; if (decoded == null) { diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/NormalizedDataPrunner.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/NormalizedDataPrunner.java index 27b994aa38..f5f03af8ad 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/NormalizedDataPrunner.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/NormalizedDataPrunner.java @@ -12,7 +12,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.Augmentat import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.schema.AnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -39,7 +39,7 @@ class NormalizedDataPrunner { return node; } - if (node instanceof LeafNode || node instanceof LeafSetNode || node instanceof AnyXmlNode + if (node instanceof LeafNode || node instanceof LeafSetNode || node instanceof AnyxmlNode || node instanceof OrderedLeafSetNode) { return node; } else if (node instanceof MixinNode) { diff --git a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestCodec.java b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestCodec.java index f89a5489b6..b42d45993b 100644 --- a/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestCodec.java +++ b/restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestCodec.java @@ -21,7 +21,7 @@ import org.opendaylight.restconf.common.util.IdentityValuesDTO; import org.opendaylight.restconf.common.util.IdentityValuesDTO.IdentityValue; import org.opendaylight.restconf.common.util.IdentityValuesDTO.Predicate; import org.opendaylight.restconf.common.util.RestUtil; -import org.opendaylight.yangtools.concepts.Codec; +import org.opendaylight.yangtools.concepts.IllegalArgumentCodec; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -51,21 +51,22 @@ public final class RestCodec { private RestCodec() { } - public static Codec from(final TypeDefinition typeDefinition, + // FIXME: IllegalArgumentCodec is not quite accurate + public static IllegalArgumentCodec from(final TypeDefinition typeDefinition, final DOMMountPoint mountPoint, final ControllerContext controllerContext) { return new ObjectCodec(typeDefinition, mountPoint, controllerContext); } @SuppressWarnings("rawtypes") - public static final class ObjectCodec implements Codec { + public static final class ObjectCodec implements IllegalArgumentCodec { private static final Logger LOG = LoggerFactory.getLogger(ObjectCodec.class); - public static final Codec LEAFREF_DEFAULT_CODEC = new LeafrefCodecImpl(); + public static final IllegalArgumentCodec LEAFREF_DEFAULT_CODEC = new LeafrefCodecImpl(); private final ControllerContext controllerContext; - private final Codec instanceIdentifier; - private final Codec identityrefCodec; + private final IllegalArgumentCodec instanceIdentifier; + private final IllegalArgumentCodec identityrefCodec; private final TypeDefinition type; diff --git a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/DummyRpcResult.java b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/DummyRpcResult.java index 184f5755fb..ff0193745f 100644 --- a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/DummyRpcResult.java +++ b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/DummyRpcResult.java @@ -7,7 +7,7 @@ */ package org.opendaylight.controller.sal.restconf.impl.test; -import java.util.Collection; +import java.util.List; import org.opendaylight.yangtools.yang.common.RpcError; import org.opendaylight.yangtools.yang.common.RpcResult; @@ -15,7 +15,7 @@ public class DummyRpcResult implements RpcResult { private final boolean isSuccessful; private final T result; - private final Collection errors; + private final List errors; public DummyRpcResult() { isSuccessful = false; @@ -40,14 +40,14 @@ public class DummyRpcResult implements RpcResult { } @Override - public Collection getErrors() { + public List getErrors() { return errors; } public static class Builder { private boolean isSuccessful; private T result; - private Collection errors; + private List errors; public Builder isSuccessful(final boolean successful) { this.isSuccessful = successful; @@ -59,7 +59,7 @@ public class DummyRpcResult implements RpcResult { return this; } - public Builder errors(final Collection newErrors) { + public Builder errors(final List newErrors) { this.errors = newErrors; return this; } diff --git a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/JSONRestconfServiceImplTest.java b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/JSONRestconfServiceImplTest.java index 6ea560fc3e..18c7be7a02 100644 --- a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/JSONRestconfServiceImplTest.java +++ b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/JSONRestconfServiceImplTest.java @@ -56,6 +56,7 @@ import org.opendaylight.restconf.common.patch.PatchStatusContext; import org.opendaylight.restconf.common.patch.PatchStatusEntity; import org.opendaylight.yangtools.yang.common.OperationFailedException; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -432,7 +433,7 @@ public class JSONRestconfServiceImplTest { assertTrue("Expected ContainerNode. Actual " + capturedNode.getValue().getClass(), capturedNode.getValue() instanceof ContainerNode); final ContainerNode actualNode = (ContainerNode) capturedNode.getValue(); - verifyLeafNode(actualNode, TOASTER_DONENESS_QNAME, 10L); + verifyLeafNode(actualNode, TOASTER_DONENESS_QNAME, Uint32.valueOf(10)); verifyLeafNode(actualNode, TOASTER_TYPE_QNAME, WHEAT_BREAD_QNAME); } @@ -525,7 +526,7 @@ public class JSONRestconfServiceImplTest { void verifyLeafNode(final DataContainerNode parent, final QName leafType, final Object leafValue) { final java.util.Optional> leafChild = parent.getChild(new NodeIdentifier(leafType)); - assertEquals(leafType.toString() + " present", true, leafChild.isPresent()); + assertTrue(leafType.toString() + " present", leafChild.isPresent()); assertEquals(leafType.toString() + " value", leafValue, leafChild.get().getValue()); } diff --git a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestCodecExceptionsTest.java b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestCodecExceptionsTest.java index c91a61badb..6a922dc898 100644 --- a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestCodecExceptionsTest.java +++ b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestCodecExceptionsTest.java @@ -13,7 +13,7 @@ import static org.mockito.Mockito.mock; import org.junit.Test; import org.opendaylight.netconf.sal.restconf.impl.RestCodec; -import org.opendaylight.yangtools.concepts.Codec; +import org.opendaylight.yangtools.concepts.IllegalArgumentCodec; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.type.IdentityrefTypeDefinition; @@ -25,7 +25,8 @@ public class RestCodecExceptionsTest { @Test public void serializeExceptionTest() { - final Codec codec = RestCodec.from(BaseTypes.bitsTypeBuilder(PATH).build(), null, null); + final IllegalArgumentCodec codec = RestCodec.from(BaseTypes.bitsTypeBuilder(PATH).build(), + null, null); final String serializedValue = (String) codec.serialize("incorrect value"); // set // expected assertEquals("incorrect value", serializedValue); @@ -35,7 +36,7 @@ public class RestCodecExceptionsTest { public void deserializeExceptionTest() { final IdentityrefTypeDefinition mockedIidentityrefType = mock(IdentityrefTypeDefinition.class); - final Codec codec = RestCodec.from(mockedIidentityrefType, null, null); + final IllegalArgumentCodec codec = RestCodec.from(mockedIidentityrefType, null, null); assertNull(codec.deserialize("incorrect value")); } diff --git a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/netconf/sal/restconf/impl/InstanceIdentifierCodecImplTest.java b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/netconf/sal/restconf/impl/InstanceIdentifierCodecImplTest.java index 441be7bce6..e85efe1f0d 100644 --- a/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/netconf/sal/restconf/impl/InstanceIdentifierCodecImplTest.java +++ b/restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/netconf/sal/restconf/impl/InstanceIdentifierCodecImplTest.java @@ -17,7 +17,6 @@ import org.junit.Test; import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils; import org.opendaylight.netconf.sal.restconf.impl.RestCodec.InstanceIdentifierCodecImpl; import org.opendaylight.restconf.common.util.IdentityValuesDTO; -import org.opendaylight.yangtools.concepts.Codec; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -27,7 +26,7 @@ import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils; public class InstanceIdentifierCodecImplTest { private static SchemaContext schemaContext; - private Codec instanceIdentifierDTO; + private InstanceIdentifierCodecImpl instanceIdentifierDTO; private YangInstanceIdentifier instanceIdentifierBadNamespace; private YangInstanceIdentifier instanceIdentifierOKList; private YangInstanceIdentifier instanceIdentifierOKLeafList; diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/RestCodec.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/RestCodec.java index 9f4a9c25e7..99257930d8 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/RestCodec.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/RestCodec.java @@ -24,7 +24,7 @@ import org.opendaylight.restconf.common.util.IdentityValuesDTO; import org.opendaylight.restconf.common.util.IdentityValuesDTO.IdentityValue; import org.opendaylight.restconf.common.util.IdentityValuesDTO.Predicate; import org.opendaylight.restconf.common.util.RestUtil; -import org.opendaylight.yangtools.concepts.Codec; +import org.opendaylight.yangtools.concepts.IllegalArgumentCodec; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -35,7 +35,7 @@ import org.opendaylight.yangtools.yang.data.api.codec.IdentityrefCodec; import org.opendaylight.yangtools.yang.data.api.codec.InstanceIdentifierCodec; import org.opendaylight.yangtools.yang.data.api.codec.LeafrefCodec; import org.opendaylight.yangtools.yang.data.impl.codec.TypeDefinitionAwareCodec; -import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; +import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.CaseSchemaNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; @@ -60,19 +60,20 @@ public final class RestCodec { private RestCodec() { } - public static Codec from(final TypeDefinition typeDefinition, + // FIXME: IllegalArgumentCodec is not quite accurate + public static IllegalArgumentCodec from(final TypeDefinition typeDefinition, final DOMMountPoint mountPoint, final SchemaContext schemaContext) { return new ObjectCodec(typeDefinition, mountPoint, schemaContext); } @SuppressWarnings("rawtypes") - public static final class ObjectCodec implements Codec { + public static final class ObjectCodec implements IllegalArgumentCodec { private static final Logger LOG = LoggerFactory.getLogger(ObjectCodec.class); - public static final Codec LEAFREF_DEFAULT_CODEC = new LeafrefCodecImpl(); - private final Codec instanceIdentifier; - private final Codec identityrefCodec; + public static final IllegalArgumentCodec LEAFREF_DEFAULT_CODEC = new LeafrefCodecImpl(); + private final IllegalArgumentCodec instanceIdentifier; + private final IllegalArgumentCodec identityrefCodec; private final TypeDefinition type; @@ -427,6 +428,6 @@ public final class RestCodec { private static boolean isInstantiatedDataSchema(final DataSchemaNode node) { return node instanceof LeafSchemaNode || node instanceof LeafListSchemaNode || node instanceof ContainerSchemaNode || node instanceof ListSchemaNode - || node instanceof AnyXmlSchemaNode; + || node instanceof AnyxmlSchemaNode; } } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/ParameterAwareNormalizedNodeWriter.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/ParameterAwareNormalizedNodeWriter.java index 516b799df8..64b3056393 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/ParameterAwareNormalizedNodeWriter.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/ParameterAwareNormalizedNodeWriter.java @@ -18,10 +18,11 @@ import java.util.List; import java.util.Map.Entry; import java.util.Optional; import java.util.Set; +import javax.xml.transform.dom.DOMSource; import org.opendaylight.restconf.nb.rfc8040.jersey.providers.api.RestconfNormalizedNodeWriter; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; -import org.opendaylight.yangtools.yang.data.api.schema.AnyXmlNode; +import org.opendaylight.yangtools.yang.data.api.schema.AnyxmlNode; import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode; import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; @@ -162,11 +163,17 @@ public class ParameterAwareNormalizedNodeWriter implements RestconfNormalizedNod writer.scalarValue(nodeAsLeaf.getValue()); writer.endNode(); return true; - } else if (node instanceof AnyXmlNode) { - final AnyXmlNode anyXmlNode = (AnyXmlNode)node; - writer.startAnyxmlNode(anyXmlNode.getIdentifier()); - writer.domSourceValue(anyXmlNode.getValue()); - writer.endNode(); + } else if (node instanceof AnyxmlNode) { + final AnyxmlNode anyxmlNode = (AnyxmlNode)node; + final Class objectModel = anyxmlNode.getValueObjectModel(); + if (writer.startAnyxmlNode(anyxmlNode.getIdentifier(), objectModel)) { + if (DOMSource.class.isAssignableFrom(objectModel)) { + writer.domSourceValue((DOMSource) anyxmlNode.getValue()); + } else { + writer.scalarValue(anyxmlNode.getValue()); + } + writer.endNode(); + } return true; } diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040ImplTest.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040ImplTest.java index c15d545c89..8460fef39a 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040ImplTest.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040ImplTest.java @@ -69,6 +69,7 @@ import org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler; import org.opendaylight.restconf.nb.rfc8040.services.wrapper.ServicesWrapper; import org.opendaylight.yangtools.yang.common.OperationFailedException; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -492,7 +493,7 @@ public class JSONRestconfServiceRfc8040ImplTest { assertTrue("Expected ContainerNode. Actual " + capturedNode.getValue().getClass(), capturedNode.getValue() instanceof ContainerNode); final ContainerNode actualNode = (ContainerNode) capturedNode.getValue(); - verifyLeafNode(actualNode, TOASTER_DONENESS_QNAME, 10L); + verifyLeafNode(actualNode, TOASTER_DONENESS_QNAME, Uint32.valueOf(10L)); verifyLeafNode(actualNode, TOASTER_TYPE_QNAME, WHEAT_BREAD_QNAME); } diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PostDataTransactionUtilTest.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PostDataTransactionUtilTest.java index 922c566136..73263156b8 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PostDataTransactionUtilTest.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PostDataTransactionUtilTest.java @@ -16,6 +16,7 @@ import static org.mockito.Mockito.verify; import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFailedFluentFuture; import static org.opendaylight.yangtools.util.concurrent.FluentFutures.immediateFalseFluentFuture; +import java.util.Collection; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriBuilder; import javax.ws.rs.core.UriInfo; @@ -38,7 +39,6 @@ import org.opendaylight.restconf.nb.rfc8040.TestRestconfUtils; import org.opendaylight.restconf.nb.rfc8040.handlers.TransactionChainHandler; import org.opendaylight.restconf.nb.rfc8040.references.SchemaContextRef; import org.opendaylight.restconf.nb.rfc8040.rests.transactions.TransactionVarsWrapper; -import org.opendaylight.yangtools.util.SingletonSet; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -145,7 +145,7 @@ public class PostDataTransactionUtilTest { doReturn(immediateFalseFluentFuture()).when(this.readWrite).exists(LogicalDatastoreType.CONFIGURATION, this.iid2); final NodeIdentifier identifier = - ((ContainerNode) ((SingletonSet) payload.getData().getValue()).iterator().next()).getIdentifier(); + ((ContainerNode) ((Collection) payload.getData().getValue()).iterator().next()).getIdentifier(); final YangInstanceIdentifier node = payload.getInstanceIdentifierContext().getInstanceIdentifier().node(identifier); doReturn(immediateFalseFluentFuture()).when(this.readWrite).exists(LogicalDatastoreType.CONFIGURATION, node); @@ -192,7 +192,7 @@ public class PostDataTransactionUtilTest { doReturn(immediateFalseFluentFuture()).when(this.readWrite).exists(LogicalDatastoreType.CONFIGURATION, this.iid2); final NodeIdentifier identifier = - ((ContainerNode) ((SingletonSet) payload.getData().getValue()).iterator().next()).getIdentifier(); + ((ContainerNode) ((Collection) payload.getData().getValue()).iterator().next()).getIdentifier(); final YangInstanceIdentifier node = payload.getInstanceIdentifierContext().getInstanceIdentifier().node(identifier); doReturn(immediateFalseFluentFuture()).when(this.readWrite).exists(LogicalDatastoreType.CONFIGURATION, node); diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/YangInstanceIdentifierDeserializerTest.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/YangInstanceIdentifierDeserializerTest.java index 58e6a44e8a..7c5d9ead44 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/YangInstanceIdentifierDeserializerTest.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/YangInstanceIdentifierDeserializerTest.java @@ -26,6 +26,7 @@ import org.opendaylight.restconf.common.errors.RestconfDocumentedException; import org.opendaylight.restconf.common.errors.RestconfError; import org.opendaylight.restconf.nb.rfc8040.TestRestconfUtils; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.common.Uint8; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -511,7 +512,7 @@ public class YangInstanceIdentifierDeserializerTest { ((NodeIdentifierWithPredicates)result.getLastPathArgument()).entrySet().iterator(); assertEquals(":foo", resultListKeys.next().getValue()); - assertEquals(new Short("1"), resultListKeys.next().getValue()); + assertEquals(Uint8.ONE, resultListKeys.next().getValue()); assertEquals(true, resultListKeys.next().getValue()); } diff --git a/restconf/sal-rest-docgen-maven/src/main/java/org/opendaylight/netconf/sal/rest/doc/maven/StaticDocGenerator.java b/restconf/sal-rest-docgen-maven/src/main/java/org/opendaylight/netconf/sal/rest/doc/maven/StaticDocGenerator.java index 8f3859c189..86463ca402 100644 --- a/restconf/sal-rest-docgen-maven/src/main/java/org/opendaylight/netconf/sal/rest/doc/maven/StaticDocGenerator.java +++ b/restconf/sal-rest-docgen-maven/src/main/java/org/opendaylight/netconf/sal/rest/doc/maven/StaticDocGenerator.java @@ -27,8 +27,8 @@ import org.opendaylight.netconf.sal.rest.doc.impl.BaseYangSwaggerGeneratorDraft0 import org.opendaylight.netconf.sal.rest.doc.swagger.ApiDeclaration; import org.opendaylight.netconf.sal.rest.doc.swagger.Resource; import org.opendaylight.netconf.sal.rest.doc.swagger.ResourceList; +import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext; import org.opendaylight.yangtools.yang.model.api.Module; -import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang2sources.spi.BasicCodeGenerator; import org.opendaylight.yangtools.yang2sources.spi.MavenProjectAware; import org.slf4j.Logger; @@ -50,7 +50,7 @@ public class StaticDocGenerator extends BaseYangSwaggerGeneratorDraft02 @Override @SuppressFBWarnings("DM_DEFAULT_ENCODING") - public Collection generateSources(final SchemaContext context, final File outputBaseDir, + public Collection generateSources(final EffectiveModelContext context, final File outputBaseDir, final Set currentModules, final Function> moduleResourcePathResolver) throws IOException { List result = new ArrayList<>(); diff --git a/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ModelGenerator.java b/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ModelGenerator.java index 3b845f91e6..ddb9e14807 100644 --- a/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ModelGenerator.java +++ b/restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ModelGenerator.java @@ -25,8 +25,8 @@ import java.util.regex.Pattern; import org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder; import org.opendaylight.netconf.sal.rest.doc.model.builder.OperationBuilder.Post; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.AnyDataSchemaNode; -import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; +import org.opendaylight.yangtools.yang.model.api.AnydataSchemaNode; +import org.opendaylight.yangtools.yang.model.api.AnyxmlSchemaNode; import org.opendaylight.yangtools.yang.model.api.ChoiceSchemaNode; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; @@ -339,11 +339,11 @@ public class ModelGenerator { } continue; - } else if (node instanceof AnyXmlSchemaNode) { - property = processAnyXMLNode((AnyXmlSchemaNode) node); + } else if (node instanceof AnyxmlSchemaNode) { + property = processAnyXMLNode((AnyxmlSchemaNode) node); - } else if (node instanceof AnyDataSchemaNode) { - property = processAnydataNode((AnyDataSchemaNode) node); + } else if (node instanceof AnydataSchemaNode) { + property = processAnydataNode((AnydataSchemaNode) node); } else if (node instanceof ContainerSchemaNode) { property = processDataNodeContainer((ContainerSchemaNode) node, parentName, models, isConfig, @@ -411,11 +411,11 @@ public class ModelGenerator { } continue; - } else if (node instanceof AnyXmlSchemaNode) { - property = processAnyXMLNode((AnyXmlSchemaNode) node); + } else if (node instanceof AnyxmlSchemaNode) { + property = processAnyXMLNode((AnyxmlSchemaNode) node); - } else if (node instanceof AnyDataSchemaNode) { - property = processAnydataNode((AnyDataSchemaNode) node); + } else if (node instanceof AnydataSchemaNode) { + property = processAnydataNode((AnydataSchemaNode) node); } else if (node instanceof ContainerSchemaNode) { property = processDataNodeContainer((ContainerSchemaNode) node, moduleName, models, isConfig, @@ -457,7 +457,7 @@ public class ModelGenerator { return property; } - private static ObjectNode processAnydataNode(final AnyDataSchemaNode leafNode) { + private static ObjectNode processAnydataNode(final AnydataSchemaNode leafNode) { final ObjectNode property = JsonNodeFactory.instance.objectNode(); final String leafDescription = leafNode.getDescription().orElse(null); @@ -470,7 +470,7 @@ public class ModelGenerator { return property; } - private static ObjectNode processAnyXMLNode(final AnyXmlSchemaNode leafNode) { + private static ObjectNode processAnyXMLNode(final AnyxmlSchemaNode leafNode) { final ObjectNode property = JsonNodeFactory.instance.objectNode(); final String leafDescription = leafNode.getDescription().orElse(null); -- 2.36.6