Refactor ServerRequest 16/112216/6
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 17 Jun 2024 21:08:48 +0000 (23:08 +0200)
committerRobert Varga <nite@hq.sk>
Tue, 18 Jun 2024 14:35:59 +0000 (14:35 +0000)
commit0481baf85238b0700ab28008e9a378757d387c3c
tree407247dcf220852a0b15b30988be8008d79f0dd4
parentefe2a41e0cfcc771f505cf36b4454da25513e1b2
Refactor ServerRequest

Our invocation currently routes responses via RestconfFuture and then
via RestconfCallback.

This is quite superfluous indirection, which we eliminate by expading
ServerRequest to being an entity that can be completed -- just like a
RestconfCallback.

We then create a specialized JaxRsServerRequest, which is essentially
what JaxRsRestconfCallback used to be, and use it instead of
RestconfFuture in RestconfServer.

JIRA: NETCONF-1188
Change-Id: I870d2dd444f43d71ebb2d249e76097af6d39c33f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
28 files changed:
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/jaxrs/FormattableJaxRsServerRequest.java [moved from restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/jaxrs/FormattableBodyCallback.java with 62% similarity]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/jaxrs/JaxRsRestconf.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/jaxrs/JaxRsRestconfCallback.java [deleted file]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/jaxrs/JaxRsServerRequest.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/AbstractServerRequest.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/api/RestconfServer.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/api/ServerRequest.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/api/TransformedServerRequest.java [new file with mode: 0644]
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/mdsal/MdsalRestconfServer.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/mdsal/streams/devnotif/SubscribeDeviceNotificationRpc.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/mdsal/streams/dtcl/CreateDataChangeEventSubscriptionRpc.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/mdsal/streams/notif/CreateNotificationStreamRpc.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/AbstractRestconfStreamRegistry.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/FailedHttpGetResource.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/HttpGetResource.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/OperationsResource.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/RestconfStream.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/RpcImplementation.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/server/spi/YangLibraryVersionResource.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/transactions/AbstractRestconfStrategyTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/transactions/MdsalRestconfStrategyTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/transactions/NetconfRestconfStrategyTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/streams/DataTreeChangeStreamTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/server/mdsal/streams/dtcl/CreateNotificationStreamRpcTest.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/server/testlib/CompletingServerRequest.java [new file with mode: 0644]