yangtools.git
3 months agoCleanup AbstractStreamWriterGenerator
Robert Varga [Tue, 8 May 2018 19:51:42 +0000 (21:51 +0200)]
Cleanup AbstractStreamWriterGenerator

ClassLoaderUtils is providing a lambda-friendly API, take advantage
of that. Also also runs .toString() outside of the class loader,
minimizing the code being run there.

Change-Id: I9ecf5c12a957c508ad5d4d27117d9099ce1f789b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agofix minor typo in DataContainer
Michael Vorburger [Tue, 8 May 2018 15:04:04 +0000 (17:04 +0200)]
fix minor typo in DataContainer

Change-Id: I9a98ab56441b2d49ef6b1b02403c45154d540644
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
3 months agoremove un-used getChildSizeFromSchema() in StreamWriterGenerator
Michael Vorburger [Tue, 8 May 2018 15:05:38 +0000 (17:05 +0200)]
remove un-used getChildSizeFromSchema() in StreamWriterGenerator

Change-Id: Iac30c3633963bd5e1e049c3861f30305e70705f8
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
3 months agoCleanup mdsal-binding-java-api-generator compilation tests
Robert Varga [Mon, 7 May 2018 12:48:14 +0000 (14:48 +0200)]
Cleanup mdsal-binding-java-api-generator compilation tests

Various subclasses of BaseCompilationTest have used copy&pasted
code to generate sources using the same pattern.

Rather than doing that, centralize code generation in the base
class, simplifying the test cases.

Change-Id: I75f10d321805de641cd48a4e69c8115e6514ee91
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCleanup YangModuleInfoTemplate
Robert Varga [Mon, 7 May 2018 11:43:46 +0000 (13:43 +0200)]
Cleanup YangModuleInfoTemplate

Remove extra space in package declaration and separate imports
from package and body with an empty line.

Change-Id: I4f484f3d3f1a62576d14e7803478fd5edec43cad
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUse QName's imported name for QNAME constant
Robert Varga [Mon, 23 Apr 2018 21:27:04 +0000 (23:27 +0200)]
Use QName's imported name for QNAME constant

This makes the code a bit more concise, as we do not end up using
a FQCN to locate QName.create().

Change-Id: Iaa3f5f362da8bae43345164ab635c0dc7bf6497f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCleanup EnumTemplate and UnionTemplate
Robert Varga [Mon, 26 Mar 2018 16:44:54 +0000 (18:44 +0200)]
Cleanup EnumTemplate and UnionTemplate

Now that import tracking works correctly, fixup templates which can
be instantiated as inner classes.

JIRA: MDSAL-327
Change-Id: I4c9e7917a8bc2d021d6cdd60c3d6ef41ccb9af59
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRework Java import tracking
Robert Varga [Sun, 25 Mar 2018 22:52:44 +0000 (00:52 +0200)]
Rework Java import tracking

In order to get nested class imports working, we need a proper
layer which understands how references inside Java code are
looked up.

Introduce AbstractJavaGeneratedType, which creates a tree structure
of how the class is layed out, thus it knows which types are declared
in a particular type's scope. There are two implementions:
- TopLevelJavaGeneratedType, which is responsible for managing what
  is imported into the compilation unit
- NestedJavaGeneratedType, which does not know about imports per se
  and delegates decisions to its containing type

Templates are updated to properly hook into the type hierarchy, so
their requests for type resolution are properly scoped.

One remaining wrinkle is BuilderTemplate, which abuses the template
system by using its built type as its type. This is worked around
in this patch and will need to be cleaned up later.

JIRA: MDSAL-327
Change-Id: Ie66a93ba85be26b056f118ba9fe14195e8d5a8ea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
Signed-off-by: Jie Han <han.jie@zte.com.cn>
3 months agoRevert "Add NoZone support"
Robert Varga [Thu, 19 Apr 2018 19:26:30 +0000 (21:26 +0200)]
Revert "Add NoZone support"

This reverts commit 1028d8000e0a0dc93855b85b2c138e2b66fbab86
and commit ca8e1f685d01d9d87f6b550edab1be6dd9a5ccea.

Change-Id: I1a838bd1d16dff096a4337ac3501f13f1402f77b
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBinding codec v1 - fix get codec for typedef of empty type
Jie Han [Tue, 29 Aug 2017 09:19:36 +0000 (17:19 +0800)]
Binding codec v1 - fix get codec for typedef of empty type

- Fix get codec for typedef of empty type,
  the return type of typedef empty type should be
  generated binding class type not boolean.
Change-Id: Icead1cc2d40015e948317095fac9854330630ddf
Signed-off-by: Jie Han <han.jie@zte.com.cn>
3 months agoAdd NoZone support
Robert Varga [Wed, 11 Apr 2018 01:28:40 +0000 (03:28 +0200)]
Add NoZone support

inet-inet-types@2013-07-15 defines no-zone versions of ip-address,
ipv4-address and ipv6-address. These are guaranteed to not contain
a zone, hence are stricter versions of the same types, making them
better candidates for dealing with normal addresses.

Retrofit IetfInetUtil so they return no-zone versions of objects
and also add more efficient convertors to bytes.

Change-Id: I2b0f4775b1656a7b80929e62f03940b1247e1b95
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUse QName.withModule()
Robert Varga [Mon, 12 Mar 2018 10:53:51 +0000 (11:53 +0100)]
Use QName.withModule()

There are multiple places where we are creating a well-known QName
with a new namespace. Use QName.withModule() so we do not end up
checking localName over and over.

Change-Id: I932bf3762bfb6ae201e6b309f8a7d95887b99b00
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump to odlparent 3.1.0 and yangtools 2.0.3
Stephen Kitt [Thu, 22 Mar 2018 17:24:29 +0000 (18:24 +0100)]
Bump to odlparent 3.1.0 and yangtools 2.0.3

Change-Id: Ibd6d5141acc125e9aa5f72149d2add9ae0d7c148
Signed-off-by: Stephen Kitt <skitt@redhat.com>
3 months agoMap identities to interfaces, not abstract classes
Robert Varga [Wed, 7 Mar 2018 14:06:04 +0000 (15:06 +0100)]
Map identities to interfaces, not abstract classes

This changes mapping of identities from abstract class to an interface,
allowing for multiple inheritence, as needed by YANG 1.1.

JIRA: MDSAL-326
Change-Id: I01f636f5f055f929cdcee4ccb61e04ad0a6841b2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRework YangModuleInfo
Robert Varga [Wed, 21 Mar 2018 02:56:33 +0000 (03:56 +0100)]
Rework YangModuleInfo

This patch modernizes YangModuleInfo to not use only strings, but
also yang.common classes. ResourceYangModuleInfo is created to serve
as abstract superclass for generated YangModuleInfo classes.

JIRA: MDSAL-325
Change-Id: I2f28868b7083af17bd23f6fd360ec6673b94d3ea
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMove getRestrictions() into BaseTemplate
Robert Varga [Sun, 25 Mar 2018 20:37:18 +0000 (22:37 +0200)]
Move getRestrictions() into BaseTemplate

JavaFileTemplate does not need this functionality, it is much better
hosted in BaseTemplate.

Change-Id: I38fb774ea1b5df92d43cd7ddd35b9b16bb015232
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoImprove EnumerationCodec
Robert Varga [Sun, 11 Mar 2018 15:25:40 +0000 (16:25 +0100)]
Improve EnumerationCodec

Now that we have proper information from enumerations, we can use
build the codec map as known at generation time and check it against
the type we are receiving, adding proper warnings.

JIRA: MDSAL-317
Change-Id: Ia5bd3d73e44eba2568818b578bc44985fafb6294
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRevert "Fix add imports of nested classes"
Robert Varga [Thu, 22 Mar 2018 17:06:11 +0000 (18:06 +0100)]
Revert "Fix add imports of nested classes"

This reverts commit bbde29c5e18553841ea5771c8a84bb1e4849a9a7.

Concatenating imports does not work as the inner class has to
take into account for containing class name, as that takes
precedence over imports.

Change-Id: I6921b5e923bf6bb48d3f1a118e9beb289c6f6932
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRevert "Rework inlined union generation"
Robert Varga [Wed, 21 Mar 2018 16:26:45 +0000 (17:26 +0100)]
Revert "Rework inlined union generation"

This reverts commit 7401c1d1ea87f3a940745acbad1b32fc0b95b5b1.

Change-Id: Ib1b60da6bae45202671582cd3648d6626d61064b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix setter constant naming
Robert Varga [Tue, 20 Mar 2018 09:19:30 +0000 (10:19 +0100)]
Fix setter constant naming

Bouncing property name through upper/lower case does not really work,
as it breaks with capitalized properties. Also remove the public constant
so we do not retain the input list -- the patterns are not really useful
anyway.

JIRA: MDSAL-323
Change-Id: I7aa5677e27c6dddc13cc25336500ba0b583b021f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRework inlined union generation
Robert Varga [Mon, 19 Mar 2018 08:43:11 +0000 (09:43 +0100)]
Rework inlined union generation

Unions internal to a leaf union end up being incompletely generated,
as they lack getValue(), hashCode(), equals() and do not correctly
bind to its enclosing builder -- leading to a generated code not being
compilable.

There are multiple issues here, all of which are addressed in this patch:
- value/hashCode/equals properties are created in the wrong place
- property return type is set to the builder, not its product
- union builder type is not set as a union
- builders for nested types are not correctly emitted

JIRA: MDSAL-320
Change-Id: I60697c74669d4508922ea3ee22e2f0fe5d99b322
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoDisambiguate generated nested enumerations
Robert Varga [Mon, 19 Mar 2018 01:11:45 +0000 (02:11 +0100)]
Disambiguate generated nested enumerations

In case we have an enumeration defined directly in a leaf of the same
name as its containing generated type (list, container, etc.), we can
end up violating JLS section 8.1 class naming requirements.

Detect this condition and munge the type name by appending a '$' to
prevent this conflict.

Change-Id: Ia68cac2a96ac0a95fa38a83cb1cdc1c09540533b
JIRA: MDSAL-321
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoIntegrate JavaTypeName as Identifier
Robert Varga [Mon, 12 Mar 2018 20:33:57 +0000 (21:33 +0100)]
Integrate JavaTypeName as Identifier

This changes 'Type' to implement Identifiable<JavaTypeName>, which
allows us to cleanly manage Java type naming and namespace handling.

Type's base mathods are made default and name tracking is reworked
to always be based on JavaTypeName.

JIRA: MDSAL-321
Change-Id: Id8512d38eb2eed9bd2ce4d6b172937bebde03581
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix add imports of nested classes
Jie Han [Tue, 13 Mar 2018 07:46:02 +0000 (15:46 +0800)]
Fix add imports of nested classes

- Use importedName instead of
  directly hard code class FQN in the template.

Change-Id: Icb39df83f6c09461a2130c3ba3a9b2151a30fb85
Signed-off-by: Jie Han <han.jie@zte.com.cn>
3 months agoMDSAL-292: Binding v1 - Pattern attribute ignored for leaf-list/leaf
Jie Han [Fri, 2 Feb 2018 03:11:34 +0000 (11:11 +0800)]
MDSAL-292: Binding v1 - Pattern attribute ignored for leaf-list/leaf

- Support pattern constraint for leaf-list/leaf

- support modifier statement for pattern of yang 1.1

- Add test yang

Change-Id: I1a2f2b24a023479dee8ee9de08374386d38ba17a
Signed-off-by: Jie Han <han.jie@zte.com.cn>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCleanup mdsal-binding-java-api-generator tests
Robert Varga [Mon, 19 Mar 2018 01:13:58 +0000 (02:13 +0100)]
Cleanup mdsal-binding-java-api-generator tests

We have a lot of copy&pasted code here, trim it down by providing
convenience classes.

Change-Id: Ic1e63569f10b6eb38e058f64bf49bc9d09ca8762
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix invalid yang models
Robert Varga [Wed, 14 Mar 2018 14:12:24 +0000 (15:12 +0100)]
Fix invalid yang models

This patch eliminates bad test models, which use constructs which
are not valid YANG identifiers.

Change-Id: If0fbf08226d64b76def98421eb4d68e781e97b98
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove unused import in EnumTemplate
Robert Varga [Sat, 17 Mar 2018 09:32:02 +0000 (10:32 +0100)]
Remove unused import in EnumTemplate

This is a follow-up cleanup to remove unused imports.

Change-Id: Ibae8164ae7c1238b0e3aae6cbb0e256dc2713c40
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix yang module naming
Robert Varga [Tue, 13 Mar 2018 14:06:42 +0000 (15:06 +0100)]
Fix yang module naming

This fixes a few warnings around normalized model names.

Change-Id: I305d5e54ab60c02beea52c9bacd8e586909d18c7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUse YangTextSnippet for generation
Robert Varga [Wed, 14 Feb 2018 19:15:43 +0000 (20:15 +0100)]
Use YangTextSnippet for generation

YangTextSnippet provides an efficient and correct replacement for
YangTemplate. This patch switches to using it, improving generated
class comments.

JIRA: MDSAL-301
Change-Id: I2058eec8e91bcba9356fef49a13c66199a479ed2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump yangtools to 2.0.2
Robert Varga [Sun, 4 Feb 2018 18:48:59 +0000 (19:48 +0100)]
Bump yangtools to 2.0.2

This patch bumps yangtools dependency to 2.0.2.

Change-Id: I3e4740184eda317ba7adfe54649fc4dba668ccc8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoAdd Enumeration yang-binding interface
Robert Varga [Sat, 10 Mar 2018 08:47:52 +0000 (09:47 +0100)]
Add Enumeration yang-binding interface

All generated enumerations expose two methods. Capture and document
them in an interface and adjust the template accordingly. Also adds
a forName() static factory method, to keep symmetry with forValue().

JIRA: MDSAL-317
Change-Id: Iebddded0a4e1ec3534e87a878a8f571cd45ebbae
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUpdate Java reserved words to JLS9
Robert Varga [Fri, 9 Mar 2018 15:59:52 +0000 (16:59 +0100)]
Update Java reserved words to JLS9

This updates the mapping table to reflect the fact that "_" is not
a valid identifier in Java 9.

JIRA: MDSAL-318
Change-Id: Ia8f11868e7f244be0018dae38538d7800313af31
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoAdd alternative enum assigned name mapping
Robert Varga [Fri, 9 Mar 2018 15:55:44 +0000 (16:55 +0100)]
Add alternative enum assigned name mapping

This patch corrects enumeration mapping rules so that any unicode
string can be mapped to a valid Java identifier as per JLS8.

This is done by attempting to apply className() mapping to all names
and using that if it results in valid non-conflicting identifiers.

If a conflict is detected, we use a bijective mapping, which encodes
any conflicting characters using an $-based escaping scheme.

JIRA: MDSAL-309
Change-Id: Ic51405e533eff9af6afc2abaa8d0cc193d718e64
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUse concepts.Builder in binding-generator-api
Robert Varga [Sat, 3 Mar 2018 23:09:32 +0000 (00:09 +0100)]
Use concepts.Builder in binding-generator-api

We have three unrelated toInstance() methods. Rename them to build()
and extend yangtools.concepts.Builder.

Change-Id: I6a9008a699df1650dbd5c988d4f3f28fe2b965f0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRefactor GeneratedTypeBuilderImpl
Robert Varga [Sat, 3 Mar 2018 17:07:37 +0000 (18:07 +0100)]
Refactor GeneratedTypeBuilderImpl

GeneratedTypeBuilderImpl is used by both runtime and codegen, capturing
data not needed at runtime leading to a bloated RuntimeContext.

Split out RuntimeGeneratedTOBuilder, renaming the original to
CodegenGeneratedTypeBuilder.

JIRA: MDSAL-315
Change-Id: Iaea5f9ae7b260bc5c9ef37cdb1a74aec52457a22
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRefactor GeneratedTOBuilderImpl
Robert Varga [Sat, 3 Mar 2018 16:36:07 +0000 (17:36 +0100)]
Refactor GeneratedTOBuilderImpl

This builder is used at both runtime and codegen-time and it captures
information irrelevant to runtime, leading to bloat.

Refactor this class into three classes:
- AbstractGeneratedTypeBuilder for common information
- CodegenGeneratedTOBuilder common + codegen information
- RuntimeGeneratedTOBuilder throwing UnsupportedOperationException
  for codegen information

JIRA: MDSAL-315
Change-Id: Ie1d3d075590334cb5b8ce41c059ac2e10cf02d56
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoSplit out BindingRuntimeGenerator
Robert Varga [Fri, 2 Mar 2018 17:09:44 +0000 (18:09 +0100)]
Split out BindingRuntimeGenerator

BindingRuntimeContext does not require all of the information
captured in a normal BindingGenerator run, such as constants, comments
and similar.

The fact that we do not have separation between compile-time and
run-time granularity of this data comes from history of the codebase,
when BindingRuntimeContext did not exist in its current form and we
infered much of the information from the classes lazily.

Introduce BindingRuntimeGenerator interface and refactor
BindingGeneratorImpl to reflect this split. This leads to faster
BindingRuntimeContext creation, as the call to generateTypes()
is no longer needed.

JIRA: MDSAL-312
Change-Id: Ibb1c22d4e4c9ff90e37d6e10e258f632a9c87ef5
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoOptimize generated toString()
Robert Varga [Thu, 1 Mar 2018 15:48:53 +0000 (16:48 +0100)]
Optimize generated toString()

Rather than inlining the equivalent of a ToStringHelper, add utility
methods to CodeHelpers and use ToStringHelper to generate the string.

Change-Id: If8c8d03d90715e87d25262056c2e6db544e091bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoOptimize range/length generators
Robert Varga [Wed, 28 Feb 2018 22:05:47 +0000 (23:05 +0100)]
Optimize range/length generators

This patch improves range/length generators so that share common utility
methods from CodeHelper, eliminating common literals in generated code.

It also adds the ability for generators to import classes, leading to much
more readable code.

Change-Id: I98f103e9c05a1d68f0f4bc4c6c33146cb654e5bb
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoExport declared regexes to generated code
Robert Varga [Wed, 28 Feb 2018 22:51:02 +0000 (23:51 +0100)]
Export declared regexes to generated code

This patch exports declared pattern regular expressions to binding
generators, thus allowing them to report violations using the declared
string rather than the mangled Pattern string we use to implement
enforcement.

As it turns out there is place for improvement with generated code
size, as decoding pattern negation requires a bit of repetition
as well as needing to capture additional strings. Since we can take
advantage of common code library, do not encapsulate single expressions
in an array.

This patch battles those ill effects by exposing CodeHelpers class
from yang-binding, which hosts common code blocks for reuse by
generated code. This means classes generated by this and newer codegen
plugins require a matching or newer version of yang-binding at runtime.

JIRA: MDSAL-313
Change-Id: I8abb33660c5182703f2db5faf0eee7e08ce15f06
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRevert "Add YangModuleInfoTemplate hashCode/equals"
Robert Varga [Tue, 6 Mar 2018 10:27:48 +0000 (11:27 +0100)]
Revert "Add YangModuleInfoTemplate hashCode/equals"

This reverts commit 7dd2acce0fb4f967dbfe73d437157033303727cc.

Change-Id: Id4645c94387b301413566e6a70f1a6bdbed65caf
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBug 8903 - binding-data-codec does not work with boolean type using typedef
Jie Han [Tue, 29 Aug 2017 01:50:00 +0000 (09:50 +0800)]
Bug 8903 - binding-data-codec does not work with boolean type using typedef

Change-Id: Ib47bedea0e6bbebf7c5e3dbbd012b0df3e872a4b
Signed-off-by: Jie Han <han.jie@zte.com.cn>
3 months agoAdd YangModuleInfoTemplate hashCode/equals
Robert Varga [Mon, 5 Mar 2018 08:20:06 +0000 (09:20 +0100)]
Add YangModuleInfoTemplate hashCode/equals

If two instances of the same YangModuleInfo get compared, they should
compare as equals.

Change-Id: I0ba756e411b97cb273ed824b53ce9593d9c4824a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix YangModuleInfoTemplate
Robert Varga [Mon, 5 Mar 2018 08:16:03 +0000 (09:16 +0100)]
Fix YangModuleInfoTemplate

YangModuleInfoTemplate has a wrong check for null, where it should
be checking for Optional.present. Fix that.

Change-Id: I95ccfd7a938b173cd0cc8aa6be997a2afe471056
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoSplit out JavaFileTemplate
Robert Varga [Thu, 1 Mar 2018 23:23:38 +0000 (00:23 +0100)]
Split out JavaFileTemplate

This is a useful piece with a bit of logic. Separate it out into
Java, where maintenance is easier. This forces us to define operations
on import map, which is always good.

Change-Id: Idf279352c57a96112b235f700ec7e910bf886461
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix checkstyle in mdsal-binding-test-model
Robert Varga [Thu, 1 Mar 2018 12:12:54 +0000 (13:12 +0100)]
Fix checkstyle in mdsal-binding-test-model

Fix checkstyle and enable enforcement.

Change-Id: I2680c421ed4703170f6ea0dfdd9a7ee662d4776d
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoSpeed up javadoc formatting
Robert Varga [Thu, 1 Mar 2018 15:34:15 +0000 (16:34 +0100)]
Speed up javadoc formatting

Initializing a StringBuilder with a string results in it being
sized to contain only that string -- hence forcing a reallocation
on next append.

This patch updates javadoc formatting code to use a default allocation
and append the initial string afterwards -- leaving some room for
further appends.

Change-Id: I910a3c84d37f462d99815f5ea63700cc78dfd2cc
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoDo not open-code ImmutableMap.copyOf()
Robert Varga [Thu, 1 Mar 2018 10:15:06 +0000 (11:15 +0100)]
Do not open-code ImmutableMap.copyOf()

This is a remnant of the early days when we did not want to depend
on Guava. Do not generate open-coded map squashing code but rather
use ImmutableMap.copyOf().

Change-Id: I4700b4c17aecbe604ddf62f817481f0067babf7a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix deprecation warnings in RangeGenerators
Robert Varga [Thu, 1 Mar 2018 09:41:31 +0000 (10:41 +0100)]
Fix deprecation warnings in RangeGenerators

Propagate @Deprecated annotation outward, removing most of the warnings.

Change-Id: I4c4da282bfe4fca1b43c00d2826e3161ac288a2e
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoInvert enforcement patterns when needed
Robert Varga [Wed, 28 Feb 2018 15:03:09 +0000 (16:03 +0100)]
Invert enforcement patterns when needed

RFC7950 and yang-model-api defines pattern modifier invert-match,
which needs to be taken into account when validating incoming strings.

Mutate the pattern we expose to the codegen such that it captures
the inversion operation. This code is closely related to generated
code and string formats used therein, hence the beef of the
implementation lives in BindingMapping.

JIRA: MDSAL-314
Change-Id: Ie29745d3343f565ac6b1b5716b1ec38dd0f09bc9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix a patterns reference
Robert Varga [Wed, 28 Feb 2018 12:32:55 +0000 (13:32 +0100)]
Fix a patterns reference

We should be referencing the constant name rather than hard-coding
it in the template.

Change-Id: Ib552b37cdfb4e3f8cef794d764ba8558f6db3df6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump versions by x.(y+1).z for next dev cycle
Anil Belur [Mon, 26 Feb 2018 07:41:44 +0000 (17:41 +1000)]
Bump versions by x.(y+1).z for next dev cycle

Change-Id: Ib4799fb36fc0de8b41418ccc547eaa3c061c7396
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
3 months agoSwitch to java.util.function.Supplier
Robert Varga [Mon, 29 Jan 2018 17:49:44 +0000 (18:49 +0100)]
Switch to java.util.function.Supplier

This is an internal interface, we can safely switch it to
Java 8 interface rather than the Guava one.

Change-Id: Ie199bb690e80958c859036708ce1945e3ed313f6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRe-organize YANG snippet generation and comment confusion
Robert Varga [Wed, 14 Feb 2018 13:06:02 +0000 (14:06 +0100)]
Re-organize YANG snippet generation and comment confusion

This is a follow-up cleanup on the previous patch, which has created
an unnecessary interface and tunneling contract. We instead record
the details of why a class was generated, capturing comments correctly
in GeneratedType.comment. mdsal-binding-java-api-generator is then
taught to use this information correctly and generate the YANG snippet
as it sees fit.

Change-Id: I25580c6310d05007fea63e04d70cd12d5c6f9ace
JIRA: MDSAL-301
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoEliminate xtend from mdsal-binding-generator-impl
Robert Varga [Tue, 13 Feb 2018 13:02:44 +0000 (14:02 +0100)]
Eliminate xtend from mdsal-binding-generator-impl

This patch moves YangTextTemplate into mdsal-binding-java-api-generator
and bridges it into BindingGeneratorImpl, without it having to be lug
all the extent stuff around. This slims down the runtime classes by
143kB.

JIRA: MDSAL-301
Change-Id: Ibdafa574c5a825aa7a02b9ecef5352fff78ae035
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCleanup properties
Robert Varga [Sun, 4 Feb 2018 18:46:17 +0000 (19:46 +0100)]
Cleanup properties

Properties should not be used for versions, clean them up in parent
poms. Everything the users need is communicated via
dependency/pluginManagement.

Also ditches down-revisioned maven-depends-plugin, as that is already
provided by odlparent and removes unneeded site plugin configuration.

Change-Id: I54b507342c995c5e3589171c42e708829acc908b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMDSAL-218: Binding v1 - *Builder classes for 'type union' YANG gen. code should have...
Jie Han [Wed, 7 Feb 2018 08:50:57 +0000 (16:50 +0800)]
MDSAL-218: Binding v1 - *Builder classes for 'type union' YANG gen. code should have private constructor

- Do not affect old generated class,  one should mannually rebuild to update.

Change-Id: Ib45f7aca1aa261b2c4bce433b139cd94b91a5066
Signed-off-by: Jie Han <han.jie@zte.com.cn>
3 months agoFix a few warnings
Robert Varga [Mon, 5 Feb 2018 01:15:48 +0000 (02:15 +0100)]
Fix a few warnings

- unneeded imports
- potentially static methods
- unneeded @SupressWarnings

Change-Id: I0c80e0a7e917ec9b71147e582df4b6f4c7a698a2
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMDSAL-298: properly handle unkeyed lists
Robert Varga [Mon, 29 Jan 2018 13:18:05 +0000 (14:18 +0100)]
MDSAL-298: properly handle unkeyed lists

Unkeyed lists are not representable in binding, which means they
cannot be reported as modified children, either. This has implications
for any data change which contains unrepresentable fields as child
modifications.

Previously we would report SUBTREE_MODIFIED for the container node,
but would fail to report any children, which is obviously wrong, as the
user is left guessing as to what exactly happened.

This patch modifies LazyDataObjectModification to report a WRITE event
if modifications to unrepresentable children are found in SUBTREE_MODIFIED
case. Since this is a potentially expensive operation, we cache a child
addressability summary in BindingCodecTreeNode, so that we go to this
slow path only when needed.

We also expose BindingStructuralType enumeration, so controller's
sal-binding-broker can reuse the implementation rather than having its
own copy.

Change-Id: I6642166cd262d0dddb1b2ed6d73a20785d0efff6
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix BindingCodecTreeNode.getSchema() a bit
Robert Varga [Mon, 29 Jan 2018 16:20:14 +0000 (17:20 +0100)]
Fix BindingCodecTreeNode.getSchema() a bit

Using Object as the return type of getSchema() is confusing, as it
does not provide a proper anchor point for users. While subclasses
provide proper access point, further restricting the domain to
DocumentedNode.WithStatus provides for a better experience.

Change-Id: Iebd198b695f5271ebadd5315c1ec22b8488c227c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoLower DataObjectCodecContext method visibility
Robert Varga [Mon, 29 Jan 2018 09:07:24 +0000 (10:07 +0100)]
Lower DataObjectCodecContext method visibility

This class is not leaked outside of the package, lower visibility
of its methods.

Change-Id: I486bf3d407eabb99f5ee5cafd08d4e7cb76d2c50
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump yangtools to 2.0.1
Robert Varga [Wed, 17 Jan 2018 19:00:33 +0000 (20:00 +0100)]
Bump yangtools to 2.0.1

Pick up latest fixes in yangtools, notably API contract violations
in SchemaContext.{get,find}Modules().

Change-Id: I34b803a60037ba2db1f1ecabc699d506b32de460
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoAdjust to yangtools-2.0.0 changes
Robert Varga [Wed, 11 Oct 2017 15:03:32 +0000 (17:03 +0200)]
Adjust to yangtools-2.0.0 changes

Most notable adjustments:
- type empty requires Empty
- Date -> Revision, with the possibility of being absent
  - This changes behaviour for revisionless modules, these are now
    generated as '.norev' rather than '.rev700101'
- Length constraint update to match
- QName requires namespace to be non-null
- SchemaContext.getModule() et al., which also improves performance
- binding tests are updated to eliminate useless reflection
- bump twirl-api to 1.3.13
- bump scala-maven-plugin to 3.3.1
- bump twirl-maven-plugin to 1.1.0

Change-Id: Ie35090cc0f60a2411399e5b2d3fe59246bbfbdba
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump yangtools dependency to 2.0.0
Robert Varga [Wed, 11 Oct 2017 14:54:31 +0000 (16:54 +0200)]
Bump yangtools dependency to 2.0.0

This patch adopts odlparent-3.0.2 and yangtools-2.0.0. As such it is
not expected to pass compilation due to the amount of breaking changes
in yangtools. It is separated out to allow review of changes at the
build system level.

Adjustments include:
- feature reference updates, so we pull in correct yangtools features
- bump scala-maven-plugin to 3.3.1
- bump twirl-maven-plugin to 1.1.0
- bump twirl-api to 1.3.13

Follow-up patch adapts the codebase to the inbound changes, making
the compilation pass.

Change-Id: I21a3d55969c31b89b56c6ba637593f033b035e14
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix odlparent-3.0.0 checkstyle issues
Robert Varga [Wed, 15 Nov 2017 12:30:58 +0000 (13:30 +0100)]
Fix odlparent-3.0.0 checkstyle issues

This fixes issues identitifed by checkstyle in odlparent-3.0.0,
split out of the bump proper to keep the migration patch smaller.

Change-Id: Ib42dbebb0bdbcec770cb9e4daaf24fb14dccde6b
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix checkstyle in mdsal-binding-dom-codec
Robert Varga [Tue, 17 Oct 2017 18:17:48 +0000 (20:17 +0200)]
Fix checkstyle in mdsal-binding-dom-codec

Fix checkstyle issues and activate enforcement.

Change-Id: I5ef078ba907284d5885521971cb0391a28fa2e57
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoFix checkstyle violations in yang-binding
Robert Varga [Tue, 17 Oct 2017 14:58:56 +0000 (16:58 +0200)]
Fix checkstyle violations in yang-binding

Fixes violations and activates enforcement.

Change-Id: Iaa11d659549fa62a35201dea77992b32aebbd998
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove explicit default super-constructor calls
David Suarez [Wed, 27 Sep 2017 11:40:46 +0000 (13:40 +0200)]
Remove explicit default super-constructor calls

The default constructor is called by default (hence its name), no need
to call it explicitly.

Change-Id: Ibc4f160f14cd75d46b1bacea75c1bf29b3f49355
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
3 months agoBump odlparent 2.0.4 to 2.0.5
Stephen Kitt [Wed, 27 Sep 2017 13:52:50 +0000 (15:52 +0200)]
Bump odlparent 2.0.4 to 2.0.5

Change-Id: I18a6da4e5a9122c88d15774cca1fed862df1a03c
Signed-off-by: Stephen Kitt <skitt@redhat.com>
3 months agoRevert "Fix broken tests according to yangtools...
Vratko Polak [Thu, 28 Sep 2017 12:36:56 +0000 (14:36 +0200)]
Revert "Fix broken tests according to yangtools...

Oxygen is using Yangtools 1.2.0 again,
so that change towards 2.0.0-SNAPSHOT behavior has to be reverted.

This reverts commit 6c26a1cd0acb2b898b80cb099ed0352c29410230.

Change-Id: I31732adc545df92fdb82e7047a19624b2454639d
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
3 months agoBump mdsal to use yangtools 1.2.0
Anil Belur [Thu, 28 Sep 2017 04:45:46 +0000 (14:45 +1000)]
Bump mdsal to use yangtools 1.2.0

Jira: releng-485
Change-Id: I7025efa30b209f1763408e03df65fdf7ebed5c81
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
3 months agoFix broken tests according to yangtools changes
Jakub Toth [Thu, 28 Sep 2017 10:35:35 +0000 (12:35 +0200)]
Fix broken tests according to yangtools changes

  * https://git.opendaylight.org/gerrit/#/c/62537/
  * fixed methods of YangParserTestUtils for parsing yangs
    and creating schema context

Change-Id: I313e91aeafd46c57d60aaf71372287bc84b8414a
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
3 months agoFinish removal of yangtools classes
Robert Varga [Mon, 4 Sep 2017 13:24:34 +0000 (15:24 +0200)]
Finish removal of yangtools classes

This finishes the package move by removing the bridge classes.

Change-Id: I7e5519db7be39e8fdb03c9f330ce77a0b6e982b8
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoRemove yangtools APIs
Robert Varga [Thu, 21 Sep 2017 09:22:23 +0000 (11:22 +0200)]
Remove yangtools APIs

Downstream consumers are not using them anymore, remove them.

Change-Id: Idd9d8f6b2d1f7b3ab719904a694c342d2e79f210
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoDisconnect mdsal-bind-dom-codec yangtools/mdsal APIs
Robert Varga [Mon, 4 Sep 2017 09:44:52 +0000 (11:44 +0200)]
Disconnect mdsal-bind-dom-codec yangtools/mdsal APIs

Remove compatibility bridging between the two APIs, so that users
do not pull in yangtools APIs in their imports.

Change-Id: If763721458354ba92422ac7465735714646f61d0
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoEliminate use of String.replace/replaceAll()
Robert Varga [Mon, 11 Sep 2017 17:09:46 +0000 (19:09 +0200)]
Eliminate use of String.replace/replaceAll()

Use a pre-compiled pattern to do the same task.

Change-Id: Ie864494a8c5a7b24a31d9d416b339b6f33eb5d42
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMove mdsal-binding-dom codec classes
Robert Varga [Mon, 4 Sep 2017 09:47:51 +0000 (11:47 +0200)]
Move mdsal-binding-dom codec classes

This moves most of the classes out of the way and leaves just two
proxies around.

Change-Id: I3d95bcd20f219208948a12433380c50735617916
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoCorrect model revision
Robert Varga [Tue, 5 Sep 2017 21:51:57 +0000 (23:51 +0200)]
Correct model revision

2017-16-05 is an invalid revision string, correct it to something
sane.

Change-Id: Ie2997888dd86ff94a89c4d0c0c6dc01f1ebe2290
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoDo not leak implementation class
Robert Varga [Tue, 5 Sep 2017 08:53:50 +0000 (10:53 +0200)]
Do not leak implementation class

For migration purposes we need to not leak the implementation
class from create methods. Fix them to return just the interface.

Change-Id: I801467d1a816dc1b0b1bd41ee4157c9593092544
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoImprove length constraint checks
Robert Varga [Thu, 17 Aug 2017 12:44:12 +0000 (14:44 +0200)]
Improve length constraint checks

If we have an unrestricted string/binary or the constraint is
satisfied by the combination of String/array length return
values and integer value domain, we can skip the checks altogether,
leading to less generated code.

Cuts down size of ietf-inet-types by 1%.

Change-Id: Ibd8ea57a4746e1332447dd5454b36407d066ea0a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoUpdate odlparent to 2.0.4
Thanh Ha [Wed, 16 Aug 2017 15:17:13 +0000 (11:17 -0400)]
Update odlparent to 2.0.4

Change-Id: I9c91aee4fea8b4fbf5850d541a5f38d694da5d6d
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
3 months agoBump versions by x.(y+1).z for next dev cycle
Thanh Ha [Mon, 14 Aug 2017 17:02:42 +0000 (13:02 -0400)]
Bump versions by x.(y+1).z for next dev cycle

Change-Id: Ie1d4a4800d2b8c38cc5520fcb5756a68972ca4d6
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
3 months agoEnforce no split packages
Robert Varga [Fri, 4 Aug 2017 22:02:03 +0000 (00:02 +0200)]
Enforce no split packages

This augments Export-Package directives with a directive to emit
a hard error if a split package is encountered.

Change-Id: Ib763fb75021de510086f1c12563cef0f49e61f61
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoAddress sonar warnings
Robert Varga [Wed, 2 Aug 2017 12:13:52 +0000 (14:13 +0200)]
Address sonar warnings

Remove traling blank comments and declaration of runtime exceptions.

Change-Id: Ibe49a0b138a3266cd41603f17d3287d7fa93796a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBug 8449 - BindingToNormalizedNodeCodec fails to deserialize union of leafrefs
Jakub Toth [Fri, 21 Jul 2017 09:58:08 +0000 (11:58 +0200)]
Bug 8449 - BindingToNormalizedNodeCodec fails to deserialize union of leafrefs

Fix problem of leafref in typedef called from union
 *generated part
   *generating of new property of GTO for leaf's union type of typedef
     according to return type of referenced leaf via leafref from typedef
 *codec part
   *getting codec of leaf type according to new generator part of leafref
    in typedef
 *tests

Change-Id: Ibffe4e51ef66f1911c32c71d4f08bbdbdd40e234
Signed-off-by: Jakub Toth <jakub.toth@pantheon.tech>
3 months agoCleanup warnings
Robert Varga [Wed, 12 Jul 2017 10:00:27 +0000 (12:00 +0200)]
Cleanup warnings

- static methods
- unneeded use of CheckedFuture and checkedGet()
- Throwables.propagateIfPossible()
- raw types
- unneeded else branches

Change-Id: Ie7cc7f701efad4de843cd2884ceea9caf8787e0a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump odlparent references to 2.0.2
Robert Varga [Sun, 9 Jul 2017 17:14:30 +0000 (19:14 +0200)]
Bump odlparent references to 2.0.2

Automated bump to latest fix release.

Change-Id: Ibbbe6dc4d9c0df1e08135f1d496eb53963c9db93
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBump odlparent dependency to 2.0.1
Robert Varga [Mon, 3 Jul 2017 08:54:10 +0000 (10:54 +0200)]
Bump odlparent dependency to 2.0.1

Bumps odlparent to latest release.

Change-Id: I020a42720d43aabcaa6886230b79df27834a1b1c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBUG-7446: Bump odlparent to 2.0.0
Robert Varga [Thu, 15 Jun 2017 13:04:39 +0000 (15:04 +0200)]
BUG-7446: Bump odlparent to 2.0.0

Fixup guava movement and features changing with 2.0.0.

Change-Id: Id0fbbf62872d22e3623d0a4ccf5bb86723601604
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoMigrate to odlparent 1.9.0
Thanh Ha [Tue, 13 Jun 2017 18:39:24 +0000 (14:39 -0400)]
Migrate to odlparent 1.9.0

Change-Id: I100a35acd3f47c49cb7d93a972f6c01a4804b446
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
3 months agoMigrate to odlparent 1.8.0-Carbon
Thanh Ha [Tue, 6 Jun 2017 02:13:13 +0000 (22:13 -0400)]
Migrate to odlparent 1.8.0-Carbon

Per request of odlparent project we are downgrading all Nitrogen
projects to use the released odlparent 1.8.0-Carbon to allow for the
odlparent project to start performing semver style releases.

Jira: RELENG-159
RT: 41406
Change-Id: Ica7007072c5f10e052c4aab6c46feb26e89c5915
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
3 months agoCleanup binding-dom-codec generator
Robert Varga [Sat, 13 May 2017 18:25:24 +0000 (20:25 +0200)]
Cleanup binding-dom-codec generator

- use lambdas
- use fluent StringBuilder
- make methods static

This should improve codec generation slightly due to gains of
invoke_static vs. invoke_virtual and overall bytecode size diet.

Change-Id: Id8d3a442f63a452111907b7d683d2167dd489ca7
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBUG-8226: do not import nested classes
Robert Varga [Thu, 11 May 2017 09:28:38 +0000 (11:28 +0200)]
BUG-8226: do not import nested classes

Importing a nested classes leads to a unused import warning, so compare
the declared package name with the class being generated and do not emit
an import declaration if the package name matches FQDN.

Change-Id: I4240cac663476c1405962631a9d173f5ed434ee9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBUG-8226: fix toString() formatting
Robert Varga [Thu, 11 May 2017 09:04:22 +0000 (11:04 +0200)]
BUG-8226: fix toString() formatting

Fix closing curly brace offset.

Change-Id: I56d577387231a300dc508a8062f3aa07c861734a
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBUG-8226: fix augmentation argument overlap
Robert Varga [Thu, 11 May 2017 07:56:15 +0000 (09:56 +0200)]
BUG-8226: fix augmentation argument overlap

This fixes a trivial warning of argument name shadowing the field
name.

Change-Id: Ie0cd8f010778e198db26102a6e42274a03aee118
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBUG-8226: fix Enumeration.forValue() javadoc
Robert Varga [Thu, 11 May 2017 07:48:48 +0000 (09:48 +0200)]
BUG-8226: fix Enumeration.forValue() javadoc

Fix a missing description warning.

Change-Id: I26b1d0b01b56e6a3fb5d553decc4d109fc6f762c
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBUG-8360: add mdsal-binding-dom-codec-osgi
Robert Varga [Wed, 3 May 2017 11:21:54 +0000 (13:21 +0200)]
BUG-8360: add mdsal-binding-dom-codec-osgi

This is an OSGi binding producing all context needed required
to implement binding/dom/external serialization. It is similar
to how the config-manager service operates, except associated
services are explicitly covered instead of sneaking them through
properties.

Change-Id: I31f2bdb11153d6e514dacf2b070b073d768c1ff3
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
3 months agoBUG-8226: Add @Override to public methods
Robert Varga [Thu, 13 Apr 2017 13:53:43 +0000 (15:53 +0200)]
BUG-8226: Add @Override to public methods

This adds proper @Override tags to methods specified by superclasses.

Change-Id: I82b387156dce366d480414b1ed0b889ca9858c24
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit aff372df411044a8765e202aa5bc4481f35bc722)

3 months agoBump versions by x.(y+1).z for next dev cycle
Anil Belur [Tue, 11 Apr 2017 01:45:42 +0000 (11:45 +1000)]
Bump versions by x.(y+1).z for next dev cycle

Change-Id: Ia61eeda429f5e56629f70824dc156372557673e1
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>