BUG-868: do not use ParserUtils.createSchemaPath() 10/7810/1
authorRobert Varga <rovarga@cisco.com>
Sun, 8 Jun 2014 07:20:05 +0000 (09:20 +0200)
committerRobert Varga <rovarga@cisco.com>
Sun, 8 Jun 2014 07:36:28 +0000 (09:36 +0200)
Moves from ParserUtils.createSchemaPath() to new SchemaPath utility
APIs.

Change-Id: I3671e72a39d0975dcec49f9c99ea84df1fc89cc7
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/ChoiceBuilder.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/IdentityrefTypeBuilder.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UnionTypeBuilder.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/impl/YangParserImpl.java

index c38d0efd32399528195e33ca198a6ffe86bc36ae..1fdd524d919e108ef470a108e81a5e118c06246a 100644 (file)
@@ -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);
index fca44fb1efd266598758f2ffbda9cb79d2ae4fd6..6cd8b96c1f3455d0c5ceb6eebac91e3622592ddc 100644 (file)
@@ -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<RangeConstraint> ranges) {
+    public void setRanges(final List<RangeConstraint> 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<LengthConstraint> lengths) {
+    public void setLengths(final List<LengthConstraint> 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<PatternConstraint> patterns) {
+    public void setPatterns(final List<PatternConstraint> 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);
     }
 
index 6b08839499fd2d5e39ab566e5c3cac957c5ac96a..ed48d01d652cbe5522ebd624ab22ebf7e2dba345 100644 (file)
@@ -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
index d0af63da9b88f8babcf20de1755cb0cefb7178db..c02cc5d1615cfb7df6d54e10d57ee4298f02220b 100644 (file)
@@ -918,7 +918,7 @@ public final class YangParserImpl implements YangContextParser {
      */
     private void checkAugmentMandatoryNodes(final Collection<AugmentationSchemaBuilder> 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<QName> 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<QName> path = targetPath.getPath();
-            QName q0 = path.get(0);
+            Iterable<QName> 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<QName> path = targetPath.getPath();
-            QName q0 = path.get(0);
+            Iterable<QName> 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<QName> path, final ModuleBuilder module) {
+            final Iterable<QName> path, final ModuleBuilder module) {
         final int line = dev.getLine();
         Builder currentParent = dependentModuleBuilder;