mdsal.git
7 years agoCleanup pom.xml layout 12/45912/12
Robert Varga [Tue, 20 Sep 2016 17:04:40 +0000 (19:04 +0200)]
Cleanup pom.xml layout

This performs the long-overdue cleanup of build structure,
aligning it with ODL best pracitices and removing quite
a bit of crud in the process.

Change-Id: I04ac6a917928c1da286b8c4ec4e1c7cb66e9990b
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoDo not instantiate iterator for debugging 31/46131/2
Robert Varga [Fri, 23 Sep 2016 13:38:37 +0000 (15:38 +0200)]
Do not instantiate iterator for debugging

Logging the entire collection is more appropriate and also
faster when logging is disabled.

Change-Id: Ib3e44851bcedad1eaabad983c1ac45de6890eec2
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoConvert to using BatchedInvoker 42/46142/2
Robert Varga [Fri, 23 Sep 2016 16:35:03 +0000 (18:35 +0200)]
Convert to using BatchedInvoker

Single-step invoker has been deprecated and this prevents
useless re-encapsulation.

Change-Id: I3f7dbe2b4ca4af37df9ab017eeddd9ff16803b61
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix javadoc warnings 41/46141/2
Robert Varga [Fri, 23 Sep 2016 16:33:59 +0000 (18:33 +0200)]
Fix javadoc warnings

The description for arguments was present twice, remove
the duplication.

Change-Id: I5cd19ff66184e0ec9a6d507e65db3e3d231362ff
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agocheckStyleViolationSeverity=error implemented for mdsal-binding-api module 21/45321/4
janab [Wed, 7 Sep 2016 17:39:51 +0000 (10:39 -0700)]
checkStyleViolationSeverity=error implemented for mdsal-binding-api module
Code review comments are implemented.

Change-Id: I925d71befa5806db4e7522c8009f5b125564adfe
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
7 years agocheckStyleViolationSeverity=error implemented for mdsal-singleton-common-api and... 76/45276/5
janab [Tue, 6 Sep 2016 22:05:55 +0000 (15:05 -0700)]
checkStyleViolationSeverity=error implemented for mdsal-singleton-common-api and mdsal-singleton-dom-impl modules
Done implementing code review comments.

Change-Id: I09443eeb61b09844d1e6960e7ff480dcaaface9f
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
7 years agoConvert to using BatchedListenerInvoker 97/46097/3
Robert Varga [Thu, 22 Sep 2016 18:21:31 +0000 (20:21 +0200)]
Convert to using BatchedListenerInvoker

This will deliver all notifications in one go, leading to faster
flushing.

Change-Id: I7a5023fadbfc67a19348963c15ae332986cd18d8
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBug 5947: additional tests for dom-adapter #5 10/45810/6
Peter Nosal [Mon, 19 Sep 2016 12:44:56 +0000 (14:44 +0200)]
Bug 5947: additional tests for dom-adapter #5

Change-Id: I236f1c92852665a0dab1c6d6f14b50ff31c4c600
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 5947: additional tests for dom-broker and inmemory-datastore #4 87/45787/8
Peter Nosal [Mon, 19 Sep 2016 07:47:14 +0000 (09:47 +0200)]
Bug 5947: additional tests for dom-broker and inmemory-datastore #4

Change-Id: I43af7e4dae33e8d7a5fd9c8c4c58afe747f3f7c3
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 5947: additional tests for maven--sal-api-gen-plugin #3 32/45532/2
Peter Nosal [Tue, 13 Sep 2016 11:40:22 +0000 (13:40 +0200)]
Bug 5947: additional tests for maven--sal-api-gen-plugin #3

Change-Id: I84d0d77f7e335f36ddf831ce63ae3095eb329513
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoRemove mdsal-binding-util from features because it's only a pom file 29/45929/5
Colin Dixon [Tue, 20 Sep 2016 20:19:52 +0000 (16:19 -0400)]
Remove mdsal-binding-util from features because it's only a pom file

Change-Id: I2271c644416d75223858a79796343770e7ee073e
Signed-off-by: Colin Dixon <colin@colindixon.com>
7 years agoMove transaction-invariants into producer 22/45922/7
Robert Varga [Tue, 20 Sep 2016 18:48:05 +0000 (20:48 +0200)]
Move transaction-invariants into producer

Instead of re-calculating the context, cache most of the information
required in the InMemoryDOMDataTreeShardProducer, so it can be quickly
reused when creating transactions. This information is calculated when
a producer is created or when the sharding layout changes.

Change-Id: Id2bcab420cf6d1635aba6cd97bf68f1860533780
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoAdd cursor lookup fast-path 07/45907/4
Robert Varga [Tue, 20 Sep 2016 15:39:19 +0000 (17:39 +0200)]
Add cursor lookup fast-path

Users will typically select one of the subtrees to create
cursor on, hence add a fast path which will perform a simple
lookup.

Change-Id: Ied0710a765edf8cdd4ebd7f2712f310f82f35b1a
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix a raw type warning 06/45906/4
Robert Varga [Tue, 20 Sep 2016 14:56:19 +0000 (16:56 +0200)]
Fix a raw type warning

Iterable should be qualified, fix that.

Change-Id: Icff504ab73c1cd180c6f50d239f1fe9630845de1
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoPerform delegate cursor enter/exit first 95/45895/4
Robert Varga [Tue, 20 Sep 2016 14:01:08 +0000 (16:01 +0200)]
Perform delegate cursor enter/exit first

Delegate may fail to perform the operation, which would leave
our stack inconsistent, leading to confusion if the user ignores
exceptions. Perform enter/exit on delegate first and only if it
succeeds proceed to update our stack.

Change-Id: If6ebfd9b530e9052a5dc8cab120a5d0c8317f937
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoMove lookup check 94/45894/4
Robert Varga [Tue, 20 Sep 2016 14:00:03 +0000 (16:00 +0200)]
Move lookup check

We can use a precondition to make the code flow
more obvious.

Change-Id: Iaddfcfd4d49a91b6875a6f4803fed744ada63a85
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoEliminate ShardedDOMDataTreeWriteTransaction.doSubmit()'s return 86/45886/4
Robert Varga [Tue, 20 Sep 2016 12:59:19 +0000 (14:59 +0200)]
Eliminate ShardedDOMDataTreeWriteTransaction.doSubmit()'s return

Returned future is not used anywhere, hence we can easily remove it.

Change-Id: I4ead4da32d1c2658d5c88f01534b5452230068e7
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix raw types 85/45885/4
Robert Varga [Tue, 20 Sep 2016 12:58:36 +0000 (14:58 +0200)]
Fix raw types

Fix eclipse warnings from raw types.

Change-Id: Iae0d43883cbcf8b084f2c7469796b9a7d80ba32f
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoMake sure we optimize DOMDataTreeIdentifier 56/45856/7
Robert Varga [Tue, 20 Sep 2016 00:59:00 +0000 (02:59 +0200)]
Make sure we optimize DOMDataTreeIdentifier

DOMDataTreeIdentifier inside a shard is heavily reused. Do not trust
the user to give us an optimized YangInstanceIdentifier but try
optimizing it.

Change-Id: I8a73b21562393a5f9100359d5ffaf3e2af057b6e
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoDo not use entrySet() where values() or keySet() suffices 58/45858/5
Robert Varga [Tue, 20 Sep 2016 01:48:33 +0000 (03:48 +0200)]
Do not use entrySet() where values() or keySet() suffices

Instead of forcing instatiation of entrySet() and using only
part of the provided data, use values() and keySet() based
on what we really need.

Change-Id: I0a9333b872f9c56e1fa4eddb985309741cf77fe8
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoDo not use ExecutorService unnecessarily 57/45857/6
Robert Varga [Tue, 20 Sep 2016 01:09:40 +0000 (03:09 +0200)]
Do not use ExecutorService unnecessarily

Executor is the interface we need, not ExecutorService. ExecutorServices
are more complex, and we do not care about shutting them down anyway.

So require only an Executor, letting callers to deal with its lifecycle,
which allows us to use more efficient MoreExecutors.directExecutor()
instead.

Change-Id: Ide57266cc1fac395e545b466bf3b5ad86dee7b2f
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoUse ImmutableMap instead of Collections.emptyMap() 59/45859/5
Robert Varga [Tue, 20 Sep 2016 01:51:07 +0000 (03:51 +0200)]
Use ImmutableMap instead of Collections.emptyMap()

ImmutableMap behaves nicely when it meets copying and can
be checked for.

Change-Id: I2e0b52b8ea83c69e4ace3364904975b806a67aae
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoDo not allow transaction creation with an empty shard map. 08/45908/3
Tomas Cere [Tue, 20 Sep 2016 15:44:38 +0000 (17:44 +0200)]
Do not allow transaction creation with an empty shard map.

Change-Id: I445c43a5af430bb0b4838c2e77d155d5318e0bbb
Signed-off-by: Tomas Cere <tcere@cisco.com>
7 years agoSwitch to using StampedLock 46/45446/6
Robert Varga [Fri, 9 Sep 2016 20:30:20 +0000 (22:30 +0200)]
Switch to using StampedLock

Instead of using ReentrantReadWriteLock, use StampedLock,
which has better performance.

Change-Id: Ifb8c3c90fb05a37264e006acc7d94b4bde5d2893
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agocheckStyleViolationSeverity=error implemented for mdsal-eos-common-api, mdsal-eos... 57/44957/11
janab [Wed, 31 Aug 2016 20:38:05 +0000 (13:38 -0700)]
checkStyleViolationSeverity=error implemented for mdsal-eos-common-api, mdsal-eos-common-spi, mdsal-eos-dom-api
Code review comments are implemented.
Removed @SupressWarnings{"checkstyle:RedundantModifier"} for removing private modifier for enum constructor
Resolved merge conflicts for EntityOwnershipChangeState and EntityOwnershipChangeStateTest files.
Implement some more code review changes.

Change-Id: I215d564d2a9f647961a9b1915d466a7cfb5b0c00
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
7 years agoRemove public keyword 60/45860/2
Robert Varga [Tue, 20 Sep 2016 01:54:46 +0000 (03:54 +0200)]
Remove public keyword

ShardDataModification is not a public class, no sense
in declaring its methods public.

Change-Id: I4d198ad16aa6cf02b28262ecc5b7a169cb99955c
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoSpeed up InmemoryDOMDataTreeShardWriteTransaction's operations 55/45855/3
Robert Varga [Tue, 20 Sep 2016 00:41:13 +0000 (02:41 +0200)]
Speed up InmemoryDOMDataTreeShardWriteTransaction's operations

SimpleOperation's apply() method can be updated to invoke hasNext()
only once for each iteration.

Change-Id: Id94f01428dd1c8b55b883371c9830d6d7209727a
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoEncapsulate ShardedDOMDataTreeProducer layout 76/45776/6
Robert Varga [Sun, 18 Sep 2016 22:21:23 +0000 (00:21 +0200)]
Encapsulate ShardedDOMDataTreeProducer layout

This patch encapsulates all state related to sharding
layout into an inner class, so that this information
can be accessed concurrently.

Change-Id: If66a7ac5b574d612b31e7c52156b80580ef9f79a
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoImprove ShardedDOMDataTreeProducer locking 61/45761/7
Robert Varga [Fri, 16 Sep 2016 22:33:35 +0000 (00:33 +0200)]
Improve ShardedDOMDataTreeProducer locking

Making 'closed' a CAS-capable field allows us to check
state and transition to closed state without holding
the object's lock.

This allows associated critical sections to be reduced
to the extent as to make the reuse fast-path completely
lock-free.

Change-Id: I29bacebf5d37a38ea6b4cc641f43dc369cd9edcf
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoImprove ShardedDOMDataTreeProducer locking 56/45756/8
Robert Varga [Fri, 16 Sep 2016 20:20:43 +0000 (22:20 +0200)]
Improve ShardedDOMDataTreeProducer locking

The path from backend was taking coarse lock even when not needed.
Explicitly annotate submitTransaction() as needing the lock being
held and push down its acquisition so we take it only after we
are certain we actually need it.

Change-Id: Icd1226796568829ea3735e6eec42677a79b9b3b5
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoImprove ShardedDOMDataTreeWriteTransaction performance 57/45757/6
Robert Varga [Fri, 16 Sep 2016 20:39:45 +0000 (22:39 +0200)]
Improve ShardedDOMDataTreeWriteTransaction performance

Make internal maps/collection immutable, as it really is
and forgo internal copying of their values in iterators.

Change-Id: Icb0e59d52464498fe87440467fec9095cc8d414e
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoOptimize InMemoryDOMDataTreeShardProducer 53/45753/5
Robert Varga [Fri, 16 Sep 2016 19:17:07 +0000 (21:17 +0200)]
Optimize InMemoryDOMDataTreeShardProducer

All state transitions in this class are based on lock-free
algorithms -- compare-and-swap and retries on conflict.

Eliminate unneeded synchronized keywords, plus inline simple
single-use methods.

Change-Id: I87e22333bb6c3c4db324c5918481fe79d5da2592
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoMake test methods static 72/45772/2
Robert Varga [Sun, 18 Sep 2016 10:23:27 +0000 (12:23 +0200)]
Make test methods static

Test data construction can be static.

Change-Id: Ie20b88470d9dd62657f9e41b3eaf6904dc92e62d
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix InMemory shard transaction chaining. 26/45426/10
Tomas Cere [Fri, 9 Sep 2016 15:53:20 +0000 (17:53 +0200)]
Fix InMemory shard transaction chaining.

In case we had multiple transactions going after each other quickly
the next transaction might not observe the state of the previous transaction yet.
Fix this by reusing the DataTreeModification of the previous transaction.
Also introduce state transitions into InMemoryDOMDataTreeProducer so it
behaves more like a transaction chain.

Change-Id: I96c746c1b91ac9f6b87152dca612094c73c23387
Signed-off-by: Tomas Cere <tcere@cisco.com>
7 years agoFix warnings in AbstractDOMShardTreeChangePublisher 21/45721/2
Robert Varga [Fri, 16 Sep 2016 09:20:54 +0000 (11:20 +0200)]
Fix warnings in AbstractDOMShardTreeChangePublisher

Raw types and potentially static method.

Change-Id: I271a7fe28df47dce6b8fd335a215d14c3f46b7b8
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoAdd batching of non-isolated transaction in ShardedDOMDataTreeProducer 17/45417/10
Tomas Cere [Fri, 9 Sep 2016 09:43:02 +0000 (11:43 +0200)]
Add batching of non-isolated transaction in ShardedDOMDataTreeProducer

Change-Id: If5ee94a6b2f58c6fd5a243f8784c8b56200b7343
Signed-off-by: Tomas Cere <tcere@cisco.com>
7 years agoBUG-5561: retain SchemaContext order for bits 61/45161/3
Robert Varga [Mon, 5 Sep 2016 14:41:37 +0000 (16:41 +0200)]
BUG-5561: retain SchemaContext order for bits

This patch reworks BitsCodec so it retains the bit order
defined in SchemaContext, which by extension means the values
coming from Binding objects should end up being sorted
by position.

Change-Id: Ice154dd7e38e6b213c281ddb492408f619e3a5f8
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoUse lambdas for functional interfaces 74/45074/7
Robert Varga [Fri, 2 Sep 2016 14:46:52 +0000 (16:46 +0200)]
Use lambdas for functional interfaces

Makes the code more concise.

Change-Id: I6b3ed4ebefbd72b63958a0b4db98129a4e35e317
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix redundancy in documentation of DOMStoreThreePhaseCommitCohort 54/45554/2
Alexis de Talhouët [Tue, 13 Sep 2016 21:55:16 +0000 (17:55 -0400)]
Fix redundancy in documentation of DOMStoreThreePhaseCommitCohort

Change-Id: Iaafbea0d5181856e5fdcd9674893848b5a8b69a5
Signed-off-by: Alexis de Talhouët <adetalhouet@inocybe.com>
7 years agoBug 5947: additional tests for binding-dom-adapter #3 69/45469/4
Peter Nosal [Mon, 12 Sep 2016 06:16:19 +0000 (08:16 +0200)]
Bug 5947: additional tests for binding-dom-adapter #3

Change-Id: I34c38d7088fbe05048e8403c971d83d3a75c8d68
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoFix deprecated Assert imports 45/45445/2
Robert Varga [Fri, 9 Sep 2016 20:29:46 +0000 (22:29 +0200)]
Fix deprecated Assert imports

junit.framework.Assert has been deprecated in favor of org.junit.Assert.

Change-Id: I7507a55d596ad8c03c4c9777c05a78ab3ceda710
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBug 5947: additional tests for binding-dom-adapter #2 21/45221/5
Peter Nosal [Tue, 6 Sep 2016 11:44:16 +0000 (13:44 +0200)]
Bug 5947: additional tests for binding-dom-adapter #2

Change-Id: I3ce80097609761ec7d43a96d0a22d9f43d3a897d
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 6540 - HotFix for IsolatedLeader message handler 73/44673/7
Vaclav Demcak [Thu, 25 Aug 2016 14:20:48 +0000 (16:20 +0200)]
Bug 6540 - HotFix for IsolatedLeader message handler

Change-Id: Icc495dbbbc5583ed68f162ace0e7f2ab12c498c3
Signed-off-by: Vaclav Demcak <vdemcak@cisco.com>
7 years agoUse a bounded blocking queue in InmemoryDOMDataTreeShards. 25/44925/3
Tomas Cere [Wed, 31 Aug 2016 12:48:50 +0000 (14:48 +0200)]
Use a bounded blocking queue in InmemoryDOMDataTreeShards.

Change-Id: I72b02d9f77985ec80db87792424403b6960616a2
Signed-off-by: Tomas Cere <tcere@cisco.com>
7 years agocheckStyleViolationSeverity=error implemented for mdsal-dom-inmemory-datastore 35/44735/7
janab [Fri, 26 Aug 2016 20:18:06 +0000 (13:18 -0700)]
checkStyleViolationSeverity=error implemented for mdsal-dom-inmemory-datastore
Changed the local variable indVal to index.
An unwanted folder was added accidentally, removed.
Code review comments are implemented.

Change-Id: Ie1736dbec9e00a49961a46c32f4433f60c211dc0
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
7 years agoBug 5947: additional tests for binding-dom-adapter 46/44846/5
Peter Nosal [Tue, 30 Aug 2016 12:51:47 +0000 (14:51 +0200)]
Bug 5947: additional tests for binding-dom-adapter

- FutureSchema
- BindingDOMTransactionChainAdapter
- BindingDOMRpcImplementationAdapter
- BindingDOMRpcAdapterRegistration

Change-Id: I511d39671d6b32ae49a2c8dc58da1427e96c3207
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 5947: yet another tests for binding-dom-adapter 64/45064/3
Peter Nosal [Fri, 2 Sep 2016 11:51:42 +0000 (13:51 +0200)]
Bug 5947: yet another tests for binding-dom-adapter

Change-Id: I57abe83c9fc49beee81764977b3ae3528ee2dccc
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 1411-4: MDSAL Binding2 Generator Impl 41/40441/29
Martin Ciglan [Thu, 16 Jun 2016 12:27:11 +0000 (14:27 +0200)]
Bug 1411-4: MDSAL Binding2 Generator Impl

- BindingGeneratorImpl decomposition proposal
- introduction for Twirl templates for Yang Snippets generation
- rather more templates, less logic, more content
- JUnit test - to be finished
- added several twirl templates for YANG
- review comments fixed
- apply https://git.opendaylight.org/gerrit/#/c/44939/ for spec v2

Change-Id: I79cb7e9c0d41c23408949dd5d4d40d572cc86652
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
Signed-off-by: Filip Gregor <fgregor@cisco.com>
7 years agoImplementing checkStyleViolationSeverity=error for mdsal-eos-binding-api module 84/44884/3
janab [Tue, 30 Aug 2016 19:17:33 +0000 (12:17 -0700)]
Implementing checkStyleViolationSeverity=error for mdsal-eos-binding-api module

Change-Id: Ic5526189f5a646a369d43676b287034c0f781ce5
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
7 years agoImplementing checkStyleViolationSeverity=error for mdsal-eos-binding-adaptor module 81/44881/2
janab [Tue, 30 Aug 2016 18:18:42 +0000 (11:18 -0700)]
Implementing checkStyleViolationSeverity=error for mdsal-eos-binding-adaptor module

Change-Id: Ibb2d726a1d2e40be605ebef21deda5a03757d0b6
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
7 years agoBug 5947: additional set of tests for binding-dom-adapter 32/44932/2
Peter Nosal [Wed, 31 Aug 2016 14:12:55 +0000 (16:12 +0200)]
Bug 5947: additional set of tests for binding-dom-adapter

- LazyDataTreeModification
- BindingDOMCursorAwareWriteTransactionAdapter

Change-Id: Ib5c592d15a3e80559f5c81c5e56b0e75a5e783b5
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agocheckStyleViolationSeverity=error implemented for mdsal-dom-broker 70/44570/6
janab [Tue, 23 Aug 2016 21:03:32 +0000 (14:03 -0700)]
checkStyleViolationSeverity=error implemented for mdsal-dom-broker
Resolved the merge conflicts.
Implemented code review comments.
Implemented another set of code review comments.

Change-Id: I3eecb17342e4fd7f4736ca67bc57f01f91115c0f
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
7 years agoBug 1411-3: MDSAL Binding2 Generator Util 72/40172/23
Martin Ciglan [Fri, 10 Jun 2016 07:39:15 +0000 (09:39 +0200)]
Bug 1411-3: MDSAL Binding2 Generator Util

- general util classes & methods
- generated type & builder classes
- Types & BindingTypes
- Annotations, Enumeration
- Method signature support
- Deviation/AnnotationType issue fixed
- Objects.hash() used in hashCode() methods
- review comments fixed

FIXME/TODO:
Binding2GeneratorUtil - implement rest of static methods, colon-dash issue
Binding2Mapping - implement rest of static methods, underscore issue

Change-Id: I9f602a893f6cbd2e9e30c6ca6dc3810e0c678d89
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoExecute the ShardedDOMDataTreeTransaction.submit() async. 91/44591/5
Tomas Cere [Tue, 23 Aug 2016 08:38:55 +0000 (10:38 +0200)]
Execute the ShardedDOMDataTreeTransaction.submit() async.

Change-Id: I7e8a59f03a6ed2f3e37d0aa31a2fc12b983644a8
Signed-off-by: Tomas Cere <tcere@cisco.com>
7 years agocheckStyleViolationSeverity=error implemented for mdsal-dom-spi module 69/43669/13
janab [Wed, 10 Aug 2016 22:54:27 +0000 (15:54 -0700)]
checkStyleViolationSeverity=error implemented for mdsal-dom-spi module

Resolved the merge conflicts. Implemented code review comments.
Removed empty lines within import sections of some files
Implemented some more code review comments.
Somebody had changed checkStyleViolationSeverity to warning, so it was ignoring the trailing white spaces.
Fixed the pom for dom-api and spi module + fix the code.

Change-Id: I1ea8b60c8b5910ea9f30963ada55ecbed3363a95
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoMake ShardCoordinationTasks public 87/43587/4
Tomas Cere [Wed, 10 Aug 2016 08:57:29 +0000 (10:57 +0200)]
Make ShardCoordinationTasks public

These will be reused in controller so make them public.

Change-Id: I89fb776768d8e975fd744fd1daefc2d0bb3eaa3f
Signed-off-by: Tomas Cere <tcere@cisco.com>
7 years agoBug 6413: Fix ipv4 and ipv6 patterns used by IpAddressNoZoneBuilder 37/44037/9
Filip Gregor [Tue, 16 Aug 2016 08:23:57 +0000 (10:23 +0200)]
Bug 6413: Fix ipv4 and ipv6 patterns used by IpAddressNoZoneBuilder

due to vague regex definition there was no way to distinguish
if shorter ip address was ipv6 or ipv4 resulting in exception
added tests

Change-Id: Id81e26f018e718675fd58469204c7ad1b647a7b1
Signed-off-by: Filip Gregor <fgregor@cisco.com>
7 years agoFixed Checkstyle violation errors in mdsal-dom-api module 43/43343/12
janab [Mon, 8 Aug 2016 19:32:14 +0000 (12:32 -0700)]
Fixed Checkstyle violation errors in mdsal-dom-api module

Implemented code review comment. 2nd round code review comments are implemented.

Change-Id: Iaa93e0786c54d80aa8cba8289570dc281442a055
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBUG-6028: check value types for encapsulation 60/40060/11
Robert Varga [Wed, 8 Jun 2016 17:09:17 +0000 (19:09 +0200)]
BUG-6028: check value types for encapsulation

This is a fast check to see if the argument matches expected
value class. If it does not it does not make sense to invoke
the serializer, as it will fail.

Change-Id: I4ca556fea057f2188fa1c34d303467565af38d5c
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBug 1411: MDSAL Binding2 Generator API fix 47/44247/2
Martin Ciglan [Thu, 18 Aug 2016 11:39:16 +0000 (13:39 +0200)]
Bug 1411: MDSAL Binding2 Generator API fix

Since we narrowed down schemaPath in DocumentedNode
to List, this needs to be reflected also in
GeneratedTypeBuilderBase class.

Change-Id: Id9edb2fef730bab24415878c85ccc74c4b8a1e9d
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoBug 6252 18/43218/8
Martin Ciglan [Fri, 5 Aug 2016 09:18:01 +0000 (11:18 +0200)]
Bug 6252

Add target/generated-sources/spi & yang/ as resource folders
Follow-up patch for Binding v2

Change-Id: I52822ca5ed5d468f8d62238133a212c9773ddffb
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoBug 1411: MDSAL Binding2 Generator API Enumeration fix 49/44149/2
Martin Ciglan [Wed, 17 Aug 2016 13:37:10 +0000 (15:37 +0200)]
Bug 1411: MDSAL Binding2 Generator API Enumeration fix

- support for missing optional sub-statements of Enum statement added
- minor related Javadoc fixes

Change-Id: I45130065c183c4e0b6094fdb0a9d18fc9709caa7
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoFix NPE when creating a producer after shard was unregistered 36/44136/1
Tomas Cere [Wed, 17 Aug 2016 11:24:54 +0000 (13:24 +0200)]
Fix NPE when creating a producer after shard was unregistered

Change-Id: I9f6728f4c885cc18d8adf8dc9d1c14e8c99977ef
Signed-off-by: Tomas Cere <tcere@cisco.com>
7 years agoBUG-1411: MDSAL Binding2 Spec - comments/feedback fixed 67/39467/5
Martin Ciglan [Mon, 15 Aug 2016 13:19:42 +0000 (15:19 +0200)]
BUG-1411: MDSAL Binding2 Spec - comments/feedback fixed

- based on review by Martin Sunal

Change-Id: I7da6e1c35ffed18fe62c7d4092b1eb8557913762
Signed-off-by: Martin Sunal <msunal@cisco.com>
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoBUG-1411 MDSAL Binding2 Generator API Enumeration fix 60/43860/2
Martin Ciglan [Fri, 12 Aug 2016 14:03:25 +0000 (16:03 +0200)]
BUG-1411 MDSAL Binding2 Generator API Enumeration fix

- missing getMappedName() method in Enumeration API

Change-Id: Ibcd79173745b14464614b494880d20b434070584
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoFix AbstractDOMShardTreeChangePublisher's initial data change event 10/43310/6
Jakub Morvay [Mon, 8 Aug 2016 11:25:54 +0000 (13:25 +0200)]
Fix AbstractDOMShardTreeChangePublisher's initial data change event

Strip shard path from listener path, when reading initial data from non
root shard. Also add requirement on DOMStoreTreeChangePublisher
interface to send initial data change event to even when data does not
exist yet.

Change-Id: I90f3aa33764a4812703c37e91378a73270fe19a3
Signed-off-by: Jakub Morvay <jmorvay@cisco.com>
7 years agoBUG-1411: MDSAL Binding2 Generator API small fix 72/43772/1
Martin Ciglan [Fri, 12 Aug 2016 09:46:20 +0000 (11:46 +0200)]
BUG-1411: MDSAL Binding2 Generator API small fix

- Enumeration import fix
- reflecting Yangtools API change - EnumPair.getValue() returns int now

Change-Id: I7148801e5b184e64294344f158483ca96cc58f56
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years ago.gitignore .factorypath created by m2e-apt 29/43629/2
Michael Vorburger [Wed, 10 Aug 2016 13:47:47 +0000 (15:47 +0200)]
.gitignore .factorypath created by m2e-apt

https://github.com/vorburger/opendaylight-eclipse-setup now bundles
https://github.com/jbosstools/m2e-apt, which creates .factorypath files
all over the place.

Change-Id: I0be119c2137f3bc1d7db3214230b7ce6651ae02a
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoadd target/generated-sources/spi & yang/ as resource folders 94/43594/3
Michael Vorburger [Wed, 10 Aug 2016 09:22:15 +0000 (11:22 +0200)]
add target/generated-sources/spi & yang/ as resource folders

and remove src/main/yang as source folder

but obviously must keep Maven's default src/main/resources
(see https://lists.opendaylight.org/pipermail/release/2016-August/007788.html)

Bug: 6252
Change-Id: I66b5dcdebc88303fd2e3e25f16f5f362b135a13e
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoBUG-6316: Fix Bit and EnumPair's position/value types 15/43315/4
Martin Ciglan [Mon, 8 Aug 2016 13:47:50 +0000 (15:47 +0200)]
BUG-6316: Fix Bit and EnumPair's position/value types

Follow-up patch for Yangtools API change:
https://git.opendaylight.org/gerrit/#/c/42855/

This solves issue with distibution-check jenkins job, where
EnumPair.getValue() returns Integer instead of correct int type.

Change-Id: I459364d17747e0adf10ec021a0bd9cc3e316726d
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoUse methodhandle instead of a lambda 37/43337/2
Robert Varga [Mon, 8 Aug 2016 16:36:20 +0000 (18:36 +0200)]
Use methodhandle instead of a lambda

Less text, same effect.

Change-Id: Ifa6d57f94d925268f116d95e2aac85290f133ed8
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoRevert "Add target/generated-sources/spi & yang/ as resource folders" 54/43554/1
Thanh Ha [Tue, 9 Aug 2016 18:52:15 +0000 (18:52 +0000)]
Revert "Add target/generated-sources/spi & yang/ as resource folders"

This reverts commit af8757dcd1d4ea0c794877021406e15a12000cea.

Change-Id: Id61db4aa7a915e6054060c63b6f681d9a3c45511
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
7 years agoAdd target/generated-sources/spi & yang/ as resource folders 85/42585/5
Michael Vorburger [Tue, 26 Jul 2016 16:32:57 +0000 (18:32 +0200)]
Add target/generated-sources/spi & yang/ as resource folders

and remove src/main/yang as source folder

Bug: 6252
Change-Id: I5574716949d29b886855a233de1e0c005e4985eb
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
7 years agoFixed Checkstyle violation errors in mdsal-common-api 12/42812/10
Colin Dixon [Fri, 29 Jul 2016 22:26:32 +0000 (15:26 -0700)]
Fixed Checkstyle violation errors in mdsal-common-api

removed SupressWarning for CheckStyle violation errors
changed checkStyleViolationSeverity=error to warning as per code review comments
Implimented some more code review comments, reverted back to checkStyleViolationSeverity=error  from warning.

Change-Id: I0b79f06ba6056d0813e8ddf7bad8896e7931b1e6
Signed-off-by: Brinda Jana <brinda.jana@nexusis.com>
Signed-off-by: Colin Dixon <colin@colindixon.com>
7 years agoBump ietf versions to ...10-SNAPSHOT 10/43510/2
Thanh Ha [Tue, 9 Aug 2016 13:27:25 +0000 (09:27 -0400)]
Bump ietf versions to ...10-SNAPSHOT

Bumping according to:
https://lists.opendaylight.org/pipermail/release/2016-August/007731.html

Change-Id: I2fc611f84c056ddea4a531d9e9e976ace3d4b557
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
7 years agoFix ietf-yang-types version 70/43470/1
Thanh Ha [Tue, 9 Aug 2016 04:57:53 +0000 (00:57 -0400)]
Fix ietf-yang-types version

The version bump script messed up the ietf-yang-types version. Fixing it
with this patch.

Change-Id: Idb9b79f3b32a4fc605acbc3f94a89c5dbcfd83ee
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
7 years agoBump versions by 0.1.0 for next dev cycle 24/43424/1
Thanh Ha [Mon, 8 Aug 2016 21:50:16 +0000 (17:50 -0400)]
Bump versions by 0.1.0 for next dev cycle

Change-Id: I661f05513feb495a1f1a47ffaeeb7fc6630bcd33
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
7 years agoBUG-865: remove String-based getDataChildByName() 37/43037/3
Martin Ciglan [Wed, 3 Aug 2016 09:41:59 +0000 (11:41 +0200)]
BUG-865: remove String-based getDataChildByName()

This is follow-up patch to reflect Yangtools changes
and needs to be merged after
https://git.opendaylight.org/gerrit/#/c/42898

Note:
based on information from YT devs, relying on string-based
choice node local-name when lookup by QName failed
was useful when dealing with augmented cases.
This is supposed to be fixed now in YT and MDSAL should
rely on lookup by QName only. See patch:
https://git.opendaylight.org/gerrit/#/c/40158/

Change-Id: I1300f3ee01ad678757d564ae76e23ce2c57c76fb
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
7 years agoBug 6165: Do not omit java.lang prefix in various places 08/41408/5
Vratko Polak [Mon, 1 Aug 2016 15:15:46 +0000 (17:15 +0200)]
Bug 6165: Do not omit java.lang prefix in various places

Yang expression "typedef String" leads to java class String,
creating potential naming conflict with java.lang.String.
Few places places in EnumTemplate are fixed by using «String.importedName».

Also, YangModuleInfoTemplate#getExplicitType
no longer removes java.lang unconditionally.

+ Ifs against void are re-ordered to occur sooner in getExplicitType.

Change-Id: If014aca30875589e361733317dfb47eaa07df031
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
7 years agoAdd PMD configuration 40/43240/1
Robert Varga [Fri, 5 Aug 2016 15:07:13 +0000 (17:07 +0200)]
Add PMD configuration

PMD does not allow specifying wildcards, hence we have to enrich
its configuration here.

Change-Id: I45b7b8618950ec43f3c03cc9e4ee9d3b714d14ee
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoMake AbstractDOMShardTreeChangePublisher advertise initial data change 86/42886/4
Jakub Morvay [Mon, 1 Aug 2016 06:24:25 +0000 (08:24 +0200)]
Make AbstractDOMShardTreeChangePublisher advertise initial data change

Change-Id: Ia9d5a7fcb8bedcb3494b4acc55c372ca5e812424
Signed-off-by: Jakub Morvay <jmorvay@cisco.com>
7 years agoBUG-6316: emit value unconditionally 58/42858/3
Robert Varga [Sun, 31 Jul 2016 15:21:55 +0000 (17:21 +0200)]
BUG-6316: emit value unconditionally

In the effective model of the world, value is always present.
This is a follow-up fix for the API change introduced in
yangtools.

Change-Id: I3fae5d57fce868e03fd36a7d521f87a83205bcce
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBug 5699 - Migrate existing code to use new sharding apis 87/42887/5
Jakub Morvay [Mon, 1 Aug 2016 07:36:39 +0000 (09:36 +0200)]
Bug 5699 - Migrate existing code to use new sharding apis

This adds adapters that translates DOMDataBroker API calls to cursor aware
API calls

Change-Id: Iab0a94af598f355768f6ef48ac8cb358960418b1
Signed-off-by: Jakub Morvay <jmorvay@cisco.com>
7 years agoBug 6126: Use importedName for java.lang types in ClassTemplate 40/41040/4
Vratko Polak [Mon, 1 Aug 2016 14:31:34 +0000 (16:31 +0200)]
Bug 6126: Use importedName for java.lang types in ClassTemplate

There may be a type definition in Yang, which generates class name
which are the same as a class name in java.lang.

This patch fixes the conflict at defaultInstance(),
there may be other places which need fixing.

Change-Id: I3a73b5bb284db031dbfd45468cbbb8dd2a354737
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
Signed-off-by: Filip Gregor <fgregor@cisco.com>
7 years agoFix a javadoc warning about empty paragraph 57/42857/2
Robert Varga [Sun, 31 Jul 2016 15:14:32 +0000 (17:14 +0200)]
Fix a javadoc warning about empty paragraph

Change-Id: I13eb715e2e24c51bd7df8354cc0b5338aa76763c
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBUG-6238: Remove char[]-based union instantiation path 76/42076/7
Robert Varga [Tue, 19 Jul 2016 18:02:39 +0000 (20:02 +0200)]
BUG-6238: Remove char[]-based union instantiation path

Since we are iterating over the constituent types,
there is no need to fall back to string-based instantiation.

Change-Id: Ief17f444816d78d4266e82be3e359a5918213e6d
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBug 5947: additional tests for binding-dom-adapter 51/42651/4
Peter Nosal [Tue, 26 Jul 2016 11:32:04 +0000 (13:32 +0200)]
Bug 5947: additional tests for binding-dom-adapter

Change-Id: Iae78d6b0ba6c5e163fac964db0099235801e6cee
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 5947: added some tests for osgi in dom-broker 56/42556/13
Peter Nosal [Tue, 26 Jul 2016 11:32:04 +0000 (13:32 +0200)]
Bug 5947: added some tests for osgi in dom-broker

Change-Id: I3d404e70bd34daa47a86f072420c5d06c7674425
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 5947: refactored common-api tests 75/42475/7
Peter Nosal [Mon, 25 Jul 2016 12:50:16 +0000 (14:50 +0200)]
Bug 5947: refactored common-api tests

Change-Id: I3b138c524094fcd6c63c46493c8af42c5d0c0d5a
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoInMemoryDOMStoreThreePhaseCommitCohort: wrong trace parameter 72/42672/2
Isaku Yamahata [Thu, 28 Jul 2016 06:08:06 +0000 (23:08 -0700)]
InMemoryDOMStoreThreePhaseCommitCohort: wrong trace parameter

One parameter for trace is missing.
Looks like copy-n-paste bug

Change-Id: I4ca4cd8c790dfaefa7ad8b7f8e2f4f71ae85242d
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
7 years agoBug 5947: added tests for mdsal-binding-api 06/42606/2
Peter Nosal [Wed, 27 Jul 2016 07:39:42 +0000 (09:39 +0200)]
Bug 5947: added tests for mdsal-binding-api

Change-Id: Id6f0434eac4982ae91136fe5e2a04d40443df9a0
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoBug 5947: additional test for binding-dom-adapter 65/42765/2
Peter Nosal [Fri, 29 Jul 2016 07:49:16 +0000 (09:49 +0200)]
Bug 5947: additional test for binding-dom-adapter

Change-Id: I4cd34de1e706eb46f2f1ddef4a89a7cc560d20d3
Signed-off-by: Peter Nosal <peter.nosal@pantheon.tech>
7 years agoUse EnumTypeBuilder 78/42778/1
Robert Varga [Fri, 29 Jul 2016 12:00:32 +0000 (14:00 +0200)]
Use EnumTypeBuilder

EnumPairImpl is going away, just as all public model.util
implementation classes. Use EnumPairBuilder instead.

Change-Id: Ife86e3ddf432bbd8552d95a282589b1a52645320
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoBug 6184: Workaround for namespaces with URL with trailing slash 69/41669/3
Vratko Polak [Mon, 11 Jul 2016 16:47:46 +0000 (18:47 +0200)]
Bug 6184: Workaround for namespaces with URL with trailing slash

Change-Id: I76712209a8d42825d9e8f6d8042877cec486c53f
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
7 years agoBug 2332: BindingMapping to camel split also on forward slash 80/41280/3
Vratko Polak [Mon, 4 Jul 2016 13:33:22 +0000 (15:33 +0200)]
Bug 2332: BindingMapping to camel split also on forward slash

This is only a partial workaround, full fix for Bug 2332 needs binding v2.

Forward slash is a first character (not allowed in general yang identifiers)
that was encountered in enums from real world Yang models.

Possibly, other separators could get the same treatment,
acting the same way as dash and dot already do.

Change-Id: Ic62198a843747092113c1c7dffaff13d09e7f943
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
7 years agoimplemented missing equals for InstanceIdentifierBuilderImpl with tests 46/42146/9
Juraj Veverka [Wed, 20 Jul 2016 12:22:38 +0000 (14:22 +0200)]
implemented missing equals for InstanceIdentifierBuilderImpl with tests

Change-Id: I540a3f44f964de4c3f44281fb51d9a1404313ff7
Signed-off-by: Juraj Veverka <Juraj.Veverka@pantheon.tech>
7 years agoUse TypedSchemaNode 64/42664/5
Robert Varga [Wed, 27 Jul 2016 22:26:10 +0000 (00:26 +0200)]
Use TypedSchemaNode

Now that the getType() method is available through a unified
interface use it to simplify type checks.

Change-Id: I9538c3677daf4ac4e3eac080220403bf2f75adb8
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoRemove an unneeded type specifier 60/42660/5
Robert Varga [Wed, 27 Jul 2016 20:40:23 +0000 (22:40 +0200)]
Remove an unneeded type specifier

Optional.of() can be correctly inferred with Java 8,
remove the type argument.

Change-Id: Ie0826c03c964bb1bdfd7a070fa1bf80cef2ac3f0
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoRemove unneeded cast 59/42659/5
Robert Varga [Wed, 27 Jul 2016 20:26:34 +0000 (22:26 +0200)]
Remove unneeded cast

Since we have corrected the getSchema() method, there is no need
to perform a cast.

Change-Id: Ib3c9b2d7dc3a15f2cb9e042055178106f6b33cae
Signed-off-by: Robert Varga <rovarga@cisco.com>
7 years agoFix incorrect null check 58/42658/5
Robert Varga [Wed, 27 Jul 2016 20:29:18 +0000 (22:29 +0200)]
Fix incorrect null check

Eliminate an Eclipse-generated warning, which actually shows a bug.

Calls to childNonNull() did not pass an actual instance, but rather
a 'obj != null' expression. That expression got evaluated to
a boolean, which got boxed. Hence childNonNull() could not observe
a null no matter what and we'd get a NPE on next use -- exactly where
Eclipse put a warning.

childNonNull() returns a correctly annotatad @Nonnull reference,
which can be used as a guard against this kind of mistake: if the
original code used that reference, compilation would fail,
as the checked object is a Boolean and does not have a get() method.

This patch eliminates the expression and uses the returned reference,
eliminating the possiblity of a NPE.

Change-Id: I706f077f90ea38d3a48125beeaf4711182c8b8d5
Signed-off-by: Robert Varga <rovarga@cisco.com>