yangtools.git
10 years agoBUG-592: Migrate users to new build() method 87/5787/4
Robert Varga [Wed, 26 Mar 2014 20:38:08 +0000 (21:38 +0100)]
BUG-592: Migrate users to new build() method

The static builder method is deprecated, move users off of it.

Change-Id: I2b6758c13e2eb4c6357b97f37de327594a1a7faf
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoBUG-592: Optimize equals() a bit 86/5786/4
Robert Varga [Wed, 26 Mar 2014 18:50:06 +0000 (19:50 +0100)]
BUG-592: Optimize equals() a bit

This commit optimizes the equals() method by attempting to bypass the
full check of iterables by looking at cached state that is derived from
them.

Change-Id: I10b6e7164874992ae0dc041cffd934d292e61694
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoMerge "BUG-592: Rework instance identifier"
Tony Tkacik [Wed, 23 Apr 2014 08:04:32 +0000 (08:04 +0000)]
Merge "BUG-592: Rework instance identifier"

10 years agoBug 808: Added representation for unordered and ordered lists. 10/6310/1
Tony Tkacik [Tue, 22 Apr 2014 12:52:49 +0000 (14:52 +0200)]
Bug 808: Added representation for unordered and ordered lists.

Change-Id: I9d86a3a137f589c4538b1e101a7bcb7ea4104fbc
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoBUG-592: Rework instance identifier 78/5778/6
Robert Varga [Wed, 26 Mar 2014 14:18:50 +0000 (15:18 +0100)]
BUG-592: Rework instance identifier

This patch reworks the way InstanceIdentifier is implemented, gearing it
up for performance.

The entire implementation is based on Iterables instead of Lists, which
allows us to avoid copying them over and over as we construct new
identifiers. Simple .child() operation is a lot quicker, saving
instantiation of two intermediate classes.

The implementation gets rid of constructors, such that there is no
direct construction, but rather all paths are validated for content.
This also acts as a gate-keeper, enforcing the immutable nature of the
identifier.

Another optimization is that the hashCode() value is now built
incrementally as more members are added and cached.

InstanceIdentifierBuilder, now a full class, does not explictly copy the
base identifier, but reuses it -- there is no reason not to, as the base
identifier is immutable.

Change-Id: I0826ed3169a107c8f4b6e3026569e87387305ce0
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoMerge "Bug 735 - Part 1 - add ietf-restconf.yang back into yang-tools."
Tony Tkacik [Wed, 16 Apr 2014 13:23:00 +0000 (13:23 +0000)]
Merge "Bug 735 - Part 1 - add ietf-restconf.yang back into yang-tools."

10 years agoMerge "Bug 595 - Failed to maps instance-identifier (XML node) into Java InstanceIden...
Tony Tkacik [Wed, 16 Apr 2014 07:22:53 +0000 (07:22 +0000)]
Merge "Bug 595 - Failed to maps instance-identifier (XML node) into Java InstanceIdentifier"

10 years agoBug:700 Mapped description from the yang file to the generated java file 21/6221/1
Debolina Bandyopadhyay [Tue, 15 Apr 2014 22:55:58 +0000 (15:55 -0700)]
Bug:700 Mapped description from the yang file to the generated java file

Change-Id: I732d7d4b2c708295ec1358994b4078d35de1769b
Signed-off-by: Debolina Bandyopadhyay <dbandyop@cisco.com>
10 years agoBug 595 - Failed to maps instance-identifier (XML node) into Java InstanceIdentifier 92/6192/4
Jozef Gloncak [Thu, 10 Apr 2014 07:24:12 +0000 (09:24 +0200)]
Bug 595 - Failed to maps instance-identifier (XML node) into Java InstanceIdentifier

The case for instance identifier was added to
XmlDocumentUtils.toSimpleNodeWithType() method. If according to schema XML
element is InstanceIdentifier then it is attempted to deserialize as
InstanceIdentifier via specific codec - InstanceIdentifierForXmlCodec.
Deserialize method acceot as input parameter Element and Schema context.
Serialize method accept as input parameter InstanceIdentifier and Element.

Change-Id: I27b91e98479dfb4b0134294b5f3e608a8bf8ad4d
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
10 years agoBug 735 - Part 1 - add ietf-restconf.yang back into yang-tools. 82/6182/3
Devin Avery [Mon, 14 Apr 2014 18:45:54 +0000 (14:45 -0400)]
Bug 735 - Part 1 - add ietf-restconf.yang back into yang-tools.

Added a bundle into yang-tools to ship the ietf-restconf.yang yang file, required by MD-SAL.

NOTE: We are adding the first draft (00) of the ietf-restconf.yang so we
dont have to upgrade all of the other core yang files. It appears that
ietf-yang-types would need to be upgraded as well if we went with the
latest ietf releases. That should happen, but as part of an intention
upgrade to all ietf core.

Note: Gerrit DRAFT https://git.opendaylight.org/gerrit/#/c/6185 provideds
the fixes to the controller project to resolve the issue with the restconf
/modules endpoint, but we can not push that one forward until the yangtools
(this CS) is pushed to master because of dependencies.

Signed-off-by: Devin Avery <devin.avery@brocade.com>
10 years agoBUG-457 Fix TODOs and FIXMEs in yang-data-impl schema package. 00/5800/6
Maros Marsalek [Fri, 28 Mar 2014 13:08:08 +0000 (14:08 +0100)]
BUG-457 Fix TODOs and FIXMEs in yang-data-impl schema package.

Also add custom exceptions for data validation.

Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Change-Id: I59f3a85a7b7796b0276b49cd02226299fbea2271

10 years agoBug 613: Minimize use of xtend in binding-generator-impl. 38/5838/4
Martin Vitez [Tue, 1 Apr 2014 08:20:39 +0000 (10:20 +0200)]
Bug 613: Minimize use of xtend in binding-generator-impl.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge changes Iaac9f7e2,I9c336a30
Tony Tkacik [Tue, 8 Apr 2014 11:44:55 +0000 (11:44 +0000)]
Merge changes Iaac9f7e2,I9c336a30

* changes:
  Fix for Bug 364.
  Fix for Bug 394.

10 years agoMerge "Bug 447 - Yang documentation generator improvements"
Tony Tkacik [Tue, 8 Apr 2014 09:53:38 +0000 (09:53 +0000)]
Merge "Bug 447 - Yang documentation generator improvements"

10 years agoMerge "Fix for Bug 586."
Tony Tkacik [Tue, 8 Apr 2014 09:51:29 +0000 (09:51 +0000)]
Merge "Fix for Bug 586."

10 years agoBUG-648: expose copy builders 49/5949/1
Robert Varga [Fri, 4 Apr 2014 11:42:58 +0000 (13:42 +0200)]
BUG-648: expose copy builders

This patch exposes the ability to have builders pre-seeded from existing
nodes. Also adds the ability to remove children, such that the users can
be simplified.

The end result of this patch is to be able to completely elide copying
data when it's not necessary, e.g. the implementations can choose to
switch to a persistent data structure and optimize the copy away.

Change-Id: I37d3540038bf2cbde8fb4ab456e9eb03f18a66f6
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoBUG-692: Rename mappedChildren to children 73/5873/7
Robert Varga [Wed, 2 Apr 2014 16:24:31 +0000 (18:24 +0200)]
BUG-692: Rename mappedChildren to children

This clarifies the relationship of children/mappedChildren.

Change-Id: Iebbe739902d2c5356ecf0abc8cadd2bb462b6473
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoBUG-648: Provide framework for eliding copying builder maps 72/5872/7
Robert Varga [Wed, 2 Apr 2014 15:49:34 +0000 (17:49 +0200)]
BUG-648: Provide framework for eliding copying builder maps

This patch introduces builder-side safeguards which will cause the
builder take the copying hit after the target object was built. This is
an improbable operation, as most builders are forgotten after single
use.

Also make use of that knowledge and do not instantiate ImmutableMaps in
the nodes.

Change-Id: I98ef73f04a1f85c7355388eaaaafc99143b396f3
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoBUG-648: Fixup hashCode/equals 71/5871/6
Robert Varga [Wed, 2 Apr 2014 20:15:56 +0000 (22:15 +0200)]
BUG-648: Fixup hashCode/equals

The baseline hashCode/equals implementation relied on the copied maps
for correctness. Iterable<?> in and of itself does not really have a
equals contract, so let's reimplement it and make it very explicit.

This patch is required for getting rid of the copied maps without
breaking users.

Change-Id: I2fcd2bc8775b60cf89bf03a5679f97a266cf1c1e
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoMerge "BUG-576: Fix concepts description"
Tony Tkacik [Mon, 7 Apr 2014 11:25:58 +0000 (11:25 +0000)]
Merge "BUG-576: Fix concepts description"

10 years agoMerge "BUG-648: Document AttributesBuilder expectation"
Tony Tkacik [Mon, 7 Apr 2014 07:34:50 +0000 (07:34 +0000)]
Merge "BUG-648: Document AttributesBuilder expectation"

10 years agoBug 447 - Yang documentation generator improvements 94/5894/2
Milos Fabian [Thu, 3 Apr 2014 14:29:11 +0000 (16:29 +0200)]
Bug 447 - Yang documentation generator improvements

-added summaries at the top of page + linked localy
-added nested child nodes of grouping and augmentation nodes
-added local links between type definitions and their users
-minor fixes

Change-Id: I573f4ee257e66c140e52327534e840801f7b3c5f
Signed-off-by: Milos Fabian <milfabia@cisco.com>
10 years agoMerge "Bug 631: made QName Comparable."
Robert Varga [Wed, 2 Apr 2014 22:19:21 +0000 (22:19 +0000)]
Merge "Bug 631: made QName Comparable."

10 years agoBUG-648: Document AttributesBuilder expectation 70/5870/2
Robert Varga [Wed, 2 Apr 2014 13:44:47 +0000 (15:44 +0200)]
BUG-648: Document AttributesBuilder expectation

This patch just clarifies the expectation that the attributes map does
not change once it is passed in.

Change-Id: Ifd22f5cad85d97cd6bc8f408ad22ac634ed6df16
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoFix concurrent verify jobs 74/5874/1
Robert Varga [Wed, 2 Apr 2014 18:46:03 +0000 (20:46 +0200)]
Fix concurrent verify jobs

This uses URI instead of String to costruct paths, restoring
testability. Also fix a pom.xml warning while we're in the neighborhood.

Change-Id: I8df7573782b43326869e274e95720daf9d528e80
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoBUG-576: Fix concepts description 68/5868/1
Robert Varga [Wed, 2 Apr 2014 09:14:52 +0000 (11:14 +0200)]
BUG-576: Fix concepts description

Fixes a copy-n-pasted description.

Change-Id: I8f3c92af7329f16e12d8201242ce8c4978a30de2
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoBug 631: made QName Comparable. 61/5861/3
Martin Vitez [Wed, 2 Apr 2014 08:08:43 +0000 (10:08 +0200)]
Bug 631: made QName Comparable.

Added test.

Change-Id: I1967ae3f2d188ed1dc6533a342219de1a6ac31b1
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFix build failure in yang-data-operations. Add yang-parser-impl test dependency 59/5859/1
Maros Marsalek [Wed, 2 Apr 2014 07:55:02 +0000 (09:55 +0200)]
Fix build failure in yang-data-operations. Add yang-parser-impl test dependency

Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
10 years agoMerge "Implement edit-config operations for NormalizedNode yang-data-api"
Tony Tkacik [Wed, 2 Apr 2014 07:24:41 +0000 (07:24 +0000)]
Merge "Implement edit-config operations for NormalizedNode yang-data-api"

10 years agoMerge "Remove executable bit"
Tony Tkacik [Mon, 31 Mar 2014 07:32:31 +0000 (07:32 +0000)]
Merge "Remove executable bit"

10 years agoMerge changes I16a5683b,I6081dc12
Tony Tkacik [Mon, 31 Mar 2014 07:31:58 +0000 (07:31 +0000)]
Merge changes I16a5683b,I6081dc12

* changes:
  Add guava-based object cache
  Introduce Object Cache API and no-op implementation

10 years agoCleanup run-time dependencies 16/5816/1
Robert Varga [Sun, 30 Mar 2014 10:56:19 +0000 (12:56 +0200)]
Cleanup run-time dependencies

We should not depend on yang-parser-impl, but rather the model-api/util
packages. The yang-parser-impl dependency has only test scope.

Change-Id: I223bfd831e8ee77757a83f6f532c67a8374f9e7c
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoRemove executable bit 10/5810/1
Robert Varga [Fri, 28 Mar 2014 12:33:10 +0000 (13:33 +0100)]
Remove executable bit

Change-Id: I521733f08a74d2f868d357c577e14c4d3c69c13c
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoFix for Bug 586. 03/5803/2
Martin Vitez [Fri, 28 Mar 2014 14:56:36 +0000 (15:56 +0100)]
Fix for Bug 586.

Fixed generation of list key properties.
Updated test.

Change-Id: Icfe7e1fa6a5bfb3c8c2b4bedf808e5fbae797359
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoImplement edit-config operations for NormalizedNode yang-data-api 70/5670/19
Maros Marsalek [Wed, 19 Mar 2014 08:54:15 +0000 (09:54 +0100)]
Implement edit-config operations for NormalizedNode yang-data-api

Placed in a new module yang-data-operations

Supported operations: all defined in http://tools.ietf.org/html/rfc6241
Multiple positive and negative test cases added. Testing yang schema can be found under src/test/resources

Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Change-Id: I897c6479cf14e7073a6fb954565cfe2b376a6c40

10 years agoFix for Bug 527. 51/5751/2
Martin Vitez [Mon, 24 Mar 2014 09:23:28 +0000 (10:23 +0100)]
Fix for Bug 527.

Fixed codec loading for choice case nodes.
Fixed bug in parser when handling uses/augment target path.
Helper methods from BindingGeneratorImpl moved to SchemaContextUtil class.
Added test.

Change-Id: Id1b835150cdad2c278bd9c125d5369822b75639a
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFix for Bug 588. 92/5792/1
Martin Vitez [Thu, 27 Mar 2014 10:22:42 +0000 (11:22 +0100)]
Fix for Bug 588.

Removed xtend dependency from yang-model-util.
Reworked SchemaContextUtil from xtend to java.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Fix for Bug 589."
Robert Varga [Wed, 26 Mar 2014 16:22:48 +0000 (16:22 +0000)]
Merge "Fix for Bug 589."

10 years agoBug 525 : Document the InstanceIdentifier API 67/5767/2
Moiz Raja [Wed, 26 Mar 2014 00:50:07 +0000 (17:50 -0700)]
Bug 525 : Document the InstanceIdentifier API

Change-Id: If42682fe4dfd715d95f5f081eae8027836f316e0
Signed-off-by: Moiz Raja <moraja@cisco.com>
10 years agoFix of failing tests in yang-data-json 75/5775/2
Jozef Gloncak [Wed, 26 Mar 2014 14:36:07 +0000 (15:36 +0100)]
Fix of failing tests in yang-data-json

Method loadModules in TestUtils was changed to accept URI type input parameter
instead String type.

Change-Id: I27edf31788880d50cdca8deba754bcffd14da0b8
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
10 years agoFix for Bug 589. 70/5770/1
Martin Vitez [Wed, 26 Mar 2014 08:47:43 +0000 (09:47 +0100)]
Fix for Bug 589.

Removed xtend dependency from yang-parser-impl.
Rewrited ParserUtils from xtend to java.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Remove unused code from Immutables"
Tony Tkacik [Tue, 25 Mar 2014 20:55:43 +0000 (20:55 +0000)]
Merge "Remove unused code from Immutables"

10 years agoMerge "Parsing and serialization of composite and simple node to normalized nodes"
Robert Varga [Tue, 25 Mar 2014 11:21:21 +0000 (11:21 +0000)]
Merge "Parsing and serialization of composite and simple node to normalized nodes"

10 years agoParsing and serialization of composite and simple node to normalized nodes 58/5658/9
Jozef Gloncak [Fri, 21 Mar 2014 08:58:00 +0000 (09:58 +0100)]
Parsing and serialization of composite and simple node to normalized nodes

Added implementation of base classes from yang-data-impl artifact for
serializer and for parser
+ simple test

Change-Id: Ic7353e1be7ef6e00546595304c23b205f7580cee
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoUse a random port in test server 03/5703/2
David K. Bainbridge [Wed, 19 Mar 2014 18:04:51 +0000 (11:04 -0700)]
Use a random port in test server

This patch updates the test server to bind to a random port number and expose
this port number via a Future can be fetched by the test client so that it
knows to which port to connect.

Version 2:
Modified the code to use the guava SettableFuture as opposed to a custom built
future, as well as cleaned up a few other things, including makding sure that
the message was received from the server before considering the test passed.
was seeing different behavior on different platforms without this (i.e. some
times the message was display, sometimes not). Also, failed the test case wh
exceptions were caught.

Change-Id: Ia11c374bfbf206a6214d2afe3ba328b1231d6fad
Signed-off-by: David K. Bainbridge <dbainbri@ciena.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoRemove unused code from Immutables 89/5689/4
Robert Varga [Wed, 19 Mar 2014 16:35:16 +0000 (17:35 +0100)]
Remove unused code from Immutables

Change-Id: Ied0ba65a6ded0cb8d9ebfd57d3af7d87a355629b
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoAdd guava-based object cache 33/5733/4
Robert Varga [Mon, 24 Mar 2014 19:41:01 +0000 (20:41 +0100)]
Add guava-based object cache

This object cache is bound by the garbage collector, as it uses soft
references internally. It can be grown later to implement a caching
policies based on object type.

Change-Id: I16a5683bdc587dd5fe7a3c9c8e1e5a14cb85d09b
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoIntroduce Object Cache API and no-op implementation 32/5732/4
Robert Varga [Mon, 24 Mar 2014 19:32:00 +0000 (20:32 +0100)]
Introduce Object Cache API and no-op implementation

This introduces a statically-bound cache for objets. This is primarily
useful for implementing CPU/memory tradeoffs for limiting duplicate
instances of common objects.

Change-Id: I6081dc121c8cc3defd029fe4da1e29fdabea68d0
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoMerge "Global cleanup of restconf client dependencies"
Tony Tkacik [Tue, 25 Mar 2014 05:17:50 +0000 (05:17 +0000)]
Merge "Global cleanup of restconf client dependencies"

10 years agoMerge "Bump javax.ws.rs-api version to 2.0"
Tony Tkacik [Tue, 25 Mar 2014 05:17:32 +0000 (05:17 +0000)]
Merge "Bump javax.ws.rs-api version to 2.0"

10 years agoMerge "Remove needless references to xtend library"
Tony Tkacik [Tue, 25 Mar 2014 05:17:09 +0000 (05:17 +0000)]
Merge "Remove needless references to xtend library"

10 years agoMerge "Do not depend on jersey-client"
Tony Tkacik [Tue, 25 Mar 2014 05:16:47 +0000 (05:16 +0000)]
Merge "Do not depend on jersey-client"

10 years agoMerge "Update interface to hide Dispatcher"
Tony Tkacik [Tue, 25 Mar 2014 05:15:35 +0000 (05:15 +0000)]
Merge "Update interface to hide Dispatcher"

10 years agoMerge "Introduce the concept of ProductAwareBuilder"
Tony Tkacik [Tue, 25 Mar 2014 05:08:42 +0000 (05:08 +0000)]
Merge "Introduce the concept of ProductAwareBuilder"

10 years agoMerge "Introduce common directory"
Tony Tkacik [Tue, 25 Mar 2014 05:07:43 +0000 (05:07 +0000)]
Merge "Introduce common directory"

10 years agoGlobal cleanup of restconf client dependencies 48/5748/1
Robert Varga [Tue, 25 Mar 2014 01:54:55 +0000 (02:54 +0100)]
Global cleanup of restconf client dependencies

Change-Id: I4f94360010fa068f2e77a51f112218da6bb366fe
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoBump javax.ws.rs-api version to 2.0 47/5747/1
Robert Varga [Tue, 25 Mar 2014 00:55:56 +0000 (01:55 +0100)]
Bump javax.ws.rs-api version to 2.0

Change-Id: Iff730e66741f4824092690bdc0cdf8299ec344ce
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoRemove needless references to xtend library 46/5746/1
Robert Varga [Tue, 25 Mar 2014 02:13:07 +0000 (03:13 +0100)]
Remove needless references to xtend library

There is simply no need to use the xtend runtime library. Let's simply
write clean code.

Change-Id: Id6ab24f701612ecc2be4408d62f7ee3b99d732e9
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoDo not depend on jersey-client 45/5745/1
Robert Varga [Tue, 25 Mar 2014 00:41:39 +0000 (01:41 +0100)]
Do not depend on jersey-client

JAX-RS annotations do not require full-blown client, so import only the
API bundle.

Change-Id: I12918068ac6b67d1279c73ee3060d47861c45bfe
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoIntroduce the concept of ProductAwareBuilder 31/5731/1
Robert Varga [Mon, 24 Mar 2014 19:28:23 +0000 (20:28 +0100)]
Introduce the concept of ProductAwareBuilder

A ProductAwareBuilder is an builder which can act as a proxy
for its product in collections (obviously provided it is not
mutated while its used this way).

This functionality is useful for implemeting caches, where
the toInstance() call can be skipped as long as there is an
existing equal object.

Change-Id: I24c98dcb41491ba6265b373c34667e2a0ddfed86
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoIntroduce common directory 30/5730/1
Robert Varga [Sun, 23 Mar 2014 09:38:55 +0000 (10:38 +0100)]
Introduce common directory

This directory will host code common to the various submodules, some of
which are candidates from moving into an upstream repository.

Populate this directory with concepts and mockito-configuration, thus
making sure the top-level POM has no direct code children.

Change-Id: Id7ac3aa68886841f408f047d05c740a563d8f957
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoAnother set of warning fixes 81/5681/2
Robert Varga [Wed, 19 Mar 2014 15:46:08 +0000 (16:46 +0100)]
Another set of warning fixes

Change-Id: Ic2bd07eb6490174e7f6a8808652dabeec122866c
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoUpdate interface to hide Dispatcher 11/5711/1
Robert Varga [Fri, 21 Mar 2014 16:56:57 +0000 (17:56 +0100)]
Update interface to hide Dispatcher

Dispatcher is really an internal implementation thing. Expose a parser
factory instead.

Change-Id: I1a597d3c4417dd09b8f7fcce0785b0eb5a8a3856
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoAdd attributes to nodes that can take attributes 10/5610/19
Maros Marsalek [Wed, 19 Mar 2014 13:03:57 +0000 (14:03 +0100)]
Add attributes to nodes that can take attributes

The following types of nodes seem to be able to accept attributes,
- LeafNode
- ContainerNode
- LeafSetEntryNode
- MapEntryNode

Also added parsing of Attributes

Change-Id: I524efde134e06d5b30a68379c8abdb65bba60cb2
Signed-off-by: Moiz Raja <moraja@cisco.com>
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoAbstract infrastructure for normalized nodes translation. 94/5594/23
Maros Marsalek [Wed, 19 Mar 2014 10:31:56 +0000 (11:31 +0100)]
Abstract infrastructure for normalized nodes translation.

With implementation for dom <-> normalized nodes.

Change-Id: Ic2c08d2955177bc335d6493d64076a77d2cc7d62
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
Signed-off-by: Ladislav Borak <lborak@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoFix for Bug 364. 53/5553/3
Martin Vitez [Thu, 6 Mar 2014 11:19:13 +0000 (12:19 +0100)]
Fix for Bug 364.

Fixed parsing of config statement:

Modified DataSchemaNodeBuilder:
- changed isConfiguration return type from Boolean to boolean
- changed setConfiguration parameter return type from Boolean to boolean
Updated YangParserListenerImpl and DataSchemaNodeBuilder implementations.
Fixed bug in ContainerSchemaNodeBuilder.build() method.
Fixed bug in GroupingBuilderImpl.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Fixed possible NPE in CodecMapping."
Robert Varga [Wed, 19 Mar 2014 11:49:07 +0000 (11:49 +0000)]
Merge "Fixed possible NPE in CodecMapping."

10 years agoAdded NormalizedNodeContainerBuilder and helpers. 46/5646/5
Tony Tkacik [Tue, 18 Mar 2014 17:06:26 +0000 (18:06 +0100)]
Added NormalizedNodeContainerBuilder and helpers.

   - NormalizedNodeContainerBuilder is common root
     to builders which produces NormalizedNodeContainer,
     this allows to write more generic code using builders.

   - NormalizedNodeUtils - provides helper functions to process
     normalized date tree, such as findNode which look up
     subtree based on provided InstanceIdentifier.

   - Added Immutable marker interface to existing builders.

Change-Id: Id842742432c48d76cdf78dab40352af27e10360f
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
10 years agoFix for Bug 394. 97/5097/7
Martin Vitez [Mon, 3 Feb 2014 10:44:59 +0000 (11:44 +0100)]
Fix for Bug 394.

Fixed bug in grammar when handling nested unknown nodes.
Fixed parsing nested unknown nodes in YangParserListenerImpl.
Added test.

Change-Id: I9c336a30d9f0a955a9914968a9eaad17154398e5
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFixed possible NPE in CodecMapping. 31/5631/2
Martin Vitez [Thu, 13 Mar 2014 14:52:03 +0000 (15:52 +0100)]
Fixed possible NPE in CodecMapping.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Fix for Bug 511 (model + integration-test)"
Tony Tkacik [Tue, 18 Mar 2014 11:04:18 +0000 (11:04 +0000)]
Merge "Fix for Bug 511 (model + integration-test)"

10 years agoMerge "Fix for Bug 511 (concepts)"
Tony Tkacik [Tue, 18 Mar 2014 11:04:04 +0000 (11:04 +0000)]
Merge "Fix for Bug 511 (concepts)"

10 years agoMerge "Fix for Bug 511 (yang)"
Tony Tkacik [Tue, 18 Mar 2014 11:03:44 +0000 (11:03 +0000)]
Merge "Fix for Bug 511 (yang)"

10 years agoMerge "Fix for Bug 511 (code-generator)"
Tony Tkacik [Tue, 18 Mar 2014 11:03:22 +0000 (11:03 +0000)]
Merge "Fix for Bug 511 (code-generator)"

10 years agoMerge "Fix for Bug 495."
Tony Tkacik [Tue, 18 Mar 2014 11:00:06 +0000 (11:00 +0000)]
Merge "Fix for Bug 495."

10 years agoMerge "Added documentation for web socket client"
Tony Tkacik [Tue, 18 Mar 2014 10:43:40 +0000 (10:43 +0000)]
Merge "Added documentation for web socket client"

10 years agoFix for Bug 511 (model + integration-test) 60/5660/1
Martin Vitez [Tue, 18 Mar 2014 08:18:30 +0000 (09:18 +0100)]
Fix for Bug 511 (model + integration-test)

Removed \r characters from yang-ext.yang and from integration-test project.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFix for Bug 511 (concepts) 59/5659/1
Martin Vitez [Tue, 18 Mar 2014 08:13:39 +0000 (09:13 +0100)]
Fix for Bug 511 (concepts)

Removed \r characters from concepts.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFix for Bug 511 (yang) 26/5626/3
Martin Vitez [Thu, 13 Mar 2014 12:00:30 +0000 (13:00 +0100)]
Fix for Bug 511 (yang)

Removed \r characters from all projects under yang directory.

Change-Id: I46a47d523449bc159ea508143d9a06726f8259ff
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoFix for Bug 511 (code-generator) 25/5625/3
Martin Vitez [Thu, 13 Mar 2014 10:38:27 +0000 (11:38 +0100)]
Fix for Bug 511 (code-generator)

Removed \r characters from all projects under code-generator directory.

Change-Id: Ic6af8cc1b686c62caeaab9e5f2595a597750cafe
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Immutable implementation of new yang-data-api"
Tony Tkacik [Thu, 13 Mar 2014 15:51:17 +0000 (15:51 +0000)]
Merge "Immutable implementation of new yang-data-api"

10 years agoImmutable implementation of new yang-data-api 57/5557/5
Maros Marsalek [Tue, 11 Mar 2014 10:25:08 +0000 (11:25 +0100)]
Immutable implementation of new yang-data-api

Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
Change-Id: If42a5a3fe0d371e9e0d2664705350065b2448473

10 years agoAdd ability to get yang sources from SchemaContext. 79/5579/4
Tomas Olvecky [Mon, 10 Mar 2014 12:17:05 +0000 (13:17 +0100)]
Add ability to get yang sources from SchemaContext.

SchemaContext should provide yang source code of parsed module files.
To identify modules, move YANGModuleIdentifier from binding-generator-spi
to yang-model-api: ModuleIdentifier. This interface can represent
both modules and submodules in SchemaContext. Add methods to SchemaContext
to iterate ove ModuleIdentifiers and get their source.
In order to maintain backwards compatibility no new parsing method was created,
so submodules cannot be supported now in new methods.
Adding this functionality removes need for most methods defined in
org.opendaylight.yangtools.yang.model.parser.api.YangModelParser .
It is advised that after this change parser api would be refactored to
have a method taking collection of input streams as input
and returning SchemaContext.
Other small changes:
Externalize SimpleDateFormat wrapped in ThreadLocal
Add toString to AbstractObjectRegistration
Add guava dependency to yang-model-api for Optional goodness
Add ModuleIdentifierImpl convenience class allowing users to seach source by
 module name.

Change-Id: I8a46fa699bbd829e5d4a488ebc99012a66fc196d
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
10 years agoMerge "Fix for Bug 497."
Tony Tkacik [Wed, 12 Mar 2014 10:15:20 +0000 (10:15 +0000)]
Merge "Fix for Bug 497."

10 years agoMerge "Better logging for codegen's generateModuleInfos"
Tony Tkacik [Wed, 12 Mar 2014 10:08:04 +0000 (10:08 +0000)]
Merge "Better logging for codegen's generateModuleInfos"

10 years agoFix for Bug 495. 81/5581/4
Martin Vitez [Mon, 10 Mar 2014 13:51:41 +0000 (14:51 +0100)]
Fix for Bug 495.

Fixed bug in parsing augments defined under uses: target node did not get reference to its augmentations.
Added test.

Change-Id: I4e7e32a6f2eb960d9e6727043e6b4dc4ba26429b
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoMerge "Fix for Bug 496."
Tony Tkacik [Wed, 12 Mar 2014 09:59:21 +0000 (09:59 +0000)]
Merge "Fix for Bug 496."

10 years agoMerge "Migrate RuntimeGeneratedMappingServiceImpl to use SchemaContextListener"
Tony Tkacik [Wed, 12 Mar 2014 09:50:44 +0000 (09:50 +0000)]
Merge "Migrate RuntimeGeneratedMappingServiceImpl to use SchemaContextListener"

10 years agoFix for Bug 497. 83/5583/2
Martin Vitez [Mon, 10 Mar 2014 17:09:34 +0000 (18:09 +0100)]
Fix for Bug 497.

Added generation of toString in YangModuleInfoTemplate.

Change-Id: I4a4781618dc58baa4764be378e92c26c7d15f5a2
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoBetter logging for codegen's generateModuleInfos 96/5596/1
Tomas Olvecky [Tue, 11 Mar 2014 12:39:41 +0000 (13:39 +0100)]
Better logging for codegen's generateModuleInfos

Change-Id: I14798f5f7caf9324344351141751be0001ef3a83
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
10 years agoMerge "Added initial draft of Normalized Yang Data Tree model."
Martin Vitez [Tue, 11 Mar 2014 10:25:54 +0000 (10:25 +0000)]
Merge "Added initial draft of Normalized Yang Data Tree model."

10 years agoMigrate RuntimeGeneratedMappingServiceImpl to use SchemaContextListener 73/5573/2
Robert Varga [Sun, 9 Mar 2014 18:29:46 +0000 (19:29 +0100)]
Migrate RuntimeGeneratedMappingServiceImpl to use SchemaContextListener

Moves the implemented interface higher up the chain, allowing its users
to start relying on SchemaContextListener -- fixing deprecations
warnings in the process.

Drive-by:
- organized imports to remove unused import
- remove unused field

Change-Id: Ic77e3775317daedd94f6cff6ea6eabdb0ea3dde0
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoMerge "Create onGlobalContextUpdated() in SchemaContextListener"
Tony Tkacik [Mon, 10 Mar 2014 15:52:29 +0000 (15:52 +0000)]
Merge "Create onGlobalContextUpdated() in SchemaContextListener"

10 years agoFix for Bug 496. 82/5582/1
Martin Vitez [Mon, 10 Mar 2014 15:15:03 +0000 (16:15 +0100)]
Fix for Bug 496.

If leafref type contains invalid path, no warning was reported and no methods were generated from this leaf/leaf-list.
Added exception throwing if leafref target is not found.
Updated tests.

Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoIntroduce ClassLoadingStrategy,ModuleInfoRegistry interface, copy SchemaStoreProvider... 76/5576/1
Tomas Olvecky [Mon, 10 Mar 2014 08:47:28 +0000 (09:47 +0100)]
Introduce ClassLoadingStrategy,ModuleInfoRegistry interface, copy SchemaStoreProvider from md-sal.

To decouple implementation from interface introduce ClassLoadingStrategy and ModuleInfoRegistry interfaces.This allows intercepting
read/write operations.
Copy SchemaContextProvider from org.opendaylight.controller.sal.dom.broker.impl .

Change-Id: Ifebc0f0adbb265f4a4e492c0a9b54f07cc17fe01
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
10 years agoCreate onGlobalContextUpdated() in SchemaContextListener 72/5572/1
Robert Varga [Sun, 9 Mar 2014 18:19:57 +0000 (19:19 +0100)]
Create onGlobalContextUpdated() in SchemaContextListener

With deprecating SchemaServiceListener, we need an explicit mark that
the method itself is not deprecated. Add an overridden method
declaration so the users do not get a useless warning.

Change-Id: I2e1da885f103f58beec2aa28dbf953c0198f3fd9
Signed-off-by: Robert Varga <rovarga@cisco.com>
10 years agoFix for Bug 489. 58/5558/2
Martin Vitez [Thu, 6 Mar 2014 16:09:25 +0000 (17:09 +0100)]
Fix for Bug 489.

Current code generator version was unable to generate sources for augmentation defined under uses statement
if augment points to nested node (not top level node added by uses).

Failing example:

container c {
    uses route-subobjects {
        augment "links/link" {
            leaf id {
                type string;
            }
        }
    }
}

AugmentationSchemaBuilderImpl: fixed bug in parsing augment target path for augmentations defined under uses.
BindingGeneratorImpl: fixed resolving of augment package name.
BindingGeneratorUtil: added new method to generate package name.

Added tests.

Change-Id: Ie48b2fffc0e6449bf5c13b5a6b636cbd837ffb54
Signed-off-by: Martin Vitez <mvitez@cisco.com>
10 years agoAdded documentation for web socket client 46/5546/2
Ladislav Borak [Wed, 5 Mar 2014 09:23:08 +0000 (10:23 +0100)]
Added documentation for web socket client

Change-Id: I88cce1f657b4d7c7a6ba6cc99e8da63541d7d66f
Signed-off-by: Ladislav Borak <lborak@cisco.com>
10 years agoMerge "ModifAction enum added NONE operation + additional checks Added Modify Action...
Tony Tkacik [Tue, 4 Mar 2014 10:44:31 +0000 (10:44 +0000)]
Merge "ModifAction enum added NONE operation + additional checks Added Modify Action to SimpleNode and CompositeNode"

10 years agoMerge "Fix for Bug 295."
Tony Tkacik [Tue, 4 Mar 2014 09:30:48 +0000 (09:30 +0000)]
Merge "Fix for Bug 295."