From: Martin Vitez Date: Mon, 30 Jun 2014 06:57:35 +0000 (+0200) Subject: BUG-994: do not use SchemaPath.getPath() X-Git-Tag: release/helium~421^2 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F47%2F8447%2F2;p=yangtools.git BUG-994: do not use SchemaPath.getPath() Change-Id: If513126e831b6d1d8039fa2d3d1e298bd9fd411e Signed-off-by: Martin Vitez --- diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java index 19daf45e88..167b62f665 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/BuilderUtils.java @@ -7,6 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.base.Function; +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.base.Splitter; +import com.google.common.collect.Collections2; +import com.google.common.io.ByteSource; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileNotFoundException; @@ -23,7 +29,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; - import org.apache.commons.io.IOUtils; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.AnyXmlSchemaNode; @@ -59,13 +64,6 @@ import org.opendaylight.yangtools.yang.parser.util.YangParseException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Function; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.base.Splitter; -import com.google.common.collect.Collections2; -import com.google.common.io.ByteSource; - public final class BuilderUtils { private static final Logger LOG = LoggerFactory.getLogger(BuilderUtils.class); @@ -800,9 +798,7 @@ public final class BuilderUtils { Set result = new HashSet<>(); for (TypeDefinition node : nodes) { QName qname = new QName(ns, rev, pref, node.getQName().getLocalName()); - List path = new ArrayList<>(parentPath.getPath()); - path.add(qname); - SchemaPath schemaPath = SchemaPath.create(path, parentPath.isAbsolute()); + SchemaPath schemaPath = parentPath.createChild(qname); result.add(new TypeDefinitionBuilderImpl(moduleName, line, qname, schemaPath, ((ExtendedType) node))); } return result; @@ -814,9 +810,7 @@ public final class BuilderUtils { List result = new ArrayList<>(); for (UnknownSchemaNode node : nodes) { QName qname = new QName(ns, rev, pref, node.getQName().getLocalName()); - List path = new ArrayList<>(parentPath.getPath()); - path.add(qname); - SchemaPath schemaPath = SchemaPath.create(path, parentPath.isAbsolute()); + SchemaPath schemaPath = parentPath.createChild(qname); result.add(new UnknownSchemaNodeBuilderImpl(moduleName, line, qname, schemaPath, node)); } return result; 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 2f8dcf64fc..a33c76cab2 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 @@ -25,6 +25,10 @@ import static org.opendaylight.yangtools.yang.parser.builder.impl.TypeUtils.reso import static org.opendaylight.yangtools.yang.parser.builder.impl.TypeUtils.resolveTypeUnionWithContext; import static org.opendaylight.yangtools.yang.parser.builder.impl.TypeUtils.resolveTypeWithContext; +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.collect.HashBiMap; +import com.google.common.io.ByteSource; import java.io.File; import java.io.IOException; import java.io.InputStream; @@ -41,7 +45,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.TreeMap; - import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.tree.ParseTree; @@ -95,11 +98,6 @@ import org.opendaylight.yangtools.yang.parser.util.YangParseException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.collect.HashBiMap; -import com.google.common.io.ByteSource; - public final class YangParserImpl implements YangContextParser { private static final Logger LOG = LoggerFactory.getLogger(YangParserImpl.class); @@ -827,7 +825,6 @@ public final class YangParserImpl implements YangContextParser { final AugmentationSchemaBuilder augment, final SchemaContext context) { ModuleBuilder module = BuilderUtils.getParentModule(augment); SchemaPath oldSchemaPath = augment.getTargetPath(); - List oldPath = oldSchemaPath.getPath(); List newPath = new ArrayList<>(); Builder parent = augment.getParent(); @@ -851,10 +848,11 @@ public final class YangParserImpl implements YangContextParser { } final QNameModule qm = QNameModule.create(ns, revision); - for (QName qn : oldSchemaPath.getPath()) { + for (QName qn : oldSchemaPath.getPathFromRoot()) { newPath.add(QName.create(qm, prefix, qn.getLocalName())); } } else { + Iterable oldPath = oldSchemaPath.getPathFromRoot(); for (QName qn : oldPath) { URI ns = module.getNamespace(); Date rev = module.getRevision();