Fix min/max validation inside written value
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / tree / MinMaxElementsValidation.java
index a474e4e8d664df6a95d04dae176b6d2014990842..23ce1b9e1397325366ef29f1deebf0258dd10270 100644 (file)
@@ -132,6 +132,15 @@ final class MinMaxElementsValidation extends SchemaAwareApplyOperation {
     @Override
     protected void verifyStructure(final NormalizedNode<?, ?> modification, final boolean verifyChildren) {
         delegate.verifyStructure(modification, verifyChildren);
+        if (verifyChildren) {
+            final int children = numOfChildrenFromValue(modification);
+            Preconditions.checkArgument(minElements <= children,
+                    "Node %s does not have enough elements (%s), needs at least %s", modification.getIdentifier(),
+                    children, minElements);
+            Preconditions.checkArgument(maxElements >= children,
+                    "Node %s has too many elements (%s), can have at most %s", modification.getIdentifier(), children,
+                    maxElements);
+        }
     }
 
     @Override