Bug 4540: Yang parser exceptions should follow consistent path
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / ListEffectiveStatementImpl.java
index 8ac81815b82e35c192b609860e866efe30c67d88..cb6166415ae98803c26f1ac579a8de732a393a59 100644 (file)
@@ -22,6 +22,7 @@ import org.opendaylight.yangtools.yang.model.api.ListSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ListStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
 public final class ListEffectiveStatementImpl extends AbstractEffectiveSimpleDataNodeContainer<ListStatement> implements
@@ -63,9 +64,9 @@ public final class ListEffectiveStatementImpl extends AbstractEffectiveSimpleDat
                 final QName keyQName = key.getLastComponent();
 
                 if (!possibleLeafQNamesForKey.contains(keyQName)) {
-                    throw new IllegalArgumentException(String.format("Key '%s' misses node '%s' in list '%s', file %s",
+                    throw new InferenceException(String.format("Key '%s' misses node '%s' in list '%s'",
                             keyEffectiveSubstatement.getDeclared().rawArgument(), keyQName.getLocalName(),
-                            ctx.getStatementArgument(), ctx.getStatementSourceReference()));
+                            ctx.getStatementArgument()), ctx.getStatementSourceReference());
                 }
 
                 keyDefinitionInit.add(keyQName);