import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStmtUtils;
import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
final class ListEffectiveStatementImpl
extends AbstractEffectiveMustConstraintAwareSimpleDataNodeContainer<ListStatement>
implements ListEffectiveStatement, ListSchemaNode, DerivableSchemaNode,
ActionNodeContainerCompat<QName, ListStatement>, NotificationNodeContainerCompat<QName, ListStatement> {
+ private static final Logger LOG = LoggerFactory.getLogger(ListEffectiveStatementImpl.class);
private static final String ORDER_BY_USER_KEYWORD = "user";
private final boolean userOrdered;
this.keyDefinition = ImmutableList.of();
}
+ if (isConfiguration() && keyDefinition.isEmpty()) {
+ LOG.info("Configuration list {} does not define any keys in violation of RFC7950 section 7.8.2. While "
+ + " this is fine with OpenDaylight, it can cause interoperability issues with other systems "
+ + "[at {}]", ctx.getStatementArgument(), ctx.getStatementSourceReference());
+ }
+
this.uniqueConstraints = ImmutableList.copyOf(allSubstatementsOfType(UniqueConstraint.class));
final Builder<ActionDefinition> actionsBuilder = ImmutableSet.builder();