mdsal.git
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>
6 years agoBinding generator v2 - fix union getter name in camel-case 72/60272/2
Jie Han [Thu, 13 Jul 2017 01:54:27 +0000 (09:54 +0800)]
Binding generator v2 - fix union getter name in camel-case

Change-Id: Iaf96a0db0a60ac4ae9bad587942c81723c86ea64
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - code style & cleanup 44/60244/8
Jie Han [Wed, 12 Jul 2017 12:14:48 +0000 (20:14 +0800)]
Binding generator v2 - code style & cleanup

Change-Id: I5b5d4ffcb0ea3e4f1d69158b02f665d55c3e2366
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - augment statement #4 20/60120/13
Jie Han [Mon, 10 Jul 2017 07:26:59 +0000 (15:26 +0800)]
Binding generator v2 - augment statement #4

- resolve augmentation that target in same module

Change-Id: Ic01b3e34271ba3f667ef3a6dc95482640bd9b895
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - augment statement #3 19/60119/12
Jie Han [Mon, 10 Jul 2017 07:16:47 +0000 (15:16 +0800)]
Binding generator v2 - augment statement #3

- support uses implements of augmentation

Change-Id: Ic62bf99d841ec95c81bd9408acd027f41b0bc00e
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - augment statement #2 18/60118/12
Jie Han [Mon, 10 Jul 2017 07:07:02 +0000 (15:07 +0800)]
Binding generator v2 - augment statement #2

- fix augment package and class name
Change-Id: I00e5f1d0547fdf15b9c5ee5abc9059c343feccc8
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - augment statement #1 17/60117/11
Jie Han [Mon, 10 Jul 2017 06:57:41 +0000 (14:57 +0800)]
Binding generator v2 - augment statement #1

- Only resolve augmentation that it's target in same module

Change-Id: Ifb135570871e37a697238919ec6b6ef08cb8d048
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses augment 62/60062/13
Jie Han [Fri, 7 Jul 2017 08:51:13 +0000 (16:51 +0800)]
Binding generator v2 - uses statement - uses augment

Change-Id: I04cd6044ad81fb8a71dd5ee70b5d06e7d01bf5f2
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses of list 55/60055/13
Jie Han [Fri, 7 Jul 2017 06:19:38 +0000 (14:19 +0800)]
Binding generator v2 - uses statement - uses of list

- fix list getter name of leaf "key" and
  do not add list name as prefix of leaf name.
  key "key" ; // -> getKey

  leaf key { // -> getKeyReservedWord
  ....
  }
  leaf key1 { // -> getKey1

Change-Id: I84821fbeb378e2cdd02730a2c9c0da8a288e2e90
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses of module 51/60051/13
Jie Han [Fri, 7 Jul 2017 02:44:26 +0000 (10:44 +0800)]
Binding generator v2 - uses statement - uses of module

Change-Id: I8a2c5c9872be167ee0883a5a3020af7f4dc1d937
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses of rpc & action 20/60020/12
Jie Han [Thu, 6 Jul 2017 12:17:40 +0000 (20:17 +0800)]
Binding generator v2 - uses statement - uses of rpc & action

Change-Id: I67ca5f9551141fc72de3644b7f6a0ee4c37c548c
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - restore getter 19/60019/11
Jie Han [Thu, 6 Jul 2017 12:15:48 +0000 (20:15 +0800)]
Binding generator v2 - uses statement - restore getter

- restore getter name without suffix "Data"

Change-Id: I1c3dfd17c1a6507170e79b6945d36992ddfe1f36
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - support choice 48/59548/29
Jie Han [Tue, 27 Jun 2017 08:14:54 +0000 (16:14 +0800)]
Binding generator v2 - uses statement - support choice

- generate type from uses choice which extends reference choice type
- add test yang

Note: fix getter in case type in grouping by
      "Binding generator v2 - Clean up codes of constructGetter

Change-Id: I1e72a6812ac5c32974b2db2c1b6c343ae0944bd8
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses of notification 16/60016/10
Jie Han [Thu, 6 Jul 2017 09:29:56 +0000 (17:29 +0800)]
Binding generator v2 - uses statement - uses of notification

- changed for bebase
Change-Id: I78acfd070b8fe1e9987adf7de01aab81037106a4
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - resolve uses node 05/60005/12
Jie Han [Thu, 6 Jul 2017 08:17:11 +0000 (16:17 +0800)]
Binding generator v2 - uses statement - resolve uses node

Change-Id: I06c06180e84b2798c746d00cc53be200c654af90
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - support list 38/59538/30
Jie Han [Tue, 27 Jun 2017 03:23:17 +0000 (11:23 +0800)]
Binding generator v2 - uses statement - support list

- generate type from uses list which extends reference list type
- add suffix "Data" to the method getKey in grouping to avoid clashing with
  the method generated from uses this grouping
- add test yang

Change-Id: Id9dde5688515732abe7d8e0e7ba8b68290f14fef
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - uses statement - uses implements 76/59976/13
Jie Han [Wed, 5 Jul 2017 14:15:48 +0000 (22:15 +0800)]
Binding generator v2 - uses statement - uses implements

- interfaces generated for data children extends (implements) interfaces for
  same children generated for referenced grouping

Change-Id: I4d9cd6e31760870353c5fdb22b7d961b195db8a0
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding2-runtime JUnit code coverage increase 43/60143/6
Martin Ciglan [Mon, 10 Jul 2017 15:30:20 +0000 (17:30 +0200)]
Binding2-runtime JUnit code coverage increase

- JUnit tests
- code clean-up

Change-Id: Id2dbf490e41a6cd7eddf024208765ac3381325f6
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoBinding generator v2 - Identity fix 96/59796/10
Jie Han [Fri, 30 Jun 2017 15:40:03 +0000 (23:40 +0800)]
Binding generator v2 - Identity fix

Change-Id: Iad246a2dfc355832ff5869a5b0bbd7b330140d00
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBump odlparent references to 2.0.2 10/60110/1
Robert Varga [Sun, 9 Jul 2017 17:14:30 +0000 (19:14 +0200)]
Bump odlparent references to 2.0.2

Automated bump to latest fix release.

Change-Id: Ibbbe6dc4d9c0df1e08135f1d496eb53963c9db93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBinding generator v2 - Type reference fix 93/59793/6
Jie Han [Fri, 30 Jun 2017 07:38:18 +0000 (15:38 +0800)]
Binding generator v2 - Type reference fix

Change-Id: I85e08bdb4bfe09ac12604b1e57d1933f753a0176
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoDo not obfuscate constant 0/1 72/59972/3
Robert Varga [Wed, 5 Jul 2017 11:30:31 +0000 (13:30 +0200)]
Do not obfuscate constant 0/1

Using simple and obvious literals is preferable to non-canonical
constants. Eliminate them, making the code more explicit.

Change-Id: I2e0c1abe7717cfc119088b00504562f20820b12d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBinding generator v2 - fix case builder to dto 94/59994/2
Jie Han [Thu, 6 Jul 2017 03:21:38 +0000 (11:21 +0800)]
Binding generator v2 - fix case builder to dto

Change-Id: I162e6349022a1fcc0efb69b84beba3b6c4716b71
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoOptimize JavaIdentifierNormalizer.normalizeClassIdentifier() 71/59971/2
Robert Varga [Wed, 5 Jul 2017 11:19:44 +0000 (13:19 +0200)]
Optimize JavaIdentifierNormalizer.normalizeClassIdentifier()

Inner split-and-iterate is really just a simple substring assembly,
as mentioned in comments. Let's not go off into weeds and perform
a simple lastIndexOf() and substring() operations.

Change-Id: I2f21a6c92644a358bd9f8316bedde33f8b661f13
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoDo not use temporary string to extract last character 68/59968/2
Robert Varga [Wed, 5 Jul 2017 10:29:24 +0000 (12:29 +0200)]
Do not use temporary string to extract last character

StringBuilder is a CharSequence, hence turning it into a String
just to get a character from it is wasteful.

Change-Id: Icba9d5b7ebc1207498a06b41fec84aa74a19ff3b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize JavaIdentifierNormalizer.normalizeClassIdentifier() 67/59967/2
Robert Varga [Wed, 5 Jul 2017 10:17:04 +0000 (12:17 +0200)]
Optimize JavaIdentifierNormalizer.normalizeClassIdentifier()

Do not use toLowerCase() in order to perform a simple compare.

Change-Id: Iadb0fce7a7ec163494442396111c6f473ac649e7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize fixCasesByJavaType for packages 66/59966/2
Robert Varga [Wed, 5 Jul 2017 10:10:01 +0000 (12:10 +0200)]
Optimize fixCasesByJavaType for packages

Rather than doing expensive String.replaceAll(), use CharMatcher's
removeFrom().

Change-Id: I1748fdb3fe11246b81b598cba12ddf166ee3cb4e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize convertIdentifierEnumValue() 65/59965/2
Robert Varga [Wed, 5 Jul 2017 10:06:43 +0000 (12:06 +0200)]
Optimize convertIdentifierEnumValue()

Use String.equalsIgnoreCase() rather than converting strings around.

Change-Id: I1695bd7aff746a4920fe985d2f95f31d1ed875b3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize JavaIdentifierNormalizer.fixCases() 64/59964/2
Robert Varga [Wed, 5 Jul 2017 09:55:38 +0000 (11:55 +0200)]
Optimize JavaIdentifierNormalizer.fixCases()

Rather than doing expensive String.split(), optimize the method
for non-underscore case and take advantage of Splitter. Also
peel the first iteration out of the loop.

Change-Id: I452737f1d3b65600aa73b19cf17ea837b12f843c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize JavaIdentifierNormalizer reserved words lookup 63/59963/2
Robert Varga [Wed, 5 Jul 2017 09:44:41 +0000 (11:44 +0200)]
Optimize JavaIdentifierNormalizer reserved words lookup

Rather than having to go to upper case for each identifier being
looked up, cache a lower-case version of
BindingMapping.WINDOWS_RESERVED_WORDS.

Change-Id: I1fe5f89cfd2b443b059bde3c5250c916b33b0978
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize JavaIdentifierNormalizer.convertFirst() 62/59962/2
Robert Varga [Wed, 5 Jul 2017 09:23:35 +0000 (11:23 +0200)]
Optimize JavaIdentifierNormalizer.convertFirst()

Rather than fiddling around with temporary strings, perform a direct
replacement capabilities of CharMatcher with two possible matches.

Change-Id: I50c4f229ef38dcd9327da183372fc5e6d7c2faf3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize JavaIdentifierNormalizer.normalizePartialPackageName() 61/59961/2
Robert Varga [Wed, 5 Jul 2017 08:55:27 +0000 (10:55 +0200)]
Optimize JavaIdentifierNormalizer.normalizePartialPackageName()

- eliminate duplicate String.toLower() calls
- use StringBuilder.length() instead of toString.isEmpty()
- use CharMatcher.replaceFrom() instead of String.replaceAll()
- reuse innerSb

Change-Id: I7fcdb1f2b3d6a9a0d549b1506e5a381d94ed1ba6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize JavaIdentifierNormalizer.normalizeFullPackageName() 60/59960/2
Robert Varga [Wed, 5 Jul 2017 08:35:26 +0000 (10:35 +0200)]
Optimize JavaIdentifierNormalizer.normalizeFullPackageName()

Use a Splitter instead of String.split(), pre-allocate StringBuilder
with an estimated size and remove duplicate at-end checks.

Change-Id: I0f0a51533ae26aec58cf514499ffd4e0a9f3d584
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoOptimize JavaIdentifierNormalizer.existNext() 59/59959/2
Robert Varga [Wed, 5 Jul 2017 09:12:05 +0000 (11:12 +0200)]
Optimize JavaIdentifierNormalizer.existNext()

Simplify conditional down to a simple expression.

Change-Id: I9914276aabff7463121d9c79f47f07a414a2e6c8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoCleanup JavaIdentifierNormalizer 58/59958/2
Robert Varga [Wed, 5 Jul 2017 08:26:55 +0000 (10:26 +0200)]
Cleanup JavaIdentifierNormalizer

Eliminate overly-long line and eliminate unneeded parentheses.

Change-Id: Ifa6e22f2166a3362b6876db3532f940a9fe8367d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBug 8800: Bump version of ch.vorburger.xtendbeans 50/59950/1
Michael Vorburger [Tue, 4 Jul 2017 22:01:08 +0000 (00:01 +0200)]
Bug 8800: Bump version of ch.vorburger.xtendbeans

see
https://github.com/vorburger/xtendbeans/commit/377364c67b80f1253fb25a82ae596fc9dc585a1d

Change-Id: Ie51d39f0ffb9806177f12ed9b0794053755c3331
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
6 years agoBump odlparent dependency to 2.0.1 53/59853/2
Robert Varga [Mon, 3 Jul 2017 08:54:10 +0000 (10:54 +0200)]
Bump odlparent dependency to 2.0.1

Bumps odlparent to latest release.

Change-Id: I020a42720d43aabcaa6886230b79df27834a1b1c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoBug 8531:Implementation for offerNotification method with timeout in DOMNotificationR... 08/59008/16
MerlinChan [Thu, 15 Jun 2017 09:35:13 +0000 (17:35 +0800)]
Bug 8531:Implementation for offerNotification method with timeout in DOMNotificationRouter.

Signed-off-by: MerlinChan <chen.mingling@zte.com.cn>
Change-Id: Ia2b40907b222bc0b99e930af3b117e88d85c3958

6 years agoBug 8769 YangTextTemplate throw exception during yang binding Code Generator 58/59658/2
xygeng [Thu, 29 Jun 2017 09:06:11 +0000 (17:06 +0800)]
Bug 8769   YangTextTemplate throw exception during yang binding Code Generator

Change-Id: Ibbf5cfd60f3110cf7298dcf5a31720672b6ca296
Signed-off-by: Geng Xingyuan <geng.xingyuan@zte.com.cn>
6 years agoBinding v2 - remove checked future 62/59462/2
Jakub Toth [Fri, 23 Jun 2017 10:25:00 +0000 (12:25 +0200)]
Binding v2 - remove checked future

Change-Id: I641ae876a76ba8e06d60ec5c63d6bdf7e3695973
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - write transaction fix 61/59561/4
Martin Ciglan [Tue, 27 Jun 2017 12:00:44 +0000 (14:00 +0200)]
Binding v2 runtime - write transaction fix

- don't fiddle with normalizer in runtime
- make sure streamWriter method names correspond with yang-data-api naming
- JUnit test revealing mentioned issues added

Change-Id: Iebf92f43e0d3bd39e4c4c1aa0d38b8128cd7a918
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoBinding generator v2 - namespace fix #4 99/59499/10
Jie Han [Sat, 24 Jun 2017 08:05:28 +0000 (16:05 +0800)]
Binding generator v2 - namespace fix #4

- interfaces generated for data children extends
  (implements) interfaces for same children generated for referenced grouping
- fix builder & key class link in description
- fix some tests
- cleanup codes
- fix hasBuilderClass
Change-Id: I7b26b9c930593f3874650d32f225e6c6c9313cbc
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - namespace fix #3 26/59326/22
Jie Han [Thu, 22 Jun 2017 09:01:45 +0000 (17:01 +0800)]
Binding generator v2 - namespace fix #3

- support generate type from uses grouping
- fix imports for builders in dto
- fiex merge conflicts

Change-Id: I211306a14243d5625a1af914329bca525ba54d7f
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - namespace fix #2 69/59269/16
Jie Han [Wed, 21 Jun 2017 09:40:18 +0000 (17:40 +0800)]
Binding generator v2 - namespace fix #2

- fix namespace of data type in grouping namespace

- add suffix "Grouping" for grouping type name
        & "Data" for data type name

TODO #3 - support generate type from uses grouping

Change-Id: I1e59929169eb13bcba75de61770525d35213b524
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - namespace fix #1 27/59327/8
Jie Han [Wed, 21 Jun 2017 06:27:02 +0000 (14:27 +0800)]
Binding generator v2 - namespace fix #1

- put builders to dto package
- add test yang
- fix merge conflicts
TODO
     #2 - fix namespace of data type in grouping namespace

        - add "Grouping" suffix for grouping type name
        & "Data" for data type name

     #3 - support generate type from uses grouping

Change-Id: Iac9fb8f76c8308860f166019d47b8849fb41f95e
ChangeId: I08aa15ebdc6ebefb5aa38869d9fb04bfe9664ee9
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding v2 runtime - adapters - abstract data broker test 11/59511/3
Jakub Toth [Mon, 26 Jun 2017 09:02:38 +0000 (11:02 +0200)]
Binding v2 runtime - adapters - abstract data broker test

Change-Id: Ieeaf1a4e23af0b4c723c6a5cd771388d355ad70d
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding generator v2 - Identities fix 55/59255/3
Martin Ciglan [Tue, 20 Jun 2017 21:25:48 +0000 (23:25 +0200)]
Binding generator v2 - Identities fix

- if identity is once generated as base identity
of some other one, don't generate it again.
- this prevents unnecessary calls to JavaIdentifierNormalizer
and fixes compilablity issue (IdentityName.java vs. IdentityName1.java, etc..)
- code clean-up, javadoc fixes

Change-Id: Ie83f22d66bef06fd9a3b1850c09da8a3f9436062
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoBinding generator v2 - Binary key fix 77/59277/3
Martin Ciglan [Wed, 21 Jun 2017 10:17:18 +0000 (12:17 +0200)]
Binding generator v2 - Binary key fix

- small isues fixed to get generated code compilable

Change-Id: Idccf66675fddaba373758d810e03149c73ca0251
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoBinding generator v2 - Action, ListAction fix 05/59405/8
Martin Ciglan [Thu, 22 Jun 2017 14:25:49 +0000 (16:25 +0200)]
Binding generator v2 - Action, ListAction fix

- make sure generated code is compilable
- no unnecessary calls of Java identifier normalizer
- code clean up
- TODO: 2 JUnit tests needs some rework

Change-Id: Ie7435b7853a15a5267bf29a32b0c4d782d6f6afb
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoBinding generator v2 - Augments fix 52/59252/4
Martin Ciglan [Tue, 20 Jun 2017 19:05:26 +0000 (21:05 +0200)]
Binding generator v2 - Augments fix

- if YANG file uses augment identifier extension,
we need to normalize this identifier, otherwise
we end up with non-compilable generated Java code

- code clean up

Change-Id: I05ce4290b9587578944ef64428cff3e96d33dcf8
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoBinding v2 runtime - adapters - impl - operations 22/59222/5
Jakub Toth [Tue, 20 Jun 2017 12:39:03 +0000 (14:39 +0200)]
Binding v2 runtime - adapters - impl - operations

Change-Id: I2d95df66996bff0ae340c2f7799e6399081af6ef
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBUG-7446: Bump odlparent to 2.0.0 27/59027/3
Robert Varga [Thu, 15 Jun 2017 13:04:39 +0000 (15:04 +0200)]
BUG-7446: Bump odlparent to 2.0.0

Fixup guava movement and features changing with 2.0.0.

Change-Id: Id0fbbf62872d22e3623d0a4ccf5bb86723601604
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
6 years agoRecover removed test case for JavaIdentifierNormalizerTest 36/59236/1
Jakub Toth [Tue, 20 Jun 2017 13:37:45 +0000 (15:37 +0200)]
Recover removed test case for JavaIdentifierNormalizerTest

Change-Id: Ia4064aec360e3e5f31a1322ded0730ca746f6bdf
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - adapters - impl - operations invoker 70/59170/10
Jakub Toth [Mon, 19 Jun 2017 13:38:57 +0000 (15:38 +0200)]
Binding v2 runtime - adapters - impl - operations invoker

  * added marker for operations

Change-Id: I7bf7144bf35882694c7223d6b3e5e2196757bd12
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - adapters - impl - notifications 71/59071/11
Jakub Toth [Fri, 16 Jun 2017 10:54:20 +0000 (12:54 +0200)]
Binding v2 runtime - adapters - impl - notifications

Change-Id: Ibfff70b6f4e9c5e4c7c198c95fb41ac278301eca
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding generator v2 - augments fix #3 99/59199/5
Jie Han [Tue, 20 Jun 2017 07:11:24 +0000 (15:11 +0800)]
Binding generator v2 - augments fix #3

- handle Choice Cases augmentation
- add test yangs
- delete deprecated methods and fix tests
Change-Id: I78724808fcf4d5451cf2e0df29edf829abadb8dc
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - augments fix #2 83/59083/12
Martin Ciglan [Fri, 16 Jun 2017 13:44:22 +0000 (15:44 +0200)]
Binding generator v2 - augments fix #2

- handle uses-augment statements
for grouped augments by target path
- testing yang(s) included

- augmentations in groupings

TODO #3 Choice Cases

Change-Id: Ie670c03992bc41bb3e2f6efc1367f9bdf18da1b5
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Namespace - Typedef package name fix 65/59065/6
Jie Han [Fri, 16 Jun 2017 09:37:05 +0000 (17:37 +0800)]
Binding generator v2 - Namespace - Typedef package name fix

- add namespace to typedef type package name:
  bits, unions, enumerations
Change-Id: Ifabac091c59e44780cdde34a18b6790c3b046d69
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - augments fix #1 26/59026/8
Martin Ciglan [Thu, 15 Jun 2017 05:56:51 +0000 (07:56 +0200)]
Binding generator v2 - augments fix #1

- group augments by target path and generate code
accordingly.

TODO #2 uses-augment
     #3 augmented choice-cases

Note: ignore some of failing existing tests
      until all work here is done

Explanation:

yang snippet

   container foo {
        leaf my-leaf {
            type string;
        }
    }

    augment /foo:foo {
        leaf bar {
            type string;
        }
    }

    augment /foo:foo {
        leaf baz {
            type string;
        }
    }

produces same generated code as

   container foo {
        leaf my-leaf {
            type string;
        }
    }

    augment /foo:foo {
        leaf bar {
            type string;
        }
        leaf baz {
            type string;
        }
    }

Change-Id: I2bdb3ecf22bf2cb72fab3080f2b40748775ba49b
Signed-off-by: Martin Ciglan <martin.ciglan@pantheon.tech>
6 years agoBinding v2 runtime - adapters - impl - mount point 31/59031/6
Jakub Toth [Thu, 15 Jun 2017 13:02:40 +0000 (15:02 +0200)]
Binding v2 runtime - adapters - impl - mount point

Change-Id: Ie714a6d22f5fcf033b8ba157bd3fae9772846807
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - adapters - transactions 30/59030/6
Jakub Toth [Thu, 15 Jun 2017 12:44:50 +0000 (14:44 +0200)]
Binding v2 runtime - adapters - transactions

Change-Id: I2b9734de0662c96d8388516024034da4240a3141
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - adapters - impl - data tree 29/59029/5
Jakub Toth [Thu, 15 Jun 2017 12:17:16 +0000 (14:17 +0200)]
Binding v2 runtime - adapters - impl - data tree

Change-Id: Ice951cd38386a50efdf084f209faa5a902817e48
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - adapters - registration 62/58962/5
Jakub Toth [Wed, 14 Jun 2017 16:14:28 +0000 (18:14 +0200)]
Binding v2 runtime - adapters - registration

Change-Id: Ibb2dfbfa869852fda66972395d6a2a54633e7909
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - adapters - spi 47/58947/7
Jakub Toth [Wed, 14 Jun 2017 12:44:16 +0000 (14:44 +0200)]
Binding v2 runtime - adapters - spi

Change-Id: I824c5c29fd71ad288df0b3ef9fbeedbc760b98dc
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - adapters - extractors 46/58946/6
Jakub Toth [Wed, 14 Jun 2017 10:06:45 +0000 (12:06 +0200)]
Binding v2 runtime - adapters - extractors

Change-Id: I0ee755ae25ad772b844ce70c3afdb76ba25d3b15
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs - serialized 12/58812/8
Jakub Toth [Tue, 13 Jun 2017 12:08:00 +0000 (14:08 +0200)]
Binding2 runtime - Codecs - serialized

Change-Id: I45eef52b91b0a493d7352a7ea46479cb9fff709e
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding v2 runtime - codecs - modificators 11/58811/12
Jakub Toth [Tue, 13 Jun 2017 09:54:00 +0000 (11:54 +0200)]
Binding v2 runtime - codecs - modificators

Change-Id: Ifd0512bbcb2c6de7cf2d02feedc8976ddd325e61
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs impl - codecs - part4 43/58743/14
Jakub Toth [Mon, 12 Jun 2017 11:18:41 +0000 (13:18 +0200)]
Binding2 runtime - Codecs impl - codecs - part4

Change-Id: I65a814a2f84ecfae51ea1f67f7cded48622096a8
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding generator v2 - Decimal* - getDefaultInstance() fix 56/59056/3
Jie Han [Fri, 16 Jun 2017 06:15:21 +0000 (14:15 +0800)]
Binding generator v2 - Decimal* - getDefaultInstance() fix

- add testing yang
Change-Id: I8b5761ee0f65dcbb9df17d858b97e2eafb10594b
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Bits - getDefaultInstance() fix 54/59054/3
Jie Han [Fri, 16 Jun 2017 04:00:25 +0000 (12:00 +0800)]
Binding generator v2 - Bits - getDefaultInstance() fix

- add testing yang
Change-Id: I8e35707f65b3c1800545e36b48abbc97b3c212e5
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Identityref - Compilability fix 10/59010/4
Jie Han [Thu, 15 Jun 2017 10:05:12 +0000 (18:05 +0800)]
Binding generator v2 - Identityref - Compilability fix

- only one base support currently
- add testing yang
Change-Id: I5e277fcfbf5e92bdc31420dfefaa04d0d68b47c4
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Augmentation - Fix package name for recursively uses augment 46/57746/24
Jie Han [Wed, 24 May 2017 08:15:08 +0000 (16:15 +0800)]
Binding generator v2 - Augmentation - Fix package name for recursively uses augment

- Fix package name for recursively uses augmentation, the yang file like:
         ...
         grouping D{
                uses "grp:A" {
                    augment "A1/A1-inner" {
                        leaf D-aug-A1 {
                            type string;
                        }
                        uses B {
                            augment "B1/B1-inner" {
                                 leaf D-aug-B1-inner {
                                      type string;
                                 }
                                 uses C {
                                         augment  "C1/C1-inner" {
                                              leaf D-aug-C1-inner {
                                                   type string;
                                              }
                                         }
                                     }
                            }

                        }

                    }
                }
            }
       ...
- add UT and yang file

Change-Id: If0b1131f15ab42be5c64a0fd087bd2a14a6597ce
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Package name 79/58479/17
Jie Han [Thu, 8 Jun 2017 08:30:29 +0000 (16:30 +0800)]
Binding generator v2 - Package name

Change-Id: I65f291fe09a8e355545d6b218386b3cf9f0d27b1
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Enumeration fix 74/58674/16
Jie Han [Sun, 11 Jun 2017 02:23:22 +0000 (10:23 +0800)]
Binding generator v2 - Enumeration fix

Change-Id: Ic1368cbb398d72b25830549cd0ec8bd32dad787a
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Instantiable compilability fix 81/58781/14
Jie Han [Tue, 13 Jun 2017 03:07:07 +0000 (11:07 +0800)]
Binding generator v2 - Instantiable compilability fix

Change-Id: I43f784d724f8d29bda669a043015944d78ed3597
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Unions - Union's builder fix 23/58923/10
Jie Han [Wed, 14 Jun 2017 07:59:49 +0000 (15:59 +0800)]
Binding generator v2 - Unions - Union's builder fix

- fix return type name of treeIdentifier with fully qualified name
  to avoid name conflict
- recursive unoin builder support
- add yang file
Change-Id: I8770b849e6e50c04633eecb067d0f1d83bffb2c8
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Unions - fix getValue() 40/58340/33
Jie Han [Tue, 6 Jun 2017 12:05:33 +0000 (20:05 +0800)]
Binding generator v2 - Unions - fix getValue()

- set value NOT ReadOnly
- fix type instance identifier package
Change-Id: I8cfa676111952b169d6d6f31ce902adcce5bf45b
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding generator v2 - Unions - Enclosing type fix 04/58504/30
Jie Han [Thu, 8 Jun 2017 12:31:18 +0000 (20:31 +0800)]
Binding generator v2 - Unions - Enclosing type fix

- fix enclosing type for recursive unoins
- fix package name for reursive  inner class
Change-Id: Ie1bd0df3afc1d600d94ff73b0c97aa349c242c78
Signed-off-by: Jie Han <han.jie@zte.com.cn>
6 years agoBinding2 runtime - Codecs impl - tests 81/58581/13
Jakub Toth [Fri, 9 Jun 2017 08:22:01 +0000 (10:22 +0200)]
Binding2 runtime - Codecs impl - tests

Change-Id: Id6f1fc05bcdc7c156eb66b6c50f483b93d772bf7
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs 59/58559/14
Jakub Toth [Thu, 8 Jun 2017 23:07:04 +0000 (01:07 +0200)]
Binding2 runtime - Codecs

  * new codecs and contexts
  * BindingContextCodec
  * BindingNormalizdeNodeCodecRegistry

Change-Id: Ieab1cac667f755962b818c452171da9dc74ab979
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Module info context 34/58534/16
Jakub Toth [Thu, 8 Jun 2017 16:31:19 +0000 (18:31 +0200)]
Binding2 runtime - Module info context

  * fix template for yangModuleInfo baed on change in
    YangModuleInfo interface

Change-Id: I3161bc19559b1bd38bccaf2148a6745c12141745
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs impl - codecs - part3 33/58533/15
Jakub Toth [Thu, 8 Jun 2017 16:21:43 +0000 (18:21 +0200)]
Binding2 runtime - Codecs impl - codecs - part3

Change-Id: Ice1f15d71425020e3002d408be6652e9032ca3cf
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs impl - context - part3 32/58532/16
Jakub Toth [Thu, 8 Jun 2017 16:00:01 +0000 (18:00 +0200)]
Binding2 runtime - Codecs impl - context - part3

  * contexts based on operation codecs

Change-Id: Ide1797b1b4cb2f665e2708c3c1697aca063489bd
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs impl - codecs - part2 31/58531/15
Jakub Toth [Thu, 8 Jun 2017 15:58:47 +0000 (17:58 +0200)]
Binding2 runtime - Codecs impl - codecs - part2

  * operation codecs

Change-Id: I8c08617ec52d47b424d41aa04c7bf574055f1662
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs impl - context - part2 23/58523/15
Jakub Toth [Thu, 8 Jun 2017 15:31:33 +0000 (17:31 +0200)]
Binding2 runtime - Codecs impl - context - part2

  * derived parts
  * fixed base parts

Change-Id: Ib46351557a42e914bba3c4a34abf2ef94ec9bb80
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoBinding2 runtime - Codecs impl - codecs 22/58522/11
Jakub Toth [Thu, 8 Jun 2017 10:15:35 +0000 (12:15 +0200)]
Binding2 runtime - Codecs impl - codecs

  * remove codec.*.codecs packages

Change-Id: I17897e62d5343ee059489a999d68c6bab0fe9c2c
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
6 years agoMigrate to odlparent 1.9.0 44/58844/1
Thanh Ha [Tue, 13 Jun 2017 18:39:24 +0000 (14:39 -0400)]
Migrate to odlparent 1.9.0

Change-Id: I100a35acd3f47c49cb7d93a972f6c01a4804b446
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>