Tony Tkacik [Mon, 21 Jul 2014 09:15:06 +0000 (09:15 +0000)]
Merge "BUG-865: removed use of deprecated schema path creation."
Tony Tkacik [Mon, 21 Jul 2014 09:11:21 +0000 (09:11 +0000)]
Merge "Tests for TreeNodeUtils"
Tony Tkacik [Mon, 21 Jul 2014 09:08:41 +0000 (09:08 +0000)]
Merge "BUG-865: prune deprecated constructors"
Tony Tkacik [Mon, 21 Jul 2014 09:07:11 +0000 (09:07 +0000)]
Merge "BUG-1281: switch serialization to use StAX APIs"
Martin Vitez [Thu, 17 Jul 2014 14:18:00 +0000 (16:18 +0200)]
BUG-1097: implemented check for null or empty list in builder classes.
If one of builder variable is List, do following:
- for null value create Collections.emptyList()
- for empty list create Collections.emptyList()
- for any other list create ImmutableList.copyOf(<arg>)
Added test.
Change-Id: I83e5aaf4f4253aa2e195c23ff5b48b04fc883052
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Tony Tkacik [Mon, 21 Jul 2014 08:21:35 +0000 (08:21 +0000)]
Merge changes Ibfbb4deb,I96e28324
* changes:
BUG-1377: fixed code generation for nodes defined under grouping.
BUG-865: removed unused utility methods from SchemaContextUtil
Tony Tkacik [Mon, 21 Jul 2014 08:15:04 +0000 (08:15 +0000)]
Merge "BUG-1276: fixed generated union constructor"
Tony Tkacik [Mon, 21 Jul 2014 08:13:14 +0000 (08:13 +0000)]
Merge "BUG-532: implemented copy constructor for generated builder classes."
Tony Tkacik [Mon, 21 Jul 2014 07:19:17 +0000 (07:19 +0000)]
Merge "While the controller is starting up, we see the following info messages which seems redundant. o.o.y.y.d.i.s.tree.InMemoryDataTree - Attempting to install schema context SchemaContextImpl<snip>"
Tony Tkacik [Mon, 21 Jul 2014 07:17:31 +0000 (07:17 +0000)]
Merge "Making javadoc actually get flagged as javadoc"
Timotej Kubas [Fri, 18 Jul 2014 14:12:49 +0000 (16:12 +0200)]
BUG-1346: fix wrong prefix generation
Java promotion rules are slightly different than C, so the expression
got promoted to int, which obviously did the wrong thing. Add an
explicit cast to prevent it.
+test
Change-Id: Id9e708ca86b7267b84b2a3db5ad52aeef651763d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Timotej Kubas <tkubas@cisco.com>
Robert Varga [Fri, 18 Jul 2014 14:04:25 +0000 (14:04 +0000)]
Merge "BUG-1388: fixed ClassTemplate to avoid unused import of BigInteger."
Robert Varga [Fri, 18 Jul 2014 09:21:55 +0000 (11:21 +0200)]
BindingGeneratorUtil.computeDefaultSUID() should not modify lists
This prevents the utility from churning the lists passed in. Also
shares the comparator.
Change-Id: Iaded850b5b0fa98d79e4e4fdbed52175c669e8a4
Signed-off-by: Robert Varga <rovarga@cisco.com>
Martin Vitez [Fri, 18 Jul 2014 08:43:36 +0000 (10:43 +0200)]
BUG-1388: fixed ClassTemplate to avoid unused import of BigInteger.
Change-Id: I88e3aa6c9456603360de2053b5a2bbeca4877aa7
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Robert Varga [Thu, 17 Jul 2014 22:16:31 +0000 (00:16 +0200)]
BUG-865: prune deprecated constructors
This patch removes long-deprecated QName constructors in favor of static
factory methods.
Change-Id: I818cdcd8f1a71a1318c1a688b3594de62581a535
Signed-off-by: Robert Varga <rovarga@cisco.com>
Martin Vitez [Thu, 17 Jul 2014 10:23:54 +0000 (12:23 +0200)]
BUG-1377: fixed code generation for nodes defined under grouping.
If node was defined in choice case which parent choice was defined in grouping,
node does not implement ChildOf interface. Fixed by adding search for parent node
also from groupings.
Added test.
Change-Id: Ibfbb4deb719804fd16cce5c091cc0969aeaf821e
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Tony Tkacik [Thu, 17 Jul 2014 11:41:16 +0000 (11:41 +0000)]
Merge "BUG-1281: rework XmlStreamUtils a bit more"
Martin Vitez [Thu, 17 Jul 2014 07:38:40 +0000 (09:38 +0200)]
BUG-865: removed unused utility methods from SchemaContextUtil
By using getOriginal method from DerivableSchemaNode we can avoid searching for original node from grouping. This causes
that some of utility methods from SchemaContextUtil become redundant.
Change-Id: I96e2832436331b2f454e21aedb01fb552e2e2d6e
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Tony Tkacik [Thu, 17 Jul 2014 08:02:25 +0000 (10:02 +0200)]
Turned off codec source code generation by default.
Change-Id: Iad6eda63c109e3d813c704e2eda56b067c7d1688
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 17 Jul 2014 07:17:22 +0000 (07:17 +0000)]
Merge "Output generated codec source to files"
Martin Vitez [Thu, 17 Jul 2014 07:02:03 +0000 (07:02 +0000)]
Merge "BUG-994: fix QName not sharing QNameModule"
tpantelis [Sat, 10 May 2014 16:04:46 +0000 (12:04 -0400)]
Output generated codec source to files
- Added SourceCodeGenerator helper class that holds the generated
field/method source code until outputGeneratedSource is called to
generate the source for the entire class and output to a file
under generated-sources.
- Modified TransformerGenerator and JavassistUtils to use the
SourceCodeGenerator.
- Other pom changes to eliminate Eclipse errors.
Change-Id: Id910161569835d0cf9659ddf806e21f2545c713b
Signed-off-by: tpantelis <tpanteli@brocade.com>
Surekha Bejgam [Wed, 16 Jul 2014 23:54:19 +0000 (16:54 -0700)]
BUG 1359 - to make mdsal karaf features work
Signed-off-by: Surekha Bejgam <sbejgam@cisco.com>
Robert Varga [Wed, 16 Jul 2014 18:18:18 +0000 (20:18 +0200)]
BUG-994: fix QName not sharing QNameModule
Fixes the most obvious offender. With this patch >105000 QNameModule
instances are eliminated, bringing down the base memory use by about 8MB.
Change-Id: I63cd091ee9ce4292d0ad8066d01bf0a6120802b8
Signed-off-by: Robert Varga <rovarga@cisco.com>
Martin Vitez [Wed, 16 Jul 2014 14:19:59 +0000 (16:19 +0200)]
BUG-865: removed use of deprecated schema path creation.
Change-Id: I5110b098e032994c8ea35661b06a0abd00aaf111
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Jan Hajnar [Wed, 16 Jul 2014 13:11:29 +0000 (15:11 +0200)]
Tests for TreeNodeUtils
Change-Id: I6961f810b3aa2f93ad950992a3d49d1cda96a66e
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Martin Vitez [Wed, 16 Jul 2014 11:34:58 +0000 (13:34 +0200)]
BUG-1371: improved parser handling of invalid yang list key.
Change-Id: I7036ce4e97b14c22604dc396a2612c1f2fd62ca6
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Martin Vitez [Wed, 16 Jul 2014 08:03:41 +0000 (10:03 +0200)]
BUG-532: implemented copy constructor for generated builder classes.
Added test.
Change-Id: Ic9d6b4c80b431978a624c7a0d7cd0f7f71d4bb8c
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Tony Tkacik [Wed, 16 Jul 2014 07:51:56 +0000 (07:51 +0000)]
Merge "BUG-1091: sever the NormalizedNode/Node relationship"
Tony Tkacik [Wed, 16 Jul 2014 07:50:20 +0000 (07:50 +0000)]
Merge "Modifications RpcResultBuilder class"
Robert Varga [Tue, 15 Jul 2014 22:15:55 +0000 (00:15 +0200)]
BUG-1270: optimize SchemaPath creation for augmentations
As it turns out, at least in one case we can use
SchemaPath.createChild(), which is much more efficient than the
Iterable-based constructor. Drop a FIXME to investigate whether we can
reuse an existing SchemaPath in the other case.
Change-Id: I1aae1c9855490a21bcda7ffe17d52e081cc7de1d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 21:54:42 +0000 (23:54 +0200)]
BUG-1270: optimize SchemaPath creation
There is no need to instantiate temporary collections. Also
UnionTypeBuilder instantiated the same path over and over again. Fix all
the offenders.
Change-Id: Ie4ebe82dbc2902516459584c3386880c15fe063a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 21:52:33 +0000 (23:52 +0200)]
BUG-1270: reuse QNameModule
AugmentationSchemaBuilderImpl can reuse the QNameModule already exposed
from the Module, there is no need to instantiate a new, equivalent one.
Change-Id: I17bd5262e073baa27b089930702ed5780c10d79e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 21:04:23 +0000 (23:04 +0200)]
BUG-1270: be smart about Restrictions
Restrictions are based on type definitions, which are constant. For base
types they always are. For extended types, they are usually empty.
Optimize memory usage by reusing the lists anchored in types and also by
having a singleton instance for the all-empty case.
Change-Id: Ie9773d7efb57d403a008b82716eb22d97fefb224
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 20:41:02 +0000 (22:41 +0200)]
BUG-1270: ExtendedType used empty ArrayList
If the unknownNodes list is empty, do not retain it, but swap it for
Collections.emptyList(). Lowers memory overhead by not retaining an
empty ArrayList.
Change-Id: Ib2214613ebdbc394768b6db9543d2ef3504d1d53
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 20:23:40 +0000 (22:23 +0200)]
BUG-1270: BaseTypes should reuse QNameModule
This is a simple enough conversion, allowing us to get rid of some
duplicate QNameModule instances.
Change-Id: Ia4292ebb387c1c4a78710e588aa3aca6454fa2d9
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 20:16:11 +0000 (22:16 +0200)]
BUG-1270: improve QNameModule reuse
This eliminates calls calls which were causing unneeded QNameModules to
be instantiated, reducing memory overhead.
Change-Id: I5faa53fa8a5f82ae8b87fde67c0e69271595ce94
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 9 Jul 2014 17:08:45 +0000 (19:08 +0200)]
BUG-1281: switch serialization to use StAX APIs
With the StAX writer in place, we can safely switch the document
serializer utilities to use a simple transformation.
Change-Id: I7e48c1aa8685a536bf36891b0979058258527b9b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 11:05:30 +0000 (13:05 +0200)]
BUG-1281: rework XmlStreamUtils a bit more
This adds documentation to XmlStreamUtils and reworks the structure to
properly encapsulate the XmlCodecProvider.
Change-Id: I038f86b95f4205d452860fad9c9e38af61f48a2a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 15 Jul 2014 11:07:55 +0000 (13:07 +0200)]
BUG-1091: sever the NormalizedNode/Node relationship
This clarifies the API intent.
Node and NormalizedNode both serve as abstract supertypes which are then
specialized. The artificial Node->NormalizedNode relationship creates
the illusion that NormalizedNode is a semantical sibling of SimpleNode
and CompositeNode -- which is simply not true.
Change-Id: I62f56bc70ee570e719fea7660b7ef36ee59072d6
Signed-off-by: Robert Varga <rovarga@cisco.com>
Martin Vitez [Wed, 9 Jul 2014 14:17:59 +0000 (16:17 +0200)]
BUG-1276: fixed generated union constructor
Current generated definition of union constructor
public UnionType(Arg1 _arg1) {
super();
this._arg1 = _arg1;
this._arg2 = null;
this._value = null;
}
was incorrect and setting this._value == null was replaced with setting _value to correct value, for example:
this._value = arg1.getValue()
or
this._value = _arg1.getValue().toString().toCharArray()
Change-Id: I837e5e1fc6845937d19abcdc8e2f8d52b410d316
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Tony Tkacik [Tue, 15 Jul 2014 11:20:38 +0000 (11:20 +0000)]
Merge "Bug 865: Fixed incorrect conversion to new APIs."
Tony Tkacik [Tue, 15 Jul 2014 10:42:37 +0000 (12:42 +0200)]
Bug 865: Fixed incorrect conversion to new APIs.
Change-Id: I585e4d9142dc261317661c4442c771db791a46de
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 15 Jul 2014 09:46:17 +0000 (09:46 +0000)]
Merge "BUG-1347: fixed bug in generation constraints for decimal64 type."
Martin Vitez [Tue, 15 Jul 2014 09:37:35 +0000 (09:37 +0000)]
Merge "Bug 865: Removed uses of packageNameFromModule"
Martin Vitez [Tue, 15 Jul 2014 09:36:49 +0000 (09:36 +0000)]
Merge "Bug 1366: Fallback scenario for IdentityCodec to work without schema."
Martin Vitez [Tue, 15 Jul 2014 09:35:37 +0000 (09:35 +0000)]
Merge "API Cleanup: Moved package name computation to BindingMapping."
Tony Tkacik [Tue, 15 Jul 2014 09:14:52 +0000 (11:14 +0200)]
Bug 865: Removed uses of packageNameFromModule
Change-Id: I49d16e69943777acb34ac904ce2559302d0ac39c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 15 Jul 2014 09:13:38 +0000 (09:13 +0000)]
Merge "BUG-1344: Implemented getOriginal() for DataSchemaNode."
Tony Tkacik [Tue, 15 Jul 2014 09:10:33 +0000 (11:10 +0200)]
Bug 1366: Fallback scenario for IdentityCodec to work without schema.
Change-Id: Ife4c3c15db1397829c5b5a46575785121bf41ed1
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 15 Jul 2014 09:02:39 +0000 (11:02 +0200)]
API Cleanup: Moved package name computation to BindingMapping.
Change-Id: I8e9016c4cadd7bee36ec440b960891503b645f4a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Martin Vitez [Tue, 15 Jul 2014 07:42:49 +0000 (07:42 +0000)]
Merge "Eliminate the use of java.util.Stack"
Martin Vitez [Fri, 11 Jul 2014 12:11:03 +0000 (14:11 +0200)]
BUG-1344: Implemented getOriginal() for DataSchemaNode.
For nodes which were added by uses method getOriginal returns original node definition from grouping.
If node wasn't added by uses returns null.
Added tests.
Change-Id: Ib75ac2d9dbbd69d68a8e99333fe005f095fce90a
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Robert Varga [Sun, 13 Jul 2014 15:41:14 +0000 (17:41 +0200)]
Eliminate the use of java.util.Stack
It is a synchronized entity, which we use in contexts which are limited
to a single thread. Use Deque<> for interfaces and a combination of
LinkedList implementation.
Signed-off-by: Robert Varga <rovarga@cisco.com>
Change-Id: I76956d52ee7ebb332267b0c13bb129aa9974b884
Colin Dixon [Sat, 12 Jul 2014 22:30:54 +0000 (17:30 -0500)]
Making javadoc actually get flagged as javadoc
Change-Id: Ieb25fbaec9ee4eecc0b24c80acf92d1dc45888e0
Signed-off-by: Colin Dixon <colin@colindixon.com>
Ed Warnicke [Thu, 10 Jul 2014 13:59:22 +0000 (08:59 -0500)]
Fixed yangtools feature file and consolodated
Change-Id: I3eb47439ad1f2baa25977be69516334df9279a3d
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Tony Tkacik [Fri, 11 Jul 2014 11:33:02 +0000 (11:33 +0000)]
Merge "Added RpcResultBuilder class"
Tony Tkacik [Fri, 11 Jul 2014 10:55:09 +0000 (12:55 +0200)]
Deprecated moved XmlDocumentUtils methods.
Change-Id: I155203a176034741510261877be0b04d5931777b
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Fri, 11 Jul 2014 10:03:55 +0000 (10:03 +0000)]
Merge "BUG-1281: introduce XML event stream writer"
tpantelis [Thu, 10 Jul 2014 06:43:58 +0000 (02:43 -0400)]
Modifications RpcResultBuilder class
Added some new methods to RpcResultBuilder based on migration of
controller code to use it.
Change-Id: I522c76691a7885aa16a1324fe7bb49548018b8dd
Signed-off-by: tpantelis <tpanteli@brocade.com>
Martin Vitez [Thu, 10 Jul 2014 13:51:32 +0000 (15:51 +0200)]
BUG-1347: fixed bug in generation constraints for decimal64 type.
Added test.
Change-Id: I52a539ea7c5ff6b36b9bc362660188f9627bff7d
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Tony Tkacik [Fri, 11 Jul 2014 07:53:52 +0000 (07:53 +0000)]
Merge "BUG-1342: fixed bug in resolving augments with target added by uses."
Tony Tkacik [Thu, 10 Jul 2014 18:18:35 +0000 (18:18 +0000)]
Merge "Bug 1352: Fixed issue when ModificationSnapshot was not updated during schema context update."
Tony Tkacik [Thu, 10 Jul 2014 16:34:40 +0000 (18:34 +0200)]
Bug 1352: Fixed issue when ModificationSnapshot was not updated during schema context update.
Change-Id: I4dac124485c05cd771a717d3a692042a5b90b183
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Kiran Agrahara Sreenivasa [Thu, 10 Jul 2014 13:41:19 +0000 (06:41 -0700)]
While the controller is starting up, we see the following info messages which seems redundant.
o.o.y.y.d.i.s.tree.InMemoryDataTree - Attempting to install schema context SchemaContextImpl<snip>
I've moved the details about the schema contexts to a debug message.
Change-Id: I9b9425449d1f679fc080d5b33d96e2d865c25973
Signed-off-by: Kiran Agrahara Sreenivasa <kkoushik@brocade.com>
Robert Varga [Tue, 8 Jul 2014 23:30:47 +0000 (01:30 +0200)]
BUG-1281: introduce XML event stream writer
Unlike the current DOM approach, XMLStreamWriter-driven approach allows
use to plug various backends without needing memory for intermediate
representation.
Change-Id: Ic37b570a78c681faebfcbfe573b811a121188628
Signed-off-by: Robert Varga <rovarga@cisco.com>
tpantelis [Wed, 9 Jul 2014 15:29:02 +0000 (11:29 -0400)]
Added RpcResultBuilder class
Added a DSL-like builder class for creating RpcResult instances. This class will
deprecate the static Rpcs and RpcErrors classes in the controller.
Also added more javadocs to the RpcResult and RpcError interfaces.
Change-Id: I30cffc68419ed493035ba5fef466096bcec9df70
Signed-off-by: tpantelis <tpanteli@brocade.com>
Martin Vitez [Wed, 9 Jul 2014 13:41:49 +0000 (15:41 +0200)]
BUG-1342: fixed bug in resolving augments with target added by uses.
Change-Id: I6b822ffa31d20946cbb9323f6d4f73c86cb15dcb
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Kiran Agrahara Sreenivasa [Wed, 9 Jul 2014 12:58:58 +0000 (05:58 -0700)]
Fixing typo in log message
Change-Id: I6fc546f7319c13b09db1754dce5e6d49446531f3
Signed-off-by: Kiran Agrahara Sreenivasa <kkoushik@brocade.com>
Robert Varga [Tue, 8 Jul 2014 22:01:01 +0000 (00:01 +0200)]
BUG-865: do not use InstanceIdentifier.getPath()
The method was only used to speed up an ArrayList, which in turn was only
ever used for debugging. Instead of using a precodintion which forces us
to do this, just track the offset of the offending entry. If we find
ourselves in the error territory, we can then take getPathArguments(),
limit it to proper size and print it out.
Change-Id: I3c1786fe77cef005a6463c22b5be8bb8672c26bb
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Wed, 9 Jul 2014 10:38:13 +0000 (10:38 +0000)]
Merge "Bug 1339: Decreased anyxml warning to debug."
Tony Tkacik [Wed, 9 Jul 2014 08:47:04 +0000 (08:47 +0000)]
Merge "Bug 1331 - Generate SPIs and yangs to target/generated-sources/ subfolders"
Tony Tkacik [Wed, 9 Jul 2014 07:50:08 +0000 (07:50 +0000)]
Merge "BUG-579: improve code readability in RestconfUtils."
Tony Tkacik [Wed, 9 Jul 2014 07:25:33 +0000 (09:25 +0200)]
Bug 1339: Decreased anyxml warning to debug.
Change-Id: I9f21f1fd181229a6b3dccd7aa7dc9c53ab4e5db0
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 8 Jul 2014 16:46:31 +0000 (16:46 +0000)]
Merge "BUG-1304: rework BindingGeneratorImpl from xtend to java"
Tomas Olvecky [Tue, 8 Jul 2014 12:44:40 +0000 (14:44 +0200)]
Bug 1331 - Generate SPIs and yangs to target/generated-sources/ subfolders
Instead of putting SPIs to target/generated-resources and yangs to target/yangs
use standard target-generated-sources/{spi,yang}
This change allows IDEs with auto detection capabilities to pick
up all resources that will be packaged into JAR with correct path.
Change-Id: If9f0367732baddf66e22135ccf3a59124455335f
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Martin Vitez [Tue, 1 Jul 2014 11:51:34 +0000 (13:51 +0200)]
BUG-1210: refactored imports handling in parser.
Currently builder for module has no information about imported modules. This causes overhead because before resolving any of imported nodes
(uses, typedef, identities, augment path, deviation path...) parser needs to search whole collection of available modules to find target
module of imported node.
This patch adds information about imported modules to ModuleBuilder, so they can be available without search. Searching is performed only
once when resolving imports.
Change-Id: Ifcd4e995431165820c142e486da0466edc6abca0
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Tony Tkacik [Tue, 8 Jul 2014 09:10:55 +0000 (09:10 +0000)]
Merge changes I9886ddb7,I851fa16e,I3b7b0bf5,Ib7f2ce87,I7d0cf295,I35ae6fcb,I14c86257,Ic4af26d7
* changes:
LazyNodeToNodeMap: use a ArrayDeque instead of a Stack
XmlTreeBuilder: ensure thread safety
NodeFactory: use an ArrayDeque instead of a Stack
NodeUtils: Use an ArrayDeque instead of a Stack
Optimize YangParserListenerImpl logging
BUG-865: migrate to Optional<>
Refactor SchemaPathStack
Migrate the conceptual stack into a utility class
Martin Vitez [Tue, 8 Jul 2014 06:56:03 +0000 (08:56 +0200)]
BUG-1170: removed hardcoding of test build directory.
Change-Id: I1410b84d7a7a1f9720e0414cf799f42f90b1ed16
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Martin Vitez [Fri, 4 Jul 2014 08:06:22 +0000 (10:06 +0200)]
BUG-579: improve code readability in RestconfUtils.
Change-Id: Ia7d06c95f4237a2f6a1b64cc9c7d612bac8df413
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Robert Varga [Mon, 7 Jul 2014 21:07:59 +0000 (23:07 +0200)]
LazyNodeToNodeMap: use a ArrayDeque instead of a Stack
The thread safety feature is not needed and it should be faster.
Change-Id: I9886ddb7bdc69d27e489f5bff1cced5876d32aaa
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 21:05:14 +0000 (23:05 +0200)]
XmlTreeBuilder: ensure thread safety
Having a static field is a multi-threading show-stopper. Propagate the
state required via method argumets instead. Also convert Stack to
ArrayDeque.
Change-Id: I851fa16e648c0eb94ddc19f8ae9809b977c68564
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 21:00:39 +0000 (23:00 +0200)]
NodeFactory: use an ArrayDeque instead of a Stack
Thread safety is not needed and it's likely to be faster.
Change-Id: I3b7b0bf5f16f5e5c587baacb40f403723775034b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 20:55:50 +0000 (22:55 +0200)]
NodeUtils: Use an ArrayDeque instead of a Stack
Thread-safety is not needed and it's likely to be faster.
Change-Id: Ib7f2ce87056d134fe8e7fc9695ec46da22058c8a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 20:44:53 +0000 (22:44 +0200)]
Optimize YangParserListenerImpl logging
- make util methods static
- do not use string concat in warnings
- do not concat strings for trace
Change-Id: I7d0cf2958df5fb54b159c205ee33f75afe2fe23a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 20:34:23 +0000 (22:34 +0200)]
BUG-865: migrate to Optional<>
Change-Id: I35ae6fcb9b4a1445d06d4688ffea38b828f1a3c8
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 20:25:17 +0000 (22:25 +0200)]
Refactor SchemaPathStack
With proper encapsulation it becomes clear how SchemaPaths can be
directly applied. Do just that, using
SchemaPath.createChild()/getParent() and use a Deque (backed by a
LinkedList) instead of an explicit Stack.
Change-Id: I14c86257c10228acd9d113f382f9fb891d6033b6
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 19:56:17 +0000 (21:56 +0200)]
Migrate the conceptual stack into a utility class
Introduces SchemaPathStack -- which is precisely what the concept is.
This hides away the implementation details, so they can be refactored as
needed.
Change-Id: Ic4af26d7fa3ed5fce04227b6c5963b542f0575ad
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 19:33:28 +0000 (21:33 +0200)]
Introduce moduleQName for sharing
If we stire namespace/revision/prefix in a QName, we are able to create
related QNames using a utility method, which will automatically share
the resulting QNameModule.
Change-Id: I53fbf10cf853cb3a4b265fd1f9823f604f148e73
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 12:46:49 +0000 (14:46 +0200)]
Encapsulate SchemaPath creation
When we look at actualPath, we always want the SchemaPath -- so let's do
precisely that.
Change-Id: Ibe65adfb841cd1422b3fbc6945b3a87a3cdce62d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 12:39:46 +0000 (14:39 +0200)]
Update ParserListenerUtils to use SchemaPath
Instead of relying on Stack<QName>, take a SchemaPath, which makes the
operations more efficient.
Change-Id: I18fcf20f5c164be53bae3487768cab472502ec74
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 12:01:38 +0000 (14:01 +0200)]
Reuse last QName in ParserListener
Given a base QName, a new QName can be costructed such that it shares
its QNameModule. Take advantage of that.
Change-Id: I155b55a0384c90dca65dda6222a186041c691250
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 7 Jul 2014 11:54:01 +0000 (13:54 +0200)]
Use global well-known QNames
Basetypes define QNames for all the base types, so no need to create
them all over again.
Change-Id: I732a8a9694b9aedf72bd0a78bb7ed62c1f98a3ed
Signed-off-by: Robert Varga <rovarga@cisco.com>
Martin Vitez [Fri, 4 Jul 2014 13:22:02 +0000 (15:22 +0200)]
BUG-1304: rework BindingGeneratorImpl from xtend to java
Change-Id: Idc09bca749951fb8c075b9ffb291c2a6a362dbe2
Signed-off-by: Martin Vitez <mvitez@cisco.com>
Robert Varga [Fri, 4 Jul 2014 15:26:03 +0000 (17:26 +0200)]
Optimize ParserListenerUtils()
- instanceof check implies null check
- use direct return instead of a break when returning things
Change-Id: Ibcd9198a3505da72d2abb90ce348f2ddf2e1e35b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 4 Jul 2014 13:00:25 +0000 (15:00 +0200)]
BUG-865: eliminate the use of YangTypesConverter
Uses BaseTypes instead.
Change-Id: I7c1f71f986813872a5680147e87c800f9764b868
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 4 Jul 2014 12:57:10 +0000 (14:57 +0200)]
Eliminate use of String.split()
Another round of optimizations, centered about not instantiating
implicit pattern matchers, but rather using Splitters.
Change-Id: I9ebba19fd9f211e7fa55e9bb55e35ae5e2a7b379
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 4 Jul 2014 10:26:30 +0000 (12:26 +0200)]
Optimize string operations
This removes the excessive splitting and string replacement with proper
splitters. We also add better length/range constraint validation.
Change-Id: Ia69d29a307cc23b22bf282ed17e9f585a41ae336
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 4 Jul 2014 08:34:26 +0000 (10:34 +0200)]
BUG-865: do not use obsolete contructors
This removes the use of obsoleted constructors exposed from model API.
Change-Id: Ia537614855a7d4677bbb39b1d3bf9da984d23187
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 4 Jul 2014 08:05:03 +0000 (10:05 +0200)]
BUG-865: Do not use QName constructor
Change-Id: I7842fc9f0f2e4164504ba0f8aed8267eae1581b5
Signed-off-by: Robert Varga <rovarga@cisco.com>