X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2Ftree%2FMandatoryLeafEnforcer.java;h=7822038448ed635b37b1487b62e75bbfc19f697f;hb=0535a285e10b25281b8a3a4ac18d2f584a3cd5e3;hp=d2d6a893d692689b7174c82939562f34e8ca563a;hpb=a6ea70c09b13489918c387d54cde8f1095721acc;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java index d2d6a893d6..7822038448 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/MandatoryLeafEnforcer.java @@ -7,11 +7,11 @@ */ package org.opendaylight.yangtools.yang.data.impl.schema.tree; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableCollection.Builder; import com.google.common.collect.ImmutableList; import java.util.Collection; +import java.util.Optional; import org.opendaylight.yangtools.concepts.Immutable; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; @@ -24,6 +24,7 @@ import org.opendaylight.yangtools.yang.model.api.ConstraintDefinition; import org.opendaylight.yangtools.yang.model.api.ContainerSchemaNode; import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; +import org.opendaylight.yangtools.yang.model.api.MandatoryAware; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -70,9 +71,10 @@ abstract class MandatoryLeafEnforcer implements Immutable { findMandatoryNodes(builder, id.node(NodeIdentifier.create(child.getQName())), container, type); } } else { + final boolean mandatory = child instanceof MandatoryAware && ((MandatoryAware) child).isMandatory(); final ConstraintDefinition constraints = child.getConstraints(); final Integer minElements = constraints.getMinElements(); - if (constraints.isMandatory() || minElements != null && minElements.intValue() > 0) { + if (mandatory || minElements != null && minElements.intValue() > 0) { final YangInstanceIdentifier childId = id.node(NodeIdentifier.create(child.getQName())); LOG.debug("Adding mandatory child {}", childId); builder.add(childId.toOptimized());