ajay_dp001 [Sat, 2 Nov 2019 02:25:45 +0000 (02:25 +0000)]
Updating Action Rest Endpoints on Swagger UI
NETCONF-647
Signed-off-by: ajay_dp001 <ajay.deep.singh@est.tech>
Change-Id: I790d81a833bdcb611459b3418fbf66be2388e050
wsx25289 [Tue, 15 Oct 2019 08:01:30 +0000 (04:01 -0400)]
Fix config/oper reconciliation for leaf-lists
When config and operational datastore both have same data, then if
we get data which has a leaf-list node by rests/data, it will fail,
because there is no code to process leaf-list.
Change-Id: I4724447158bf0a1a12e87145dcb361e8196b1170
Signed-off-by: Wsx25289 <10200860@zte.com.cn>
Robert Varga [Mon, 28 Oct 2019 12:45:05 +0000 (13:45 +0100)]
Do not use toString() in looging messages
This eliminates unnecessary toString() calls, as logging implementation
will call it when necessary.
Change-Id: Ic3b45b9ae34c29951ed6eea94cae39c423b6ec26
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 25 Oct 2019 13:25:51 +0000 (15:25 +0200)]
Remove remaining use of compat DTO methods
This fixes up the final three offenders.
Change-Id: I834fe08bae984d0e5798f5b30d68f7ed1d89f0cf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 25 Oct 2019 13:21:56 +0000 (15:21 +0200)]
Migrate to use java.util.Optional
Modernizer is pointing out this use of Guava, migrate it. Also clean
up builder use in this class.
Change-Id: I2a20e21fa1e767f594d0f20e9eebe6dce4e7996e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 7 Oct 2019 05:59:21 +0000 (07:59 +0200)]
Migrate setters
This migrate Binding DTO setter usage to use Uint types, fixing
deprecation warnings.
Change-Id: I6eb6224ccaca1444c686eec52b36afa625939557
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 27 Sep 2019 15:15:19 +0000 (17:15 +0200)]
Adjust for AAA ditching WebClient
This adjust for the fact AAA is using Java 11 HttpClient.
Change-Id: Ie0afd4db88828fa76581b830e74819344d19b916
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 21 Oct 2019 04:12:43 +0000 (06:12 +0200)]
Remove superfluous checkstyle/spotbugs configuration
odlparent is already configuring these, remove the declarations.
Change-Id: I309cd92b5096f6ec2c2d025f0ba735412dc94720
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 26 Sep 2019 15:58:35 +0000 (17:58 +0200)]
Acquire RFC8528 mount point map
This adds the logic to create a mountpoint map, without supporting
inline schemas and recursion.
Change-Id: I2a9306fd9e021f1b13b9bbac96cfe83e35c5285f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Fri, 11 Oct 2019 14:11:04 +0000 (16:11 +0200)]
Bump mdsal to 5.0.3
This bumps mdsal to 5.0.3 to workaround issues with Blueprint
injection.
Change-Id: I848c9220ce06ec7b4af304ab64948bdc30257dbd
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 2 Sep 2019 17:30:16 +0000 (19:30 +0200)]
Bump mdsal to 5.0.2
This bumps mdsal to 5.0.2 as part of Magnesium MRI.
Change-Id: Id9ab45edf28477dca8acf8f7538cfd26f237f6f4
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 2 Sep 2019 17:29:40 +0000 (19:29 +0200)]
Bump yangtools to 4.0.1
This bumps yangtools to 4.0.1 as part of Magnesium MRI.
Change-Id: I6228c73d31721c8427e7f456afd5ab3ff715c88b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 16 Sep 2019 02:24:45 +0000 (04:24 +0200)]
Update for sshd-2.3.0 changes
sshd-2.3.0 changed APIs slightly, this makes the simple migration
of our code.
Change-Id: Ic525b317356a8d9ee3b0ad0b8a0fa78e10d2b482
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 2 Sep 2019 17:29:11 +0000 (19:29 +0200)]
Bump odlparent to 6.0.0
This bumps odlparent to 6.0.0 as part of Magnesium MRI.
Change-Id: I19505dd80b832cd6ed8b68daf471d9e90d3dfdd2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 8 Oct 2019 10:28:05 +0000 (12:28 +0200)]
Make negotiationFuture final
It is obvious this is field does not change once constructed, make
sure constructors reflect that.
Change-Id: Ib867ba94775c52b241f7044ac6388c4263ad5074
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sun, 6 Oct 2019 16:41:47 +0000 (18:41 +0200)]
Apply modernizations
Replace Guava constructs with their Java 8 equivalents.
Change-Id: Idfba9bbba34620fa9d40d611f76632b28dbf55eb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 26 Sep 2019 12:08:40 +0000 (14:08 +0200)]
Untangle NetconfDevice setup
NetconfDevice sets up the device connection in multiple stages,
which is all done in a messy way. Untangle the setup procedure,
so that we can properly hook up into it.
Change-Id: I612683153c58d0b319793440cbb06bfad7846e52
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 1 Oct 2019 21:13:35 +0000 (23:13 +0200)]
Lower visibility to package
This is a private-class method, it is fair game to declare it as
package-private, as noone can observe it outside of the nest.
Remove the need for shenanigans and lower access to the sole
method.
Change-Id: I5d44202f28e21ce57666f607f5634191ff517f17
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 3 Sep 2019 10:27:41 +0000 (12:27 +0200)]
Migrate YangInstanceIdentifier.EMPTY users
This moves over to use the replacement empty() method.
Change-Id: I133d5025ee176e5487dbcd8f71517c990c299682
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Thu, 22 Aug 2019 13:48:27 +0000 (15:48 +0200)]
Remove restconf-artifacts
As netconf-artifacts holds all that is needed to consume
our project's artifacts, this removes the duplicate
restconf-artifacts after downstreams have been fixed up.
Change-Id: I406ac03a6ab930cd049a2b7c6433e3a03265d7fb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sat, 14 Sep 2019 02:04:27 +0000 (04:04 +0200)]
Bump mdsal to 4.0.6
This picks up latest fixes.
Change-Id: Iab74ff588673787123469f859125a336da87b209
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Sat, 14 Sep 2019 02:04:05 +0000 (04:04 +0200)]
Bump yangtools to 3.0.5
This picks up latest fixes.
Change-Id: Id49b5713aa8feeed31aa690ad7011b0ce35a80ea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Mon, 2 Sep 2019 17:27:15 +0000 (19:27 +0200)]
Bump odlparent to 5.0.2
This bumps odlparent to pick up latest references.
Change-Id: Ica16c98bd6eeeb2530bdc9cee4bb7f198e4a6ab0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
PeterSuna [Mon, 9 Sep 2019 11:45:43 +0000 (13:45 +0200)]
Reorganize transactionChainHandler usage.
Update transactionChainHandler to conform dependecny injection pattern.
Update DOMtransactionChain to be used multiple time.
JIRA: NETCONF-352
Change-Id: I26da73992ed2772f4f84e2a09788600b808283b3
Signed-off-by: PeterSuna <peter.suna@pantheon.tech>
Jie Han [Thu, 22 Aug 2019 12:06:24 +0000 (20:06 +0800)]
Add pagination for mounted resources of apidocs
Only show 20 yang resource for one page when there're
large amount yang resoures from a mount point such that
the explorer would not clash.
Change-Id: I7f7180ae7464407933cee49bd4fe8d24db216f77
Signed-off-by: Jie Han <han.jie@zte.com.cn>
ajay.dp001 [Wed, 10 Jul 2019 11:23:05 +0000 (12:23 +0100)]
Teach RFC8040 restconf about actions
This adds the handlers to route action requests through
DOMActionService and return results.
JIRA: NETCONF-618
Change-Id: I9d72fa5939b73beefbbb2e8030b1fa0a1f4ff935
Signed-off-by: ajay.dp001 <ajay.deep.singh@ericsson.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Wed, 4 Sep 2019 06:30:56 +0000 (08:30 +0200)]
Convert to using requireNonNull()
This is a second pass to migrate further Preconditions users
to java.util.Objects.requireNonNull().
Change-Id: Idb32790ae96957961628eae384c801931a203c08
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Robert Varga [Tue, 3 Sep 2019 07:22:51 +0000 (09:22 +0200)]
Use java.util.Optional
Modernizer is point out use of Guava's Optional, migrate to Java
equivalents.
Change-Id: I732ea429505c730ef7ab38d45849662265267e0b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
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: If961757301dffc61dc55f9fc2f580c3632aaeaaa
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>