mdsal.git
11 months agoPerform partial modification matching 97/106197/1
Robert Varga [Sun, 28 May 2023 18:59:24 +0000 (20:59 +0200)]
Perform partial modification matching

Now that we have a collector, we can assert a particular modification
state at any given moment.

Change-Id: I9f9f3436b0def8d3ddd8612343c41c4bfdd2c017
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRefactor AbstractDataTreeChangeListenerTest 96/106196/2
Robert Varga [Sun, 28 May 2023 18:18:51 +0000 (20:18 +0200)]
Refactor AbstractDataTreeChangeListenerTest

Rather than exposing the underlying DTCL implementation, expose only the
collector aspect, requiring the collector to be closed -- which also
tears down the listener.

This is a stepping stone to allowing step-by-step assertions, but the
notable change is that we await the initial synchronization before
giving out the collector.

Change-Id: I9337bc5b80eb9976ad9dec143b59ef75d742cbfd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoImprove BindingNormalizedNodeSerializer API 95/106195/1
Robert Varga [Sun, 28 May 2023 15:26:11 +0000 (17:26 +0200)]
Improve BindingNormalizedNodeSerializer API

Allow users to specifically ask for an explicit dataobject or
augmentation serialization.

JIRA: MDSAL-820
Change-Id: Ic929620d2c23c8ac1ab7eb7a5f2f46d627833a73
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoClean up BindingAugmentationCodecTreeNode 94/106194/2
Robert Varga [Sun, 28 May 2023 14:03:06 +0000 (16:03 +0200)]
Clean up BindingAugmentationCodecTreeNode

We have two unused methods here, remove them.

JIRA: MDSAL-820
Change-Id: Ib1f1fc145f2a5d38cce40f1e1ddee6058d0860e6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoImprove BindingCodecTree interface 93/106193/2
Robert Varga [Sun, 28 May 2023 13:50:41 +0000 (15:50 +0200)]
Improve BindingCodecTree interface

We have users which know statically that they are dealing with a plain
DataObject or an Augmentation. Add methods to help them to get the right
codec.

JIRA: MDSAL-820
Change-Id: Idf0209c9dc705cf8359688a0eef2dd2e9fa00df2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRemove binding.spec.util package 93/104093/4
Šimon Ukuš [Mon, 23 Jan 2023 06:51:17 +0000 (07:51 +0100)]
Remove binding.spec.util package

Deprecated DataObjectReadingUtil is not being used by anyone.

JIRA: MDSAL-801
Change-Id: I33d68733820c200155c99f0d0f703daff450e411
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
11 months agoMigrate users of NormalizedNode.getIdentifier() 92/106192/1
Robert Varga [Sun, 28 May 2023 13:08:37 +0000 (15:08 +0200)]
Migrate users of NormalizedNode.getIdentifier()

We have a replacement, NormalizedNode.name(), use that instead.

Change-Id: Iebcca6dde477b7e5c8dd74dc577e68abbee07662
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoMigrate callers of IncorrectNestingException.create() 91/106191/1
Robert Varga [Sun, 28 May 2023 13:03:34 +0000 (15:03 +0200)]
Migrate callers of IncorrectNestingException.create()

The static factory method is quite useless, migrate aware from it.

Change-Id: I386d8d13585b8a1627460615e8c84772fe9e21a1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoMigrate users of YangInstanceIdentifier.{create,empty}() 90/106190/1
Robert Varga [Sun, 28 May 2023 12:54:27 +0000 (14:54 +0200)]
Migrate users of YangInstanceIdentifier.{create,empty}()

We have of() methods to replace these, migrate users.

Change-Id: I041a20ee6dd0bbb56ee765ecf2788517bd6318d8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoAdopt yangtools-11.0.0-SNAPSHOT 86/104586/27
Robert Varga [Sat, 25 Feb 2023 10:50:36 +0000 (11:50 +0100)]
Adopt yangtools-11.0.0-SNAPSHOT

yangtools is finalizing its bits, which have reprecussions on MD-SAL
APIs. Synchronize with current snapshot so we can start addressing those
bits.

Change-Id: I7d331e28ace9c8b512f960f4452da1fa8d178d05
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
11 months agoUpdate binding-dom adaptation to remove AugmentationNode 63/105463/45
Robert Varga [Mon, 22 May 2023 12:04:24 +0000 (14:04 +0200)]
Update binding-dom adaptation to remove AugmentationNode

AugmentationIdentifier and AugmentationNode are being removed from
yang-data-api.

This patch adapts mdsal-binding-dom-codec to reflect the
fact Augmentation no longer has one-to-one equivalent. This means that
users need to check whether the code tree node refers to an Augmentation
or to a regular DataObject.

One particular sore point is that toNormalized() can no longer return a
plain Entry of NormalizedNode, as Augmentations do not have a backing.
To solve this, we introduce NormalizedResult with two specializations,
NodeResult and AugmentationResult.

In order to deal with DTCL changes, we also memoize
dataBefore/dataAfter, as it guides LazyAugmentationModification's
correct identification whether the a node has appeared, was modified, or
disappeared.

JIRA: MDSAL-820
Change-Id: I0360fd8f74ddb6df82ba64f7a87f6d92ce855162
Signed-off-by: Ruslan Kashapov <ruslan.kashapov@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoImprove AbstractDataTreeChangeListenerTest 79/106179/3
Robert Varga [Sat, 27 May 2023 00:39:13 +0000 (02:39 +0200)]
Improve AbstractDataTreeChangeListenerTest

Add dedicated @FunctionalInterfaces instead of generic Function and make
sure we match each matcher in order an only once.

Change-Id: I9e597a6abc2c1545b5156e438e1ce94136aa68b5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoModernize AbstractDataTreeChangeListenerTest a bit 78/106178/1
Robert Varga [Fri, 26 May 2023 23:07:40 +0000 (01:07 +0200)]
Modernize AbstractDataTreeChangeListenerTest a bit

Use List for changes, along with local variable type inference. Also
make sure we complete whenever we have at least the number of expected
changes.

Change-Id: I4b05fbc9ee02315312d4e0ecaad0aa09f1b371f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoBump upstreams 77/106177/1
Robert Varga [Fri, 26 May 2023 21:02:38 +0000 (23:02 +0200)]
Bump upstreams

Adopt:
- odlparent-12.0.6
- yangtools-10.0.7

Change-Id: I509da62c6d136ff66a12d99348389be0aa626b19
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 38664cbc750864dcffa8537b93ce4aa60b1cadb3)

11 months agoImprove BindingCodecTree.getSubtreeCodec() 76/106176/2
Robert Varga [Fri, 26 May 2023 21:51:09 +0000 (23:51 +0200)]
Improve BindingCodecTree.getSubtreeCodec()

The only implementation we have returns non-null and throws exceptions.
Promote that behaviour to how the method is meant to operate.

Change-Id: I836ee8adb20d23b7b9938dbdeb827aa7a5443bc2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoImprove BindingCodecContext.getCodecContextNode() 75/106175/1
Robert Varga [Fri, 26 May 2023 21:45:56 +0000 (23:45 +0200)]
Improve BindingCodecContext.getCodecContextNode()

This method always returns @NonNull, document that. Also improve the IAE
thrown on mismatched input and eliminate
SchemaRootCodecContext.create().

Change-Id: Icbd36df64fb5027698a80bd0ba0984b9f55777d4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoSimplify LazyDataObjectModification.childCache 57/106157/2
Robert Varga [Thu, 25 May 2023 16:25:44 +0000 (18:25 +0200)]
Simplify LazyDataObjectModification.childCache

Simplify the signature of internal list. Also mark a FIXME for the case
which needs to be updated.

JIRA: MDSAL-820
Change-Id: I24be9cfc12bd0aed89568bf9f1ab453c51c54d1a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoDitch use of LinkedList in BindingCodecContext 56/106156/1
Robert Varga [Thu, 25 May 2023 15:12:33 +0000 (17:12 +0200)]
Ditch use of LinkedList in BindingCodecContext

LinkedList is a rather ugly thing performance-wise, use an ArrayList
instead.

Change-Id: I6f40a24bc7b22dc07ea6c809a44a796f1cdb9b54
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoModernize BindingCodecContext 54/106154/1
Robert Varga [Thu, 25 May 2023 13:11:33 +0000 (15:11 +0200)]
Modernize BindingCodecContext

Use local variable type inference and instanceof patterns to make things
a tad clearer.

Change-Id: I4b0e2634a08edb2f73e4586356d380063520fc48
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoAdd CodecDataObjectAnalysis 28/106128/6
Robert Varga [Mon, 22 May 2023 22:14:55 +0000 (00:14 +0200)]
Add CodecDataObjectAnalysis

We will be separating out DataObjectCodecContext into two classes, and
the new one will need to be able to create proxies.

Separate out all the analytics and indexing into a separate DTO, which
can be constructed externally, so the new classes can construct them
separately.

This also necessitates splitting out bindingChildArg() into a separate
class -- but we still want to migrate that to RuntimTypes at some point.

JIRA: MDSAL-820
Change-Id: I970b8f92443a9faf57c1786239e2f552f7ff938d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoClean up DataContainerCodecContext exception handling 27/106127/2
Robert Varga [Mon, 22 May 2023 23:13:00 +0000 (01:13 +0200)]
Clean up DataContainerCodecContext exception handling

We are getting confused between immediate throws and returns. The
exception factory methods should be returning the exception and not
throwing it.

Fix this up and add a SpotBugs annotation so that throws are guarded.
Also mark IncorrectNestingException for evolution. Final improvement
that we now have a completely-static factory method.

Change-Id: I5262c0dbb31d6935f258909828aac5331c70801b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoImprove DataContainerCodecPrototype safety 26/106126/4
Robert Varga [Mon, 22 May 2023 17:52:12 +0000 (19:52 +0200)]
Improve DataContainerCodecPrototype safety

Before making any changes to the codec, make sure the prototype enforces
invariants, so things like nulls do not sneak in.

JIRA: MDSAL-820
Change-Id: I6c15f686bfde20b5f4516d9ad0b0f40007d689c9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoClean up NonCachingCodec 25/106125/1
Robert Varga [Mon, 22 May 2023 16:49:15 +0000 (18:49 +0200)]
Clean up NonCachingCodec

Use requireNonNull() and make the codec final, as it is only used as-is.

Change-Id: I59c25c4bcf795e193ac7af764cee9fa868c8435f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoisSubstitutionFor() should be final 23/106123/1
Robert Varga [Mon, 22 May 2023 16:09:18 +0000 (18:09 +0200)]
isSubstitutionFor() should be final

Having a static final method guards against potential overlaps, which is
exactly what we want.

Change-Id: I557b80251f5472e57c0ba86853e30d498c515d8a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
11 months agoRemove BindingDataObjectCodecTreeNode.writeAsNormalizedNode() 20/106120/1
Robert Varga [Mon, 22 May 2023 12:12:10 +0000 (14:12 +0200)]
Remove BindingDataObjectCodecTreeNode.writeAsNormalizedNode()

This is a leak of implementation internals, not used anywhere but inside
the implementation.

JIRA: MDSAL-820
Change-Id: I3869dd490eb94f218ea86ff7b164ac05f2f5a9e5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoDo not mock YangInstanceIdentifier.PathArgument 19/106019/2
Robert Varga [Thu, 18 May 2023 06:25:01 +0000 (08:25 +0200)]
Do not mock YangInstanceIdentifier.PathArgument

Use a real NodeIdentifier instead of mocking, as PathArgument is getting
sealed.

Change-Id: I30a86490a4430226d14a5391ac13e1829fe4ebe5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoConvert ietf-type-util to a JPMS module 86/105986/3
Robert Varga [Tue, 16 May 2023 01:40:13 +0000 (03:40 +0200)]
Convert ietf-type-util to a JPMS module

Correct the package and turn the artifact into an explicit module. Also
fix up dependencies on mdsal-binding-spec-util.

JIRA: MDSAL-826
Change-Id: Ib2ad5d82ae9350794d11e0fdf2853e55e8f755db
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoIntegrate AbstractIetfInetUtil 85/105985/2
Robert Varga [Tue, 16 May 2023 01:23:44 +0000 (03:23 +0200)]
Integrate AbstractIetfInetUtil

We have a single specialization, remove INSTANCE and make sure methods
are static.

JIRA: MDSAL-826
Change-Id: I051482f26837d216bbd68c3705beb0c6ec609b2d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove unnecessary version declaration 84/105984/2
Robert Varga [Tue, 16 May 2023 01:22:57 +0000 (03:22 +0200)]
Remove unnecessary version declaration

We are inheriting version from project parent, hence there's no point in
overriding version.

Change-Id: I573a61364ab6ddeea9dad9a1e2a929c58b461ca4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMake factories static 83/105983/2
Robert Varga [Tue, 16 May 2023 01:06:21 +0000 (03:06 +0200)]
Make factories static

Factories are invariants: there is no point in storing them in instance
fields.

JIRA: MDSAL-826
Change-Id: Ic23a8439978fc872b18e2206bccaffffb463f3e2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove method specializations 82/105982/3
Robert Varga [Tue, 16 May 2023 00:42:17 +0000 (02:42 +0200)]
Remove method specializations

AbstractIetfInetUtil is properly specialized, really, remove subclass
indirection.

JIRA: MDSAL-826
Change-Id: Ic60684d461fdf56896a3dffaf3d3ef92600994a0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMove AbstractIetfInetUtil 81/105981/3
Robert Varga [Mon, 15 May 2023 23:29:28 +0000 (01:29 +0200)]
Move AbstractIetfInetUtil

As a first step in eliminating IetfInetUtil, move AbstractIetfInetUtil
and its tests.

JIRA: MDSAL-826
Change-Id: If558e9fc17f801097b868e8bb5ff261b241c3a2e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoEliminate IetfYangUtil.INSTANCE 80/105980/2
Robert Varga [Mon, 15 May 2023 22:33:44 +0000 (00:33 +0200)]
Eliminate IetfYangUtil.INSTANCE

All methods are purely static, there is no point to indirect through a
particular instance.

JIRA: MDSAL-826
Change-Id: Ie4164ca8279e2809d72209340d91c595451008f1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMake IetfYangUtil factories static 79/105979/2
Robert Varga [Mon, 15 May 2023 22:26:52 +0000 (00:26 +0200)]
Make IetfYangUtil factories static

These are instance-invariants, share them between instantiations.

JIRA: MDSAL-826
Change-Id: Ia025b3c9e0e382599829064e30752e5146e4becf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoIntegrate AbstractIetfYangUtil 78/105978/2
Robert Varga [Mon, 15 May 2023 22:23:29 +0000 (00:23 +0200)]
Integrate AbstractIetfYangUtil

We have a superfluous abstract class, integrate it into IetfYangUtil.

JIRA: MDSAL-826
Change-Id: Idbd6c19fdb30cabb3a7852d94971d1c47e8fb1a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMove AbstractIetfYangUtil 77/105977/2
Robert Varga [Mon, 15 May 2023 22:11:08 +0000 (00:11 +0200)]
Move AbstractIetfYangUtil

We are about to specialize AbstractIetfYangUtil, move it to its sole
user.

JIRA: MDSAL-826
Change-Id: I1d86382da66b0c6af2b4c76766fa48ea8014c27d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMove IPv4 string utilities 76/105976/2
Robert Varga [Mon, 15 May 2023 21:59:21 +0000 (23:59 +0200)]
Move IPv4 string utilities

AbstractIetfYangUtil depends on AbstractIetfInetUtil, which is not nice.
Move the two methods needed to Ipv4Utils, so we break that dependency.

JIRA: MDSAL-826
Change-Id: I097738ca75c03ebe4292149f353dfa0d29a4197d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMove INET{4,6}_LENGTH constants 75/105975/2
Robert Varga [Mon, 15 May 2023 21:48:53 +0000 (23:48 +0200)]
Move INET{4,6}_LENGTH constants

We have a few overlapping constants, make sure we co-locate them in
their respective utils, removing duplication as we go.

JIRA: MDSAL-826
Change-Id: Ib6302052388c9c196413fb7a44e32b8c69b1ed49
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoExpose Ipv{4,6}Util 74/105974/2
Robert Varga [Mon, 15 May 2023 21:38:21 +0000 (23:38 +0200)]
Expose Ipv{4,6}Util

These two utility classes form the common interface, expose them to
outside world.

JIRA: MDSAL-826
Change-Id: Iee050241e6ca52ae52c2f70abaecdd9077c6a400
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoMove addYangPathArgument() 65/105565/3
Robert Varga [Fri, 21 Apr 2023 00:04:11 +0000 (02:04 +0200)]
Move addYangPathArgument()

This method is only used for DataContainerCodecContext, there is just no
reason to pollute NodeCodecContext with this method. Reduces coupling
towards YangInstanceIdentifier.PathArgument a tiny bit.

Change-Id: Iecbb7c11f28a49282d6224229890f63eab33b311
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoConvert mdsal-dom-schema-osgi to a JPMS module 13/105813/4
Samuel Schneider [Wed, 3 May 2023 15:51:06 +0000 (17:51 +0200)]
Convert mdsal-dom-schema-osgi to a JPMS module

mdsal-binding-dom-codec-osgi is a rather simple artifact.
Convert it to a JPMS module.

JIRA: MDSAL-748
Change-Id: I00e2e11047f4580ef7d443c4baefc036a1d0a58e
Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech>
12 months agoClean up IETF module names 38/105938/3
Robert Varga [Sat, 13 May 2023 21:20:22 +0000 (23:20 +0200)]
Clean up IETF module names

The primary key is the IETF module name, make sure that is reflected in
packaging. The basic idea here is that differing revisions and up
reflecting diffent package names.

This patch allows for differing revisions to exist based on standard
names and the revision -- whereas previously we used the document as a
starting point for the namespace.

JIRA: MDSAL-752
Change-Id: I3ea3f910d2c07dad8396c54fa03044ac6a4ad62b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUpgrade IANA models 37/105937/1
Robert Varga [Sat, 13 May 2023 20:53:28 +0000 (22:53 +0200)]
Upgrade IANA models

Adopt:
- iana-if-type@2023-01-26.yang
- iana-routing-types@2022-08-19.yang

Change-Id: I9ce147047714d8f8ee38fd6119fa47d5954acafc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoAdd Automatic-Module-Name declarations 61/105661/8
Samuel Schneider [Tue, 25 Apr 2023 14:48:47 +0000 (16:48 +0200)]
Add Automatic-Module-Name declarations

Update all packaged models to include Automatic-Module-Name
with correct JPMS module naming.

JIRA: MDSAL-752
Change-Id: I7a8ee5081d97aed0a72570698c4ec729ab57a717
Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove convenience model artifacts 23/105723/5
Samuel Schneider [Thu, 27 Apr 2023 10:45:28 +0000 (12:45 +0200)]
Remove convenience model artifacts

Remove empty artifacts as they do not contribute anything to the actual
picture and act only as maven dependency shortcut.

JIRA: MDSAL-823
Change-Id: I01c83ae3e624582048a47d013082d62e983a2590
Signed-off-by: Samuel Schneider <samuel.schneider@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoFix runtime type search 73/105773/2
Robert Varga [Tue, 2 May 2023 11:19:54 +0000 (13:19 +0200)]
Fix runtime type search

When searching for children, we should be cognizant of the fact that we
might be looking at an inherited contract -- such as 'output' of an
'action' inherited through 'uses'. Extend the runtime search algorithm
to also look at previous() axis.

JIRA: MDSAL-824
Change-Id: Ic2f57b266825c6121f7bd6156a86112abff4b67a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoAdd tests for BindingObjects with List and LeafLists 57/105657/2
Peter Suna [Tue, 25 Apr 2023 14:03:31 +0000 (16:03 +0200)]
Add tests for BindingObjects with List and LeafLists

These tests cover scenarios for ordered and unordered lists and leaf-lists,
including nested lists within containers.The tests also verify the correct
behavior of user, system-ordered and un-keyed lists.

Signed-off-by: Peter Suna <peter.suna@pantheon.tech>
Change-Id: Id9e85133fe767a22953970e96f9eb6b26a1bd068

12 months agoDo not depend on binding-spec-util 48/105648/1
Robert Varga [Mon, 24 Apr 2023 17:59:34 +0000 (19:59 +0200)]
Do not depend on binding-spec-util

With BindingNaming rehosted, mdsal-binding-java-api-generator has no
business with mdsal-binding-spec-util.

Change-Id: I009ca8eb4d8914480fc32e673c4d1044711b3042
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse an instanceof pattern 64/105564/2
Robert Varga [Thu, 20 Apr 2023 23:51:16 +0000 (01:51 +0200)]
Use an instanceof pattern

We have a simple check-and-cast, fold them into a instanceof pattern.

Change-Id: I60bb94091b739ced1f886f9c0c29d9b8f86ce49c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoCachingNormalizedNodeSerializer should not be instantiated 62/105562/1
Robert Varga [Thu, 20 Apr 2023 23:35:12 +0000 (01:35 +0200)]
CachingNormalizedNodeSerializer should not be instantiated

We only use this class to act as a delegate towards the rest of the
infrastructure. Remove its constructor.

Change-Id: I245fe5204dc3872703c19df320a77789d5a4c6bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoExpand BindingObject documentation 61/105561/2
Robert Varga [Thu, 20 Apr 2023 23:29:57 +0000 (01:29 +0200)]
Expand BindingObject documentation

Enumerate the constructs we are representing.

Change-Id: Ifca6959868dd67080ca46f598cdc8d430c677138
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove BindingContract documentation 60/105560/2
Robert Varga [Thu, 20 Apr 2023 22:43:03 +0000 (00:43 +0200)]
Improve BindingContract documentation

Enumerate the use allowed interfaces and explain how they relate to
BindingContract. This interface is sufficiently disconnect from
BindingObject, which has other implications.

Change-Id: I0f93781dbabb540596fc5ac37dfd1bdb509732e6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoImprove ChoiceIn documentation 59/105559/2
Robert Varga [Thu, 20 Apr 2023 22:19:59 +0000 (00:19 +0200)]
Improve ChoiceIn documentation

We have a few typos and the javadoc contains HTML entities. Clean this
up.

Change-Id: Ia09a63d2f55e41c748eceadc3a4d471325ee714e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoClean up BindingToNormalizedStreamWriter 58/105558/4
Robert Varga [Thu, 20 Apr 2023 21:21:54 +0000 (23:21 +0200)]
Clean up BindingToNormalizedStreamWriter

Clarify field name: the rootNodeSchema is really a
DataContainerCodecContext the context corresponding to the root object,
hence it should be called rootSchema.

We have multiple calls to current(), which end talking to the Deque,
which is not necessary. We can just access it once, which makes type
checking more obvious.

Finally ditch checkArgument() calls and prefer instanceof patterns,
which makes the type checks more obvious (to the compiler at least).

Change-Id: I472f0f3eec1f83c1755c91c6cbd0b24b77ae9d9a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoRemove BindingToNormalizedStreamWriter.create() 57/105557/2
Robert Varga [Thu, 20 Apr 2023 20:30:12 +0000 (22:30 +0200)]
Remove BindingToNormalizedStreamWriter.create()

We have a lot of indirection going on for little real benefit. Reduce
the tangle by replacing calls to create() with plain constructor and
inlining callers.

Change-Id: Ibaac2f17d1c275e42ad281767ba8a50c6318c649
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoClean up CachingNormalizedNodeSerializer 56/105556/2
Robert Varga [Thu, 20 Apr 2023 20:52:54 +0000 (22:52 +0200)]
Clean up CachingNormalizedNodeSerializer

Simplify the class by eliminating unneeded methods and lining
invariants. This makes things a tad clearer and eliminates a caller of
DataContainerCodecContext.createWriter().

Change-Id: Ie1ed39ac20477ff21ce51707c1631db1ec7acf65
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoUse instanceof pattern in AbstractBindingNormalizedNodeCacheHolder 54/105554/2
Robert Varga [Thu, 20 Apr 2023 18:34:03 +0000 (20:34 +0200)]
Use instanceof pattern in AbstractBindingNormalizedNodeCacheHolder

Reduce casting and flatten unneeded if/else blocks with returns. Also
mark a FIXME to use a switch expression once we them with pattern
matching.

Change-Id: I45045e3b6e5957486f60887c0c4d074b8924077f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoLoad YangFeatureProviders in mdsal-dom-schema-osgi 89/102089/16
Robert Varga [Tue, 16 Aug 2022 11:04:35 +0000 (13:04 +0200)]
Load YangFeatureProviders in mdsal-dom-schema-osgi

YangModuleProvider provides a view into explicitly defined per-module
feature set. These are defined by applications implementing YANG
modules which provide if-feature'd contents and the application does
not support the full feature set.

This patch add the basic smarts to perform loading of providers, and
propagates them to ModuleInfoSnapshotResolver.

JIRA: MDSAL-790
Change-Id: Ib08915be7b5aba785a8a09ec28dd6e008b61db67
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoPropagate supported features from ModuleInfoSnapshotResolver 44/105544/4
Robert Varga [Thu, 20 Apr 2023 11:57:05 +0000 (13:57 +0200)]
Propagate supported features from ModuleInfoSnapshotResolver

ModuleInfoSnapshotResolver should follow the same pattern as Builder to
allow users to add supported features -- except it talks to a different
backing entity.

JIRA: MDSAL-789
Change-Id: I901e188e33e2508e5c20d135fe57399bc3c81f68
Signed-off-by: matus.matok <matus.matok@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoHide extractYangModuleInfo() 45/105545/2
Robert Varga [Thu, 20 Apr 2023 12:46:11 +0000 (14:46 +0200)]
Hide extractYangModuleInfo()

This method is only used internally, hide it from the rest of the
package.

Change-Id: I77c47e5cff17d0602740823f68c53ff4a813d385
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoPropagate supported features from ModuleInfoSnapshotBuilder 77/105277/12
matus.matok [Thu, 6 Apr 2023 12:27:49 +0000 (14:27 +0200)]
Propagate supported features from ModuleInfoSnapshotBuilder

Allow a FeatureSet to be created from a collected
Module/Set<YangFeature> mapping, allowing each reported module to be
registered in ModuleInfoSnapshotBuilder. These are then transformed
into a FeatureSet and passed down to parser.

JIRA: MDSAL-789
Change-Id: I7837fb1debf2ebff3382422b232f047ec05316c1
Signed-off-by: matus.matok <matus.matok@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
12 months agoBump upstreams 43/105543/1
Robert Varga [Thu, 20 Apr 2023 11:25:05 +0000 (13:25 +0200)]
Bump upstreams

Adopt:
- odlparent-12.0.5
- yangtools-10.0.6

Change-Id: I1e5cda11366b81e37628a518bd5432f244b3f26c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 5f0db3b0d12ac15058d09fd4ad914265256b7e19)

13 months agoCleanup AbstractBindingAdapter 00/105400/2
Robert Varga [Tue, 11 Apr 2023 23:01:26 +0000 (01:01 +0200)]
Cleanup AbstractBindingAdapter

@NonNullByDefault does not quite work here, revert back to explicit
@NonNull annotations.

Change-Id: I4f2779f611316701be8bb41199d9a36f03d0b1d9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoCorrect BindingTypes.yangFeature() javadoc 02/105402/1
Robert Varga [Tue, 11 Apr 2023 23:39:42 +0000 (01:39 +0200)]
Correct BindingTypes.yangFeature() javadoc

We are referencing 'notification', betraying our copy&paste source. Fix
that up.

Change-Id: I683d0964fe654ff4b1e9b327594f548fdef300d7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump byte-buddy to 1.14.4 93/105393/2
Robert Varga [Tue, 11 Apr 2023 21:24:54 +0000 (23:24 +0200)]
Bump byte-buddy to 1.14.4

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.4

Change-Id: I7bc3933c10dc7e947851df72ee28a3f029381582
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoFix DOMDataTreeCommitCohort 04/105204/4
Robert Varga [Tue, 4 Apr 2023 07:10:15 +0000 (09:10 +0200)]
Fix DOMDataTreeCommitCohort

The cohort should be exposing EffectiveModelContext in order to provide
correct interactions with other utilities.

JIRA: MDSAL-822
Change-Id: I2b0a3ada8cb677cdbcf9c2fad0ca50d502f6d2e4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump byte-buddy to 1.14.3 89/105389/2
Robert Varga [Tue, 11 Apr 2023 18:35:15 +0000 (20:35 +0200)]
Bump byte-buddy to 1.14.3

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.3

Change-Id: I3cba45532c0380affd70fa2d1ec1bbb6c30ae0ed
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoBump upstreams 83/105383/2
Robert Varga [Tue, 11 Apr 2023 16:05:19 +0000 (18:05 +0200)]
Bump upstreams

Adopt:
- odlparent-12.0.4
- yangtools-10.0.5

Change-Id: If70cc51bda56c6129d359f6b548554ea41e6f696
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoTag serialVersionUID with @Serial 78/105378/1
Robert Varga [Tue, 11 Apr 2023 16:16:07 +0000 (18:16 +0200)]
Tag serialVersionUID with @Serial

Java 14+ allows tagging serialization-related constructs. While we do
not do anything fancy, make sure we tak serialVersionUID.

JIRA: MDSAL-821
Change-Id: I1b660df8fb5e7599d9d8b6658d8955251cc49870
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoMigrate Optional.get() callers 69/105369/6
Robert Varga [Tue, 11 Apr 2023 11:37:46 +0000 (13:37 +0200)]
Migrate Optional.get() callers

Use Optional.orElseThrow() instanced.

Change-Id: I6ffee0b3e92ddca92a659d0f67d0fda128c02258
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove explicit DataTreeChangeService 14/105214/1
Robert Varga [Tue, 4 Apr 2023 09:34:23 +0000 (11:34 +0200)]
Remove explicit DataTreeChangeService

DataBroker always implements DataTreeChangeService, hence we do not need
to spell that out.

Change-Id: If8f3889358cd7d92c59d719b37de040abcb40831
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoUse ArgumentMatchers.anyCollection() 05/105205/1
Robert Varga [Tue, 4 Apr 2023 07:14:16 +0000 (09:14 +0200)]
Use ArgumentMatchers.anyCollection()

Remove type safety warnings by using a dedicated method for matching any
collection.

Change-Id: I4607cb370115ec375757cb15277c43890bf06b70
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRename InstanceIdentifierBuilder 90/104990/2
Robert Varga [Fri, 24 Mar 2023 10:02:30 +0000 (11:02 +0100)]
Rename InstanceIdentifierBuilder

Turn the intermediate interface into a sealed abstract class, which
lowers verbosity significantly. We now have three builder classes, only
two of which are exposed.

JIRA: MDSAL-798
Change-Id: I45e23643e196d9d06112053d60b2e2fbf1544311
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoIntroduce InstanceIdentifier.KeyedBuilder 42/104142/23
matus.matok [Thu, 23 Feb 2023 12:34:42 +0000 (13:34 +0100)]
Introduce InstanceIdentifier.KeyedBuilder

When we are dealing with the last idem being an identifiable, we should
expose that by producing KeyedInstanceIdentifier.

Introduced KeyedBuilder and switch to this interface whenever the last
item is an IdentifiableItem -- guaranteeing KeyedInstanceIdentifier
return from build() method.

JIRA: MDSAL-798
Change-Id: I404df6aa1f3c79f259ea705adedd58a9d466cb78
Signed-off-by: matus.matok <matus.matok@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoClean up InstanceIdentifierTest 85/104985/1
Robert Varga [Wed, 22 Mar 2023 13:32:47 +0000 (14:32 +0100)]
Clean up InstanceIdentifierTest

Add missing spaces and remove unneeded trailing comments.

Change-Id: I44c0db8aa27b145148fc86c3fb43b0d78769ce51
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoImprove InstanceIdentifierBuilderImpl.equals() 83/104983/1
Robert Varga [Wed, 22 Mar 2023 10:31:57 +0000 (11:31 +0100)]
Improve InstanceIdentifierBuilderImpl.equals()

Use an instanceof pattern and perform direct comparison on hashcodes.

Change-Id: I345e68b9c29fe32ee68d12808f02446c4636388e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoImprove InstanceIdentifierBuilderImpl safety 82/104982/1
Robert Varga [Wed, 22 Mar 2023 09:41:05 +0000 (10:41 +0100)]
Improve InstanceIdentifierBuilderImpl safety

Add a constructor which explicitly takes (Identifiable)Item, removing the
need to use type arguments and hiding the intermediate empty constructor
as well as the methods to add items.

Change-Id: Ib45485b0ab3b10ab0666b4ad6797dc710cd00130
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoSimplify AbstractPathArgument.equals() 81/104981/1
Robert Varga [Wed, 22 Mar 2023 09:31:38 +0000 (10:31 +0100)]
Simplify AbstractPathArgument.equals()

Use instanceof pattern to simplify the equals method.

Change-Id: I31eb8b095a701a43ece60008bc1b797a9ef6ebac
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRemove internal callers of isWildcarded() 80/104980/1
Robert Varga [Wed, 22 Mar 2023 09:22:12 +0000 (10:22 +0100)]
Remove internal callers of isWildcarded()

We have two internal callers who can just refer to the field, fix them
up.

Change-Id: Ia634c2f65b809dd719746bd85061feee14f44ec9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoCorrect InstanceIdentifier.trustedCreate() 76/104976/1
Robert Varga [Tue, 21 Mar 2023 15:24:31 +0000 (16:24 +0100)]
Correct InstanceIdentifier.trustedCreate()

The check for wildcard is not correct: we should just consider the last
item when deciding to create a KeyedInstanceIdentifier. Add an explicit
test and fix the checks.

JIRA: MDSAL-818
Change-Id: Ic6fedca7e182eaf0d983e3e39b49dd75d01f8ae8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
13 months agoRehost BindingMapping in yang.binding.contract.Naming 84/104484/6
Šimon Ukuš [Wed, 22 Feb 2023 12:06:39 +0000 (13:06 +0100)]
Rehost BindingMapping in yang.binding.contract.Naming

Preparation stage for further changes requested by MDSAL-804,
where all the constants and utility methods are moved to
yang.binding.contract.Naming.
Includes moving from BindingMappingTest to NamingTest.

JIRA: MDSAL-804
Change-Id: I8c34f4c4eef40f9c040a0eaeadd49fdfed6dca13
Signed-off-by: Šimon Ukuš <simon.ukus@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump byte-buddy to 1.14.2 40/104840/1
Robert Varga [Mon, 13 Mar 2023 12:39:14 +0000 (13:39 +0100)]
Bump byte-buddy to 1.14.2

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.1
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.2

Change-Id: I1763b4314eead1f822d9cfee948d703aea9f9d51
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump xtend to 2.30.0 71/104671/1
Robert Varga [Wed, 1 Mar 2023 23:10:30 +0000 (00:10 +0100)]
Bump xtend to 2.30.0

https://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2023/02/27/version-2-30-0

Change-Id: If861cb4f3148a2d7d40ec8bc47ea3f8f8cc21feb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoImprove DOMMountPointServiceImpl error message 65/104665/1
Robert Varga [Wed, 1 Mar 2023 14:35:52 +0000 (15:35 +0100)]
Improve DOMMountPointServiceImpl error message

The checkState() we perform is rather ugly, as it does not provide
enough diagnostic information. We already have a nicer checkState()
in the register() path. Extract it to a common method and reuse it from
both places.

Also improve safety by checking for null path before anything and also
take the lock to ensure serialization with others.

JIRA: NETCONF-621
Change-Id: I55845f9bbd7b3f4dbfa06a91724abcb601dc4f7f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump versions to 12.0.0-SNAPSHOT 18/104618/1
Robert Varga [Tue, 28 Feb 2023 10:22:33 +0000 (11:22 +0100)]
Bump versions to 12.0.0-SNAPSHOT

This starts the next major development iteration.

Change-Id: Iae454a79260f3633994976e086f45458a6240185
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoUse mockito-subclass 58/104558/1
Robert Varga [Thu, 23 Feb 2023 15:10:24 +0000 (16:10 +0100)]
Use mockito-subclass

Reduce the workaround here to use mockito-subclass instead of forcing an
old mockito version.

Change-Id: Ibcf45b9101133f2c7852e404081b58c25cd3b888
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoAdd IdentityKeyTest 55/104555/1
Robert Varga [Thu, 23 Feb 2023 12:58:44 +0000 (13:58 +0100)]
Add IdentityKeyTest

Add an explicit test for there/back conversion of identitiable items
with identity-bearing keys.

Change-Id: Iee6ef612aac91058dff658025fc6670c8b8b4f56
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump versions to 11.0.8-SNAPSHOT 95/104495/1
Robert Varga [Thu, 23 Feb 2023 09:48:12 +0000 (10:48 +0100)]
Bump versions to 11.0.8-SNAPSHOT

This starts the next development iteration.

Change-Id: I80ca407339914e3c26aa72b30936c141625e1544
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoMigrate user of TypeDescription.OBJECT 94/104494/1
Robert Varga [Wed, 22 Feb 2023 20:48:34 +0000 (21:48 +0100)]
Migrate user of TypeDescription.OBJECT

Use TypeDescription.ForLoadedType.of() instead. Also shorten references
to TypeDescription.ForLoadedType, as we already have it imported.

Change-Id: I2e5531b8e0199d341ee943792369bafb7ab64dc3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump upstreams 39/104439/5
Robert Varga [Fri, 17 Feb 2023 14:28:20 +0000 (15:28 +0100)]
Bump upstreams

Adopt:
- odlparent-12.0.3
- yangtools-10.0.4

Change-Id: I98d91e0dac8b396e6164c8b3820c57ba4c5304ae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoRemove unneeded declaration 93/104493/1
Robert Varga [Wed, 22 Feb 2023 20:12:01 +0000 (21:12 +0100)]
Remove unneeded declaration

junit-jupiter-params is pulled in by default, remove the declaration.

Change-Id: I8bed9db5e4b50d114357ed308cb9479ed29f1078
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoUse text blocks in BuilderGeneratorTest 91/104491/3
Robert Varga [Wed, 22 Feb 2023 19:09:28 +0000 (20:09 +0100)]
Use text blocks in BuilderGeneratorTest

Java 17 has text blocks, which we can use to make the test a lot more
readable.

Change-Id: Ifa4236e09f6e576b339be7fba0dd2c91469ce9a7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoReduce bindingEquals() verbosity 90/104490/3
Robert Varga [Wed, 22 Feb 2023 19:03:31 +0000 (20:03 +0100)]
Reduce bindingEquals() verbosity

We are generating a cascade of checks, all of which must pass for us to
return 'true'. Rather that generating a number of 'if/return' blocks,
use a single expression to achieve the same result.

Change-Id: I13c7abe4ef81d2a2822b6b4d0456f277dd5ce288
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoUse {@code null} instead of plain null 88/104488/5
Robert Varga [Wed, 22 Feb 2023 18:41:56 +0000 (19:41 +0100)]
Use {@code null} instead of plain null

We want to highlight null, make sure we do that.

Change-Id: I489c42a5e8f28bec5799ba22c78b960fc4e753cb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoClean up dependencies 89/104489/3
Robert Varga [Wed, 22 Feb 2023 19:02:37 +0000 (20:02 +0100)]
Clean up dependencies

We rely on rfc8040-model-api in generator, add that to dependencies to
supporess a warning.

Change-Id: I28f2a16b8eff90cc757a4ccebebe3940033a4739
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
14 months agoBump byte-buddy to 1.14.0 92/104492/1
Robert Varga [Wed, 22 Feb 2023 19:12:46 +0000 (20:12 +0100)]
Bump byte-buddy to 1.14.0

https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.12.20
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.12.21
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.12.22
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.12.23
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.13.0
https://github.com/raphw/byte-buddy/releases/tag/byte-buddy-1.14.0

Change-Id: I5fded158100395f841b15fba08245399d7973b85
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoBump versions to 11.0.7-SNAPSHOT 48/104248/1
Robert Varga [Sun, 5 Feb 2023 11:09:03 +0000 (12:09 +0100)]
Bump versions to 11.0.7-SNAPSHOT

This starts the next development iteration.

Change-Id: I5220b28e9fd077c1b88acb89a25485fa16742f5d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoExpand StatementNamespace 41/104241/2
Robert Varga [Thu, 2 Feb 2023 22:49:35 +0000 (23:49 +0100)]
Expand StatementNamespace

We are dealing with weird generated models in some cases. Expand
StatementNamespace to cover all the possible inter-statement conflicts
by dedicating suffixes.

JIRA: MDSAL-810
Change-Id: If5e99f89a03f1fa6287dc3516f193bed3de097e8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoMove appendPrefix() 35/104235/2
Robert Varga [Thu, 2 Feb 2023 22:00:01 +0000 (23:00 +0100)]
Move appendPrefix()

The decision to append a prefix is a policy decision, hence it should
live in NamingStrategy. StatementNamespace only provides the knobs.

Change-Id: I3439930b2f9978a157f03f7ca685250c010242f1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 months agoUpdate listeners in registerNotificationListeners 44/104244/1
Sangwook Ha [Sat, 4 Feb 2023 19:18:38 +0000 (11:18 -0800)]
Update listeners in registerNotificationListeners

'registerNotificationListeners' does not include a step to replace the
the listener map with a new one. Make sure that the listener map is
actually updated. Also, add test cases for the registration methods.

JIRA: MDSAL-811
Change-Id: I469000b6f92e8d45186cafa1a3a2c737f642de01
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>