netconf.git
4 years agoFix checkstyle 87/84187/1
Robert Varga [Wed, 4 Sep 2019 06:59:26 +0000 (08:59 +0200)]
Fix checkstyle

This updates more checkstyle issues identified.

Change-Id: I0560418e647b4305f8bbd362254983456c2f2222
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use of NodeIdentifierWithPredicates constructors 86/84186/1
Robert Varga [Wed, 4 Sep 2019 06:24:33 +0000 (08:24 +0200)]
Remove use of NodeIdentifierWithPredicates constructors

NodeIdentifierWithPredicates is becoming an abstract class, remove
references to its constructors.

Change-Id: I92f558978945867322d0e78229329e2fc7b0ca18
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use Files.toByteArray() 63/84163/5
Robert Varga [Tue, 3 Sep 2019 08:20:08 +0000 (10:20 +0200)]
Remove use Files.toByteArray()

We have Files.readAllBytes() as a replacement, use that.

Change-Id: Ie55e6ac3bc9be08713abcf985416a4682dbe9d6f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse Object.requireNonNull 60/84160/6
Robert Varga [Tue, 3 Sep 2019 07:21:19 +0000 (09:21 +0200)]
Use Object.requireNonNull

modernizer is pointing out these users, fix them up.

Change-Id: I67dba53d79ef24d464bb5e54685152d182fbbdb3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix checkstyle 59/84159/3
Robert Varga [Tue, 3 Sep 2019 07:20:52 +0000 (09:20 +0200)]
Fix checkstyle

Updated checkstyle is finding some issues, fix them up.

Change-Id: Id17bc94b4fdd2b8883dedc5e8736f9e1971aa900
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use NodeIdentifierWithPredices.getKeyValues() 58/84158/2
Robert Varga [Tue, 3 Sep 2019 07:39:54 +0000 (09:39 +0200)]
Remove use NodeIdentifierWithPredices.getKeyValues()

This method has been superseded by plain access, update accordingly.

Change-Id: I60c1c7ba6c61f3073bb7dc4ea85fa83c6e0933f2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove old ietf-restconf into odl-restconf-nb-bierman02 87/84087/2
Robert Varga [Fri, 30 Aug 2019 08:16:18 +0000 (10:16 +0200)]
Move old ietf-restconf into odl-restconf-nb-bierman02

This model is only used by this single artifact, and hence it
needs to be co-located there.

Change-Id: I0c1c86e68a90e75bff2ffeba7b69035a9f04dc5b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoTie SchemaContext.NAME and NetconfUtil.NETCONF_DATA_QNAME 17/83817/9
Robert Varga [Tue, 20 Aug 2019 14:58:17 +0000 (16:58 +0200)]
Tie SchemaContext.NAME and NetconfUtil.NETCONF_DATA_QNAME

These are referencing the same entity, except one with revision. Tie
them together so we can document what exactly is mean by these constants.

Change-Id: Ic6e64e1231506ec3a77123165aaf9454aa836c4f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSeparate out DeviceSources(Resolver) 91/83991/8
Robert Varga [Mon, 26 Aug 2019 13:38:45 +0000 (15:38 +0200)]
Separate out DeviceSources(Resolver)

NetconfDevice is quite overloaded, making it unclear what methods
participate on each stage of context assebly. This separates out
DeviceSourcesResolver, so that the logic inside it is well contained
outside of NetconfDevice.

Change-Id: I3f05a73470f0c3b15fc6a111202bd5e0dacb92d3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix choice action request test 37/84037/1
Anna Bencurova [Wed, 28 Aug 2019 13:30:49 +0000 (15:30 +0200)]
Fix choice action request test

JIRA: NETCONF-639

Change-Id: Ic1d3a5b18ff64708fe9b55c3aa243b6a2db5c803
Signed-off-by: Anna Bencurova <Anna.Bencurova@pantheon.tech>
4 years agoSimplify base schema lookups 90/83990/7
Robert Varga [Mon, 26 Aug 2019 13:20:06 +0000 (15:20 +0200)]
Simplify base schema lookups

We are checking for notification support multiple times, this
refactors the code to that only once.

Change-Id: Iaf453fc1de7f22e8a38e296f442c560daf66bf93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoPropagate MountPointContext to NetconfMessageTransformer 84/83984/11
Robert Varga [Mon, 26 Aug 2019 10:58:10 +0000 (12:58 +0200)]
Propagate MountPointContext to NetconfMessageTransformer

In order to deal with NETCONF mount points, the transformer needs
to understand the execution context here. This patch updates the APIs
to pass the context down and implementations to use an empty mount
point context.

Change-Id: I4b8e825b96e1063efaa8bbdc750d9c0d35d23d8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUpdate NodeIdentifierWithPredicates construction 35/84035/1
Robert Varga [Wed, 28 Aug 2019 12:10:30 +0000 (14:10 +0200)]
Update NodeIdentifierWithPredicates construction

Direct constructors are going away, use factory methods instead.

Change-Id: I14092a254320f12269c72304e70dcf7ee5f86e97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix action lookups 46/83946/10
Robert Varga [Fri, 23 Aug 2019 16:05:42 +0000 (18:05 +0200)]
Fix action lookups

Actions, unlike RPCs, are not uniquely identified by their last
component, simply because they can be defined at any nest level --
and while their names can be equal, they can be completely different
things.

JIRA: NETCONF-639
Change-Id: Ic9f1df106240a26dd14a5f34de34a198945355c3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoTeach NETCONF about YANG 1.1 actions in cluster topology 93/83693/11
ajay.dp001 [Fri, 16 Aug 2019 11:38:39 +0000 (12:38 +0100)]
Teach NETCONF about YANG 1.1 actions in cluster topology

NETCONF allows invocation of actions but only in Non-cluster
topology which works absolutly fine but when invoked in cluster
topology it failed, usecase was not supported.

This patch provides support for Yang 1.1 action in cluster topology
NETCONF code base is updated to support action, can be invoked in
cluster topology.

JIRA: NETCONF-635
Change-Id: Ic7345f02224b098eafb0bd7c42f1d619309fe12d
Signed-off-by: ajay.dp001 <ajay.deep.singh@ericsson.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoTeach AbstractGet how to transform MapNodes 68/83868/5
Mario Abraham [Wed, 21 Aug 2019 13:23:52 +0000 (15:23 +0200)]
Teach AbstractGet how to transform MapNodes

Added case for MapNode interface in transformNormalizedNode() method

Issue-ID: NETCONF-538
Signed-off-by: Mario Abraham <mario.abraham@pantheon.tech>
Change-Id: I9fa1d7f364d3d68d715aab73473096795da4ed6b

4 years agoTeach BaseSchema about schema mounts 83/83983/5
Robert Varga [Mon, 26 Aug 2019 11:04:46 +0000 (13:04 +0200)]
Teach BaseSchema about schema mounts

We are moving towards the ability to interpret mount points, make
sure base schema interprets them as empty.

Change-Id: Ifa51bac1f51e5b8311e976d0344c0d91b312571c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMake notification filter a simple lambda 89/83989/3
Robert Varga [Mon, 26 Aug 2019 12:57:31 +0000 (14:57 +0200)]
Make notification filter a simple lambda

There is no real value in having a variable for this piece of code,
make it a simple lambda.

Change-Id: I7ad83eb43dc3c1d0887bd249ec2ef9a1aaa95c58
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMore SchemaContext reuse 79/83979/2
Robert Varga [Mon, 26 Aug 2019 10:41:47 +0000 (12:41 +0200)]
More SchemaContext reuse

This reuses SchemaContext across test invocations, speeding up
testing a bit.

Change-Id: I036fa6ce065b6a895b5926e10123af038ae5593e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReuse schemacontext in ListenerAdapterTest 78/83978/2
Robert Varga [Mon, 26 Aug 2019 10:35:10 +0000 (12:35 +0200)]
Reuse schemacontext in ListenerAdapterTest

SchemaContext is an invariant here, make sure we reuse it across
tests.

Change-Id: Ieed76b452cfaf5bd6a6174badc4eace29650a230
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReuse SchemaContext in RuntimeRpcTest 77/83977/2
Robert Varga [Mon, 26 Aug 2019 10:31:14 +0000 (12:31 +0200)]
Reuse SchemaContext in RuntimeRpcTest

This reuses SchemaContext across multiple invocations, saving some
time.

Change-Id: Ia8e35236b5415a2b8259f416f2e76776d2dcbe7d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReuse schemaContext in mdsal-netconf-connector tests 76/83976/2
Robert Varga [Mon, 26 Aug 2019 10:26:28 +0000 (12:26 +0200)]
Reuse schemaContext in mdsal-netconf-connector tests

SchemaContext is well-known invariant, make sure we reuse it.

Change-Id: Id26988be0bd36a21bc4b0f227f5199d217a06300
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReuse SchemaContext in NetconfCommandsImplTest 75/83975/2
Robert Varga [Mon, 26 Aug 2019 10:21:58 +0000 (12:21 +0200)]
Reuse SchemaContext in NetconfCommandsImplTest

SchemaContext is an invariant here, make sure we reuse it across
tests.

Change-Id: I41696a3fd60ab306888afeb3ccfc0a989bdf8fe0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReuse SchemaContext in NetconfDeviceTopologyAdapterTest 74/83974/2
Robert Varga [Mon, 26 Aug 2019 10:21:33 +0000 (12:21 +0200)]
Reuse SchemaContext in NetconfDeviceTopologyAdapterTest

The SchemaContext is an invariant, make sure we reuse it across
tests.

Change-Id: Ib31ec637c15d50d9f7c105128e0ff5c31b9861bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoShare test model SchemaContext 73/83973/2
Robert Varga [Mon, 26 Aug 2019 10:14:28 +0000 (12:14 +0200)]
Share test model SchemaContext

There is no point really to construct this context multiple times,
as it is an invariant. This shaves off some time from test execution.

Change-Id: I4335181bb6992ce5fe1820a452b7a90e0ea14f3a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix schema source registrations not being cleared 88/83988/2
Robert Varga [Mon, 26 Aug 2019 12:48:01 +0000 (14:48 +0200)]
Fix schema source registrations not being cleared

When a device goes down, we need to clear the registration list, so
we do not touch them multiple times.

Change-Id: Ic2e67cd21d05a413882f1d3d37b33c5dfabe2261
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoIntroduce CREATE_SUBSCRIPTION_RPC_PATH 87/83987/2
Robert Varga [Mon, 26 Aug 2019 12:49:34 +0000 (14:49 +0200)]
Introduce CREATE_SUBSCRIPTION_RPC_PATH

This path is used multiple times, it does not really make sense
to create it each and every time.

Change-Id: Iabca29c2745cd046fc54c0b768fd675a25f6b493
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoImprove action lookup 45/83945/2
Robert Varga [Fri, 23 Aug 2019 15:55:06 +0000 (17:55 +0200)]
Improve action lookup

The code here is extremely twisty, but at the end of the day it
ends up creating the path to an action's input -- which we can
readily get from schema. Simplify the logic, speeding it up
significantly.

Change-Id: Ic29689bd03b99b5a2095efa4e3fb3866afc08526
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMake NetconfMessageTransformer.getActions() static 42/83942/2
Robert Varga [Fri, 23 Aug 2019 15:34:09 +0000 (17:34 +0200)]
Make NetconfMessageTransformer.getActions() static

This method only requires a SchemaContext, hence we can easily
make it static.

Change-Id: Ic144c217b6eb5cd1b51532de3c585829189ebdb2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReuse schema in NetconfMessageTransformerTest 41/83941/2
Robert Varga [Fri, 23 Aug 2019 15:31:12 +0000 (17:31 +0200)]
Reuse schema in NetconfMessageTransformerTest

SchemaContext is an invariant, and hence it does not make sense
to re-create it for each test case. Use @{before,after}Class to
initialize it exactly once -- saving about a second from execution
time.

Change-Id: Ib691dbab9893e02f50d79d9d87e4cfe7892db62d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoCleanup karaf distro 22/83822/8
Robert Varga [Tue, 20 Aug 2019 17:24:23 +0000 (19:24 +0200)]
Cleanup karaf distro

Simplify declaration that we do not want to install/deploy
the karaf distribution. Since we are not publishing the
artifact, there is no point to carry an <scm/> section.

Change-Id: I503495eefb0ee3dd02dcb618275346071a685009
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove netconf-parent 21/83821/10
Robert Varga [Tue, 20 Aug 2019 17:04:21 +0000 (19:04 +0200)]
Move netconf-parent

This parent is a dead ringer for restconf-parent, promote it to
project-wide parent and inherit dependencies from restconf-parent,
hence we lose duplicate definitions of upstream dependencies.

Change-Id: If2e994a6a76f1826e2976855f9e9624597628ca8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoEliminate unneeded version specifications 20/83820/9
Robert Varga [Tue, 20 Aug 2019 16:54:02 +0000 (18:54 +0200)]
Eliminate unneeded version specifications

All ouor published artifacts are declared in our artifacts file,
hence there is no need to specify versions.

Change-Id: I20fa898bbe9bf542cfac2b4d6648f91b58bc29a0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoClose module URL stream as soon as possible 38/83938/1
Robert Varga [Fri, 23 Aug 2019 14:43:58 +0000 (16:43 +0200)]
Close module URL stream as soon as possible

This refactors LibraryModulesSchemas.createFromURLConnection()
to close the stream before doing any further processing. This
lowers resource needs as well as makes for simpler code.

Change-Id: I08f242005185637f6dcbd37fe4ba86051624e56d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse constant NodeIdentifiers in LibraryModulesSchemas 37/83937/1
Robert Varga [Fri, 23 Aug 2019 14:31:33 +0000 (16:31 +0200)]
Use constant NodeIdentifiers in LibraryModulesSchemas

There is no point in re-creating these constants each time we need
them -- promote them to proper constants.

Change-Id: If7844b9d0b4b7b075f1f8cfc9bd9821528e3a587
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReduce code duplication in LibraryModulesSchemas 36/83936/1
Robert Varga [Fri, 23 Aug 2019 14:08:47 +0000 (16:08 +0200)]
Reduce code duplication in LibraryModulesSchemas

The entry derivation code is shared among two cases, merge it
into a utility method.

Also removes a thinko where each entry would actually be created
twice. Furthermore the Optional use for internal utility is removed
in favor of a nullable return.

Change-Id: Ic758eeedf741efb11884eae60ee93d2d510f7360
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoShorten nested class references 35/83935/1
Robert Varga [Fri, 23 Aug 2019 13:47:02 +0000 (15:47 +0200)]
Shorten nested class references

Both Entry and NodeIdentifier are unique in this source, there is no
point wasting terminal space in spelling them out.

Change-Id: I2ca1e3fd56124d9d60cf5045e63534fbe03a64ab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSimplify guessJsonFromFileName() 33/83933/1
Robert Varga [Fri, 23 Aug 2019 13:25:21 +0000 (15:25 +0200)]
Simplify guessJsonFromFileName()

46 here means '.', so the logic is:
- if there is no '.', return false
- if there is, return true IFF the string after the last '.' equals
  to ".json" in whatever case combination

Change-Id: Idbd7716a7c37ba8e428a2ecaf60031d32a3adbab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoLibraryModulesSchemas.availableModels is immutable 32/83932/1
Robert Varga [Fri, 23 Aug 2019 13:15:23 +0000 (15:15 +0200)]
LibraryModulesSchemas.availableModels is immutable

This field holds an ImmutableMap, which is initialized to either
empty or a result of ImmutableMap.Builder. Make this contract
explicit by requiring the field to be ImmutableMap.

Change-Id: I13c5dcbd843b79075b31dfd62369abafa00b9e15
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoCleanup state checking 31/83931/1
Robert Varga [Fri, 23 Aug 2019 13:09:50 +0000 (15:09 +0200)]
Cleanup state checking

This cleans up checks to make it clear we are talking about
the same instance when we look at an Optional. Furthermore migrate
away from checkNotNull().

Change-Id: Ie7aeafee45b3140bd6c1e930d3ddbb6b0999de01
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove unneeded type arguments 30/83930/1
Robert Varga [Fri, 23 Aug 2019 12:28:47 +0000 (14:28 +0200)]
Remove unneeded type arguments

Type inference is able to deduce the arguments here, remove them.

Change-Id: I552ea2bfd668122d49ac5d081fe3aca5ce9463bc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoCleanup toRpcResult() 29/83929/1
Robert Varga [Fri, 23 Aug 2019 12:32:11 +0000 (14:32 +0200)]
Cleanup toRpcResult()

We have a NETCONF_RPC_REPLY_NODEID readily available, there is no
point in recreating its equivalent. Also use proper nested builder
pattern to get rid of some useless temporary variables.

Change-Id: Iffa0cc8f9e3bb46cbb06b18afec23a60cb9282e1
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoCentralize NETCONF_(DATA)_QNAME 28/83928/1
Robert Varga [Fri, 23 Aug 2019 12:04:09 +0000 (14:04 +0200)]
Centralize NETCONF_(DATA)_QNAME

This constant is already defined in netconf-util, it does make
sense to use it from there rather than brewing our own. Also
updates a few users which were ignoring existence of
NETCONF_DATA_NODEID.

Change-Id: Ic7fa531c4f3cb5f0a79ab663e8ce2c767bf3e570
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMake mappedRpcs an ImmutableMap 27/83927/1
Robert Varga [Fri, 23 Aug 2019 11:50:12 +0000 (13:50 +0200)]
Make mappedRpcs an ImmutableMap

This map is known to be immutable in all cases, make sure we
propagate that knowledge.

Change-Id: Iac97ab3227b88ae6fd5e6fadd896f357412947a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSimplify GET_SCHEMAS_RPC initialization 26/83926/1
Robert Varga [Fri, 23 Aug 2019 11:49:04 +0000 (13:49 +0200)]
Simplify GET_SCHEMAS_RPC initialization

There is no need for static initializer, as we are using a simple
builder.

Change-Id: I55bbb8e54ee2df436ec242373739ca6aba1dc03d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoAlias restconf-artifacts 19/83819/4
Robert Varga [Tue, 20 Aug 2019 16:47:29 +0000 (18:47 +0200)]
Alias restconf-artifacts

Each project should provide a single artifacts file, this patch
unifies them in 'netconf-artifacts', making restconf-artifacts
only an alias for downstreams.

Change-Id: I3e1a12882a42bcac0a402d49420fdf0360b43ae0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove netconf-artifacts 18/83818/2
Robert Varga [Tue, 20 Aug 2019 15:28:14 +0000 (17:28 +0200)]
Move netconf-artifacts

Each project should be exposing only a single set of artifacts, so
that it's "release" version is consistent across all build entrypoints.

Change-Id: Ief9997e39a71fb3addbfe0999368a3e82a6da804
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoChange in the version name 91/83791/1
Robert Varga [Tue, 20 Aug 2019 12:08:57 +0000 (14:08 +0200)]
Change in the version name

This fixes the reference to current release stream.

Change-Id: I7161745536fda8acb47f2ea4c677269c970c8b2e
Signed-off-by: Anushka Bhandari <anushka16134@iiitd.ac.in>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFixed wrong exception types 81/83581/8
Jaroslav Tóth [Mon, 12 Aug 2019 14:38:38 +0000 (16:38 +0200)]
Fixed wrong exception types

- After implementation of exception mapper we can throw on error
  events RestconfDocumentedException that will be automatically
  mapped to response errors container.
- This patch changes IAE or NPE during serialization/deserialition
  of instance identifier to right RDE types - HTTP method invoked
  on non-existing/malformed IID will lead to returned errors
  container (compliancy against spec.) and not status code 500
  without any description.

Change-Id: I0982e89b90d4a254656b2b9dcdab87fcbb4a8103
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSimplify RestconfValidationUtils users 56/83756/3
Robert Varga [Mon, 19 Aug 2019 13:26:19 +0000 (15:26 +0200)]
Simplify RestconfValidationUtils users

Rather than having users to immediate formatting of the String
value, introduce a simple alternative to throw exceptions.

Change-Id: Id82506398858667f5bd9214beab34dd5bb6638e6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoAdded ExceptionMapper to RFC-8040 impl 27/83527/12
Jaroslav Tóth [Thu, 8 Aug 2019 15:01:13 +0000 (17:01 +0200)]
Added ExceptionMapper to RFC-8040 impl

It is similar to draft-02 implementation but with several diffs
that had to be made because of compliancy against specification,
different revisions of QNames, and need for refactoring:
- Response must have yang-data+json or yang-data+xml types, the
  parsing of request content type and acceptable media types was
  adjusted accordingly.
- Schema context was used as feed to NormalizedNode builders -
  this approach is useless.
- Anonymous classes used for special serializaton with disabled
  validation of error-info leaf were moved to distinct classes
  (they share some lines of code, so the abstract parent class
  is added).
- Added error-path leaf to serialized JSON/XML data (it was in
  todo tag for unknown reasons).
- Next small fixes and refactoring of code by extraction of
  methods.
- Unit test was written from scratch, because of changes done
  to parsing of status code and media type.

Change-Id: I9c17229e8df1b382a37ca588a506128040c6d42f
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump mdsal to 4.0.4 29/83729/2
Robert Varga [Thu, 15 Aug 2019 08:33:07 +0000 (10:33 +0200)]
Bump mdsal to 4.0.4

This brings in latest fixes.

Change-Id: I59f89ef4fe76ef16fcdc9b59f8d9b50aa0849847
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFixed response errors for HTTP PUT 84/83584/5
Jaroslav Tóth [Mon, 12 Aug 2019 15:10:52 +0000 (17:10 +0200)]
Fixed response errors for HTTP PUT

- Added correct error types and tags that previously weren't
  specified at all so it always returned 500 status code.

Change-Id: Ie77d324ee6b2fc149714e24451f40b01b3e47827
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
4 years agoFixed POST data error response 83/83583/4
Jaroslav Tóth [Mon, 12 Aug 2019 14:55:05 +0000 (16:55 +0200)]
Fixed POST data error response

- Added correct error types and tags that previously weren't
  specified at all so it always returned 500 status code.

Change-Id: I911fcd04546d2c2884f52e197c44cde67ed214a8
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
4 years agoFix mapping of Revision in Deviations 00/83700/2
Tibor Král [Thu, 15 Aug 2019 15:13:28 +0000 (17:13 +0200)]
Fix mapping of Revision in Deviations

"IllegalArgumentException: Unknown value type Optional" exception
is thrown during initialization of RESTCONF with yang model containing
deviation.

JIRA: NETCONF-637
Change-Id: I8c19eb39d06ff38e691ea9a079507dab40311341
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemoval of dup code in RestconfDataServiceImpl 62/83362/4
Jaroslav Tóth [Thu, 1 Aug 2019 19:52:08 +0000 (21:52 +0200)]
Removal of dup code in RestconfDataServiceImpl

- Deriving of schema context and transaction chain handler
  repeats multiple times in the class.

Change-Id: Ic8b91c99f47dd1ae3d177b8e8070149f46ed288e
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
4 years agoFixing of useless message 'Unknown key : content' (read data) 59/83359/5
Jaroslav Tóth [Thu, 1 Aug 2019 15:17:40 +0000 (17:17 +0200)]
Fixing of useless message 'Unknown key : content' (read data)

- After reading of data in RFC-8040 with set content query
  parameter, the INFO log with unknown query parameter was sent
  (but it was recognized correctly in another part of code).
- Refactoring of the readData(..) method, so the parsing of
  withDefaults query parameter is moved to ReadDataTransactionUtil
  that contains other parsing logic.
- Adding of withDefaults query paramameter to WriteParameters
  data class.
- Added unit tests.

Change-Id: I25a01c62a995facce24f29a0dc48048aa1e49f56
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
4 years agoFix NPE after invoking of GET on /rests/data 61/83361/4
Jaroslav Tóth [Thu, 1 Aug 2019 18:42:28 +0000 (20:42 +0200)]
Fix NPE after invoking of GET on /rests/data

- NPE was caused by comparing of identifier with various stream
  paths.
- Resolved by adding identifier != null checks.
- Added unit test.

Change-Id: Ieca8adf0f6686b67e3ddfee53b7f3d47cd1d9f3e
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUpdate user-guide.rst 11/83611/2
Mario Abraham [Wed, 14 Aug 2019 10:18:22 +0000 (12:18 +0200)]
Update user-guide.rst

- added info about 2 different endpoints
related to RESTCONF

Issue-ID: NETCONF-500
Signed-off-by: Mario Abraham <mario.abraham@pantheon.tech>
Change-Id: I3ab9517e6ac2afe3e061eb31dfa8b642e1d34614

4 years agoCustom scheme-cache-directory yang models are not replicated among 22/83522/4
Jakub Toth [Thu, 8 Aug 2019 12:15:17 +0000 (08:15 -0400)]
Custom scheme-cache-directory yang models are not replicated among
cluster members

The problem was talking about the MissingSchemaSources, where in
the master wasn't setup schema repo & schema registry correctly
based on the data from NetconfNode (from NetconfTopologySetup).
Espacially if the node was using the specific schema cache directory.
According to, slaves were trying to ask the master for sources
(YangTextSchemaSource). In this way, master was trying to resolve
sources from the empty schema repo and it was failing there.

JIRA: NETCONF-610
Change-Id: I84290c085b8a54a9758a85b68113c18aee284a1c
Signed-off-by: Jakub Toth <jtoth@luminanetworks.com>
4 years agoBump versions by x.y.(z+1) 50/83550/1
jenkins-releng [Mon, 12 Aug 2019 16:14:12 +0000 (16:14 +0000)]
Bump versions by x.y.(z+1)

Signed-off-by: jenkins-releng <jenkins-releng@opendaylight.org>
Change-Id: I27bf05f0560a166dc0fd825ae3c119ac128ef7ca

4 years agoAdd checkValidIdentifierStart() 37/83337/3
Robert Varga [Wed, 31 Jul 2019 09:09:16 +0000 (11:09 +0200)]
Add checkValidIdentifierStart()

We have slight code duplicate, fix this by adding a utility method.

Change-Id: I696fdba4df956066fe0ebb8226d00ea6c1e0a416
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse String.indexOf() to check for percent 36/83336/3
Robert Varga [Wed, 31 Jul 2019 09:06:39 +0000 (11:06 +0200)]
Use String.indexOf() to check for percent

Rather than using String-based lookup, use a simple indexOf(),
which is faster.

Change-Id: Ic2ece2e69e4bb00a492ad129e10dc1ca0422fcbb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUse static imports for constants 35/83335/3
Robert Varga [Wed, 31 Jul 2019 09:01:40 +0000 (11:01 +0200)]
Use static imports for constants

Current code is needlessly verbose in its references to simple
constants. Fix this by using static imports, reducing clutter.

Change-Id: I4b0e80a518e10de98a1a75ed8f80d3440e6a3f38
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFold MainVarsWrapper 30/83330/3
Robert Varga [Wed, 31 Jul 2019 00:41:17 +0000 (02:41 +0200)]
Fold MainVarsWrapper

It does not make any sense to keep a separate object to keep
state, while YangInstanceIdentifierDeserializer is pure static.

Eliminate MainVarsWrapper as a separate subclass, encapsulating
it in an YangInstanceIdentifierDeserializer instead. This allows
us manipulate state data freely, without having to go through
accessors, and thus make it much easier to follow as to what is
happening.

Change-Id: Ifa241c7343e13fe524ad8cf7d05cb3a6bbd6a18b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove validArg() 28/83328/3
Robert Varga [Wed, 31 Jul 2019 00:00:55 +0000 (02:00 +0200)]
Move validArg()

This method has a single caller, which just passes it the state --
which really makes the method an instance method.

Change-Id: I8346e53e7b4f47e6da458fdef936812f914d2ef2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump mdsal to 4.0.3 02/83102/7
Robert Varga [Thu, 18 Jul 2019 10:35:23 +0000 (12:35 +0200)]
Bump mdsal to 4.0.3

This bumps mdsal to 4.0.3, bringing in latest fixes and improvements.

Change-Id: Ie8e03aab1f31edf80bc9f1d7896c334c9d83be8d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump yangtools to 3.0.4 01/83101/7
Robert Varga [Thu, 18 Jul 2019 10:35:09 +0000 (12:35 +0200)]
Bump yangtools to 3.0.4

This picks up latest fixes and improvements.

Change-Id: I03201927d23762acf641c1ab0ff3419ba8b94969
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoBump odlparent to 5.0.1 00/83100/5
Robert Varga [Thu, 18 Jul 2019 10:34:53 +0000 (12:34 +0200)]
Bump odlparent to 5.0.1

This picks up the latest upgrades.

Change-Id: If6006a94197839a9718cd5eae16b0a025913af93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate nextIdentifierFromNextSequence() 27/83327/2
Robert Varga [Tue, 30 Jul 2019 23:57:55 +0000 (01:57 +0200)]
Migrate nextIdentifierFromNextSequence()

This method is very simple and operates on state. Move it into
the state object, allowing us to eliminate some amount of verbosity.

Change-Id: I07dbb5a612a63d6dd7a1f428138a6750c91c1e3e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMigrate skipCurrentChar() and checkValid() 26/83326/2
Robert Varga [Tue, 30 Jul 2019 23:48:23 +0000 (01:48 +0200)]
Migrate skipCurrentChar() and checkValid()

These two methods always operate on the same instance of data,
hence making the method an instance method saves quite a bit of
verbosity.

Change-Id: I27d621c0f4b28e15fbe6126119f7cfc45475d0b4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove currentChar() 25/83325/2
Robert Varga [Tue, 30 Jul 2019 23:38:39 +0000 (01:38 +0200)]
Move currentChar()

All users are acquiring state from the same instance, hence making
the method an instance method ditches quite a bit of verbosity.

Change-Id: Ib3a26055a0ee1cb6562adf30997e311e8f013aaa
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoMove allCharsConsumed() 24/83324/2
Robert Varga [Tue, 30 Jul 2019 23:32:26 +0000 (01:32 +0200)]
Move allCharsConsumed()

All users are doing the same thing, this method is better served
as an instance method.

Change-Id: I7e0d76dd0909bd6eee6be2ff10ab6fb9ba51dc10
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoSimplify ParserIdentifier 23/83323/2
Robert Varga [Tue, 30 Jul 2019 23:18:47 +0000 (01:18 +0200)]
Simplify ParserIdentifier

There is no point to allocate the context while finding the schema
node. Refactor the code a bit, reducing the need to pass (and ignore)
mount point.

Change-Id: Ic8832c81c4fcc34445d4ed47df5a45e6a9ba430f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFixup URL path resolution process 22/83322/2
Robert Varga [Tue, 30 Jul 2019 22:31:39 +0000 (00:31 +0200)]
Fixup URL path resolution process

RESTCONF parsing currently entails masking its own path domain
(which is InstanceIdentifier + optional operation) as a
YangInstanceIdentifier.

This patch reworks the interpretation of this encapsulation into
the corresponding SchemaContext searches.

JIRA: NETCONF-619
Change-Id: I6a722760ba3955e9a105ab1c1029e23f12fa0596
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoTeach RFC8040 URL parser about actions 66/82866/12
ajay.dp001 [Mon, 1 Jul 2019 11:40:03 +0000 (12:40 +0100)]
Teach RFC8040 URL parser about actions

RFC8040 allows invocation of actions, but unfortunately our
parser is not equipped to deal with them.

This updates the utilities to try to locate actions when the
data is not found.

JIRA: NETCONF-619
Change-Id: I93d69ea76fd928f963cb7a8c703c97c125820818
Signed-off-by: ajay.dp001 <ajay.deep.singh@ericsson.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoFix odlparent reference 12/83112/1
Robert Varga [Thu, 18 Jul 2019 12:15:41 +0000 (14:15 +0200)]
Fix odlparent reference

We should not be referncing odlparent-4.0.2, but rather 5.0.0.

Change-Id: Ia238cf79c1324b3764ede4e920d8bd8caac2ca97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoAttempt netconf remount regardless of error-type 78/82678/13
Jakub Toth [Mon, 24 Jun 2019 09:17:16 +0000 (05:17 -0400)]
Attempt netconf remount regardless of error-type

Even if there's a 'no more sources' for schema context, go through
normal remount cycle. It's added a new optional boolean to the netconf
mount fields specifically for this, default to false/ current behavior.

JIRA: NETCONF-611
Change-Id: If983ef0dded606fb75b5e41236c9d0f8328ab7c6
Signed-off-by: Jakub Toth <jtoth@luminanetworks.com>
4 years agoNetconf stack by default locks the data store before issuing 21/82521/11
Jakub Toth [Fri, 14 Jun 2019 15:32:00 +0000 (11:32 -0400)]
Netconf stack by default locks the data store before issuing
edit-config, and then unlocks it.

This poses some scalabilty issues when multiple requests for
the same device arrives. Also some devices automatically
queues the requests at the device itself.

The patch provides an option to allow lock/unlock operations
for edit-config. Default value is true which defaults to today's
behavior.

JIRA: NETCONF-629
Change-Id: I0531b27c0807dfb586f9e80c9b9fc9b189e3cadf
Signed-off-by: Jakub Toth <jtoth@luminanetworks.com>
4 years agoUpdate netconf user guide with the information 20/83020/1
esobmar [Thu, 11 Jul 2019 12:43:47 +0000 (13:43 +0100)]
Update netconf user guide with the information
on how to use custom RPC with test-tool.

Change-Id: Ie5c9c91ed19f7c25880a4b8590a28bd07d1be98e
JIRA: NETCONF-633
Signed-off-by: Mariusz Sobucki <mariusz.sobucki@est.tech>
4 years agoFix testtool GetSchema broken since v1.6.0 13/82913/2
Eliezio Oliveira [Mon, 1 Jul 2019 16:53:52 +0000 (17:53 +0100)]
Fix testtool GetSchema broken since v1.6.0

Offending commit: af7babe

Change-Id: Ia43cdcf10b54d9528921675fed321665771bd667
JIRA: NETCONF-624
Signed-off-by: Eliezio Oliveira <eliezio.oliveira@est.tech>
4 years agoAdd E2E testing for testtool 12/82912/2
Eliezio Oliveira [Fri, 28 Jun 2019 08:41:49 +0000 (09:41 +0100)]
Add E2E testing for testtool

Change-Id: I87d7de23c210f5b4b0480a8737323d3f8ac78eb9
JIRA: NETCONF-630
Signed-off-by: Eliezio Oliveira <eliezio.oliveira@est.tech>
4 years agoConvert anyxml nodes lazily 14/82514/8
Jakub Toth [Sun, 12 May 2019 20:15:34 +0000 (13:15 -0700)]
Convert anyxml nodes lazily

The problem is talking about the direct creating of ContainerNode
from the Anyxml in the NetconfMessageTransformer. Later, while
the YT is parsing data, it expects the anyxml on that place
according to the schema context. In this way, we need to use
the AnyXml builder while the NetconfMessage is processing.

Transformation to a container-based layout is performed afterwards
as needed.

JIRA: NETCONF-616
Change-Id: I8ca6d93e42a845de67721209e5e6362c47703db9
Signed-off-by: Jakub Toth <jtoth@luminanetworks.com>
4 years agoRemove aaa-encrypt-service version 86/82886/1
Robert Varga [Mon, 1 Jul 2019 09:10:00 +0000 (11:10 +0200)]
Remove aaa-encrypt-service version

This version is propagated out of aaa-artifacts, remove it.

Change-Id: Ia4cf3ab202f96027a97a1e5568f9a87607db5eea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 9612e983a55540fdd30631db943bb303520f890c)

4 years agoJETTY web-sockets client tool 48/81648/14
Jaroslav Tóth [Sun, 14 Apr 2019 17:40:12 +0000 (19:40 +0200)]
JETTY web-sockets client tool

- Testing tool is place in new module "tools" under "restconf"
  root module and the name of the testtool executable file with
  all dependencies is named ${project.artifactId}
  -${project.version}-executable.
- See ApplicationSettings class for possible input parameters
  of the application as well as the usage. Mandatory parameter is
  stream/s name/s using which the web-socket sessions are
  established. Other parameters can be categorized into two groups:
  1) setup of ping messages (enabled, interval, message)
  2) TLS configuration for WSS streams - keystore, trustore,
     passwords, cipher suites, protocols, ...

JIRA: NETCONF-623
Change-Id: Ifaf340ee1e0ba26c203bb1c663588cc94fb5496d
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoPorting of WebSockets to Jetty in RFC-8040 RESTCONF 24/81424/17
Jaroslav Tóth [Sun, 7 Apr 2019 18:23:42 +0000 (20:23 +0200)]
Porting of WebSockets to Jetty in RFC-8040 RESTCONF

- Reimplementation of the web-socket servlet using JETTY library:
  1) added configuration holder with persistent-id="websockets"
     - configurable maximum web-socket frame length, session idle
     timeout, and ping control frames interval.
  2) implemented web-socket initilizer that represents servlet -
     configuration of web-socket factory
  3) imlemented web-socket factory that creates new web-socket
     session based on input URI from which the stream-name can be
     extracted
  4) implemented session handler that just reflects netty's session
     hadler with these differences:
     - configurable heartbeat interval (PING intialized at server)
     - configurable max. frame length that breaks longer messages
       to smaller fragments (in old config. long notifications
       caused issues)
     - PONG frames are sent implicitly (respondation using PING)
     - TCP list. port is not specified, because we want to reuse
       web server's port (it is possible to share WS/WSS with
       HTTP/HTTPS)
- Integration of web-socket servlet in WebInitialzer; we had to
  modify stream paths, so they contain also "rests" prefix before
  stream name - it is not possible to register more context path
  roots... and the upgrade reqests go to common web session.
- Removal of old web-socket server implementation with netty's
  dependencies and replacing of Channel references with
  WebSocketSessionHandler that is now responsible for communication
  with remote endpoint.

JIRA: NETCONF-623
Change-Id: I568aa6375ea3c6a5db3183a54324ef02aa0bd74a
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use of StringBuffer 39/82639/2
Robert Varga [Fri, 21 Jun 2019 05:32:36 +0000 (07:32 +0200)]
Remove use of StringBuffer

StringBuilder is a faster replacement for StringBuffer, use that.
Also cleans up append() usage, so we do not do superfluous string
concatenations.

Change-Id: I2dd973dab6199290e2cbdd840f36b754b14827ad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRemove use of Objects.isNull/nonNull 75/82575/4
Robert Varga [Thu, 20 Jun 2019 09:16:33 +0000 (11:16 +0200)]
Remove use of Objects.isNull/nonNull

These methods obscure null checks from static analysis tools,
and are explicitly documented to be intended for method references
only -- remove them in favor of proper null checks.

Change-Id: Ibe0a20015eb55d92f19b0ac487a8e48a186216a3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoReturn new generatedKeyPair in loadKeys of testtool 72/82572/2
Anna Bencurova [Wed, 19 Jun 2019 19:50:53 +0000 (21:50 +0200)]
Return new generatedKeyPair in loadKeys of testtool

This can be done to avoid sendKexInit() no resolved signatures available
error while first login.

JIRA: NETCONF-612
Change-Id: I32f5b8ea5f3c9a9c613e000932ca0fe205451c74
Signed-off-by: Anna Bencurova <Anna.Bencurova@pantheon.tech>
4 years agoFix building of wrong YANG notify stream 30/82530/2
Jaroslav Tóth [Mon, 17 Jun 2019 14:54:10 +0000 (16:54 +0200)]
Fix building of wrong YANG notify stream

- Identification of stream should start with "notification-stream"
  and not "create-notification-stream".
- Added missing '/' before JSON suffix.

JIRA: NETCONF-623
Change-Id: Ia3b78ba8af1b0f53f60dd88b39dff8b92b881ffd
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
4 years agoRemove deadlock scenario in ListenersBroker 29/82529/2
Jaroslav Tóth [Mon, 17 Jun 2019 13:41:29 +0000 (15:41 +0200)]
Remove deadlock scenario in ListenersBroker

- After call to removeAndCloseDataChangeListener(..),
  the dataChangeListenersLock is allocated but inside this method
  removeAndCloseDataChangeListenerTemplate(..) is called too which
  tries to allocate the same lock again.

JIRA: NETCONF-623
Change-Id: Iaa56ce8936bb2f659b8b42357d19df999621eff1
Signed-off-by: Jaroslav Tóth <jtoth@frinx.io>
4 years agoFix for deviation list mapping in Restconf 82/82482/9
Tibor Král [Tue, 11 Jun 2019 09:02:34 +0000 (11:02 +0200)]
Fix for deviation list mapping in Restconf

RESTCONF NBP initialization fails with
RestconfDocumentedException when global schema context
contains yang models using deviations.

JIRA: TRNSPRTPCE-126

Change-Id: I480ac6641006e3e82ffd6ac3aa4cf169fe8b665d
Signed-off-by: Tibor Král <tibor.kral@pantheon.tech>
4 years agoAnother update to SerializationUtils update 08/82408/1
Robert Varga [Wed, 5 Jun 2019 08:08:05 +0000 (10:08 +0200)]
Another update to SerializationUtils update

Write-side of serialization changed, this updates our only caller.

Change-Id: Ife1537be690b9d662c3be13558a78349823e379d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoUpdate SerializationUtils method 07/82407/1
Robert Varga [Wed, 5 Jun 2019 07:28:12 +0000 (09:28 +0200)]
Update SerializationUtils method

SerializationUtils changed API, this updates our use of it.

Change-Id: Ie6c15b005cbc6437f88c9c414cd6f2cca54bb858
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
4 years agoRevert "Convert anyxml nodes lazily" 96/82396/2
Robert Varga [Tue, 4 Jun 2019 15:18:30 +0000 (17:18 +0200)]
Revert "Convert anyxml nodes lazily"

This reverts commit 49988c53b1741cca9797373eba0c8d7f21a7da3d,
as it breaks CSIT.

JIRA: NETCONF-616
Change-Id: I48bdde78422006c188096620d4029e255b950bc2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoDo not attempt to form leaf metadata on empty path 78/81878/10
Robert Varga [Thu, 2 May 2019 17:05:38 +0000 (19:05 +0200)]
Do not attempt to form leaf metadata on empty path

This thinko was introduced during Sodium MRI integration. As
NormalizedNodes no longer hold attributes, the corresponding
metadata needs to be constructed -- but only in the case
we have created the structure ourselves.

In order to fix this, we iterate over both the node and the path,
thus correctly mirroring the structure.

JIRA: NETCONF-613
Change-Id: Ib2c9736c577c5dbdd8f4c826f13acbd7cbc21418
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump mdsal to 4.0.2 70/82270/5
Robert Varga [Tue, 28 May 2019 07:20:03 +0000 (09:20 +0200)]
Bump mdsal to 4.0.2

This picks up the latest improvements.

Change-Id: Iec9465229b165cb177cf2568ac43e16c8a102c26
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoBump yangtools to 3.0.1 69/82269/4
Robert Varga [Tue, 28 May 2019 07:19:52 +0000 (09:19 +0200)]
Bump yangtools to 3.0.1

This picks up yangtools-3.0.1, which contains a fix required
for NETCONF-613.

Change-Id: I4d9df3fdbbaeaba31e9fc695fdd57bae1561d1a5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoRemove dependency on sal-connector-api 72/82372/2
Robert Varga [Fri, 31 May 2019 16:20:01 +0000 (18:20 +0200)]
Remove dependency on sal-connector-api

We are not using anything from this artifact, just remove
the dependency.

Change-Id: I89fe3482a9482bdaf2fce88d66fd778539c0a55d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
5 years agoConvert anyxml nodes lazily 01/82001/13
Jakub Toth [Sun, 12 May 2019 20:15:34 +0000 (13:15 -0700)]
Convert anyxml nodes lazily

The problem is talking about the direct creating of ContainerNode
from the Anyxml in the NetconfMessageTransformer. Later, while
the YT is parsing data, it expects the anyxml on that place
according to the schema context. In this way, we need to use
the AnyXml builder while the NetconfMessage is processing.

Transformation to a container-based layout is performed afterwards
as needed.

JIRA: NETCONF-616
Change-Id: Iab00b9ef712dbebf0661546550b10bf04507e97a
Signed-off-by: Jakub Toth <jtoth@luminanetworks.com>
Signed-off-by: Miroslav Macko <mmacko@luminanetworks.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>