Lists with min-elements > 0 are mandatory
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / EffectiveConstraintDefinitionImpl.java
index fe08d30333f02ba8fd0297360e104ce5d00dd959..1c4032cebc5bbf3142c8d1fcd3fe836d0936b422 100644 (file)
@@ -24,10 +24,6 @@ public final class EffectiveConstraintDefinitionImpl implements ConstraintDefini
 
     public EffectiveConstraintDefinitionImpl(final EffectiveStatementBase<?, ?> parent) {
 
-        MandatoryEffectiveStatementImpl firstMandatoryStmt = parent
-                .firstEffective(MandatoryEffectiveStatementImpl.class);
-        this.mandatory = (firstMandatoryStmt == null) ? false : firstMandatoryStmt.argument();
-
         WhenEffectiveStatementImpl firstWhenStmt = parent.firstEffective(WhenEffectiveStatementImpl.class);
         this.whenCondition = (firstWhenStmt == null) ? null : firstWhenStmt.argument();
 
@@ -44,6 +40,10 @@ public final class EffectiveConstraintDefinitionImpl implements ConstraintDefini
             this.maxElements = Integer.valueOf(maxElementsArg);
         }
 
+        MandatoryEffectiveStatementImpl firstMandatoryStmt = parent
+                .firstEffective(MandatoryEffectiveStatementImpl.class);
+        this.mandatory = (firstMandatoryStmt == null) ? minElements > 0 : firstMandatoryStmt.argument();
+
         Collection<MustDefinition> mustSubstatements = parent.allSubstatementsOfType(MustDefinition.class);
         this.mustConstraints = ImmutableSet.copyOf(mustSubstatements);
     }