X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fimpl%2FYangParserListenerImpl.java;h=1c01cd4a82b56cdbc016ed0e3f0c23eec5b833d8;hp=8b739098a067f3fbd0144963b0cce0600e091045;hb=8f13b5e59fc066808cc73879f8defcb9cf3dc82a;hpb=aa16124c5eff863f9d75a7514910008d34f3f40c diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java index 8b739098a0..1c01cd4a82 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/impl/YangParserListenerImpl.java @@ -342,7 +342,6 @@ public final class YangParserListenerImpl extends YangParserBaseListener { if ("union".equals(typeName)) { List typePath = new ArrayList(actualPath); typePath.add(typeName); - SchemaPath p = createActualSchemaPath(typePath, namespace, revision, yangModelPrefix); UnionTypeBuilder unionBuilder = moduleBuilder.addUnionType( @@ -356,16 +355,16 @@ public final class YangParserListenerImpl extends YangParserBaseListener { getIdentityrefBase(typeBody), actualPath, path, line); } else { - List typePath = new ArrayList(actualPath); - typePath.add(typeName); - - type = parseTypeBody(typeName, typeBody, typePath, - namespace, revision, yangModelPrefix); + type = parseTypeBody(typeName, typeBody, actualPath, + namespace, revision, yangModelPrefix, + moduleBuilder.getActualNode()); moduleBuilder.setType(type, actualPath); } } } else { - type = parseUnknownTypeBody(typeQName, typeBody); + type = parseUnknownTypeBody(typeQName, typeBody, actualPath, + namespace, revision, yangModelPrefix, + moduleBuilder.getActualNode(), moduleBuilder); // mark parent node of this type statement as dirty moduleBuilder.addDirtyNode(actualPath); moduleBuilder.setType(type, actualPath); @@ -411,15 +410,15 @@ public final class YangParserListenerImpl extends YangParserBaseListener { GroupingBuilder builder = moduleBuilder.addGrouping(groupQName, actualPath, ctx.getStart().getLine()); moduleBuilder.enterNode(builder); - updatePath("grouping"); updatePath(groupName); + builder.setPath(createActualSchemaPath(actualPath, namespace, revision, + yangModelPrefix)); parseSchemaNodeArgs(ctx, builder); } @Override public void exitGrouping_stmt(YangParser.Grouping_stmtContext ctx) { String actContainer = actualPath.pop(); - actContainer += "-" + actualPath.pop(); logger.debug("exiting " + actContainer); moduleBuilder.exitNode(); } @@ -496,8 +495,11 @@ public final class YangParserListenerImpl extends YangParserBaseListener { final String groupingPathStr = stringFromNode(ctx); UsesNodeBuilder builder = moduleBuilder.addUsesNode(groupingPathStr, actualPath, ctx.getStart().getLine()); + moduleBuilder.enterNode(builder); updatePath(groupingPathStr); + builder.setPath(createActualSchemaPath(actualPath, namespace, revision, + yangModelPrefix)); } @Override