Eliminate NormalizedNodePayload 59/111359/4
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 11 Apr 2024 19:18:07 +0000 (21:18 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 11 Apr 2024 22:00:34 +0000 (00:00 +0200)
commit4c54c44f4642490b2d0687f1ee2d6a7356e6b752
treec15533e8a9172dc8a1b14599fc27a65e8513defa
parentafc2f00460f3866d8dffcf230ba08f549e835a0b
Eliminate NormalizedNodePayload

NormalizedNodePayload is only used in RestconfStrategy.dataGET() and is
one of the two last places where we use old JAX-RS serialization.

This patch introduces {Data,Root}FormattableBody class to act as a
combination of NormalizedFormattableBody and NormalizedNodePayload.

This also refactors the interface towards RestconfNormalizedNodeWriter
by introducing a factory which is under control of the RestconfStrategy
which produces the result.

JIRA: NETCONF-773
Change-Id: I867944ab260828fb19e3ba829d1188a215e0bd9f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
27 files changed:
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/jaxrs/JaxRsRestconf.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/JaxRsNorthbound.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/AbstractNormalizedNodeBodyWriter.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/JsonNormalizedNodeBodyWriter.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/XmlNormalizedNodeBodyWriter.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/legacy/NormalizedNodePayload.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/legacy/WriterParameters.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/transactions/MdsalNormalizedNodeWriterFactory.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/transactions/MdsalRestconfStrategy.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/transactions/NetconfRestconfStrategy.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/transactions/RestconfStrategy.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/api/DataGetResult.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/api/RestconfServer.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/DataFormattableBody.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/DefaultNormalizedNodeWriterFactory.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/MaxDepthNormalizedNodeWriterFactory.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/NormalizedFormattableBody.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/NormalizedNodeWriterFactory.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/RootFormattableBody.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/YangLibraryVersionResource.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/jaxrs/AbstractRestconfTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/jaxrs/RestconfDataGetTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/AbstractInstanceIdentifierTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/jersey/providers/XmlNormalizedNodeBodyWriterTest.java [deleted file]
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/server/spi/NormalizedFormattableBodyTest.java [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/instanceidentifier/yang/bar-module.yang
restconf/restconf-nb/src/test/resources/instanceidentifier/yang/foo-module.yang