Promote FeatureSet 27/105227/14
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 4 Apr 2023 17:29:20 +0000 (19:29 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 11 Apr 2023 15:32:40 +0000 (17:32 +0200)
commit7d4e142e5359042535caeaeeb0a07014bb9a999b
treee6d163e1f9a89d7d879942f911c46d698bf7bbde
parent91e1440e61860de9aec511620c233d141b4a5fc0
Promote FeatureSet

We are using only Set.contains() to evaluate feature expressions and we
need more flexibility that that. FeatureSet already provides this
capability, but unfortunately it also implies all the Set semantics.

This patch refactors FeatureSet to be a simple class, without a tie to
Set and updates IfFeatureExpr to integrate with it.

JIRA: YANGTOOLS-1504
Change-Id: Ie719f7a3d006f2d6ed51c70604236e4105d8f8ed
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
20 files changed:
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/FeatureSet.java [new file with mode: 0644]
model/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/IfFeatureExpr.java
model/yang-model-api/src/test/java/org/opendaylight/yangtools/yang/model/api/stmt/FeatureSetTest.java [new file with mode: 0644]
parser/rfc8040-parser-support/src/test/java/org/opendaylight/yangtools/rfc8040/parser/YangDataExtensionTest.java
parser/yang-parser-api/src/main/java/org/opendaylight/yangtools/yang/parser/api/YangParser.java
parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultYangLibResolver.java
parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/DefaultYangParser.java
parser/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/repo/YangTextSchemaContextResolver.java
parser/yang-parser-impl/src/test/java/org/opendaylight/yangtools/yang/parser/repo/SharedSchemaRepositoryWithFeaturesTest.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/CrossSourceStatementReactor.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/StmtTestUtils.java
parser/yang-parser-rfc7950/src/test/java/org/opendaylight/yangtools/yang/stmt/TestUtils.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ParserNamespaces.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java
parser/yang-test-util/src/main/java/org/opendaylight/yangtools/yang/test/util/YangParserTestUtils.java
tools/yang-model-validator/src/main/java/org/opendaylight/yangtools/yang/validator/SystemTestUtils.java
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/FeatureSet.java [deleted file]
yang/yang-repo-api/src/main/java/org/opendaylight/yangtools/yang/model/repo/api/SchemaContextFactoryConfiguration.java