yangtools.git
9 years agoMerge "Parent schema node input parameter in JsonParserStream"
Tony Tkacik [Wed, 7 Jan 2015 09:45:47 +0000 (09:45 +0000)]
Merge "Parent schema node input parameter in JsonParserStream"

9 years agoMerge "BUG-1382: eliminate QName.getPrefix()"
Tony Tkacik [Wed, 7 Jan 2015 09:36:26 +0000 (09:36 +0000)]
Merge "BUG-1382: eliminate QName.getPrefix()"

9 years agoMerge "Turn NodeModification into an abstract class"
Tony Tkacik [Wed, 7 Jan 2015 09:29:35 +0000 (09:29 +0000)]
Merge "Turn NodeModification into an abstract class"

9 years agoMerge "Update xtend and embed it"
Tony Tkacik [Wed, 7 Jan 2015 09:28:23 +0000 (09:28 +0000)]
Merge "Update xtend and embed it"

9 years agoMerge "Do not test bundle activation of maven plugins"
Tony Tkacik [Wed, 7 Jan 2015 09:27:37 +0000 (09:27 +0000)]
Merge "Do not test bundle activation of maven plugins"

9 years agoMerge "BUG-2159: ensure test survies Java 8"
Tony Tkacik [Wed, 7 Jan 2015 09:27:24 +0000 (09:27 +0000)]
Merge "BUG-2159: ensure test survies Java 8"

9 years agoMerge "Use predictable class order"
Tony Tkacik [Wed, 7 Jan 2015 09:23:14 +0000 (09:23 +0000)]
Merge "Use predictable class order"

9 years agoMerge "Add a failure message when compilation test fails"
Tony Tkacik [Wed, 7 Jan 2015 09:22:57 +0000 (09:22 +0000)]
Merge "Add a failure message when compilation test fails"

9 years agoMerge "Limit the references IdentityCodec retains"
Tony Tkacik [Wed, 7 Jan 2015 09:19:53 +0000 (09:19 +0000)]
Merge "Limit the references IdentityCodec retains"

9 years agoMerge "Migrate ClassLoaderUtils user to new package"
Tony Tkacik [Wed, 7 Jan 2015 09:15:20 +0000 (09:15 +0000)]
Merge "Migrate ClassLoaderUtils user to new package"

9 years agoMerge "BUG-2350: improve performance of data tree merges"
Tony Tkacik [Wed, 7 Jan 2015 09:14:03 +0000 (09:14 +0000)]
Merge "BUG-2350: improve performance of data tree merges"

9 years agoMerge topic 'stable/helium'
Tony Tkacik [Wed, 7 Jan 2015 09:13:09 +0000 (09:13 +0000)]
Merge topic 'stable/helium'

* changes:
  BUG-2350: optimize BindingRuntimeContext.getIdentityClass()
  BUG-2350: optimize SchemaRootCodecContext.getYangIdentifierChild()

9 years agoMerge "Add yang-binding dependency to binding-parent."
Jan Medved [Mon, 5 Jan 2015 20:41:40 +0000 (20:41 +0000)]
Merge "Add yang-binding dependency to binding-parent."

9 years agoBUG-1382: eliminate QName.getPrefix() 97/12397/9
Robert Varga [Fri, 31 Oct 2014 10:19:21 +0000 (11:19 +0100)]
BUG-1382: eliminate QName.getPrefix()

QName should not be carrying a prefix entry. Its presence is a
historical leak from yang parser, where it was used as a hack to have aa
QName before a module import was resolved. This is an invalid case, as
an uresolved QName should never be leaked. The parser no longer needs
this and it has been deprecated in the last release -- so prune it.

Change-Id: I467cc9afb65609d160e67d47fa94cd0332b98025
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Remove unused import statements in binding-generator-impl"
Robert Varga [Mon, 5 Jan 2015 19:35:54 +0000 (19:35 +0000)]
Merge "Remove unused import statements in binding-generator-impl"

9 years agoMerge "Remove unused import statements in yang-parser-impl"
Robert Varga [Mon, 5 Jan 2015 19:35:31 +0000 (19:35 +0000)]
Merge "Remove unused import statements in yang-parser-impl"

9 years agoAdd yang-binding dependency to binding-parent. 17/13917/1
Ed Warnicke [Mon, 5 Jan 2015 19:24:02 +0000 (13:24 -0600)]
Add yang-binding dependency to binding-parent.

Change-Id: I2324918362b8d66bfc7fc5f49185cd449a10c491
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoMerge "Remove unused imports in yang-data-impl"
Robert Varga [Mon, 5 Jan 2015 19:19:34 +0000 (19:19 +0000)]
Merge "Remove unused imports in yang-data-impl"

9 years agoMerge "Remove unnecessary import statements in yang-data-api"
Robert Varga [Mon, 5 Jan 2015 19:19:00 +0000 (19:19 +0000)]
Merge "Remove unnecessary import statements in yang-data-api"

9 years agoMerge "Use profile in binding-parent to not break without src/main/yang"
Jan Medved [Mon, 5 Jan 2015 16:44:03 +0000 (16:44 +0000)]
Merge "Use profile in binding-parent to not break without src/main/yang"

9 years agoUse profile in binding-parent to not break without src/main/yang 41/13841/3
Ed Warnicke [Wed, 24 Dec 2014 03:49:43 +0000 (21:49 -0600)]
Use profile in binding-parent to not break without src/main/yang

Whitespace has been fixed to use 4 spaces for indent in keeping
with yangtools convention.

Change-Id: Id6f5d7459590b189086c4cc6046d8c60fafb381e
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoBug 2531: Fix build breakage in absense of src/main/yang directory 01/13801/5
Ed Warnicke [Sun, 21 Dec 2014 16:59:35 +0000 (10:59 -0600)]
Bug 2531: Fix build breakage in absense of src/main/yang directory

Change-Id: Ic5600dc950b048bc48c64a0a976709c6a93ab964
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoRemove unused import statements in binding-generator-impl 07/13707/3
Thanh Ha [Wed, 17 Dec 2014 03:41:34 +0000 (22:41 -0500)]
Remove unused import statements in binding-generator-impl

Change-Id: I094a012432ddb68e75bd6a64dc55c48caa0dcb2b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoRemove unused import statements in yang-parser-impl 06/13706/3
Thanh Ha [Wed, 17 Dec 2014 03:39:26 +0000 (22:39 -0500)]
Remove unused import statements in yang-parser-impl

Change-Id: I23ac4c917da16dcd4190bd9f7c707e962d001eff
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoRemove unused imports in yang-data-impl 05/13705/3
Thanh Ha [Wed, 17 Dec 2014 03:37:32 +0000 (22:37 -0500)]
Remove unused imports in yang-data-impl

Change-Id: I353e127afd929f230da9bd70cbe2d599e8e24ea6
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoRemove unnecessary import statements in yang-data-api 03/13703/3
Thanh Ha [Wed, 17 Dec 2014 03:30:43 +0000 (22:30 -0500)]
Remove unnecessary import statements in yang-data-api

java.lang are always implicitly imported.

Change-Id: I926516c3a731efe9d4770e379adb9e02b1d81ac5
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoTurn NodeModification into an abstract class 80/13480/3
Robert Varga [Tue, 9 Dec 2014 15:46:22 +0000 (16:46 +0100)]
Turn NodeModification into an abstract class

We have a single-implementation case here, plus the interface is
non-public, Turn it into an abstract class to extract the last bit of
performance.

Change-Id: I384ddf7d785d7c323c2ba361c38f4b5a03697a38
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-2350: improve performance of data tree merges 95/13795/3
Robert Varga [Sun, 21 Dec 2014 00:53:08 +0000 (01:53 +0100)]
BUG-2350: improve performance of data tree merges

Profiling has revealed that performing a merge on a large subtree
results in all pre-existing nodes being verified. The MD-SAL performs an
empty merge whenever the user asks for parents to be created --
resulting in up to 75% overhead.

Change-Id: I94310b2cb27c8585a8b8c4933ff0f0f658fda9be
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoUpdate xtend and embed it 40/13540/11
Robert Varga [Wed, 24 Dec 2014 13:28:27 +0000 (14:28 +0100)]
Update xtend and embed it

Rather than requiring an osgified version of xtend, let's embed that
dependency. Also upgrade it do 2.7.3 to make things work with Java 8.

Change-Id: I975d9431f3e9bb31a0a364e7b7abfd4155191548
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoDo not test bundle activation of maven plugins 53/13853/3
Robert Varga [Wed, 24 Dec 2014 20:52:37 +0000 (21:52 +0100)]
Do not test bundle activation of maven plugins

maven-sal-api-gen-plugin is intended for maven use only. Do not test it
for startability.

Change-Id: Ic40f77c7f65bd27b429680b5dc9064d42b9dab18
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-2159: ensure test survies Java 8 50/13850/2
Robert Varga [Wed, 24 Dec 2014 19:14:46 +0000 (20:14 +0100)]
BUG-2159: ensure test survies Java 8

Java 8 has slightly enhanced runtime, which trips the strict checking
done in tests. Fixe them up to pass.

Change-Id: Ia2fcd33c7831d4a1ff7171e6528ee6af5bc22d36
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoUse predictable class order 49/13849/2
Robert Varga [Wed, 24 Dec 2014 16:00:42 +0000 (17:00 +0100)]
Use predictable class order

HashSet has unpredictable iteration order, potentially causing
non-repeatable tests. Use an ImmutableSet to guard against that.

Change-Id: I1d774df0992ef4fc795558c46ae4e37349693fdf
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoAdd a failure message when compilation test fails 48/13848/1
Robert Varga [Wed, 24 Dec 2014 16:00:14 +0000 (17:00 +0100)]
Add a failure message when compilation test fails

Rather than emitting a cryptic null message, explain that the
compilation failed. The compiler emits errors by default, so it still is
diagnosable.

Change-Id: I32bfddef0c30cca96d225702a516b30c4e4d7040
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-2350: optimize BindingRuntimeContext.getIdentityClass() 94/13794/3
Robert Varga [Sat, 20 Dec 2014 23:47:12 +0000 (00:47 +0100)]
BUG-2350: optimize BindingRuntimeContext.getIdentityClass()

BGP traces show this method can take upto 35% of CPU time in some use
cases. Instantiate a LoadingCache to bypass the cost of loading a class.

Change-Id: Iaa49dae655f3987add427e2d9da303b2278f00cb
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-2350: optimize SchemaRootCodecContext.getYangIdentifierChild() 93/13793/3
Robert Varga [Sat, 20 Dec 2014 23:15:39 +0000 (00:15 +0100)]
BUG-2350: optimize SchemaRootCodecContext.getYangIdentifierChild()

This particular method has been found to dominate deletion-heavy
workloads, where it can account for up to 30% of time due to loading of
classes.

Eliminate this cost by instantiating a LoadingCache, which short-cuts
the class load.

Change-Id: I45c3f4acd67d85da30f26b71f73226a5beaf2876
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Bug 2532: Fix potential NPE in Utils.listFiles"
Robert Varga [Wed, 24 Dec 2014 12:47:07 +0000 (12:47 +0000)]
Merge "Bug 2532: Fix potential NPE in Utils.listFiles"

9 years agoIntroducing binding-parent 02/13802/4
Ed Warnicke [Sun, 21 Dec 2014 17:00:16 +0000 (11:00 -0600)]
Introducing binding-parent

Change-Id: Ib10d4505ea3fe3238d029da3aebdabd9d3241397
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoBug 2532: Fix potential NPE in Utils.listFiles 00/13800/1
Ed Warnicke [Sun, 21 Dec 2014 16:58:59 +0000 (10:58 -0600)]
Bug 2532: Fix potential NPE in Utils.listFiles

Change-Id: I09fbcb8eaa98ea52e1c0ad09adc083c7a471c9a1
Signed-off-by: Ed Warnicke <eaw@cisco.com>
9 years agoLimit the references IdentityCodec retains 97/13797/2
Robert Varga [Sat, 20 Dec 2014 23:33:31 +0000 (00:33 +0100)]
Limit the references IdentityCodec retains

IdentityCodec does not really need the codec context -- the runtime
context is enough.

Change-Id: I9dcef7e64f326491030b969b53d7b3c61d0bcd04
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMigrate ClassLoaderUtils user to new package 96/13796/2
Robert Varga [Sat, 20 Dec 2014 23:26:22 +0000 (00:26 +0100)]
Migrate ClassLoaderUtils user to new package

ClassLoaderUtils was moved to org.opendaylight.yangtools.util.
Functionality was retained.

Change-Id: I1405cd3be9a2a8aa295eeb20e0d7bd661fe0a82c
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG 2468 - leafrefs via import statement 83/13683/3
Jozef Gloncak [Tue, 16 Dec 2014 15:34:09 +0000 (16:34 +0100)]
BUG 2468 - leafrefs via import statement

Adds method which search for base type of leafref in module specified via
QName value.

Change-Id: Ib1979b56604429fccac2d9955387085aa59ed01d
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
9 years agoMerge "Cleanup binding proxy instantiation"
Tony Tkacik [Fri, 19 Dec 2014 15:41:44 +0000 (15:41 +0000)]
Merge "Cleanup binding proxy instantiation"

9 years agoCleanup binding proxy instantiation 57/13757/1
Robert Varga [Fri, 19 Dec 2014 14:04:34 +0000 (15:04 +0100)]
Cleanup binding proxy instantiation

Profiling of BGP topology provider has revealed a performance bottleneck
when instantiating proxies for list children. As it turns out around 68%
of CPU cycles is being burned in looking up the proxy class and its
contructor. This patch performs the obvious tradeoff by caching it and
exposing a utility function to subclasses.

Change-Id: Icb76f232df8223925fa802859313bbf63ee58eeb
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Clarify NotificationListener purpose"
Tony Tkacik [Fri, 19 Dec 2014 08:59:22 +0000 (08:59 +0000)]
Merge "Clarify NotificationListener purpose"

9 years agoMerge "Clarify code flow in SchemaAwareApplyOperation"
Tony Tkacik [Fri, 19 Dec 2014 08:59:02 +0000 (08:59 +0000)]
Merge "Clarify code flow in SchemaAwareApplyOperation"

9 years agoParent schema node input parameter in JsonParserStream 69/12669/4
Jozef Gloncak [Fri, 24 Oct 2014 08:43:48 +0000 (10:43 +0200)]
Parent schema node input parameter in JsonParserStream

For stable helium

- JsonParserStream - added input parameter to create() factory method which
  specify parent schema node of schema node which is at top level of JSON
  input. Usually it is schema context.

Change-Id: I15ca2bdd0f8ace617d834040cd9a6745b40ee78a
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
(cherry picked from commit 2bba449d5246784298943ccd1359d06f0e8d840f)

9 years agoPrune empty nodes from transaction when it is sealed 76/13576/3
Robert Varga [Thu, 11 Dec 2014 17:03:14 +0000 (18:03 +0100)]
Prune empty nodes from transaction when it is sealed

When we seal() a ModifiedNode tree, check also whether we have unmodified
children and prune them. Also turn a SUBTREE_MODIFIED with empty nodes
into an UNMODIFIED node.

Change-Id: I077d23023fdbfb4ab232ed826cc32b4541779e87
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMove InMemoryDataTreeModification.mergeImpl() 73/13573/4
Robert Varga [Thu, 11 Dec 2014 16:03:45 +0000 (17:03 +0100)]
Move InMemoryDataTreeModification.mergeImpl()

The merge implementation should really live on
OperationWithModification, so this operation routing is consistent. This
has the side effect of speeding up verification on merges.

Change-Id: I2c07fa65b5846f618a476cc6f7f9d0c862b85811
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Cleanup delete/merge/write cohesion"
Tony Tkacik [Mon, 15 Dec 2014 11:37:14 +0000 (11:37 +0000)]
Merge "Cleanup delete/merge/write cohesion"

9 years agoMerge "Mark ModifiedNode as NotThreadSafe"
Tony Tkacik [Mon, 15 Dec 2014 08:54:11 +0000 (08:54 +0000)]
Merge "Mark ModifiedNode as NotThreadSafe"

9 years agoMerge "Fix checkstyle if-statements must use braces in yang-model-util"
Tony Tkacik [Mon, 15 Dec 2014 08:48:56 +0000 (08:48 +0000)]
Merge "Fix checkstyle if-statements must use braces in yang-model-util"

9 years agoMerge "Fix checkstyle if-statements must use braces in yang-parser-impl"
Tony Tkacik [Mon, 15 Dec 2014 08:48:51 +0000 (08:48 +0000)]
Merge "Fix checkstyle if-statements must use braces in yang-parser-impl"

9 years agoMerge "Fix checkstyle if-statements must use braces in yang-data-operations"
Tony Tkacik [Mon, 15 Dec 2014 08:48:46 +0000 (08:48 +0000)]
Merge "Fix checkstyle if-statements must use braces in yang-data-operations"

9 years agoMerge "Fix checkstyle if-statements must use braces in binding-generator"
Tony Tkacik [Mon, 15 Dec 2014 08:47:49 +0000 (08:47 +0000)]
Merge "Fix checkstyle if-statements must use braces in binding-generator"

9 years agoMerge "Do not access closed via updater"
Tony Tkacik [Mon, 15 Dec 2014 08:01:49 +0000 (08:01 +0000)]
Merge "Do not access closed via updater"

9 years agoCleanup delete/merge/write cohesion 72/13572/4
Robert Varga [Thu, 11 Dec 2014 15:57:10 +0000 (16:57 +0100)]
Cleanup delete/merge/write cohesion

The three methods are not public, and are not used in fluent way. Group
them together and make sure they look the same.

Change-Id: Ib0acb09020b381e8fc259e862ed6b340bd7260e2
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMark ModifiedNode as NotThreadSafe 75/13575/3
Robert Varga [Thu, 11 Dec 2014 17:16:32 +0000 (18:16 +0100)]
Mark ModifiedNode as NotThreadSafe

The class is not intended to be threadsafe, so mmark it as such. Also
remove an invalid @GuardedBy annotation.

Change-Id: Ib2a5ee9710ff41447ff999d5056ae71d06b328a3
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Match InMemoryDataTreeModification.write() argument name"
Tony Tkacik [Mon, 15 Dec 2014 07:52:09 +0000 (07:52 +0000)]
Merge "Match InMemoryDataTreeModification.write() argument name"

9 years agoDo not access closed via updater 26/13626/1
Robert Varga [Sun, 14 Dec 2014 17:25:34 +0000 (18:25 +0100)]
Do not access closed via updater

This is a volatile field and an Updater.get() is equivalent to a read.
Use a direct read, thus making the field visibly used. This removes the
need for a warning suppression.

Change-Id: I0799ae80c2431b9d48bb5f62f681ed4fe5289f41
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoFix checkstyle if-statements must use braces in yang-model-util 24/13624/1
Thanh Ha [Sun, 14 Dec 2014 16:42:17 +0000 (11:42 -0500)]
Fix checkstyle if-statements must use braces in yang-model-util

Change-Id: I5535870da8d317999b10b4e07e79d849ccc531a4
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoFix checkstyle if-statements must use braces in yang-parser-impl 23/13623/1
Thanh Ha [Sun, 14 Dec 2014 16:42:05 +0000 (11:42 -0500)]
Fix checkstyle if-statements must use braces in yang-parser-impl

Change-Id: If6e41ded71028c7f506e87b310f1ea5b8cdc22af
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoFix checkstyle if-statements must use braces in yang-data-operations 22/13622/1
Thanh Ha [Sun, 14 Dec 2014 16:38:46 +0000 (11:38 -0500)]
Fix checkstyle if-statements must use braces in yang-data-operations

Change-Id: Ia51055f22e2e3bc7693f35337c6d86e3d6663531
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoFix checkstyle if-statements must use braces in binding-generator 21/13621/1
Thanh Ha [Sun, 14 Dec 2014 16:38:03 +0000 (11:38 -0500)]
Fix checkstyle if-statements must use braces in binding-generator

Change-Id: I929ee367d7263ba22eecd788d39688fd719bfd6b
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
9 years agoMatch InMemoryDataTreeModification.write() argument name 71/13571/2
Robert Varga [Thu, 11 Dec 2014 15:54:24 +0000 (16:54 +0100)]
Match InMemoryDataTreeModification.write() argument name

This is an implementation of an interface method, so make sure the
argument name matches.

Change-Id: Ia2ee1d5e614aafac9d232abcefec65253c016bc9
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-2470: fix ADD/DELETE state compression 70/13570/2
Robert Varga [Thu, 11 Dec 2014 15:41:04 +0000 (16:41 +0100)]
BUG-2470: fix ADD/DELETE state compression

If we are deleting a previously-modified node, we need check whether the
node existed before the transaction. It was there the modification needs
to be turned into a DELETE. But it this transaction introduced it, we
need to turn into a no-op -- otherwise we will trigger a wrong path.

If we don't the user will experience the effects of attempting to delete
a non-existing node, which is clearly not what the user intended.

Change-Id: Iceb926d69e1e9df359b3299e2e38a90ba3565fd1
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoImprove readability of ordered checking 65/13565/1
Robert Varga [Thu, 11 Dec 2014 13:36:49 +0000 (14:36 +0100)]
Improve readability of ordered checking

Rather than overwriting the default, move it to an explicit else path.
This highlights the fact the value is initialized precisely once.

Change-Id: Ic8340705d3c68d6b40b04467af69e4d6a717d9de
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "BUG-2470: implement InMemoryDataTree.toString()"
Tony Tkacik [Wed, 10 Dec 2014 15:34:58 +0000 (15:34 +0000)]
Merge "BUG-2470: implement InMemoryDataTree.toString()"

9 years agoMerge "Bypass data tree generation on empty merge"
Tony Tkacik [Wed, 10 Dec 2014 15:33:55 +0000 (15:33 +0000)]
Merge "Bypass data tree generation on empty merge"

9 years agoMerge "BUG-1914: bump API requirement"
Tony Tkacik [Wed, 10 Dec 2014 15:33:45 +0000 (15:33 +0000)]
Merge "BUG-1914: bump API requirement"

9 years agoMerge "BUG-2498: optimize enum's forValue() method"
Tony Tkacik [Wed, 10 Dec 2014 15:33:31 +0000 (15:33 +0000)]
Merge "BUG-2498: optimize enum's forValue() method"

9 years agoBUG-2498: optimize enum's forValue() method 32/13532/1
Robert Varga [Wed, 10 Dec 2014 11:12:13 +0000 (12:12 +0100)]
BUG-2498: optimize enum's forValue() method

Use an ImmutableMap, as it provides optimized lookups based on
cardinality. Also hide the map from the package and turn it into a
constant.

Change-Id: I01591e56646705891fcc3fb8b871071169d35093
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-1914: bump API requirement 47/12847/3
Robert Varga [Thu, 9 Oct 2014 23:45:55 +0000 (01:45 +0200)]
BUG-1914: bump API requirement

This bumps the required maven API version 3.1.1 and removes the manual
override needed with previous versions.

Change-Id: If3b85169dccc9583ee93114c2b0c4f3fc9e17eb2
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBypass data tree generation on empty merge 31/13531/1
Robert Varga [Wed, 10 Dec 2014 10:30:51 +0000 (11:30 +0100)]
Bypass data tree generation on empty merge

A merge operation may end up not introducing any child nodes. Current
code forces a mutable/immutable cycle. This may end up copying maps or
creating a TrieMap snapshot -- which is not then modified and directly
reused.

This introduces a simple check and a shortcut, which just creates a new
metadata node.

Change-Id: I3fe4d07a139986d473a6bf55a2b40ff4350bd699
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoClarify code flow in SchemaAwareApplyOperation 30/13530/2
Robert Varga [Wed, 10 Dec 2014 10:15:28 +0000 (11:15 +0100)]
Clarify code flow in SchemaAwareApplyOperation

When applying merge, we have a fall-through situation on the code.
Eliminate it by introducing a temporary variable. This makes the code a
bit more readable.

Change-Id: I3f468eb1235866ed627acdf5b60e6f890e44188a
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-2470: implement InMemoryDataTree.toString() 83/13483/1
Robert Varga [Tue, 9 Dec 2014 17:09:57 +0000 (18:09 +0100)]
BUG-2470: implement InMemoryDataTree.toString()

For debugging purposes, we need a way to dump the current state of the
data tree. Implement proper toString() method.

Change-Id: I808b83b1e89eaa79d2a8d19b2e551884e7a3dc50
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoClarify NotificationListener purpose 44/13444/1
Robert Varga [Mon, 8 Dec 2014 13:02:51 +0000 (14:02 +0100)]
Clarify NotificationListener purpose

This adds a comment about what the intended use of NotificationListener.

Change-Id: I84116fda4f7f68d63e8ad0e97365087df01b564a
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-1914: force maven 3.1.1 46/12846/3
Robert Varga [Mon, 13 Oct 2014 09:27:44 +0000 (11:27 +0200)]
BUG-1914: force maven 3.1.1

Activates maven version enforcement.

Change-Id: I19bbd53e93de3ccbf029a2e029e479217e2c0c09
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoFix feature-test failing with surefire 2.18 64/13364/2
Robert Varga [Thu, 4 Dec 2014 12:05:20 +0000 (13:05 +0100)]
Fix feature-test failing with surefire 2.18

feature-test fails maven-surefire-plugin 2.18 (but works with 2.17) due
to it assumming the constructor is called only once and modifying global
state. That global state is guarded from multiple modifications with an
Error. Move the offending initialization into static initializer, thus
ensuring we invoke the function only once.

Change-Id: I771ce384927769436ff0c8133471cefe27954a3d
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Remove xtend plugin binding-data-codec"
Tony Tkacik [Wed, 3 Dec 2014 10:26:58 +0000 (10:26 +0000)]
Merge "Remove xtend plugin binding-data-codec"

9 years agoDo not use deprecated ClassLoaderUtils 71/13271/1
Robert Varga [Mon, 1 Dec 2014 17:47:16 +0000 (18:47 +0100)]
Do not use deprecated ClassLoaderUtils

Migrates to the class provided from the util package instead.

Change-Id: I988c4cc0d04062780ebd842ab596604b0c7cf287
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoRemove PropertyPair 69/13269/1
Robert Varga [Mon, 1 Dec 2014 17:23:03 +0000 (18:23 +0100)]
Remove PropertyPair

This holder is unused, so remove it, reducing clutter.

Change-Id: Ib808582faf11cfa9937e76a7d025ed2a66a5becf
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoRemove xtend plugin binding-data-codec 68/13268/1
Robert Varga [Mon, 1 Dec 2014 16:57:54 +0000 (17:57 +0100)]
Remove xtend plugin binding-data-codec

The code does not use it, so save some time by not invoking it at all.

Change-Id: I633516da5cb152ea6c253a276d369bef002744ec
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Allow {Class,Method}Generator.process() to throw CannotCompileException"
Tony Tkacik [Mon, 1 Dec 2014 10:52:38 +0000 (10:52 +0000)]
Merge "Allow {Class,Method}Generator.process() to throw CannotCompileException"

9 years agoMerge "Remove unused declarations"
Tony Tkacik [Mon, 1 Dec 2014 09:15:44 +0000 (09:15 +0000)]
Merge "Remove unused declarations"

9 years agoMerge "Bug 2271 - NPE during generation of java binding for case list-grouping-choice"
Tony Tkacik [Mon, 1 Dec 2014 08:32:39 +0000 (08:32 +0000)]
Merge "Bug 2271 - NPE during generation of java binding for case list-grouping-choice"

9 years agoMerge "Fix logging checkstyle"
Robert Varga [Sun, 30 Nov 2014 20:52:31 +0000 (20:52 +0000)]
Merge "Fix logging checkstyle"

9 years agoRemove unused declarations 04/13204/2
Robert Varga [Fri, 28 Nov 2014 07:08:15 +0000 (08:08 +0100)]
Remove unused declarations

These properties are defined in odlparent, no need to repeat them here.

Change-Id: I34e05fa5bdf4d0937c967405c23d40c41c1b4187
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoAllow {Class,Method}Generator.process() to throw CannotCompileException 78/13178/3
Robert Varga [Fri, 28 Nov 2014 07:08:42 +0000 (08:08 +0100)]
Allow {Class,Method}Generator.process() to throw CannotCompileException

This exception is naturally thrown by Javassist, so allowing our users
to not encapsulate it is a Good Thing.

Change-Id: Ibc558501e799a2c4c6599d6d7c5da668335c7270
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Add model parent"
Tony Tkacik [Fri, 28 Nov 2014 10:12:36 +0000 (10:12 +0000)]
Merge "Add model parent"

9 years agoBug 2271 - NPE during generation of java binding for case list-grouping-choice 66/12566/5
pkajsa [Thu, 6 Nov 2014 12:24:25 +0000 (13:24 +0100)]
Bug 2271 - NPE during generation of java binding for case list-grouping-choice

The SchemaContextUtil class does not find some types of schema elements nested
in other elements (e.g. groupings in groupings - Bug 2117, groupings in lists,
groupings in Rpcs, groupings in rpc outputs and inputs, groupings in
notifications etc...). Therefore complete rework of findNodeInModule and
related methods has been performed. This version of patch set (i.e. 5) works
also with yang modules containing siblings with the same name.

Change-Id: Ia5f9d437c05ace6d94999eac17308a756c439f82
Signed-off-by: pkajsa <pkajsa@cisco.com>
9 years agoMerge "Resolved some sonar issues: If Stmts Must Use Braces"
Robert Varga [Tue, 25 Nov 2014 16:25:17 +0000 (16:25 +0000)]
Merge "Resolved some sonar issues: If Stmts Must Use Braces"

9 years agoResolved some sonar issues: Hide Utility Class Constructor 30/11930/4
Ladislav Borak [Mon, 13 Oct 2014 18:12:49 +0000 (20:12 +0200)]
Resolved some sonar issues: Hide Utility Class Constructor

Change-Id: I369df97a4de6c32dcb30a87516b0ec174368d38a
Signed-off-by: Ladislav Borak <lborak@cisco.com>
9 years agoFix logging checkstyle 10/12910/3
Milos Fabian [Tue, 18 Nov 2014 11:20:09 +0000 (12:20 +0100)]
Fix logging checkstyle

-allow literal string concatenation in log message

Change-Id: Iab33788f5db8e0e640c1f5d3a34494d84c2254d4
Signed-off-by: Milos Fabian <milfabia@cisco.com>
9 years agoMerge "Introduce QNameModule.toString()"
Tony Tkacik [Tue, 25 Nov 2014 08:52:35 +0000 (08:52 +0000)]
Merge "Introduce QNameModule.toString()"

9 years agoResolved some sonar issues: If Stmts Must Use Braces 18/11918/2
Ladislav Borak [Mon, 13 Oct 2014 07:50:27 +0000 (09:50 +0200)]
Resolved some sonar issues: If Stmts Must Use Braces

Change-Id: I904bf50a98ba72f6887c540970a10b951c4f8beb
Signed-off-by: Ladislav Borak <lborak@cisco.com>
9 years agoIntroduce QNameModule.toString() 75/13075/1
Robert Varga [Mon, 24 Nov 2014 15:09:22 +0000 (16:09 +0100)]
Introduce QNameModule.toString()

Rather than using the default, let's add a ToStringHelper based
toString().

Change-Id: Ib9240564db8f710d36f9281054b5e2825d9790a0
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoBUG-1953: perform proper string validation 70/13070/1
Robert Varga [Thu, 18 Sep 2014 12:51:15 +0000 (14:51 +0200)]
BUG-1953: perform proper string validation

Activates the use ot Patterns to enforce the string value has the format
specified by the yang file. Also fixes mutability of the exposed list,
which may have been attacked, injecting wrong strings.

Change-Id: I32d0ceb836df1f5ed04122a10115f66f75bfa1ec
Signed-off-by: Robert Varga <rovarga@cisco.com>
(cherry picked from commit 106188585a33e10cd910acb16e1d18eba77c8268)

9 years agoMerge "Bug 1677 - Parser: ListSchemaNodeBuilder keys needs to be a LinkedHashSet"
Tony Tkacik [Thu, 20 Nov 2014 11:37:05 +0000 (11:37 +0000)]
Merge "Bug 1677 - Parser: ListSchemaNodeBuilder keys needs to be a LinkedHashSet"

9 years agoDo not use YangInstanceIdentifier#getPath() 75/12975/1
Robert Varga [Wed, 19 Nov 2014 21:02:56 +0000 (22:02 +0100)]
Do not use YangInstanceIdentifier#getPath()

Moves TreeNodeUtils away from using deprecated getPath().

Change-Id: Ida7edbd89b08d7365d30d20a1e9657a106886c10
Signed-off-by: Robert Varga <rovarga@cisco.com>
9 years agoMerge "Bug 2157 - Race condition when adding a RPC implementation with an output"
Tony Tkacik [Thu, 20 Nov 2014 08:51:58 +0000 (08:51 +0000)]
Merge "Bug 2157 - Race condition when adding a RPC implementation with an output"