From d625e657cf10d602c26374d1d6154f2d0920f8e6 Mon Sep 17 00:00:00 2001 From: Martin Vitez Date: Mon, 30 Sep 2013 13:38:45 +0200 Subject: [PATCH] Added validation of identity base statement. Signed-off-by: Martin Vitez --- .../yangtools/yang/parser/impl/YangParserImpl.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java index 3773ab4da4..1a017758eb 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java @@ -694,12 +694,21 @@ public final class YangParserImpl implements YangModelParser { final ModuleBuilder dependentModule = findModuleFromBuilders(modules, module, baseIdentityPrefix, identity.getLine()); + IdentitySchemaNodeBuilder baseIdentity = null; final Set dependentModuleIdentities = dependentModule.getIdentities(); for (IdentitySchemaNodeBuilder idBuilder : dependentModuleIdentities) { if (idBuilder.getQName().getLocalName().equals(baseIdentityLocalName)) { - identity.setBaseIdentity(idBuilder); + baseIdentity = idBuilder; + break; } } + if (baseIdentity == null) { + throw new YangParseException(module.getName(), identity.getLine(), + "Base identity " + baseIdentityName + " not found"); + } else { + identity.setBaseIdentity(baseIdentity); + } + } } } -- 2.36.6