Bump yangtools to 4.0.1 46/84146/40
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 2 Sep 2019 17:29:40 +0000 (19:29 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 10 Oct 2019 07:38:56 +0000 (09:38 +0200)
This bumps yangtools to 4.0.1 as part of Magnesium MRI.

Change-Id: I6228c73d31721c8427e7f456afd5ab3ff715c88b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
42 files changed:
features/netconf/odl-netconf-api/pom.xml
features/netconf/odl-netconf-api/src/main/feature/feature.xml
features/netconf/odl-netconf-util/pom.xml
features/netconf/odl-netconf-util/src/main/feature/feature.xml
features/restconf/odl-restconf-common/pom.xml
features/restconf/odl-restconf-common/src/main/feature/feature.xml
netconf/mdsal-netconf-connector/src/main/java/org/opendaylight/netconf/mdsal/connector/ops/SplittingNormalizedNodeMetadataStreamWriter.java
netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/ConnectionNotificationTopicRegistration.java
netconf/messagebus-netconf/src/main/java/org/opendaylight/netconf/messagebus/eventsources/netconf/NetconfEventSource.java
netconf/netconf-util/src/main/java/org/opendaylight/netconf/util/StreamingContext.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/NetconfStateSchemas.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/sal/SchemalessNetconfDeviceRpc.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/NetconfRemoteSchemaYangSourceProvider.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformer.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformer.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfBaseOps.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfMessageTransformUtil.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/NetconfRpcStructureTransformer.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/RpcStructureTransformer.java
netconf/sal-netconf-connector/src/main/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformer.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/sal/NetconfDeviceRpcTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/BaseRpcSchemalessTransformerTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/NetconfMessageTransformerTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/schema/mapping/SchemalessMessageTransformerTest.java
netconf/sal-netconf-connector/src/test/java/org/opendaylight/netconf/sal/connect/netconf/util/SchemalessRpcStructureTransformerTest.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/DepthAwareNormalizedNodeWriter.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeJsonBodyWriter.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/rest/impl/NormalizedNodeXmlBodyWriter.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/ControllerContext.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/NormalizedDataPrunner.java
restconf/restconf-nb-bierman02/src/main/java/org/opendaylight/netconf/sal/restconf/impl/RestCodec.java
restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/DummyRpcResult.java
restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/JSONRestconfServiceImplTest.java
restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/controller/sal/restconf/impl/test/RestCodecExceptionsTest.java
restconf/restconf-nb-bierman02/src/test/java/org/opendaylight/netconf/sal/restconf/impl/InstanceIdentifierCodecImplTest.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/codecs/RestCodec.java
restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/ParameterAwareNormalizedNodeWriter.java
restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/JSONRestconfServiceRfc8040ImplTest.java
restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PostDataTransactionUtilTest.java
restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/utils/parser/YangInstanceIdentifierDeserializerTest.java
restconf/sal-rest-docgen-maven/src/main/java/org/opendaylight/netconf/sal/rest/doc/maven/StaticDocGenerator.java
restconf/sal-rest-docgen/src/main/java/org/opendaylight/netconf/sal/rest/doc/impl/ModelGenerator.java

index e771a2fc60c2722b357bf8d67359aab68746cedb..9f52743564adcabb47a4bf8d34c9fc8fb71715dc 100644 (file)
@@ -28,7 +28,7 @@
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>3.0.5</version>
+                <version>4.0.1</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index 19a6a46e078120670bf98946ec194489da482723..a3cc3917611379edceb3a84a53680a1e3395bba2 100644 (file)
@@ -8,8 +8,8 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-${project.version}">
     <feature name="odl-netconf-api" version="${project.version}">
-        <feature version="[5,6)">odl-netty-4</feature>
-        <feature version="[3,4)">odl-yangtools-parser-api</feature>
+        <feature version="[6,7)">odl-netty-4</feature>
+        <feature version="[4,5)">odl-yangtools-parser-api</feature>
         <feature version="[2,3)">odl-mdsal-model-rfc7895</feature>
         <feature version="[2,3)">odl-mdsal-model-rfc8342</feature>
     </feature>
index f82510eaa62fe4cc95698934dbe9f71994a4f7b9..facefcc6379bae620ae0260a7e51b621a0281c23 100644 (file)
@@ -38,7 +38,7 @@
         <dependency>
             <groupId>org.opendaylight.yangtools</groupId>
             <artifactId>odl-yangtools-codec</artifactId>
-            <version>3.0.5</version>
+            <version>4.0.1</version>
             <type>xml</type>
             <classifier>features</classifier>
         </dependency>
index a14c497738ab8e957345a31df1d67e447d60777d..5ca797f5e21e8f2913de0043c1b49aef0da9927a 100644 (file)
@@ -11,6 +11,6 @@
         <configfile finalname="etc/netconf.cfg">
             mvn:org.opendaylight.netconf/netconf-util/${project.version}/cfg/config
         </configfile>
-        <feature version="[3,4)">odl-yangtools-codec</feature>
+        <feature version="[4,5)">odl-yangtools-codec</feature>
     </feature>
 </features>
index 154001593c6dd1a96e827a0112589456e1b62882..8be85a50ee95202af302994c2f44c9c860f4c705 100644 (file)
@@ -28,7 +28,7 @@
             <dependency>
                 <groupId>org.opendaylight.yangtools</groupId>
                 <artifactId>yangtools-artifacts</artifactId>
-                <version>3.0.5</version>
+                <version>4.0.1</version>
                 <type>pom</type>
                 <scope>import</scope>
             </dependency>
index d2ac1d8e0f8985bdb0f6a28898c92ea1492903d1..342ceb01e5c7db3743a6d261db06501e1801c98b 100644 (file)
@@ -8,8 +8,8 @@
   -->
 <features xmlns="http://karaf.apache.org/xmlns/features/v1.4.0" name="odl-netconf-${project.version}">
     <feature name="odl-restconf-common" version="${project.version}">
-        <feature version="[5,6)">odl-karaf-feat-jetty</feature>
-        <feature version="[3,4)">odl-yangtools-export</feature>
+        <feature version="[6,7)">odl-karaf-feat-jetty</feature>
+        <feature version="[4,5)">odl-yangtools-export</feature>
         <feature version="[2,3)">odl-mdsal-model-rfc7895</feature>
     </feature>
 </features>
index 147d8589edb229cd09d68e3f1f60a8fcc57b8e2a..d00f365813020c35cd5c61b83d6b70c934d6377b 100644 (file)
@@ -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<NormalizedNodeStreamWriterExtension> 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<QName, Object> filterMeta(ImmutableMap<QName, Object> metadata) {
+    private static ImmutableMap<QName, Object> filterMeta(final ImmutableMap<QName, Object> 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
index ba61ce67181b06622f29166e756afda3282b5800..b0233b86a57ec3d92c30e46b7650350468c8d066 100644 (file)
@@ -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",
index b0362de2209401303d92431e0d0a3a9c53f02326..a9da17573315f7efa67a7059d1176285296088d1 100644 (file)
@@ -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<String> namespace = Optional.of(PAYLOAD_ARG.getNodeType().getNamespace().toString());
index 54029344fd7727566671a033d36bc78e97219926..fa2dbe01d59fb3052199e4fa6465ab01e8e52bbf 100644 (file)
@@ -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<T extends PathArgument> 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<T extends PathArgument> implements Identifiable<
     }
 
     private static final class AnyXml extends AbstractSimple<NodeIdentifier> {
-        AnyXml(final AnyXmlSchemaNode schema) {
+        AnyXml(final AnyxmlSchemaNode schema) {
             super(NodeIdentifier.create(schema.getQName()));
         }
 
         @Override
         void streamToWriter(final NormalizedNodeStreamWriter writer, final PathArgument first,
                 final Iterator<PathArgument> others) throws IOException {
-            writer.startAnyxmlNode(getIdentifier());
+            writer.startAnyxmlNode(getIdentifier(), DOMSource.class);
             // FIXME: why are we not emitting a value?
             writer.endNode();
         }
index 913993b9cd169b80e51c98fa5b5a1333d8321b95..5c42b212db6dffd5c541926bc322aee3f02e9382 100644 (file)
@@ -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();
index b9f89815c68ff6460523d7a4356b25d7aa6c3c7f..8fcf325f4d5194995e0076c0fd698789a49e9a25 100644 (file)
@@ -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<DOMRpcResult> invokeRpc(final SchemaPath type, final NormalizedNode<?, ?> input) {
         final MessageTransformer<NetconfMessage> transformer;
-        if (input instanceof AnyXmlNode) {
+        if (input instanceof DOMSourceAnyxmlNode) {
             transformer = schemalessTransformer;
         } else if (isBaseRpc(type)) {
             transformer = baseRpcTransformer;
index 726a657ca223b358884c1dd48c3d142a1f1e2d1a..b6eed98eb6c1d22d4d9e6cf81686a2f9798bfbe4 100644 (file)
@@ -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<DataContainerChild<?, ?>> 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());
index 17491a98a86f580b5c8b30c6d7ab75ad557af2b0..224ac0d88f29a25efe83a1dcd6b21bfe4e4e3c8d 100644 (file)
@@ -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<NetconfM
             final Element xmlData = NetconfMessageTransformUtil.getDataSubtree(message.getDocument());
             final Document data = XmlUtil.newDocument();
             data.appendChild(data.importNode(xmlData, true));
-            AnyXmlNode xmlDataNode = Builders.anyXmlBuilder()
+            DOMSourceAnyxmlNode xmlDataNode = Builders.anyXmlBuilder()
                     .withNodeIdentifier(NetconfMessageTransformUtil.NETCONF_DATA_NODEID)
                     .withValue(new DOMSource(data))
                     .build();
index 365ba2309220ff8d372587ca3b7f014c663c12cd..80dbc34618762fa329890b994daa37b24bcc90ea 100644 (file)
@@ -21,8 +21,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.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.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
@@ -57,7 +57,7 @@ public class SchemalessMessageTransformer implements MessageTransformer<NetconfM
                     + message + ", cannot find namespace", e);
         }
 
-        final AnyXmlNode notificationPayload = Builders.anyXmlBuilder()
+        final DOMSourceAnyxmlNode notificationPayload = Builders.anyXmlBuilder()
                 .withNodeIdentifier(new NodeIdentifier(notificationNoRev))
                 .withValue(new DOMSource(stripped.getValue().getDomElement()))
                 .build();
@@ -74,7 +74,7 @@ public class SchemalessMessageTransformer implements MessageTransformer<NetconfM
     public NetconfMessage toRpcRequest(final SchemaPath rpc, final NormalizedNode<?, ?> 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<NetconfM
     @Override
     public DOMRpcResult toRpcResult(final NetconfMessage rpcReply, final SchemaPath rpc) {
         final Document document = rpcReply.getDocument();
-        final AnyXmlNode result;
+        final DOMSourceAnyxmlNode result;
         if (BaseRpcSchemalessTransformer.isOkPresent(document)) {
             result =  null;
         } else {
index 01dc488bb32dfb6f29f6a6091738e31693c3d9bf..ac4033cbfcc9c97b3328d1f3aeb6c172e388ee3f 100644 (file)
@@ -51,8 +51,8 @@ import org.opendaylight.yangtools.yang.common.Empty;
 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.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;
@@ -285,7 +285,7 @@ public final class NetconfBaseOps {
     public DataContainerChild<?, ?> createEditConfigStrcture(final Optional<NormalizedNode<?, ?>> lastChild,
                                                              final Optional<ModifyAction> 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();
     }
 
index 7552287a81db3494e8882494ba597aba01ab0488..72af16fdf07950fae60c908d2355013ae9984e12 100644 (file)
@@ -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<ModifyAction> operation,
             final Optional<NormalizedNode<?, ?>> lastChildOverride) {
index 4597af67841517cffe45699f0c078f889c7d6a8b..5e444cc361ce24a882a996dc91461a30d0d39e52 100644 (file)
@@ -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<NormalizedNode<?, ?>> selectFromDataStructure(
             final DataContainerChild<? extends YangInstanceIdentifier.PathArgument, ?> 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<NormalizedNode<?, ?>> data,
-                                                final YangInstanceIdentifier dataPath,
-                                                final Optional<ModifyAction> operation) {
+    public DOMSourceAnyxmlNode createEditConfigStructure(final Optional<NormalizedNode<?, ?>> data,
+                                                         final YangInstanceIdentifier dataPath,
+                                                         final Optional<ModifyAction> operation) {
         return NetconfMessageTransformUtil.createEditConfigAnyxml(schemaContext, dataPath, operation, data);
     }
 
index ad1ffbaab2b484857957f9e6ef37d7d4bc9b42af..17959667b31c48ee5309d2b119a45f97c4c8fc6a 100644 (file)
@@ -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<NormalizedNode<?, ?>> data,
-                                         YangInstanceIdentifier dataPath, Optional<ModifyAction> operation);
+    DOMSourceAnyxmlNode createEditConfigStructure(Optional<NormalizedNode<?, ?>> data,
+                                                  YangInstanceIdentifier dataPath, Optional<ModifyAction> operation);
 
     /**
      * Transforms path to filter structure.
index 4003ce37c254df161df0596892d296e9a90bba8a..936fdf2f863d7b7f647f22ec16565e7098b53001 100644 (file)
@@ -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<NormalizedNode<?, ?>> selectFromDataStructure(
             final DataContainerChild<? extends YangInstanceIdentifier.PathArgument, ?> data,
             final YangInstanceIdentifier path) {
-        Preconditions.checkArgument(data instanceof AnyXmlNode);
-        final List<XmlElement> xmlElements = selectMatchingNodes(getSourceElement(((AnyXmlNode)data).getValue()), path);
+        Preconditions.checkArgument(data instanceof DOMSourceAnyxmlNode);
+        final List<XmlElement> 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<NormalizedNode<?, ?>> data,
+    public DOMSourceAnyxmlNode createEditConfigStructure(final Optional<NormalizedNode<?, ?>> data,
                                                 final YangInstanceIdentifier dataPath,
                                                 final Optional<ModifyAction> 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);
index 44b6ce7d879fa0447567356121ba036835be7ae1..9fdc31de1be17394d0f44719423ff5dede7d1917 100644 (file)
@@ -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;
     }
index 9e3fed657c711ef59570468df8b16f2d3d4671d8..c5c1a6fb51cf702f222e234891b8fd540625966a 100644 (file)
@@ -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());
     }
index 4a1fbc7bbf510e03e839cc3349a2be8941a6f69b..dddd363003b5aa78608c08559fc7864c8afa6020 100644 (file)
@@ -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());
index dba6204402d410bd5167048a25322275ae5db33c..2626180d5dc062d701494a98325c96f28e91f775 100644 (file)
@@ -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("<test-rpc xmlns=\"test-ns\"><input>aaa</input></test-rpc>");
-        final AnyXmlNode input = Builders.anyXmlBuilder()
+        final DOMSourceAnyxmlNode input = Builders.anyXmlBuilder()
                 .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(TEST_RPC))
                 .withValue(new DOMSource(src))
                 .build();
index 1171726e91e0abea1fb6c3a9d4bc8664d0e41a1d..8d030f699e1304cf2d0c195608c3a182aa759609 100644 (file)
@@ -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());
index 3834137e90448e1689ad846ea6dbf9a86bc0b17e..2128e0ee4c4a6cc44f0c0301e464e926cf57b4aa 100644 (file)
@@ -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;
         }
 
index 85e480bd2c686f659d0da24f01270b7b8246634c..1cc827c5785b4f549d74421d702914a33971c755 100644 (file)
@@ -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<Normalize
             nnWriter = createNormalizedNodeWriter(context,path,jsonWriter, depth);
             if (data instanceof ContainerNode) {
                 writeChildren(nnWriter,(ContainerNode) data);
-            } else if (data instanceof AnyXmlNode) {
+            } else if (data instanceof DOMSourceAnyxmlNode) {
                 try {
                     writeChildren(nnWriter,
                             (ContainerNode) NetconfUtil.transformDOMSourceToNormalizedNode(
-                                    context.getSchemaContext(), ((AnyXmlNode)data).getValue()).getResult());
+                                    context.getSchemaContext(), ((DOMSourceAnyxmlNode)data).getValue()).getResult());
                 } catch (XMLStreamException | URISyntaxException | SAXException e) {
                     throw new IOException("Cannot write anyxml.", e);
                 }
index c40cb63bc668407c6c9ffecb443ade402b1e9369..623bdfdc92749912bd92022ad2ba08d6756dead1 100644 (file)
@@ -34,8 +34,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.common.QName;
-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.MapEntryNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
@@ -112,11 +112,11 @@ public class NormalizedNodeXmlBodyWriter implements MessageBodyWriter<Normalized
         final SchemaContext schemaCtx = pathContext.getSchemaContext();
         if (SchemaPath.ROOT.equals(schemaPath)) {
             nnWriter = createNormalizedNodeWriter(xmlWriter, schemaCtx, schemaPath, depth);
-            if (data instanceof AnyXmlNode) {
+            if (data instanceof DOMSourceAnyxmlNode) {
                 try {
                     writeElements(xmlWriter, nnWriter,
                             (ContainerNode) NetconfUtil.transformDOMSourceToNormalizedNode(schemaCtx,
-                                    ((AnyXmlNode)data).getValue()).getResult());
+                                    ((DOMSourceAnyxmlNode)data).getValue()).getResult());
                 } catch (XMLStreamException | URISyntaxException | SAXException e) {
                     throw new IOException("Cannot write anyxml", e);
                 }
index b36b0c5c1bd9af084e84097041f5f992f2328f1b..a2d2eb80cc112c396c8faef6f2595a74e3252980 100644 (file)
@@ -50,7 +50,7 @@ import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
 import org.opendaylight.restconf.common.errors.RestconfError.ErrorTag;
 import org.opendaylight.restconf.common.errors.RestconfError.ErrorType;
 import org.opendaylight.restconf.common.util.RestUtil;
-import org.opendaylight.yangtools.concepts.Codec;
+import org.opendaylight.yangtools.concepts.IllegalArgumentCodec;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
@@ -60,7 +60,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.InstanceI
 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.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;
@@ -541,7 +541,7 @@ public final class ControllerContext implements SchemaContextListener, Closeable
 
     private String toUriString(final Object object, final LeafSchemaNode leafNode, final DOMMountPoint mount)
             throws UnsupportedEncodingException {
-        final Codec<Object, Object> codec = RestCodec.from(leafNode.getType(), mount, this);
+        final IllegalArgumentCodec<Object, Object> 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<QName, Object> 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<Object, Object> codec = RestCodec.from(typedef, mountPoint, this);
+        final IllegalArgumentCodec<Object, Object> codec = RestCodec.from(typedef, mountPoint, this);
         Object decoded = codec.deserialize(urlDecoded);
         String additionalInfo = "";
         if (decoded == null) {
index 27b994aa38bb41e591494cf13a654ac8cd75b0c5..f5f03af8ad80ca650cd6ce21bce8950105fd4f77 100644 (file)
@@ -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) {
index f89a5489b6d24ecde1e1cd53e0ad25375936a673..b42d45993b6e4b7836080aee0a978ecddffb9bc8 100644 (file)
@@ -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<Object, Object> from(final TypeDefinition<?> typeDefinition,
+    // FIXME: IllegalArgumentCodec is not quite accurate
+    public static IllegalArgumentCodec<Object, Object> 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<Object, Object> {
+    public static final class ObjectCodec implements IllegalArgumentCodec<Object, Object> {
 
         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;
 
index 184f5755fb1d96a404c0966f6ea149843ffbddeb..ff0193745f70f28c70be407a2d9c08b9d975e97b 100644 (file)
@@ -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<T> implements RpcResult<T> {
 
     private final boolean isSuccessful;
     private final T result;
-    private final Collection<RpcError> errors;
+    private final List<RpcError> errors;
 
     public DummyRpcResult() {
         isSuccessful = false;
@@ -40,14 +40,14 @@ public class DummyRpcResult<T> implements RpcResult<T> {
     }
 
     @Override
-    public Collection<RpcError> getErrors() {
+    public List<RpcError> getErrors() {
         return errors;
     }
 
     public static class Builder<T> {
         private boolean isSuccessful;
         private T result;
-        private Collection<RpcError> errors;
+        private List<RpcError> errors;
 
         public Builder<T> isSuccessful(final boolean successful) {
             this.isSuccessful = successful;
@@ -59,7 +59,7 @@ public class DummyRpcResult<T> implements RpcResult<T> {
             return this;
         }
 
-        public Builder<T> errors(final Collection<RpcError> newErrors) {
+        public Builder<T> errors(final List<RpcError> newErrors) {
             this.errors = newErrors;
             return this;
         }
index 6ea560fc3e7bf1605d7caa0958180bf3ff183a51..18c7be7a024a24a0b68644287496ed3a8c4c251b 100644 (file)
@@ -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<DataContainerChild<?, ?>> 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());
     }
 
index c91a61badb54c3539c7e9c24f9d70b21b9fa67f2..6a922dc898971405ec0e63c52f0af9e68e9e6bf7 100644 (file)
@@ -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<Object, Object> codec = RestCodec.from(BaseTypes.bitsTypeBuilder(PATH).build(), null, null);
+        final IllegalArgumentCodec<Object, Object> 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<Object, Object> codec = RestCodec.from(mockedIidentityrefType, null, null);
+        final IllegalArgumentCodec<Object, Object> codec = RestCodec.from(mockedIidentityrefType, null, null);
         assertNull(codec.deserialize("incorrect value"));
     }
 
index 441be7bce6ab7569934d21f8edbb28526c56f80f..e85efe1f0d3c19dfbc8ab1dc24475778eeed9eea 100644 (file)
@@ -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<IdentityValuesDTO, YangInstanceIdentifier> instanceIdentifierDTO;
+    private InstanceIdentifierCodecImpl instanceIdentifierDTO;
     private YangInstanceIdentifier instanceIdentifierBadNamespace;
     private YangInstanceIdentifier instanceIdentifierOKList;
     private YangInstanceIdentifier instanceIdentifierOKLeafList;
index 9f4a9c25e7a33729f7cd3d197492a26ec35a71c9..99257930d8b3eda26a18811f4c85c80ba9e32d6b 100644 (file)
@@ -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<Object, Object> from(final TypeDefinition<?> typeDefinition,
+    // FIXME: IllegalArgumentCodec is not quite accurate
+    public static IllegalArgumentCodec<Object, Object> 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<Object, Object> {
+    public static final class ObjectCodec implements IllegalArgumentCodec<Object, Object> {
 
         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;
     }
 }
index 516b799df81ffd9a862bb9f92fd0f874c04b1461..64b305639327190e5f54e90fec86f28298ba6348 100644 (file)
@@ -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;
         }
 
index c15d545c890175b04dd6fa7f2d4db33bfe7c1359..8460fef39a6a0f4dfa4ea8b3ef33f439edfdff76 100644 (file)
@@ -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);
     }
 
index 922c56613613ad4302c7d10382849212df132ae0..73263156b8b302d0c61ddab60321f526752d2263 100644 (file)
@@ -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);
index 58e6a44e8a6e23102994c6af8de7fef6acbab5e4..7c5d9ead44ec23933f8872ebc37edef68a67096b 100644 (file)
@@ -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());
     }
 
index 8f3859c189a5555a1c5bfe46f96f1c011a8f0233..86463ca402b2fdd417df22e4b4b668c25a2718b1 100644 (file)
@@ -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<File> generateSources(final SchemaContext context, final File outputBaseDir,
+    public Collection<File> generateSources(final EffectiveModelContext context, final File outputBaseDir,
             final Set<Module> currentModules, final Function<Module, Optional<String>> moduleResourcePathResolver)
                     throws IOException {
         List<File> result = new ArrayList<>();
index 3b845f91e672c73363fe88bd4796d634b2b99357..ddb9e14807cba5da0c82dfd4b8914279c7790aef 100644 (file)
@@ -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);