import org.opendaylight.controller.antlrv4.code.gen.YangParser.Yang_version_stmtContext;
import org.opendaylight.controller.antlrv4.code.gen.YangParserBaseListener;
import org.opendaylight.controller.yang.common.QName;
+import org.opendaylight.controller.yang.model.api.SchemaPath;
import org.opendaylight.controller.yang.model.api.Status;
import org.opendaylight.controller.yang.model.api.TypeDefinition;
import org.opendaylight.controller.yang.model.parser.builder.api.AugmentationSchemaBuilder;
import org.opendaylight.controller.yang.model.parser.builder.api.GroupingBuilder;
-import org.opendaylight.controller.yang.model.parser.builder.api.UsesNodeBuilder;
import org.opendaylight.controller.yang.model.parser.builder.impl.AnyXmlBuilder;
import org.opendaylight.controller.yang.model.parser.builder.impl.ChoiceBuilder;
import org.opendaylight.controller.yang.model.parser.builder.impl.ChoiceCaseBuilder;
moduleBuilder.setType(type, actualPath);
} else {
if ("union".equals(typeName)) {
- moduleBuilder.addUnionType(actualPath);
+ moduleBuilder.addUnionType(actualPath, namespace, revision);
} else if("identityref".equals(typeName)) {
- moduleBuilder.addIdentityrefType(getIdentityrefBase(typeBody), actualPath);
+ SchemaPath path = createActualSchemaPath(actualPath, namespace, revision, yangModelPrefix);
+ moduleBuilder.addIdentityrefType(getIdentityrefBase(typeBody), actualPath, path);
} else {
List<String> typePath = new ArrayList<String>(actualPath);
typePath.remove(0);
@Override
public void enterUses_stmt(YangParser.Uses_stmtContext ctx) {
final String groupingPathStr = stringFromNode(ctx);
- UsesNodeBuilder builder = moduleBuilder.addUsesNode(groupingPathStr,
+ moduleBuilder.addUsesNode(groupingPathStr,
actualPath);
updatePath(groupingPathStr);
-
- final List<RefineHolder> refines = parseRefines(ctx);
- builder.setRefines(refines);
}
@Override
logger.debug("exiting " + actContainer);
}
+ @Override
+ public void enterRefine_stmt(YangParser.Refine_stmtContext ctx) {
+ String refineString = stringFromNode(ctx);
+ RefineHolder refine = parseRefine(ctx);
+ moduleBuilder.addRefine(refine, actualPath);
+ updatePath(refineString);
+ }
+
+ @Override
+ public void exitRefine_stmt(YangParser.Refine_stmtContext ctx) {
+ final String actContainer = actualPath.pop();
+ logger.debug("exiting " + actContainer);
+ }
+
@Override
public void enterLeaf_list_stmt(Leaf_list_stmtContext ctx) {
final String leafListName = stringFromNode(ctx);