mdsal.git
6 years agoUse version ranges for odlparent features 03/66703/4
Stephen Kitt [Thu, 21 Dec 2017 09:18:43 +0000 (10:18 +0100)]
Use version ranges for odlparent features

odlparent allows the use of ranged imports, take advantage of that.

Change-Id: I64e2968ab50e556b190dddf5824891ec50acaa14
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoAdjust to yangtools-2.0.0 changes 68/64168/43
Robert Varga [Wed, 11 Oct 2017 15:03:32 +0000 (17:03 +0200)]
Adjust to yangtools-2.0.0 changes

Most notable adjustments:
- type empty requires Empty
- Date -> Revision, with the possibility of being absent
  - This changes behaviour for revisionless modules, these are now
    generated as '.norev' rather than '.rev700101'
- Length constraint update to match
- QName requires namespace to be non-null
- SchemaContext.getModule() et al., which also improves performance
- binding tests are updated to eliminate useless reflection
- bump twirl-api to 1.3.13
- bump scala-maven-plugin to 3.3.1
- bump twirl-maven-plugin to 1.1.0

Change-Id: Ie35090cc0f60a2411399e5b2d3fe59246bbfbdba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBump yangtools dependency to 2.0.0 67/64167/21
Robert Varga [Wed, 11 Oct 2017 14:54:31 +0000 (16:54 +0200)]
Bump yangtools dependency to 2.0.0

This patch adopts odlparent-3.0.2 and yangtools-2.0.0. As such it is
not expected to pass compilation due to the amount of breaking changes
in yangtools. It is separated out to allow review of changes at the
build system level.

Adjustments include:
- feature reference updates, so we pull in correct yangtools features
- bump scala-maven-plugin to 3.3.1
- bump twirl-maven-plugin to 1.1.0
- bump twirl-api to 1.3.13

Follow-up patch adapts the codebase to the inbound changes, making
the compilation pass.

Change-Id: I21a3d55969c31b89b56c6ba637593f033b035e14
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoShare pre-generated non-verbose string 48/66948/1
Robert Varga [Mon, 8 Jan 2018 17:19:45 +0000 (18:19 +0100)]
Share pre-generated non-verbose string

As it turns out, xtend does not do any sort of constant folding,
hence we need to share the strings instance ourselves to get
the most speed out of quick profile.

Change-Id: I83239aa27567d2927fbed2039f28f7e17461db4e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBinding generator v2 - fix list/key implements identifiable/identifier 17/62117/12
Jie Han [Tue, 22 Aug 2017 02:07:49 +0000 (10:07 +0800)]
Binding generator v2 - fix list/key implements identifiable/identifier

- Support keyed list type implements
  Identifiable and its key implements Identifier.

Change-Id: I0d12d2154f727a0088dc5329a4bd748edfa3e9f6
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Add concepts.Identifiable to BindingTypes 55/64055/4
Jie Han [Mon, 9 Oct 2017 08:26:30 +0000 (16:26 +0800)]
Binding generator v2 - Add concepts.Identifiable to BindingTypes

- Use Identifiable defined in concepts without duplication.
Change-Id: Ia4fbcb481f41368d81f03aef829561d5fc4a1ce5
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoFix odlparent-3.0.0 checkstyle issues 44/65544/6
Robert Varga [Wed, 15 Nov 2017 12:30:58 +0000 (13:30 +0100)]
Fix odlparent-3.0.0 checkstyle issues

This fixes issues identitifed by checkstyle in odlparent-3.0.0,
split out of the bump proper to keep the migration patch smaller.

Change-Id: Ib42dbebb0bdbcec770cb9e4daaf24fb14dccde6b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoMDSAL-294: Binding v1 generator - Add @CheckReturnValue on RPC methods 63/65063/5
Jie Han [Fri, 3 Nov 2017 01:05:09 +0000 (09:05 +0800)]
MDSAL-294: Binding v1 generator - Add @CheckReturnValue on RPC methods

-  Use @CheckReturnValue annotation in static code analysis
to ensure that all users of the RPC do check the Future RpcResult
 for errors - even if there is no Output.

Change-Id: I7b4e5f0d7ca81db154a39325490a46bfcf8820a4
Signed-off-by: Jie Han <han.jie@zte.com.cn>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoMDSAL-107: Fix pre-existing data notification for wildcarded DTCL 34/64734/3
Tom Pantelis [Wed, 25 Oct 2017 18:58:57 +0000 (14:58 -0400)]
MDSAL-107: Fix pre-existing data notification for wildcarded DTCL

This issue was fixed in CDS a while but should also be fixed for the
in-memory DOM data store.

Change-Id: Ib3e25c6164d6868f5b80680467732aed0beac093
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
6 years agoFix checkstyle in mdsal-binding2-dom-codec 06/64506/1
Jie Han [Thu, 19 Oct 2017 05:45:02 +0000 (13:45 +0800)]
Fix checkstyle in mdsal-binding2-dom-codec

 - Fix checkstyle issues and activate enforcement.
Change-Id: I9857df844aba6bee4ddc729fb8246a2d8a085ad5
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoFix checkstyle in mdsal-binding-dom-codec 18/64418/2
Robert Varga [Tue, 17 Oct 2017 18:17:48 +0000 (20:17 +0200)]
Fix checkstyle in mdsal-binding-dom-codec

Fix checkstyle issues and activate enforcement.

Change-Id: I5ef078ba907284d5885521971cb0391a28fa2e57
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix checkstyle in maven-sal-api-gen-plugin 12/64412/4
Robert Varga [Tue, 17 Oct 2017 16:03:40 +0000 (18:03 +0200)]
Fix checkstyle in maven-sal-api-gen-plugin

Fix violations and enable enforcement.

Change-Id: Ibc88fbe40b09a0aeff977bd1aaeed408954c201a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix checkstyle violations in yang-binding 11/64411/2
Robert Varga [Tue, 17 Oct 2017 14:58:56 +0000 (16:58 +0200)]
Fix checkstyle violations in yang-binding

Fixes violations and activates enforcement.

Change-Id: Iaa11d659549fa62a35201dea77992b32aebbd998
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoAdd read-write transaction to the AsyncDataBroker APIs 56/50156/9
Tom Pantelis [Tue, 10 Jan 2017 04:27:42 +0000 (23:27 -0500)]
Add read-write transaction to the AsyncDataBroker APIs

Read-write transactions were ommitted from the AsyncDataBroker
and related APIs. It is unclear as to why but the DOMStore API
defines read-write transaction as do the equivalent controller
APIs so clients will expect it when converting to the mdsal APIs.
Plus we want to convert the CDS to the mdsal APIs and deprecate the
controller APIs but we cannot provide an adapter between the two
without read-write transactions.

Change-Id: I46cd1783931044a34039f4a2100c50b645446bf2
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix some checkstyle and other issues 98/63998/7
David Suarez [Thu, 5 Oct 2017 17:52:43 +0000 (19:52 +0200)]
Fix some checkstyle and other issues

- Make some classes final
- Remove redundant "extends Object"
- Remove types that can be inferred by the compiler
- Make some variables final
- Avoid potential NPEs

Change-Id: I6ab30e3015e00f8e7e1df3e33b6aae0cf57dbede
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoAdd ClusteredDOMDataTreeChangeListener interface 67/50267/5
Tom Pantelis [Wed, 11 Jan 2017 06:31:50 +0000 (01:31 -0500)]
Add ClusteredDOMDataTreeChangeListener interface

Change-Id: Ifa302db331ae7518c5327f7616171390b0e64eed
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
6 years agoUse mdsal's MappingCheckedFuture 95/64195/1
Robert Varga [Thu, 12 Oct 2017 11:34:58 +0000 (13:34 +0200)]
Use mdsal's MappingCheckedFuture

yangtools is getting rid of this class, use our internal copy
of it.

Change-Id: I8522672bdc6c8a93d55336415a02b2c32ea0fd44
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix odlparent references 66/64166/1
Robert Varga [Wed, 11 Oct 2017 17:14:08 +0000 (19:14 +0200)]
Fix odlparent references

These have been left behind in the version bump, fix them up.

Change-Id: Ie3df04a7650fe572a3b223c143fe309c07dc5448
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBUG-9043: import MappingCheckedFuture from yangtools 14/64114/3
Robert Varga [Tue, 10 Oct 2017 13:36:55 +0000 (15:36 +0200)]
BUG-9043: import MappingCheckedFuture from yangtools

This patch moves MappingCheckedFuture from yangtools to mdsal,
where it is required to retain API compatibility, as we cannot
get rid of CheckedFuture just yet.

Change-Id: I33096b80de2d355181aafdfc69b38394f6fcfe80
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix wrong yangtools import 79/64079/1
Robert Varga [Mon, 9 Oct 2017 17:03:46 +0000 (19:03 +0200)]
Fix wrong yangtools import

We should be importing 1.2.0, not its snapshot.

Change-Id: I9910ade87e596a57f24b531c657fb2aa7a9e74f3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBUG-9145: rework singleton service group state tracking 26/63426/10
Robert Varga [Thu, 21 Sep 2017 23:00:04 +0000 (01:00 +0200)]
BUG-9145: rework singleton service group state tracking

The beef of the issue here is that there are multiple codepaths
which end up sharing state transitions -- hence we could erroneously
end up waiting for entity release, when if fact we have already
lost it.

Rather than going the explicit FSM route, which would require quite
a few more states, rework state tracking such that each event is
evaluated against current state. This has the nice feature of making
duplicate events idempotent, as the code is all about reconciling
current and intended state.

This also disentangles the loss of ownership codepaths, which means
we can optimize behavior when partitions are involved -- specifically
jeopardy service entity ownership does not result in service shutdown,
because service liveness is actually guaranteed by cleanup entity.
Hence we can keep the services and the cleanup entity intact, leading
to less churn during partitions.

Should the cleanup entity report jeopardy, we need to bring the services
down, but we do not need to unregister the cleanup entity -- if the
partition is healed, we can start services again without the delay
incurred by EOS. If we end up losing partition healing, cleanup entity
ownership will be taken from us, at which point we also unregister.

Change-Id: Id5c8a97722b9a21114135554d92c17898dd0150e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBinding v2 Generator - fix dependency yang-ext of mdsal-binding2-test-model 60/63860/7
Jie Han [Thu, 28 Sep 2017 06:07:42 +0000 (14:07 +0800)]
Binding v2 Generator - fix dependency yang-ext of mdsal-binding2-test-model

- It should depend on yang-ext in binding2 model for
using generated codes v2.

Change-Id: I3c5b597285b3ca67c376184b2b080745776c2d94
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBug 8326 - Split out OsgiBundleScanningSchemaService 61/62261/33
Jakub Toth [Thu, 24 Aug 2017 10:46:16 +0000 (12:46 +0200)]
Bug 8326 - Split out OsgiBundleScanningSchemaService

 * move osgi part of mdsal-dom broker to new module
   mdsal-dom-schema-service-osgi (with unit tests)

Change-Id: I2eb2e4f96f50456f84982e5de6d439b0306bcc0f
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBinding codec v2 - cast case type to get serializer 91/61891/8
Jie Han [Thu, 17 Aug 2017 06:03:52 +0000 (14:03 +0800)]
Binding codec v2 - cast case type to get serializer

- it should be type of generated interface to get serializer for case,
  not the class type in builder.

Change-Id: Ibe2fdfaf2db7e95027809183c29011fb62b56058
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoAdd yang-ext to model-binding2 59/63859/5
Vratko Polak [Thu, 5 Oct 2017 11:29:37 +0000 (13:29 +0200)]
Add yang-ext to model-binding2

- add yang-ext to resolve denpendency of odl-mdsal-binding2-base

Change-Id: Ie02a799b795a2b38009721339f2ff831694f5b51
Signed-off-by: Jie Han <han.jie@zte.com.cn>
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
6 years agoRemove explicit default super-constructor calls 11/63611/2
David Suarez [Wed, 27 Sep 2017 11:40:46 +0000 (13:40 +0200)]
Remove explicit default super-constructor calls

The default constructor is called by default (hence its name), no need
to call it explicitly.

Change-Id: Ibc4f160f14cd75d46b1bacea75c1bf29b3f49355
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
6 years agoBump mdsal to use yangtools 1.2.0 31/63831/1
Anil Belur [Fri, 29 Sep 2017 03:55:20 +0000 (13:55 +1000)]
Bump mdsal to use yangtools 1.2.0

Jira: releng-485

Change-Id: I61a5d889586ad228b3f05758cc76f15e5342bd36
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
6 years agoFix checkstyle-logging reference 82/63782/1
Robert Varga [Thu, 28 Sep 2017 15:33:09 +0000 (17:33 +0200)]
Fix checkstyle-logging reference

This is a stray reference to 2.0.0-SNAPSHOT, fix that.

Change-Id: I69043a78be238a0a877463050efbc2e9de390171
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBump odlparent 2.0.4 to 2.0.5 45/63645/4
Stephen Kitt [Wed, 27 Sep 2017 13:52:50 +0000 (15:52 +0200)]
Bump odlparent 2.0.4 to 2.0.5

Change-Id: I18a6da4e5a9122c88d15774cca1fed862df1a03c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoRevert "Fix broken tests according to yangtools... 70/63770/1
Vratko Polak [Thu, 28 Sep 2017 12:36:56 +0000 (14:36 +0200)]
Revert "Fix broken tests according to yangtools...

Oxygen is using Yangtools 1.2.0 again,
so that change towards 2.0.0-SNAPSHOT behavior has to be reverted.

This reverts commit 6a290d78a6d6f32eafcb808457a4bb06875151e0.

Change-Id: I31732adc545df92fdb82e7047a19624b2454639d
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
6 years agoBump mdsal to use yangtools 1.2.0 46/63746/3
Anil Belur [Thu, 28 Sep 2017 04:45:46 +0000 (14:45 +1000)]
Bump mdsal to use yangtools 1.2.0

Jira: releng-485
Change-Id: I7025efa30b209f1763408e03df65fdf7ebed5c81
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
6 years agoFix broken tests according to yangtools changes 67/63767/1
Jakub Toth [Thu, 28 Sep 2017 10:35:35 +0000 (12:35 +0200)]
Fix broken tests according to yangtools changes

  * https://git.opendaylight.org/gerrit/#/c/62537/
  * fixed methods of YangParserTestUtils for parsing yangs
    and creating schema context

Change-Id: I313e91aeafd46c57d60aaf71372287bc84b8414a
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoMDSAL Binding 2 Features for Karaf 4 07/63607/3
Jakub Toth [Tue, 19 Sep 2017 09:24:30 +0000 (11:24 +0200)]
MDSAL Binding 2 Features for Karaf 4

  * odl-mdsal-binding2-api
  * odl-mdsal-binding2-base
  * odl-mdsal-binding2-dom-adapter
  * odl-mdsal-binding2-runtime
  * odl-mdsal-binding2

Change-Id: I7b622cba52bf5833e13bb28fef1a917249544e71
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoFix use of deprecated Futures.addCallback() 99/63399/2
Robert Varga [Thu, 21 Sep 2017 09:00:24 +0000 (11:00 +0200)]
Fix use of deprecated Futures.addCallback()

Specify MoreExecutors.directExecutor() instead of relying on a deprecated
method.

Change-Id: I097672d7624f5d32957fac3b18b8205c929c5729
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFinish removal of yangtools classes 23/62623/12
Robert Varga [Mon, 4 Sep 2017 13:24:34 +0000 (15:24 +0200)]
Finish removal of yangtools classes

This finishes the package move by removing the bridge classes.

Change-Id: I7e5519db7be39e8fdb03c9f330ce77a0b6e982b8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoRemove yangtools APIs 98/63398/1
Robert Varga [Thu, 21 Sep 2017 09:22:23 +0000 (11:22 +0200)]
Remove yangtools APIs

Downstream consumers are not using them anymore, remove them.

Change-Id: Idd9d8f6b2d1f7b3ab719904a694c342d2e79f210
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoDisconnect mdsal-bind-dom-codec yangtools/mdsal APIs 10/62610/12
Robert Varga [Mon, 4 Sep 2017 09:44:52 +0000 (11:44 +0200)]
Disconnect mdsal-bind-dom-codec yangtools/mdsal APIs

Remove compatibility bridging between the two APIs, so that users
do not pull in yangtools APIs in their imports.

Change-Id: If763721458354ba92422ac7465735714646f61d0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoEliminate dependecies on parser internals 05/63205/3
Robert Varga [Sun, 17 Sep 2017 09:53:06 +0000 (11:53 +0200)]
Eliminate dependecies on parser internals

yangtools have moved sort utilities into utility components. Also
remove reference to YangValidationException, as it is not used anywhere
except this codebase.

Change-Id: Ife5ef6e3b83768d111eb3f16de431a078d747942
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoDo not use Module/Topological sort from yang-parser-impl 01/63201/1
Robert Varga [Sun, 17 Sep 2017 09:53:06 +0000 (11:53 +0200)]
Do not use Module/Topological sort from yang-parser-impl

These utilities have been moved to yangtools.util and yang-model-util,
use them from there.

Change-Id: Id32189834a254dbe15cf1cf09282ffc8810c1d73
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoFix revisions format in tests 26/63126/3
Jakub Toth [Thu, 14 Sep 2017 09:02:03 +0000 (11:02 +0200)]
Fix revisions format in tests

Change-Id: I18fec54ad112d34b315a9fed6c5f48a8ee02e5dd
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoTrim down YangTextTemplate 92/62992/5
Robert Varga [Mon, 11 Sep 2017 17:19:11 +0000 (19:19 +0200)]
Trim down YangTextTemplate

Most of these methods have been moved to the generator, hence have
no place here and serve only as a distraction.

Change-Id: I88542d84d7a4e1459cf86cfa5c9d71ac7088bb97
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoCleanup AugmentToGenType 30/63030/2
Robert Varga [Tue, 12 Sep 2017 09:34:22 +0000 (11:34 +0200)]
Cleanup AugmentToGenType

- do not use a temporary ArrayList
- use isEmpty() instead of size check

Change-Id: I1a1045f7d83c3775c8c29b1f63139e7a5e2d9317
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize GenHelperUtil 26/63026/2
Robert Varga [Tue, 12 Sep 2017 09:19:42 +0000 (11:19 +0200)]
Optimize GenHelperUtil

Eliminate explicit toString() calls, take advantage of Precondition
formatting capabilities and reuse QNameModule fro Module.

Change-Id: I5988947ec03b9df22cadb9a5f3f772b1611dd290
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse properly-compiled Pattern 25/63025/3
Robert Varga [Tue, 12 Sep 2017 09:00:34 +0000 (11:00 +0200)]
Use properly-compiled Pattern

Rather than extracting the pattern, use Pattern.split(),
removing unneeded recompilation.

Change-Id: I754b80baa8b0bf9bbf34701cc8be4587bae55c8b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse properly module file path resolver 90/62990/9
Martin Ciglan [Mon, 11 Sep 2017 16:45:09 +0000 (18:45 +0200)]
Use properly module file path resolver
in binding2 Twirl template.

- fix implementation
- checkstyle fixes

Change-Id: I14aca1517cb1f5d6087b38791b298b4ec096509d
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoFix wait for schema in BindingToNormalizedNodeCodec 42/62942/3
Robert Varga [Sun, 10 Sep 2017 07:18:07 +0000 (09:18 +0200)]
Fix wait for schema in BindingToNormalizedNodeCodec

The wait for schema mechanism does not work. A few issues were fixed:

 - FutureSchema did not add the FutureSchemaPredicate instances to the
   postponedOperations list so they always timed out.

 - The waitForSchema method in BindingToNormalizedNodeCodec checked for
   !futureSchema.waitForSchema so it only successfully returned on
   failure.

 - There was a timing issue in FutureSchema where a context update could
   occur just prior to adding a postponed operation to the list, in
   which case the operation may timeout if the new update contained the
   postponed criteria and another update didn't occur in time. To
   alleviate this, the sychronization was tighted up and runtime context
   is now stored in FutureSchema instead of BindingToNormalizedNodeCodec.

 - The runtimeContext field needs to be volatile.

I also added a wait if the runtimeContext was null b/c
onGlobalContextUpdated hadn't been initially notified yet.

Added unit tests to cover the wait for schema mechanism.

Change-Id: I7155dae021453d085f89d13dfd4b069178dd2fc8
Signed-off-by: Tom Pantelis <tpanteli@brocade.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoEliminate use of String.replace{All}() 89/62989/3
Robert Varga [Mon, 11 Sep 2017 16:33:03 +0000 (18:33 +0200)]
Eliminate use of String.replace{All}()

We can pre-compile the pattern, so use that instead of the built-in
String thing.

Change-Id: I831fdb89debbe4eac8a4ca99f5b950e70e9556cf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoEliminate use of String.replace/replaceAll() 91/62991/2
Robert Varga [Mon, 11 Sep 2017 17:09:46 +0000 (19:09 +0200)]
Eliminate use of String.replace/replaceAll()

Use a pre-compiled pattern to do the same task.

Change-Id: Ie864494a8c5a7b24a31d9d416b339b6f33eb5d42
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse trigraphs where convenient 88/62988/2
Robert Varga [Mon, 11 Sep 2017 16:23:31 +0000 (18:23 +0200)]
Use trigraphs where convenient

Instead if/else blocks of simple returns, use a trigraph.

Change-Id: I7f2d1c325dfd07c507327afbde35894c566d26e9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoEliminate unneeded temporary variable 87/62987/2
Robert Varga [Mon, 11 Sep 2017 16:19:54 +0000 (18:19 +0200)]
Eliminate unneeded temporary variable

This is not useful, just use the result directly in for loop.

Change-Id: I56011718991f8606d32537ce16c490b6e68b4610
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUse Optional.orElse() 86/62986/2
Robert Varga [Mon, 11 Sep 2017 16:18:48 +0000 (18:18 +0200)]
Use Optional.orElse()

This is one-stop remapping function, eliminating the need for
a trigraph.

Change-Id: I0c6c66688ff6ce62344461217b798e6efe5891ab
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoEliminate use of temporary lists 85/62985/1
Robert Varga [Mon, 11 Sep 2017 16:15:31 +0000 (18:15 +0200)]
Eliminate use of temporary lists

Switch to using Lists/Iterables.transform(), which are lazily
evaluated and are really what we need.

Change-Id: Ib3e993a116c585060a04c74c911bde087388ae51
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoEliminate TextTemplateUtil.getFormattedRevision 79/62979/1
Robert Varga [Mon, 11 Sep 2017 15:45:39 +0000 (17:45 +0200)]
Eliminate TextTemplateUtil.getFormattedRevision

This value is readily available from QNameModule, use that directly
instead of open-coding the functionality in a completely inefficient
manner.

Change-Id: Ic7e53245c327d136481fc2733cc446cf4a994fec
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBindingToNormalizedNodeCodec should use ClassLoadingStrategy 26/62826/1
Robert Varga [Thu, 7 Sep 2017 06:07:40 +0000 (08:07 +0200)]
BindingToNormalizedNodeCodec should use ClassLoadingStrategy

Being a public class, BindingToNormalizedNodeCodec should not be
requiring GeneratedClassLoadingStrategy, as that adds no value
and it prevents flexible use with other generator implementations.

Also do some maintenance in reformatting the code and using streams
where possible.

Change-Id: If0be3277f8a0da2544eb9d33829acd9c9467ea86
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoMove mdsal-binding-dom codec classes 11/62611/7
Robert Varga [Mon, 4 Sep 2017 09:47:51 +0000 (11:47 +0200)]
Move mdsal-binding-dom codec classes

This moves most of the classes out of the way and leaves just two
proxies around.

Change-Id: I3d95bcd20f219208948a12433380c50735617916
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoCorrect model revision 32/62732/2
Robert Varga [Tue, 5 Sep 2017 21:51:57 +0000 (23:51 +0200)]
Correct model revision

2017-16-05 is an invalid revision string, correct it to something
sane.

Change-Id: Ie2997888dd86ff94a89c4d0c0c6dc01f1ebe2290
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBUG-8858: rework singleton group locking 09/62709/1
Robert Varga [Wed, 9 Aug 2017 11:54:12 +0000 (13:54 +0200)]
BUG-8858: rework singleton group locking

Group locking relied on a single semaphore held for long periods
of time, with undeterministic locking in face of timing variance.

This patch reworks the logic to properly lock and manage object
lifecycle. It also expands the test suite to cover cleanup scenarios,
while removing test duplication.

The test suite is expanded slightly to assert that asynchronous
service group cleanup does not interfere with user's ability to
reuse the same group.

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

6 years agoDo not leak implementation class 72/62672/1
Robert Varga [Tue, 5 Sep 2017 08:53:50 +0000 (10:53 +0200)]
Do not leak implementation class

For migration purposes we need to not leak the implementation
class from create methods. Fix them to return just the interface.

Change-Id: I801467d1a816dc1b0b1bd41ee4157c9593092544
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoRemove features4-mdsal-model from artifacts 17/60217/3
Thanh Ha [Tue, 11 Jul 2017 20:46:53 +0000 (16:46 -0400)]
Remove features4-mdsal-model from artifacts

This feature does not seem to appear anywhere in mdsal.

Change-Id: I6216aac99d98039eb0b0fec39e2a7ae184031e17
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoImprove length constraint checks 19/61919/2
Robert Varga [Thu, 17 Aug 2017 12:44:12 +0000 (14:44 +0200)]
Improve length constraint checks

If we have an unrestricted string/binary or the constraint is
satisfied by the combination of String/array length return
values and integer value domain, we can skip the checks altogether,
leading to less generated code.

Cuts down size of ietf-inet-types by 1%.

Change-Id: Ibd8ea57a4746e1332447dd5454b36407d066ea0a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoUpdate odlparent to 2.0.4 61/61861/1
Thanh Ha [Wed, 16 Aug 2017 15:17:13 +0000 (11:17 -0400)]
Update odlparent to 2.0.4

Change-Id: I9c91aee4fea8b4fbf5850d541a5f38d694da5d6d
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoBump versions by x.(y+1).z for next dev cycle 71/61671/1
Thanh Ha [Mon, 14 Aug 2017 17:02:42 +0000 (13:02 -0400)]
Bump versions by x.(y+1).z for next dev cycle

Change-Id: Ie1d4a4800d2b8c38cc5520fcb5756a68972ca4d6
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
6 years agoBug 8910 - Binding v2 generator exception: Failed to find leafref target 85/61085/12
Jie Han [Thu, 3 Aug 2017 05:46:21 +0000 (13:46 +0800)]
Bug 8910 - Binding v2 generator exception: Failed to find leafref target

- this patch also fixs:
  Bug 8911 - Binding v2 generator exception: Type parameter MUST be specified and cannot be NULL
Change-Id: Icae8a5bb7b8d34d0a7fbcff49fa8f22cd06213e2
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix units field name 94/60594/12
Jie Han [Thu, 20 Jul 2017 11:44:06 +0000 (19:44 +0800)]
Binding generator v2 - fix units field name

- fix units field name in builder
Change-Id: Iba7e90d4b18cd148acb71d6357a441471ed11873
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix choice 87/60587/13
Jie Han [Thu, 20 Jul 2017 10:44:26 +0000 (18:44 +0800)]
Binding generator v2 - fix choice

- fix choice's parent type
Change-Id: I436bfb36c396cf95857a7c4c170f1f7601e3c432
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses inner type 82/60582/14
Jie Han [Thu, 20 Jul 2017 07:02:27 +0000 (15:02 +0800)]
Binding generator v2 - uses statement - uses inner type

- for current implementation of yangtools does not copy "types" from groupings,
but the original definition of a type is reused, so we should find inner type
added by uses by original node.
  this patch should be merged with:
  - https://git.opendaylight.org/gerrit/60527
  - https://git.opendaylight.org/gerrit/60529

- add yangs and test

Change-Id: I4336bbf04c25b6caf2a1bd3101760fc3fc40421e
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses grouping choice" 77/60577/12
Jie Han [Thu, 20 Jul 2017 01:54:34 +0000 (09:54 +0800)]
Binding generator v2 - uses statement - uses grouping choice"

- interface generated for choice extends interface for the same
choice for referenced grouping
Change-Id: Ida75a7d4a07e3d99c7c119a103ce6fab715b6ff3
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix getter in builder 32/60532/13
Jie Han [Tue, 18 Jul 2017 11:44:07 +0000 (19:44 +0800)]
Binding generator v2 - fix getter in builder

- it should exclude parameteried type for clone.
Change-Id: I0fbb0675c789bbbbf5b6d841c1d6ed261fcbf0cf
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix getter method name 31/60531/13
Jie Han [Tue, 18 Jul 2017 11:18:26 +0000 (19:18 +0800)]
Binding generator v2 - fix getter method name

- for yang snippet:
  container cont {
    leaf class {
      type string;
    }
  }
  the leaf name was reserved, but the result of method normalizing "get_class"
  is "getClass", so here just let "get" append the result of class normalizing
  "class" which should be "ClassReservedKeyword" ,that would be "getClassReservedKeyword".

Change-Id: Ibee98a5d82145b1f39509d05da6923fae0cb19f9
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses inner type #2 29/60529/12
Jie Han [Tue, 18 Jul 2017 10:56:25 +0000 (18:56 +0800)]
Binding generator v2 - uses statement - uses inner type #2

- for current implementation of yangtools does not copy "types" from groupings,
but the original definition of a type is reused, so we should find inner type
added by uses by original node.
  this patch should be merged with:
  - https://git.opendaylight.org/gerrit/60529
  - https://git.opendaylight.org/gerrit/60582
- support uses leaf with inner type union, bits
- add yangs and test

Change-Id: Ibee57eb030a79e6ce06bb371e82257b7ab58ab98
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses inner type #1 27/60527/17
Jie Han [Tue, 18 Jul 2017 08:58:03 +0000 (16:58 +0800)]
Binding generator v2 - uses statement - uses inner type #1

- for current implementation of yangtools does not copy "types" from groupings,
but the original definition of a type is reused, so we should find inner type
added by uses by original node.
  this patch should be merged with:
  - https://git.opendaylight.org/gerrit/60529
  - https://git.opendaylight.org/gerrit/60582

- add test yangs

Change-Id: Ia82bc7b298c91bbc3ef34cfb26fea75eed5ff2b2
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses of list 25/60525/10
Jie Han [Tue, 18 Jul 2017 08:01:33 +0000 (16:01 +0800)]
Binding generator v2 - uses statement - uses of list

interface generated for list node added by uses extends interfaces for the same
list for referenced grouping
Change-Id: I8131f83d6dd5bbc7877894a9ed33adfec00504f3
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix leaflist return type 24/60524/10
Jie Han [Tue, 18 Jul 2017 07:44:23 +0000 (15:44 +0800)]
Binding generator v2 - fix leaflist return type

- the package name of enum type has been normalized and
it can not be normailized again
Change-Id: I4e114a3827d16c36e0aed4d5c1c3389d63cae8b4
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix choice's parent 22/60522/10
Jie Han [Tue, 18 Jul 2017 06:48:08 +0000 (14:48 +0800)]
Binding generator v2 - fix choice's parent

- elminate duplicated moudle type
Change-Id: I0e3b26952c7b19ee6caf55bcde0486fac78bc5bc
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix double dot package name 21/60521/11
Jie Han [Tue, 18 Jul 2017 06:14:54 +0000 (14:14 +0800)]
Binding generator v2 - fix double dot package name

- fix normalize package name which has double dot ".."

Change-Id: Ic732f79a9d58d560450eaf1dfa064857c49507c5
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix submodule class name 16/60516/12
Jie Han [Tue, 18 Jul 2017 02:37:19 +0000 (10:37 +0800)]
Binding generator v2 - fix submodule class name

- fix normalize submodule name in camel
Change-Id: Id4829b01b2319f8410b821c6814ea459069382ab
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix format javadoc text 15/60515/12
Jie Han [Tue, 18 Jul 2017 01:31:13 +0000 (09:31 +0800)]
Binding generator v2 - fix format javadoc text

- call encodeJavadocSymbols first to replace like '*/' in java doc.

Change-Id: I971028f3118757b8fc26822c7e57986aa3e9c018
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses implement - fix finding target grouping 14/60514/12
Jie Han [Tue, 18 Jul 2017 00:51:00 +0000 (08:51 +0800)]
Binding generator v2 - uses implement - fix finding target grouping

- can not call findDataSchemaNode to find target grouping since it search
data node first that may find a wrong data node with the same name, here
specially find grouping by getGrouping() first, and that should be always
correct for uses grouping, anyway, in case find nothing,
keep the findDataSchemaNode methord.

Change-Id: Ibef1c5a0e01d1fe36260c76676ae02b926d62296
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses leafref #2 82/60482/9
Jie Han [Mon, 17 Jul 2017 12:07:42 +0000 (20:07 +0800)]
Binding generator v2 - uses statement - uses leafref #2

- find actual node for leafref node added by uses

Change-Id: I1b5febb3665544def9ff9ba0c7b127ca1be247fc
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses leafref #1 81/60481/9
Jie Han [Mon, 17 Jul 2017 12:06:33 +0000 (20:06 +0800)]
Binding generator v2 - uses statement - uses leafref #1

- find parent module by original node for leafref node added by uses
if the leafnode is not local.
Change-Id: I14b57b796ba33f391d59e8ae7dd06b88ef7e0b51
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBUG-8923: pull in odl-javassist-3 77/61177/5
Robert Varga [Fri, 4 Aug 2017 14:32:08 +0000 (16:32 +0200)]
BUG-8923: pull in odl-javassist-3

Rather than packaging the bundle ourselves, rely on odlparent
feature to provide it.

Change-Id: I2ed15811e0b35ff9cce405886087884a465e5f1e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBump odlparent references to 2.0.4 78/61178/4
Robert Varga [Fri, 4 Aug 2017 14:38:55 +0000 (16:38 +0200)]
Bump odlparent references to 2.0.4

Change-Id: I61e87ccfcc913d1a3bd7a1f376e4c55ed04ad33a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Stephen Kitt <skitt@redhat.com>
6 years agoBinding generator v2 - fix InstanceIdentifier package path in classTemplate 69/60469/8
Jie Han [Mon, 17 Jul 2017 09:01:13 +0000 (17:01 +0800)]
Binding generator v2 - fix InstanceIdentifier package path in classTemplate

Change-Id: Ib38526864799e759e06ed123c17b46e4615587cc
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses of cases 68/60468/9
Jie Han [Mon, 17 Jul 2017 08:30:22 +0000 (16:30 +0800)]
Binding generator v2 - uses statement - uses of cases

- interface for case data extends interface for same case for referenced
grouping

Change-Id: If71de3c1361d87c5d6f4cf352e1fa9798a6e1ada
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix action #3 50/60450/13
Jie Han [Mon, 17 Jul 2017 07:25:46 +0000 (15:25 +0800)]
Binding generator v2 - fix action #3

- Just let RPC process not throw exception when the parent is null.
  TODO: process action that the parent is null.

Change-Id: I730c7e19db6bd708dbf1693d8116bc088c45ba98
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix action #2 40/60440/7
Jie Han [Mon, 17 Jul 2017 02:22:13 +0000 (10:22 +0800)]
Binding generator v2 - fix action #2

- delete duplicate resolving data node which has been done in
resolveOperationNode

Change-Id: I1fda7f35cc84f14dff1213f7c70fd844d9d08607
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - fix action #1 32/60332/8
Jie Han [Fri, 14 Jul 2017 14:07:22 +0000 (22:07 +0800)]
Binding generator v2 - fix action #1

- support action tied to a container or list data node

Change-Id: I0dafa0559608be6a269ad177f73f400bf8e18a87
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoJavaIdentifierNormalizer ThreadSafe/Memory leak fix 01/60001/17
Martin Ciglan [Thu, 6 Jul 2017 07:33:19 +0000 (09:33 +0200)]
JavaIdentifierNormalizer ThreadSafe/Memory leak fix

1. make it thread-safe
2. memory leak fix
3. avoid deep indentations by obeying code conventions

Result "org.opendaylight.coretutorials.MyBenchmark.testBindingV2":
  165.567 ±(99.9%) 1.548 ops/s [Average]
  (min, avg, max) = (146.161, 165.567, 180.523), stdev = 6.553
  CI (99.9%): [164.019, 167.115] (assumes normal distribution)

Benchmark                   Mode  Cnt    Score   Error  Units
MyBenchmark.testBindingV2  thrpt  200  165.567 ± 1.548  ops/s

We're still around 2.8x slower than binding v1 generator,
so there will be follow-up activity to analyse/profile
architecture vs. implementation weakness and fixes
should/might be necessary to improve binding v2 generator.

Change-Id: Id1ca6e5f530c0340c3234526d6babf1f9e3c62b0
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoEnforce no split packages 13/61213/1
Robert Varga [Fri, 4 Aug 2017 22:02:03 +0000 (00:02 +0200)]
Enforce no split packages

This augments Export-Package directives with a directive to emit
a hard error if a split package is encountered.

Change-Id: Ib763fb75021de510086f1c12563cef0f49e61f61
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoCleanup DOMMountPointServiceImpl 14/61014/3
Robert Varga [Tue, 1 Aug 2017 21:43:58 +0000 (23:43 +0200)]
Cleanup DOMMountPointServiceImpl

This patch takes advantage of Java 8 features and cleans up the
test.

Change-Id: Ib7c828ebf6d02b3ca6d6bcdcfb2185c8e68d2df0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoAddress sonar warnings 38/61038/1
Robert Varga [Wed, 2 Aug 2017 12:13:52 +0000 (14:13 +0200)]
Address sonar warnings

Remove traling blank comments and declaration of runtime exceptions.

Change-Id: Ibe49a0b138a3266cd41603f17d3287d7fa93796a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBUG-8733: switch to using DOMDataTreeListener-based APIs 00/61000/2
Robert Varga [Tue, 25 Jul 2017 23:43:15 +0000 (01:43 +0200)]
BUG-8733: switch to using DOMDataTreeListener-based APIs

This patch switches ShardedDOMDataTree to use
ListenableDOMDataTreeShard, performing adaptation and aggregation
only when needed.

The end result is that a DOMDataTreeListeners affected only by
a single ListenableDOMDataTreeShard are passed directly to that
instance, allowing for efficient event delivery.

In case a registration spans multiple shards, we register a listener
with each and use DOMDataTreeListenerAggregator to efficiently
merge the callbacks.

Change-Id: I0a879b45b2389d8def5ab824ab29dfbccc2b4f86
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 5281fa941604e5234e8543bc17267ad4f540e669)

6 years agoBUG-8733: Add ListenableDOMDataTreeShard 99/60999/2
Robert Varga [Fri, 21 Jul 2017 09:45:24 +0000 (11:45 +0200)]
BUG-8733: Add ListenableDOMDataTreeShard

Implementation reliance on DOMDataTreeChangePublisher is a mistake
coming from similarities between interfaces. DOMDataTreeShard interfaces
should work with DOMDataTreeListener instances, not DOMDataTreeChangeListener.

This patch introduces ListenableDOMDataTreeShard, which exposes a proper
SPI-level method for registering DOMDataTreeListeners.

It also adds AbstractStateAggregator, which can be used to efficiently
aggregate multiple listeners into a single upcall, without the synchronization
overhead of ShardedDOMDataTreeListenerContext.

This class is then used to build DOMDataTreeChangeListenerAggregator for
bridging the old approach with ListenableDOMDataTreeShard via a utility
proxy, CompatListenableDOMDataTreeShard.

We also introduce DOMDataTreeListenerAggregator, which performs aggregation
of multiple DOMDataTreeListeners and is useful for ListenableDOMDataTreeShard
implementations where requested subtrees live in multiple child shards.

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

6 years agoCleanup ShardRootModificationContext 98/60998/1
Robert Varga [Mon, 24 Jul 2017 12:10:51 +0000 (14:10 +0200)]
Cleanup ShardRootModificationContext

Remove and unneeded cast and add Identifiable interface.

Change-Id: Ibd9217402055863461349f8071211a95b3b5e2ae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 02b122215c505e7eb592b4db1ff0bbc46ebebf19)

6 years agoBug 8449 - BindingToNormalizedNodeCodec fails to deserialize union of leafrefs 98/60698/2
Jakub Toth [Fri, 21 Jul 2017 09:58:08 +0000 (11:58 +0200)]
Bug 8449 - BindingToNormalizedNodeCodec fails to deserialize union of leafrefs

Fix problem of leafref in typedef called from union
 *generated part
   *generating of new property of GTO for leaf's union type of typedef
     according to return type of referenced leaf via leafref from typedef
 *codec part
   *getting codec of leaf type according to new generator part of leafref
    in typedef
 *tests

Change-Id: Ibffe4e51ef66f1911c32c71d4f08bbdbdd40e234
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoAdd ietf-lisp-address-types.yang to models 28/60528/3
Lorand Jakab [Tue, 18 Jul 2017 09:25:05 +0000 (12:25 +0300)]
Add ietf-lisp-address-types.yang to models

The ietf-lisp-address-types.yang model was originally part of the
lispflowmapping project. To avoid circular dependencies, it was added to
the honeycomb/vbd project too. That's a less then ideal situation,
leading to some issues which were worked around. The proper solution is
to have a single copy in the OpenDaylight ecosystem, and the right place
for that is the MD-SAL IETF models.

Change-Id: Iaab229b9a792744b1ab0541dbe5a86a24e8904d2
Signed-off-by: Lorand Jakab <lojakab@cisco.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBUG-8733: use DataTreeCandidateNodes.empty() 41/60641/1
Robert Varga [Fri, 21 Jul 2017 10:11:22 +0000 (12:11 +0200)]
BUG-8733: use DataTreeCandidateNodes.empty()

Empty node has been moved to yang-data-api, use it from there.

Change-Id: I69477c88d11a644095d2a10932a1c930da073687
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 20d2832ce98c3452b1666cefc8710b66039f404e)

6 years agoCleanup warnings 41/60241/4
Robert Varga [Wed, 12 Jul 2017 10:00:27 +0000 (12:00 +0200)]
Cleanup warnings

- static methods
- unneeded use of CheckedFuture and checkedGet()
- Throwables.propagateIfPossible()
- raw types
- unneeded else branches

Change-Id: Ie7cc7f701efad4de843cd2884ceea9caf8787e0a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize transaction collection 95/60295/3
Robert Varga [Thu, 13 Jul 2017 15:34:56 +0000 (17:34 +0200)]
Optimize transaction collection

For cases when we have a single transaction it is not necessary
to use Futures.allAsList(). Discover this property and reuse returned
future directly.

Change-Id: I10c2d0371d8bc2c2c0585de41a114adcb7250f3c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBinding2-dom-adapter JUnit code coverage increase 79/60179/8
Martin Ciglan [Tue, 11 Jul 2017 07:21:50 +0000 (09:21 +0200)]
Binding2-dom-adapter JUnit code coverage increase

- JUnit tests
- code clean-up
- ignore failing test from different package for now

Change-Id: Ia9ad961c7f4a4f7f342d3732f61ed838fecb6593
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>