From 66036e2199ebc88bbab7e74619f99664dcc9a6c7 Mon Sep 17 00:00:00 2001 From: Martin Vitez Date: Wed, 18 Sep 2013 11:17:50 +0200 Subject: [PATCH] Fixed bug in searching augment target node. Signed-off-by: Martin Vitez --- .../yang/parser/util/ParserUtils.xtend | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserUtils.xtend b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserUtils.xtend index 1d03e8a44f..59613b9ce1 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserUtils.xtend +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/util/ParserUtils.xtend @@ -289,8 +289,12 @@ public final class ParserUtils { currentName = qname.getLocalName(); if (currentParent instanceof DataNodeContainerBuilder) { var dataNodeContainerParent = currentParent as DataNodeContainerBuilder; - var nodeFound = dataNodeContainerParent.getDataChildByName(currentName); - // if not found as regular child, search in uses + var SchemaNodeBuilder nodeFound = dataNodeContainerParent.getDataChildByName(currentName); + // if not found, search in notifications + if (nodeFound == null && currentParent instanceof ModuleBuilder) { + nodeFound = searchNotifications(currentParent as ModuleBuilder, currentName); + } + // if not found, search in uses if (nodeFound == null) { var found = searchUses(dataNodeContainerParent, currentName); if(found == null) { @@ -317,7 +321,16 @@ public final class ParserUtils { } return currentParent; } - + + private static def searchNotifications(ModuleBuilder parent, String name) { + for(notification : parent.notifications) { + if(notification.getQName().localName.equals(name)) { + return notification; + } + } + return null; + } + private static def searchUses(DataNodeContainerBuilder dataNodeContainerParent, String name) { var currentName = name; for (unb : dataNodeContainerParent.usesNodes) { -- 2.36.6