X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-reactor%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Freactor%2FModifierImpl.java;h=5edde2ffd80a3b391b6c6d86331cce5b11fb27a7;hb=3352bd58961fa6f5b44bfbd3415eca44a6cdd9af;hp=7327e988af32d362801e90586d423ecb8fa8200a;hpb=819f07b5ce34c5d608d2dea0eac21b5b98f6e0a5;p=yangtools.git diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java index 7327e988af..5edde2ffd8 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ModifierImpl.java @@ -86,12 +86,6 @@ final class ModifierImpl implements ModelActionBuilder { action = null; } - private void applyAction() { - checkState(!actionApplied); - action.apply(ctx); - actionApplied = true; - } - private , N extends StatementNamespace> @NonNull AbstractPrerequisite requiresCtxImpl(final StmtContext context, final Class namespace, final K key, final ModelProcessingPhase phase) { @@ -147,7 +141,10 @@ final class ModifierImpl implements ModelActionBuilder { checkState(action != null, "Action was not defined yet."); if (removeSatisfied()) { - applyAction(); + if (!actionApplied) { + action.apply(ctx); + actionApplied = true; + } return true; } return false; @@ -320,7 +317,7 @@ final class ModifierImpl implements ModelActionBuilder { @Override public boolean phaseFinished(final StatementContextBase context, final ModelProcessingPhase finishedPhase) { - return resolvePrereq((C) context); + return resolvePrereq((C) context) || tryApply(); } } @@ -349,7 +346,7 @@ final class ModifierImpl implements ModelActionBuilder { @Override public boolean phaseFinished(final StatementContextBase context, final ModelProcessingPhase finishedPhase) { - return resolvePrereq((C) context); + return resolvePrereq((C) context) || tryApply(); } @Override @@ -426,7 +423,9 @@ final class ModifierImpl implements ModelActionBuilder { if (!it.hasNext()) { // Last step: we are done - resolvePrereq((C) value); + if (resolvePrereq((C) value)) { + tryApply(); + } return; }