Bug 4506: Honor if-feature during SchemaContext assembly 08/38108/12
authorIgor Foltin <ifoltin@cisco.com>
Fri, 13 May 2016 09:42:06 +0000 (11:42 +0200)
committerIgor Foltin <ifoltin@cisco.com>
Mon, 23 May 2016 09:16:07 +0000 (11:16 +0200)
commitc11896bd11b0549ab5bf0a493b299a6660b0481f
tree125c8af63f4e33e4e31f32173157812bb90e3236
parentf3e001fac8ad7dc73e9f939e89cb42517efaf7a7
Bug 4506: Honor if-feature during SchemaContext assembly

If-feature statements in yang modules are now resolved
during SchemaContext assembly based on
a java.util.function.Predicate<QName> provided by user.

This functionality is also introduced into SchemaContextFactory

Change-Id: I2a74e36c9433a0b89c97c19407c988b538c236bc
Signed-off-by: Igor Foltin <ifoltin@cisco.com>
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Igor Foltin <ifoltin@cisco.com>
15 files changed:
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SchemaContextFactory.java
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 [new file with mode: 0644]
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/AugmentStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/UsesStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/YangInferencePipeline.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryWithFeaturesTest.java [new file with mode: 0644]
yang/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/stmt/IfFeatureResolutionTest.java [new file with mode: 0644]
yang/yang-parser-impl/src/test/resources/if-feature-resolution-test/bar.yang [new file with mode: 0644]
yang/yang-parser-impl/src/test/resources/if-feature-resolution-test/foo.yang [new file with mode: 0644]
yang/yang-parser-impl/src/test/resources/if-feature-resolution-test/shared-schema-repository/foobar.yang [new file with mode: 0644]