X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fimpl%2FYangParserImpl.java;h=75fa0f2f2f6dc6e81314588f117056bd2037ca5e;hb=1bdc29c20e850029a42dd64ece95f0a4330db611;hp=604a0c2fcff05a263ea1bcbfd02e1bd9f1af4454;hpb=c173dce5639bef5016b14debdef051e79ebe91f1;p=yangtools.git 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 604a0c2fcf..75fa0f2f2f 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 @@ -19,7 +19,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; -import java.util.HashSet; import java.util.LinkedHashMap; import java.util.LinkedHashSet; import java.util.List; @@ -43,7 +42,6 @@ import org.opendaylight.yangtools.yang.model.api.Module; import org.opendaylight.yangtools.yang.model.api.SchemaContext; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.model.api.TypeDefinition; import org.opendaylight.yangtools.yang.model.parser.api.YangModelParser; import org.opendaylight.yangtools.yang.model.util.IdentityrefType; import org.opendaylight.yangtools.yang.parser.builder.api.AugmentationSchemaBuilder; @@ -52,7 +50,6 @@ import org.opendaylight.yangtools.yang.parser.builder.api.DataNodeContainerBuild import org.opendaylight.yangtools.yang.parser.builder.api.GroupingBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.SchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.TypeAwareBuilder; -import org.opendaylight.yangtools.yang.parser.builder.api.TypeDefinitionBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.UsesNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.impl.DeviationBuilder; import org.opendaylight.yangtools.yang.parser.builder.impl.ExtensionBuilder; @@ -61,7 +58,6 @@ import org.opendaylight.yangtools.yang.parser.builder.impl.IdentityrefTypeBuilde import org.opendaylight.yangtools.yang.parser.builder.impl.ModuleBuilder; import org.opendaylight.yangtools.yang.parser.builder.impl.UnionTypeBuilder; import org.opendaylight.yangtools.yang.parser.builder.impl.UnknownSchemaNodeBuilder; -import org.opendaylight.yangtools.yang.parser.util.CopyUtils; import org.opendaylight.yangtools.yang.parser.util.GroupingUtils; import org.opendaylight.yangtools.yang.parser.util.ModuleDependencySort; import org.opendaylight.yangtools.yang.parser.util.ParserUtils; @@ -285,7 +281,6 @@ public final class YangParserImpl implements YangModelParser { fixUnresolvedNodes(modules, moduleBuilder); } } - finishResolveDirtyNodes(modules); resolveAugments(modules); resolveUses(modules); resolveDeviations(modules); @@ -315,7 +310,6 @@ public final class YangParserImpl implements YangModelParser { fixUnresolvedNodesWithContext(modules, moduleBuilder, context); } } - finishResolveDirtyNodes(modules); resolveAugmentsWithContext(modules, context); resolveUsesWithContext(modules, context); resolveDeviationsWithContext(modules, context); @@ -374,45 +368,6 @@ public final class YangParserImpl implements YangModelParser { } } - private void finishResolveDirtyNodes(final Map> modules) { - final Set dirtyNodes = new HashSet<>(); - for (Map.Entry> entry : modules.entrySet()) { - for (Map.Entry inner : entry.getValue().entrySet()) { - dirtyNodes.addAll(inner.getValue().getDirtyNodes()); - } - } - - if (!dirtyNodes.isEmpty()) { - for (TypeAwareBuilder nodeToResolve : dirtyNodes) { - if (nodeToResolve instanceof UnionTypeBuilder) { - List newTypes = new ArrayList<>(); - List oldTypes = ((UnionTypeBuilder) nodeToResolve).getTypedefs(); - for (TypeDefinitionBuilder tdb : oldTypes) { - TypeDefinitionBuilder newType = CopyUtils.copy(tdb, nodeToResolve, false); - ParserUtils.correctTypeAwareNodePath(newType); - newTypes.add(newType); - } - oldTypes.clear(); - oldTypes.addAll(newTypes); - } else if (nodeToResolve.getType() instanceof IdentityrefType) { - TypeDefinition idRef = ParserUtils.createCorrectTypeDefinition(nodeToResolve.getPath(), - nodeToResolve.getType()); - nodeToResolve.setType(idRef); - } else { - if (nodeToResolve.getType() == null) { - TypeDefinitionBuilder tdb = CopyUtils.copy(nodeToResolve.getTypedef(), nodeToResolve, false); - ParserUtils.correctTypeAwareNodePath(tdb); - nodeToResolve.setTypedef(tdb); - } else { - TypeDefinition td = ParserUtils.createCorrectTypeDefinition(nodeToResolve.getPath(), - nodeToResolve.getType()); - nodeToResolve.setType(td); - } - } - } - } - } - private void resolveDirtyNodesWithContext(final Map> modules, final ModuleBuilder module, SchemaContext context) { final Set dirtyNodes = module.getDirtyNodes();