From d50b1bfe8ba708d57fe6428cdd39d87853a4e779 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 8 Jun 2014 09:20:05 +0200 Subject: [PATCH] BUG-868: do not use ParserUtils.createSchemaPath() Moves from ParserUtils.createSchemaPath() to new SchemaPath utility APIs. Change-Id: I3671e72a39d0975dcec49f9c99ea84df1fc89cc7 Signed-off-by: Robert Varga --- .../parser/builder/impl/ChoiceBuilder.java | 2 +- .../builder/impl/IdentityrefTypeBuilder.java | 28 +++++++++++-------- .../parser/builder/impl/UnionTypeBuilder.java | 4 +-- .../yang/parser/impl/YangParserImpl.java | 16 +++++------ 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java index c38d0efd32..1fdd524d91 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java @@ -178,7 +178,7 @@ public final class ChoiceBuilder extends AbstractSchemaNodeBuilder implements Da caseBuilder.setAugmenting(true); caseNode.setAugmenting(false); } - SchemaPath newPath = ParserUtils.createSchemaPath(caseNode.getPath(), caseQName); + SchemaPath newPath = caseNode.getPath().createChild(caseQName); caseNode.setPath(newPath); caseBuilder.addChildNode(caseNode); caseBuilders.add(caseBuilder); diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java index fca44fb1ef..6cd8b96c1f 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java @@ -11,8 +11,12 @@ import java.util.Collections; import java.util.List; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.*; -import org.opendaylight.yangtools.yang.model.api.type.*; +import org.opendaylight.yangtools.yang.model.api.SchemaPath; +import org.opendaylight.yangtools.yang.model.api.Status; +import org.opendaylight.yangtools.yang.model.api.TypeDefinition; +import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint; +import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint; +import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint; import org.opendaylight.yangtools.yang.model.util.BaseTypes; import org.opendaylight.yangtools.yang.model.util.IdentityrefType; import org.opendaylight.yangtools.yang.parser.builder.api.AbstractTypeAwareBuilder; @@ -37,20 +41,20 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setQName(QName qname) { + public void setQName(final QName qname) { this.qname = qname; } @Override public IdentityrefType build() { - return new IdentityrefType(baseIdentity.build(), schemaPath); + return IdentityrefType.create(schemaPath, baseIdentity.build()); } public String getBaseString() { return baseString; } - public void setBaseIdentity(IdentitySchemaNodeBuilder baseIdentity) { + public void setBaseIdentity(final IdentitySchemaNodeBuilder baseIdentity) { this.baseIdentity = baseIdentity; } @@ -115,7 +119,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setPath(SchemaPath path) { + public void setPath(final SchemaPath path) { this.schemaPath = path; } @@ -140,7 +144,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setRanges(List ranges) { + public void setRanges(final List ranges) { throw new YangParseException(moduleName, line, "Can not set ranges to " + NAME); } @@ -150,7 +154,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setLengths(List lengths) { + public void setLengths(final List lengths) { throw new YangParseException(moduleName, line, "Can not set lengths to " + NAME); } @@ -160,7 +164,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setPatterns(List patterns) { + public void setPatterns(final List patterns) { throw new YangParseException(moduleName, line, "Can not set patterns to " + NAME); } @@ -170,7 +174,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setFractionDigits(Integer fractionDigits) { + public void setFractionDigits(final Integer fractionDigits) { throw new YangParseException(moduleName, line, "Can not set fraction digits to " + NAME); } @@ -185,7 +189,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setDefaultValue(Object defaultValue) { + public void setDefaultValue(final Object defaultValue) { throw new YangParseException(moduleName, line, "Can not set default value to " + NAME); } @@ -195,7 +199,7 @@ public final class IdentityrefTypeBuilder extends AbstractTypeAwareBuilder imple } @Override - public void setUnits(String units) { + public void setUnits(final String units) { throw new YangParseException(moduleName, line, "Can not set units to " + NAME); } diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java index 6b08839499..ed48d01d65 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java @@ -84,7 +84,7 @@ public final class UnionTypeBuilder extends AbstractTypeAwareBuilder implements for (TypeDefinitionBuilder tdb : typedefs) { types.add(tdb.build()); } - instance = new UnionType(types); + instance = UnionType.create(types); isBuilt = true; } return instance; @@ -122,7 +122,7 @@ public final class UnionTypeBuilder extends AbstractTypeAwareBuilder implements @Override public SchemaPath getPath() { - return BaseTypes.schemaPath(QNAME); + return SchemaPath.create(true, QNAME); } @Override 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 d0af63da9b..c02cc5d161 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 @@ -918,7 +918,7 @@ public final class YangParserImpl implements YangContextParser { */ private void checkAugmentMandatoryNodes(final Collection augments) { for (AugmentationSchemaBuilder augment : augments) { - String augmentPrefix = augment.getTargetPath().getPath().get(0).getPrefix(); + String augmentPrefix = augment.getTargetPath().getPathFromRoot().iterator().next().getPrefix(); ModuleBuilder module = ParserUtils.getParentModule(augment); String modulePrefix = module.getPrefix(); @@ -1052,8 +1052,8 @@ public final class YangParserImpl implements YangContextParser { return true; } - List targetPath = augment.getTargetPath().getPath(); - ModuleBuilder targetModule = findTargetModule(targetPath.get(0), module, modules, context, augment.getLine()); + QName targetPath = augment.getTargetPath().getPathFromRoot().iterator().next(); + ModuleBuilder targetModule = findTargetModule(targetPath, module, modules, context, augment.getLine()); if (targetModule == null) { throw new YangParseException(module.getModuleName(), augment.getLine(), "Failed to resolve augment " + augment); @@ -1497,8 +1497,8 @@ public final class YangParserImpl implements YangContextParser { for (DeviationBuilder dev : module.getDeviationBuilders()) { int line = dev.getLine(); SchemaPath targetPath = dev.getTargetPath(); - List path = targetPath.getPath(); - QName q0 = path.get(0); + Iterable path = targetPath.getPathFromRoot(); + QName q0 = path.iterator().next(); String prefix = q0.getPrefix(); if (prefix == null) { prefix = module.getPrefix(); @@ -1544,8 +1544,8 @@ public final class YangParserImpl implements YangContextParser { for (DeviationBuilder dev : module.getDeviationBuilders()) { int line = dev.getLine(); SchemaPath targetPath = dev.getTargetPath(); - List path = targetPath.getPath(); - QName q0 = path.get(0); + Iterable path = targetPath.getPathFromRoot(); + QName q0 = path.iterator().next(); String prefix = q0.getPrefix(); if (prefix == null) { prefix = module.getPrefix(); @@ -1591,7 +1591,7 @@ public final class YangParserImpl implements YangContextParser { * current module */ private void processDeviation(final DeviationBuilder dev, final ModuleBuilder dependentModuleBuilder, - final List path, final ModuleBuilder module) { + final Iterable path, final ModuleBuilder module) { final int line = dev.getLine(); Builder currentParent = dependentModuleBuilder; -- 2.36.6