Add codec support for anyxml classes 43/81643/19
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 14 Apr 2019 09:25:17 +0000 (11:25 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 18 Apr 2019 16:08:42 +0000 (18:08 +0200)
commitcd0e4ce77caa250e64dd7edabfbfc2952c5d6a85
tree422899be4b15124b801597d6f962488e01c725c7
parent908dc6b1e34a424f86d1d7f313e1ae68e5d38d7c
Add codec support for anyxml classes

ForeignOpaqueData and ForeignOpaqueObject provide generalized
support for proxying over to yang.data.api.ForeignDataNode, hence
supporting anydata/anyxml in all possible object models.

The codec tree is extended with BindingOpaqueObjectCodecTreeNode,
which supports all OpaqueObjects, with the restriction that only
AnyXmlNodes (i.e. those with DOMSource object model) are supported
due to streaming restrictions in NormalizedNodeStreamWriter.

JIRA: MDSAL-285
Change-Id: I9192008ae169cf49a98f64a218a33d470d134eae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 files changed:
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingOpaqueObjectCodecTreeNode.java [new file with mode: 0644]
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/gen/impl/DataNodeContainerSerializerSource.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/gen/impl/DataObjectSerializerSource.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingNormalizedNodeCodecRegistry.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/DataObjectCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ForeignOpaqueData.java [new file with mode: 0644]
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ForeignOpaqueObject.java [new file with mode: 0644]
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafNodeCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafSetNodeCodecContext.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/OpaqueNodeCodecContext.java [new file with mode: 0644]
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ValueNodeCodecContext.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/test/AnyxmlLeafTest.java [new file with mode: 0644]