Tony Tkacik [Thu, 9 Apr 2015 12:33:21 +0000 (12:33 +0000)]
Merge "Remove unneeded final modifiers"
Tony Tkacik [Thu, 9 Apr 2015 12:33:03 +0000 (12:33 +0000)]
Merge "Remove unused imports"
Tony Tkacik [Thu, 9 Apr 2015 12:32:56 +0000 (12:32 +0000)]
Merge "Fix modifier ordering"
Robert Varga [Thu, 9 Apr 2015 11:19:08 +0000 (13:19 +0200)]
Remove unneeded final modifiers
Static methods are implicitly final, no need to declare them as final.
Change-Id: Ia3b085ce0e4cde46952d1b4afc6c908fdec4a506
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 9 Apr 2015 11:14:14 +0000 (11:14 +0000)]
Merge "Bug 2960 - Yang Data Codec Gson: failed to lookup prefix when serializing identityref type"
Robert Varga [Thu, 9 Apr 2015 11:13:30 +0000 (13:13 +0200)]
Remove unused imports
Change-Id: Ic63dcc4e1dbd25a667ac48195bf6e7af7ec28709
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 9 Apr 2015 11:11:05 +0000 (13:11 +0200)]
Fix modifier ordering
JLS specifies annotations need to to come before other modifiers, of
which visbility should be first.
Change-Id: I754ef08c13256647d024c121e75fd3617ef6d064
Signed-off-by: Robert Varga <rovarga@cisco.com>
Jan Hajnar [Thu, 9 Apr 2015 07:49:06 +0000 (09:49 +0200)]
Bug 2964 - ClassCastException when querying -
controller-config/yang-ext:mount/config:modules
* added recursive call to parseXml if baseType is leafref (otherwise
identityref and instnce identifier values were not serialized
correctly)
Change-Id: Ie17f8cff1b7bb59e541996a277ff6dfefa30a375
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Robert Varga [Wed, 8 Apr 2015 22:55:45 +0000 (22:55 +0000)]
Merge "Fixed incorrect signature in NotificationListenerInvoker"
Tony Tkacik [Wed, 8 Apr 2015 17:42:29 +0000 (19:42 +0200)]
Fixed incorrect signature in NotificationListenerInvoker
Change-Id: I01e54f6193e54b1488a506ae47d24ba8c808281a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Wed, 8 Apr 2015 16:34:00 +0000 (16:34 +0000)]
Merge "Bug 2362: Wired integer value validating codec."
Jan Hajnar [Wed, 8 Apr 2015 11:38:04 +0000 (13:38 +0200)]
Bug 2960 - Yang Data Codec Gson: failed to lookup prefix when
serializing identityref type
* added module qname as an input to JSONStringIdentityrefCodec, if no
prefix is specified this module qname is used for value deserialization.
Change-Id: I260eac6104cc8474008dd5eab23990408f86687e
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Tony Tkacik [Tue, 7 Apr 2015 15:02:06 +0000 (17:02 +0200)]
Bug 2362: Wired integer value validating codec.
Wired integer value validating codecs and fixed
tests which were using incorrect values.
Change-Id: If8fa1da1ec456049460e2b72477c0b0a86a4830d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Wed, 8 Apr 2015 11:13:43 +0000 (11:13 +0000)]
Merge "BUG-2955: Fix error reporting for wrong YangInstanceIdentifier"
Robert Varga [Tue, 7 Apr 2015 14:38:00 +0000 (16:38 +0200)]
BUG-2955: Fix error reporting for wrong YangInstanceIdentifier
As turns out, attempting to load the wrong value will be reported via
UncheckedExecutionException, which we failed to account for. Make sure
we also catch this type and convert it into an Optional.absent() -- that
will trigger callers to properly report an IllegalArgumentException.
Change-Id: I50441cce4be94a2ef0fcf12591c6ec0e437f1084
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 5 Mar 2015 19:09:52 +0000 (20:09 +0100)]
Moved DerivedTypes to yang-model-util
Derived* types make more sense and are more usable
if present in yang-model-util instead of yang-model-export.
Their presence in yang-model-util allows for better reuse
and simplification of code dealing with yang-types.
Change-Id: I259325f830d7e8d0095c0cfbfe3c0a5a450d05a1
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Wed, 8 Apr 2015 09:09:00 +0000 (09:09 +0000)]
Merge "BUG 2908 - Unable to read data from netconf northbound loopback connection."
Tomas Cere [Fri, 27 Mar 2015 15:32:19 +0000 (16:32 +0100)]
BUG 2908 - Unable to read data from netconf northbound loopback connection.
In case of a model with multiple revisions, read from mount-point can
fail due to schema node lookup from the wrong revision of a module.
Fixed so findFirstChild in schemaUtils returns newest revision.
Change-Id: I269f35767696364e761d3c3bf245b22830f0f850
Signed-off-by: Tomas Cere <tcere@cisco.com>
Tony Tkacik [Tue, 7 Apr 2015 14:46:38 +0000 (16:46 +0200)]
Bug 2362: Added range validation as last part of deserialization.
Change-Id: I801aa22f868a13c098686aa077c46a378af8dfe4
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 7 Apr 2015 14:10:31 +0000 (16:10 +0200)]
Moved implementation of (U)Int* codecs to separate classes
Change-Id: I589eff7a961d19486529f5d2b5dbc5433988b931
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 7 Apr 2015 13:11:20 +0000 (15:11 +0200)]
Introduced AbstractIntegerStringCodec.
All integer codecs were implementing deserialization in
same fashion - detect number format and actual deserialization.
This patchset introduces common abstract class which
does this same and concrete classes only implement construction
of objects.
Change-Id: I03433a2de54b08b3c23967f4f25f5ba465da0a34
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 7 Apr 2015 09:32:07 +0000 (09:32 +0000)]
Merge "Bug 2909 - Gson codec lost correct type"
Robert Varga [Thu, 2 Apr 2015 17:20:18 +0000 (19:20 +0200)]
BUG-2939: fixup dynamic nodes to cover overwrites
Promote inner classes to their proper equivalents. Perform proper lazy
comparison to cover all possible scenarios where the user might
want to examine terminal nodes in greater depth. This is done by
tracking presence of before/after data and fudging appropriate
modification types.
We make sure to not run equals() on the data, as that may introduce very
steep costs -- an overwrite with the same value is still reported as a
full write, not as unmodified.
Change-Id: I0df100a74cfa82ceddeefcfae0ca2a011c608e08
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 2 Apr 2015 14:21:46 +0000 (14:21 +0000)]
Merge "Fixed NPE in BindingCodecTree#getSubtreeCodec(YangInstanceIdentifier)"
Tony Tkacik [Thu, 2 Apr 2015 13:35:03 +0000 (15:35 +0200)]
Fixed NPE in BindingCodecTree#getSubtreeCodec(YangInstanceIdentifier)
Change-Id: If77807004779ce6ade106f1bacc9918f98f996ee
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 2 Apr 2015 12:39:22 +0000 (14:39 +0200)]
Bug 2939: Lazily expanded CandidateNode for writes and deletes
Introduced Lazily expanded CandidateNodes for writes and deletes
which does not have before or after state and ModificationType
is same for whole subtree.
Change-Id: Ib26774f9a5e76428fefb35e1d053dad95e8752cf
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 2 Apr 2015 12:27:26 +0000 (14:27 +0200)]
Bug 2393: Extracted CandidateNode from InMemoryDataTreeCandidate
Change-Id: I4941ec32f22456be1411bd7703acac401d81d3de
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Tue, 31 Mar 2015 21:44:08 +0000 (23:44 +0200)]
Do not embed java-concurrent-hash-trie-map
The package is a full OSGi bundle, no need to inline it in the user
anymore.
Change-Id: I9560ab80f07769c77a75b9c99043b8dc694ab2a8
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 31 Mar 2015 21:14:43 +0000 (23:14 +0200)]
BUG-869: remove unneeded null check
Instanceof checks for null implicitly, no need to be explicit.
Change-Id: I2f378567c34fa7ba7adcf8a6c369c2aa6221badf
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 31 Mar 2015 21:11:08 +0000 (23:11 +0200)]
BUG-869: kill more sonar warnings
Empty statement, mis-ordered annotations and keywords, unneeded
keywords.
Change-Id: I88a7ba62b5fe22cda96a1b5243a2ae4968c31ab3
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 31 Mar 2015 20:55:31 +0000 (22:55 +0200)]
BUG-869: remove public modifier
Public is implied for all methods in an interface, do not specify it
explicitly.
Change-Id: Ic673b60111f9ecf62a6242d3bedf8607036a3403
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 30 Mar 2015 15:38:45 +0000 (17:38 +0200)]
BUG-869: use curly braces
This clarifies the code a bit.
Change-Id: Icc7c70404942b4497deb060df986ac48610c9204
Signed-off-by: Robert Varga <rovarga@cisco.com>
Jan Hajnar [Wed, 1 Apr 2015 13:28:24 +0000 (15:28 +0200)]
fix for getModifiedChild() in InMemoryDataTreeCandidate
Change-Id: Id28e5d42f2a5552c1519e6ac57aaf6f053e28735
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Robert Varga [Tue, 31 Mar 2015 11:19:49 +0000 (11:19 +0000)]
Merge "Bug 2924: DataCodecTree expose (de)serialization methods for path arguments."
Tony Tkacik [Tue, 31 Mar 2015 08:39:37 +0000 (10:39 +0200)]
Bug 2924: DataCodecTree expose (de)serialization methods for path arguments.
Change-Id: I21129df70829a6b9a35af8350352907d46d27de2
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Mon, 30 Mar 2015 15:34:59 +0000 (17:34 +0200)]
BUG-869: remove unused assignment
This assignment in return does not make sense, remove it.
Change-Id: Ie999973df471af9f5364ddf2154a24ce237278dc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 30 Mar 2015 15:33:17 +0000 (17:33 +0200)]
BUG-869: do not use StringBuffer
StringBuilder is the right one, so let's use that one.
Change-Id: Ic84383c05c3cd6bb0eacf9df0bbb3ed9ae46ee3f
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 30 Mar 2015 15:27:13 +0000 (17:27 +0200)]
BUG-869: constants should be static
This makes description a proper constant.
Change-Id: If01937700abd3bc8b8995b1cdbc651007e62c85d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 30 Mar 2015 15:24:58 +0000 (17:24 +0200)]
BUG-869: allow instantiation of SynchronizedDataTreeModification
create() method should be static.
Change-Id: If0bce2139163fccee8da7d8da4307a6e3d8d2dc3
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 30 Mar 2015 15:23:40 +0000 (17:23 +0200)]
BUG-869: remove public modifier
public is implied to all identifiers within the enclosing interface.
Change-Id: I43a50c7d51b73074df6d0456cf0d9d9aab24b819
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 30 Mar 2015 15:13:29 +0000 (17:13 +0200)]
BUG-869: remove empty statements
Sonar warnings point to semicolons after method definitions and ;;.
Remove all instances.
Change-Id: I1ba067720abd4c9df3a0c457b947736c9bc6313e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Jan Hajnar [Mon, 30 Mar 2015 12:33:34 +0000 (14:33 +0200)]
Bug 2909 - Gson codec lost correct type
* changed parseXmlValue() method to parse leafref nodes according to
type referenced by leafref.
Change-Id: I6911e22fd2ef8d5845b507ee47d2b1283fb45784
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Tony Tkacik [Mon, 30 Mar 2015 08:24:52 +0000 (08:24 +0000)]
Merge "BUG-2876: prune empty subtree modifications"
Tony Tkacik [Mon, 30 Mar 2015 08:24:14 +0000 (08:24 +0000)]
Merge "Bug 2366: Introducing support for statement ANTLR4 parser as defined in RFC6020, part 6.3"
Tony Tkacik [Mon, 30 Mar 2015 08:15:43 +0000 (08:15 +0000)]
Merge "Add DefaultDataTreeCandidate utility class"
Robert Varga [Fri, 27 Mar 2015 10:52:48 +0000 (10:52 +0000)]
Merge "Bug 2906 - Added support of entering notification by #streamChild()"
Tony Tkacik [Fri, 27 Mar 2015 10:04:50 +0000 (11:04 +0100)]
Bug 2906 - Added support of entering notification by #streamChild()
Root Tree Node context did not allowed to enter notification
using binding classes by #streamChild method, since
notifications were cached in different collection.
Added support for entering notifications using such method.
Change-Id: I28779e763a81519d25d71e319776cdc6f179ef33
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 26 Mar 2015 16:37:55 +0000 (16:37 +0000)]
Merge "Bug 2894 - Yang Data Codec Gson: null pointer exception when trying to deserialize leafref value"
Jan Hajnar [Tue, 24 Mar 2015 16:52:01 +0000 (17:52 +0100)]
Bug 2894 - Yang Data Codec Gson: null pointer exception when trying to
deserialize leafref value
* added function to serch for module where type was originaly defined,
so correct DataSchemaNode can be found when resolving leafref.
Change-Id: I00fd8fbdfe6f548f465e7e50eed9845e443b1f43
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Robert Varga [Sun, 22 Mar 2015 22:25:06 +0000 (23:25 +0100)]
BUG-2876: prune empty subtree modifications
Another container resolution precision improvement: check if operations
under a TOUCH logical operation actually have any effects before
declaring it a SUBTREE_MODIFIED. The improved accuracy allows us to
prune unmodified paths when observed by users of
InMemoryDataTreeCandidate, as we can report actual impact on the data.
Change-Id: I3b71f82c43d6c1bbfa9a9d9008bead572da17bf7
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Wed, 25 Mar 2015 09:41:07 +0000 (09:41 +0000)]
Merge "Rename applySubtreeChange()"
Tony Tkacik [Wed, 25 Mar 2015 09:40:59 +0000 (09:40 +0000)]
Merge "Rename checkSubtreeModificationApplicable()"
Robert Varga [Wed, 25 Mar 2015 07:01:57 +0000 (08:01 +0100)]
Cleanup checkstyle warnings
We have various reported problems, from missing spaces, javadocs to
undocumented classes and parameters.
Change-Id: I38a15258ea5ba8eb8d97f257a36a4d890165b5a0
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 24 Mar 2015 10:35:48 +0000 (11:35 +0100)]
Rename applySubtreeChange()
This name comes from ModificationType, which does not describe the
logical operation being applied. Rename it to applyTouch() to keep
naming consistent with others.
Change-Id: Id2a1e0f6c1704331bccf8660a13d7bebe8360d7f
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 24 Mar 2015 10:32:54 +0000 (11:32 +0100)]
Rename checkSubtreeModificationApplicable()
This name comes from the ModificationType enum, which is no longer
applicable internally. Shorted the name to checkTouchApplicable().
Change-Id: I5e1b844330a7b4a798b6a96403fa07de44813e96
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 20 Mar 2015 17:58:47 +0000 (18:58 +0100)]
Add DefaultDataTreeCandidate utility class
We have DataTreeCandidate implementations cropping up in the system,
this provides a simple class for reuse.
Change-Id: I3e0b594fd67b194fc38d4d3a1e2643802772aec1
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 18:23:34 +0000 (19:23 +0100)]
Do not use recursive tree creation
AbstractValueNodeModificationStrategy is creating leaf entries in the
tree. We know for a fact they do not have children, so there is no need
to eagerly instantiate child tree nodes.
The same thing is true for the root node. Since we can deal with lazily
instantiating tree nodes, we do not have to eagerly allocate them.
Change-Id: I1a55cc9d5f43c8b2c92324d470ab533fc06ad95c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 10:59:57 +0000 (11:59 +0100)]
Fix child ordering assumptions
When instantiating nodes during an operation, we first looked up the
strategy and then specified its child handling strategy to all
intermediate nodes. This means we could have ended up specifying
ordering on a node which does not needed, or (worse) not specifying it
where it was needed.
Clean this up by walking the modification and strategy trees in sync,
bailing if we run out of strategy nodes.
While at it, turn the simple boolean into a full-blown enum, as what we
want to pass down is a tri-state: ORDERED, UNORDERED and NONE. The first
two correspond to previous true and false. The last one is useful for
leaves, as they cannot contain children, which means we can skip
instantiation of a mutable map and just use Collections.emptyMap().
Change-Id: I6ffd48b481a149255325dc31f99b7b23eebc928e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 14:14:43 +0000 (15:14 +0100)]
Make LatestOperationHolder final
The class is really final DTO, so make that explicit. It is used only
within its package, so lower method visibility.
Change-Id: Icfec15a3acc90dbb22c803ff856d3bcc4f862089
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 14:01:15 +0000 (15:01 +0100)]
Turn ModificationApplyOperation into an abstract class
This functionality is not externally-visible, so we can safely reap the
benefits of having a fixed mathod dispatch.
Change-Id: Iefb54cf852fe304419e4d306e7828a4663b0aebc
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 14:29:33 +0000 (15:29 +0100)]
Optimize AbstractDataNodeContainerModificationStrategy loader
The cache loader can be directly instantiated, removing the need for an
intermediate function.
Change-Id: I46329978d93874920adb5b64c00e502418869d6c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 13:43:08 +0000 (14:43 +0100)]
Rename DataNodeContainerModificationStrategy
DataNodeContainerModificationStrategy acts as an abstract base class,
which is further finalized by multiple classes. Make sure we make this
fact explicit in its name by calling it
AbstractDataNodeContainerModificationStrategy.
Change-Id: I7dc2b6e99feb542ab120e52d3c8e5f7ee1c35ddd
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 13:38:33 +0000 (14:38 +0100)]
Rename NormalizedNodeContainerModificationStrategy
This is an abstract class for nodes which can hold other nodes. Rename
it to AbstractNodeContainerModificationStrategy to make this fact
immediately obvious.
Change-Id: I0cbf418d8351098d3eda83fad2def6b23c61427b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 13:35:42 +0000 (14:35 +0100)]
Rename ValueNodeModificationStrategy
This is a base class, which is finalized using two different classes.
Make sure it carries 'Abstract' in its name, so it is obvious it is not
a complete strategy.
Change-Id: Ib84bb4574bda7b8f88906b668a5117f69740cddf
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 13:17:44 +0000 (14:17 +0100)]
Split out static classes
We have a lot of subclasses defined in the same files as the abstract
classes they extend. Split the classes out so we get clear file/class
separation.
Change-Id: I22b2b9943b080d2291cb339f84f068a0cc0defe7
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 13:13:48 +0000 (14:13 +0100)]
Lower method visibility
A couple of methods are declared as public, but are not visible to the
outside world because their classes are package-visible. Reduce the
declared visibility to make sure this fact is immediately obvious.
Change-Id: Ia5de906619f6098974cada1dcec9f47dbac7f139
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 13:55:55 +0000 (14:55 +0100)]
Remove duplicate import
Removes an unused import and adds final keywords as appropriate.
Change-Id: I8f5fa9620cba67ea425e99b6cc9f64135a28023a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 23 Mar 2015 15:52:55 +0000 (16:52 +0100)]
checkApplicable() for DELETE overflows into TOUCH
There is a missing split between checking whether DELETE is applicable,
which means we check if TOUCH is applicable, too.
Change-Id: I4636eee5077adb7251867fd9626b17e0b0c50113
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Mon, 23 Mar 2015 11:25:00 +0000 (11:25 +0000)]
Merge "BUG-2876: improve ModificationType accuracy"
Tony Tkacik [Mon, 23 Mar 2015 11:24:27 +0000 (11:24 +0000)]
Merge "BUG-2876: switch to using the computed ModificationType"
Tony Tkacik [Mon, 23 Mar 2015 11:24:18 +0000 (11:24 +0000)]
Merge "BUG-2876: determine ModificationType while applying changes"
Tony Tkacik [Mon, 23 Mar 2015 11:09:17 +0000 (11:09 +0000)]
Merge "Bug 2843 - Restconf JSON PUT cannot update/create network-topology configuration data"
Robert Varga [Sun, 22 Mar 2015 22:10:05 +0000 (23:10 +0100)]
BUG-2876: improve ModificationType accuracy
Application of an empty merge into a container results in no
modification of that container. From physical (ModificationType)
perspective, this means we can report UNMODIFIED allowing users
to skip one level of processing.
Also mark follow-up work for improving modification pruning at the cost
of performing a search in the children map.
Change-Id: I9c1c9509d3f6234570892bd90232fca3d76bd2ba
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 22 Mar 2015 21:51:05 +0000 (22:51 +0100)]
BUG-2876: switch to using the computed ModificationType
Eliminate the explicit checks and reuse whatever we got in the
ModifiedNode.
Change-Id: I3adf9bf9e887f45db0c6a679e8d084a5dc9ab82a
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 19 Mar 2015 21:51:17 +0000 (22:51 +0100)]
BUG-2876: determine ModificationType while applying changes
SchemaAwareApplyOperation is the class which actually determines what is
happening to the data, so it makes sense for it to mark what was
actually done, so that other classes do not get to guess (and arrive at
wrong results).
Also rename ModifiedNode#updateModificationType() to a new name so we
reduce overall naming confusion.
Change-Id: I6436636ed83d2d4a84afc8c9e5e50def1b1ccab0
Signed-off-by: Robert Varga <rovarga@cisco.com>
Jan Hajnar [Mon, 23 Mar 2015 10:45:10 +0000 (11:45 +0100)]
Bug 2843 - Restconf JSON PUT cannot update/create network-topology
configuration data
* changed findSchemaNodeByNameAndNamespace() function to check for
most recent revision from potential DataSchemaNodes
Change-Id: Ie706d24e1ec064360c57d3ad073e07d4bc212dba
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Tony Tkacik [Mon, 23 Mar 2015 10:08:25 +0000 (10:08 +0000)]
Merge "BUG-2352: Remove commons-io from features"
Tony Tkacik [Mon, 23 Mar 2015 10:03:40 +0000 (10:03 +0000)]
Merge "SchemaAwareApplyOperation: use an immediate return"
Tony Tkacik [Mon, 23 Mar 2015 10:01:33 +0000 (10:01 +0000)]
Merge "Do not use Iterables when we have a collection"
Tony Tkacik [Mon, 23 Mar 2015 10:00:06 +0000 (10:00 +0000)]
Merge "BUG-2856: optimize key/leaf reference checking"
Tony Tkacik [Mon, 23 Mar 2015 09:59:52 +0000 (09:59 +0000)]
Merge "BUG-2856: add leaf node simplied by key"
Tony Tkacik [Mon, 23 Mar 2015 09:59:18 +0000 (09:59 +0000)]
Merge "Make sure YangInstanceIdentifier.EMPTY is retained"
Robert Varga [Sun, 22 Mar 2015 14:42:07 +0000 (15:42 +0100)]
SchemaAwareApplyOperation: use an immediate return
Instead of tracking and rechecking the result of search, use an
immediate return statement when a match is found. Clarifies the code
flow.
Change-Id: I08ca3b368d007ab8a880292f75dbdc87b24a7f98
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 22 Mar 2015 21:16:36 +0000 (22:16 +0100)]
Do not use Iterables when we have a collection
Ever since Ifa6260ebe157c9afde49bbb58043d6ec2fecd189 normalized node
containers and lists expose children as a collection, not iterable. That
means we have direct access to Collection#size(), so let's use that
instead of redirecting through Iterables.
Change-Id: I01c245b6b9daa9512e246213dd346f66c77a5a94
Signed-off-by: Robert Varga <rovarga@cisco.com>
Ladislav Borak [Tue, 4 Nov 2014 07:16:32 +0000 (08:16 +0100)]
Bug 2297: Standalone model validation tool
Initial cut at providing a standalone tool, which is able to run YANG
tools core implementation against a set of models.
Usage:
java -jar yang-validation-tool-0.7.0-SNAPSHOT-executable.jar \
--yang-source-dir <DIRECTORY WITH YANG FILES>
Change-Id: I22da7a2c51578eab1e91d0c7cca17a68ea879e7d
Signed-off-by: Ladislav Borak <lborak@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 22 Mar 2015 10:26:25 +0000 (10:26 +0000)]
Merge "Added META-INF to gitignore to get clean git status"
Robert Varga [Sun, 22 Mar 2015 10:20:35 +0000 (11:20 +0100)]
BUG-2856: optimize key/leaf reference checking
Since we are already iterating through the key map, we can provide the
corresponding expected value, without forcing another lookup. Introduce
a new method to take advantage of that.
Change-Id: Ia2a40f0ea2f647566059e2d68ec776bc6abc776d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Sun, 22 Mar 2015 10:13:06 +0000 (11:13 +0100)]
BUG-2856: add leaf node simplied by key
Since we have the cross-reference between key and object leaf nodes, we
enforce the consistency. Unfortunately this is not something obvious to
users. We have enough information to correct the situation, so lower the
check to apply only when an explicit inconsistency is detected.
Change-Id: I9297a7d60e4e8d4cd0680a74c1e45f412f8b5f77
Signed-off-by: Robert Varga <rovarga@cisco.com>
Kinsey Nietzsche [Wed, 12 Nov 2014 13:47:30 +0000 (14:47 +0100)]
extended test coverage of InstanceIdentifier
Change-Id: Id18ae2ec969612e6c52a19449453f47e4e7e5fff
Signed-off-by: Kinsey Nietzsche <kinsey.nietzsche@pantheon.sk>
Kinsey Nietzsche [Tue, 11 Nov 2014 15:47:30 +0000 (16:47 +0100)]
extended test coverage of YangModelDependencyInfo.java
Change-Id: I68aec083f29808fda2a06bf40bee0ca930218a73
Signed-off-by: Kinsey Nietzsche <kinsey.nietzsche@pantheon.sk>
Kinsey Nietzsche [Mon, 10 Nov 2014 14:40:11 +0000 (15:40 +0100)]
Extended coverage of YangInstanceIdentifier
removed failing assertion from InstanceIdentifierTest
Signed-off-by: Kinsey Nietzsche <kinsey.nietzsche@pantheon.sk>
Change-Id: I282c4c7730032c076c017f2c3288807c80628ad0
Robert Varga [Sun, 22 Mar 2015 09:33:28 +0000 (09:33 +0000)]
Merge "Introduced skeletons of Contributor and User guide."
Charalampos Kaidos [Sat, 6 Dec 2014 13:43:14 +0000 (15:43 +0200)]
Added META-INF to gitignore to get clean git status
Change-Id: I77d979e3c1e014614a9bdd84d1189880c88b9a94
Signed-off-by: Charalampos Kaidos <ckaidos@intracom-telecom.com>
Martin Ciglan [Thu, 5 Feb 2015 15:24:54 +0000 (16:24 +0100)]
Bug 2366: Introducing support for statement ANTLR4 parser as defined in RFC6020, part 6.3
Change-Id: Ia0a789a68819c48f8d5f0bd5f1dbf5405e45e0bc
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
Martin Ciglan [Fri, 20 Mar 2015 12:36:18 +0000 (13:36 +0100)]
Bug 2366: Initial implementation of Statement Reactor
Initial implementation of statement reactor,
which supports:
- loading linkage statements from models
- modifiers
- resolving of forward references
- building final statments
Implementation currently does not support:
- export of PrefixToQNameModule and QNameToStatementDefinition
namespaces during loading statement streams.
- copying statement subtrees (useful for uses, augmentations)
Added initial set of tests - which deals with
RFC6020 import resolution.
Change-Id: Idde3ce496228a157ba11c07bccf6f177c52a8fe9
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
Robert Varga [Sat, 21 Mar 2015 17:22:49 +0000 (17:22 +0000)]
Merge "Bug 2361: Added prototype implementation using new SPI."
Martin Ciglan [Fri, 20 Mar 2015 12:08:03 +0000 (13:08 +0100)]
Bug 2361: Added prototype implementation using new SPI.
This prototype level implementation of module, namespace,
import, uses and container statement shows usage
of meta-level SPI in order to introduce support for
concrete statements.
Note that this is same SPI, which is to be used
to introduce new statement or extension support
directly to the YANG parser.
Change-Id: I5124a06669d48d3a32d585c4c75de5b2228f2eac
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Martin Ciglan <mciglan@cisco.com>
Tony Tkacik [Fri, 20 Mar 2015 10:53:11 +0000 (11:53 +0100)]
Bug 2874: Fixed JSON parsing of choice inside augment
Code of JSON parser was aware of choice being part of
augmentation, but small typo resulted in not putting
choice inside this augmentation.
Change-Id: I2b90517571e28843e6cc824306be8a864a7c5387
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Fri, 13 Mar 2015 11:08:21 +0000 (12:08 +0100)]
BUG-2352: Remove commons-io from features
Yangtools OSGi artifacts no longer require commons-io at runtime, so
remove it from the feature.
Change-Id: I22fb194cd670f3dbe9af4eb4cdc079bdd2bba29d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Fri, 20 Mar 2015 07:17:39 +0000 (07:17 +0000)]
Merge "Bug 868: Removed Composite Nodes from Yangtools"