Bug 6868: If-feature argument may be boolean expression 14/49714/8
authorPeter Kajsa <pkajsa@cisco.com>
Wed, 21 Dec 2016 18:16:07 +0000 (19:16 +0100)
committerRobert Varga <nite@hq.sk>
Tue, 24 Jan 2017 10:07:03 +0000 (10:07 +0000)
commitd9f80c396ec9947316be896a0a0489069fa35b7d
treeb94e49de9e8289616b8dc90d5fb6753887154880
parent1e7faf31d86b181a52f54ad758fd922a49a78a67
Bug 6868: If-feature argument may be boolean expression

Since Yang 1.1, "if-feature" argument may be a boolean expression over
feature names. In this expression, a feature name evaluates to "true"
if and only if the feature is supported by the server.

Change-Id: Id68d9a101641a7775d8b2a049986431e9cb27662
Signed-off-by: Peter Kajsa <pkajsa@cisco.com>
24 files changed:
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/IfFeaturePredicates.java [deleted file]
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SchemaContextFactory.java
yang/yang-parser-impl/src/main/antlr/IfFeatureExpressionLexer.g4 [new file with mode: 0644]
yang/yang-parser-impl/src/main/antlr/IfFeatureExpressionParser.g4 [new file with mode: 0644]
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaContextFactory.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SupportedFeaturesNamespace.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/CrossSourceStatementReactor.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/IfFeatureStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/IfFeatureEffectiveStatementImpl.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryWithFeaturesTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6868Test.java [new file with mode: 0644]
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/stmt/rfc7950/Bug6869Test.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/DeclaredStatementsTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java
yang/yang-parser-impl/src/test/resources/rfc7950/bug6868/invalid10.yang [new file with mode: 0644]
yang/yang-parser-impl/src/test/resources/rfc7950/bug6868/yang11/foo.yang [new file with mode: 0644]
yang/yang-parser-impl/src/test/resources/rfc7950/bug6868/yang11/imported.yang [new file with mode: 0644]
yang/yang-system-test/src/main/java/org/opendaylight/yangtools/yang/parser/system/test/Main.java
yang/yang-system-test/src/main/java/org/opendaylight/yangtools/yang/parser/system/test/SystemTestUtils.java
yang/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/YangParserTestUtils.java