X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Frfc6020%2Feffective%2FEffectiveStatementBase.java;fp=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Frfc6020%2Feffective%2FEffectiveStatementBase.java;h=2af2b1fabe55fe1632f32670b07ee1d7104931aa;hp=7151db18f4c37124fc925074a37ddb331297b2cd;hb=de990fa7c7840a1ac964a48f00aff1358eaec562;hpb=354c0475d65f0382e6c52b86b98f5c9f3b1a5e74 diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java index 7151db18f4..2af2b1fabe 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java @@ -45,26 +45,14 @@ public abstract class EffectiveStatementBase> }; private final List> substatements; - private final List> unknownSubstatementsToBuild; - - protected EffectiveStatementBase(final StmtContext ctx) { - this(ctx, true); - } /** * Constructor. * * @param ctx * context of statement. - * @param buildUnknownSubstatements - * if it is false, the unknown substatements are omitted from - * build of effective substatements till the call of either - * effectiveSubstatements or getOmittedUnknownSubstatements - * method. The main purpose of this is to allow the build of - * recursive extension definitions. */ - protected EffectiveStatementBase(final StmtContext ctx, boolean buildUnknownSubstatements) { - + protected EffectiveStatementBase(final StmtContext ctx) { final Collection> effectiveSubstatements = ctx.effectiveSubstatements(); final Collection> substatementsInit = new ArrayList<>(); @@ -80,24 +68,8 @@ public abstract class EffectiveStatementBase> } substatementsInit.addAll(effectiveSubstatements); - Collection> substatementsToBuild = Collections2.filter(substatementsInit, - IS_SUPPORTED_TO_BUILD_EFFECTIVE); - if (!buildUnknownSubstatements) { - this.unknownSubstatementsToBuild = ImmutableList.copyOf(Collections2.filter(substatementsToBuild, - IS_UNKNOWN_STATEMENT_CONTEXT)); - substatementsToBuild = Collections2.filter(substatementsToBuild, - Predicates.not(IS_UNKNOWN_STATEMENT_CONTEXT)); - } else { - this.unknownSubstatementsToBuild = ImmutableList.of(); - } - - this.substatements = ImmutableList.copyOf(Collections2.transform(substatementsToBuild, - StmtContextUtils.buildEffective())); - } - - Collection> getOmittedUnknownSubstatements() { - return Collections2.transform(unknownSubstatementsToBuild, - StmtContextUtils.buildEffective()); + this.substatements = ImmutableList.copyOf(Collections2.transform(Collections2.filter(substatementsInit, + IS_SUPPORTED_TO_BUILD_EFFECTIVE), StmtContextUtils.buildEffective())); } @Override @@ -112,11 +84,7 @@ public abstract class EffectiveStatementBase> @Override public final Collection> effectiveSubstatements() { - if (unknownSubstatementsToBuild.isEmpty()) { - return substatements; - } else { - return ImmutableList.copyOf(Iterables.concat(substatements, getOmittedUnknownSubstatements())); - } + return substatements; } protected final > S firstEffective(final Class type) {