X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Freactor%2FBuildGlobalContext.java;h=26eb77fc5426562f90bf8762b266f89327348b43;hb=d9f80c396ec9947316be896a0a0489069fa35b7d;hp=6e67cd340b8720531478b9614d1007fc7ac0142f;hpb=1e7faf31d86b181a52f54ad758fd922a49a78a67;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java index 6e67cd340b..26eb77fc54 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java @@ -26,7 +26,6 @@ import java.util.Map.Entry; import java.util.Objects; import java.util.Optional; import java.util.Set; -import java.util.function.Predicate; import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.YangVersion; @@ -79,13 +78,13 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh private final Set supportedVersions; BuildGlobalContext(final Map supports, - final StatementParserMode statementParserMode, final Predicate isFeatureSupported) { - this(supports, ImmutableMap.of(), statementParserMode, isFeatureSupported); + final StatementParserMode statementParserMode, final Set supportedFeatures) { + this(supports, ImmutableMap.of(), statementParserMode, supportedFeatures); } BuildGlobalContext(final Map supports, final Map> supportedValidation, - final StatementParserMode statementParserMode, final Predicate isFeatureSupported) { + final StatementParserMode statementParserMode, final Set supportedFeatures) { super(); this.supports = Preconditions.checkNotNull(supports, "BuildGlobalContext#supports cannot be null"); Preconditions.checkNotNull(statementParserMode, "Statement parser mode must not be null."); @@ -95,8 +94,12 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh addToNs(ValidationBundlesNamespace.class, validationBundle.getKey(), validationBundle.getValue()); } - addToNs(SupportedFeaturesNamespace.class, SupportedFeatures.SUPPORTED_FEATURES, - Preconditions.checkNotNull(isFeatureSupported, "Supported feature predicate must not be null.")); + if (supportedFeatures != null) { + addToNs(SupportedFeaturesNamespace.class, SupportedFeatures.SUPPORTED_FEATURES, + ImmutableSet.copyOf(supportedFeatures)); + } else { + LOG.warn("Set of supported features has not been provided, so all features are supported by default."); + } this.supportedVersions = ImmutableSet.copyOf(supports.get(ModelProcessingPhase.INIT).getSupportedVersions()); } @@ -336,7 +339,7 @@ class BuildGlobalContext extends NamespaceStorageSupport implements NamespaceBeh default: throw new IllegalStateException("Unsupported phase progress " + sourceProgress); } - } catch (RuntimeException ex) { + } catch (final RuntimeException ex) { throw propagateException(nextSourceCtx, ex); } }