Fix stack mismatch in data change event streams 65/106565/11
authorSangwook Ha <sangwook.ha@verizon.com>
Fri, 9 Jun 2023 22:17:30 +0000 (15:17 -0700)
committerRobert Varga <nite@hq.sk>
Wed, 6 Sep 2023 17:07:08 +0000 (17:07 +0000)
commit2c45f4e0996f3b515ea22b1a9de6cbafe868aa3d
tree595e5ea21aeacd4c1f9cb4f8cbf0af7290dd4bc4
parente8c6bb992c6169bd7692b83e2b2884ebd0276043
Fix stack mismatch in data change event streams

Data change event stream targeting a list instance requires a special
treatment to avoid mismatch between the writer stack and data.
Wrap the map entry in a map node to avoid the stack mismatch and
serialization error.

Also, add test cases to cover the use case to ListenerAdapterTest and
refactor/clean up the test class to reduce duplicate code and make file
& variable names more consistent.

JIRA: NETCONF-1051
Change-Id: I0e266f04fc77db6add4f1c44e6fd47f208c2e2f9
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
30 files changed:
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/AbstractWebsocketSerializer.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/JsonDataTreeCandidateSerializer.java
restconf/restconf-nb/src/main/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/XmlDataTreeCandidateSerializer.java
restconf/restconf-nb/src/test/java/org/opendaylight/restconf/nb/rfc8040/streams/listeners/ListenerAdapterTest.java
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-changed-leaves-delete.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-changed-leaves-del.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-cont-create.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-create.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-cont-create.xml [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-create.xml with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-cont-delete.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-del.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-cont-delete.xml [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-delete.xml with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-cont-update.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-update.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-cont-update.xml [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-update.xml with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-leaves-delete.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-leaves-del.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-list-create.json [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-list-create.xml [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-list-delete.json [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-list-delete.xml [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-list-update.json [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-list-update.xml [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-cont-create.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-create.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-cont-create.xml [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-create.xml with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-cont-delete.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-del.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-cont-delete.xml [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-delete.xml with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-cont-update.json [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-update.json with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-cont-update.xml [moved from restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-update.xml with 100% similarity]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-list-create.json [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-list-create.xml [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-list-delete.json [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-list-delete.xml [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-list-update.json [new file with mode: 0644]
restconf/restconf-nb/src/test/resources/listener-adapter-test/notif-without-data-list-update.xml [new file with mode: 0644]