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%2Fbuilder%2Fimpl%2FUsesNodeBuilderImpl.java;h=ce9ccc2cc0dbd8c8ce40e0e8c0d72fdaf686c6bf;hb=ff4a1007e241b1b88883c7fb0357c5089fafcf25;hp=f038e236336c11e288bf5c81ed2d33289a8fcbdc;hpb=224551fcb0190fe3fac9027d228374e2ba3bb880;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java index f038e23633..ce9ccc2cc0 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/builder/impl/UsesNodeBuilderImpl.java @@ -7,38 +7,37 @@ */ package org.opendaylight.yangtools.yang.parser.builder.impl; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; - import org.opendaylight.yangtools.yang.model.api.AugmentationSchema; import org.opendaylight.yangtools.yang.model.api.GroupingDefinition; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.UsesNode; -import org.opendaylight.yangtools.yang.parser.builder.api.AbstractBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.AugmentationSchemaBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.Builder; import org.opendaylight.yangtools.yang.parser.builder.api.DataNodeContainerBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.GroupingBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.RefineBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.SchemaNodeBuilder; +import org.opendaylight.yangtools.yang.parser.builder.api.UnknownSchemaNodeBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.UsesNodeBuilder; -import org.opendaylight.yangtools.yang.parser.util.RefineHolder; +import org.opendaylight.yangtools.yang.parser.builder.util.AbstractBuilder; import org.opendaylight.yangtools.yang.parser.util.YangParseException; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; - public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNodeBuilder { private UsesNodeImpl instance; private DataNodeContainerBuilder parentBuilder; - private final String groupingPathString; + private final SchemaPath targetGroupingPath; private SchemaPath groupingPath; private GroupingDefinition groupingDefinition; private GroupingBuilder groupingBuilder; @@ -47,11 +46,11 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo private boolean resolved; private final Set augmentationBuilders = new HashSet<>(); private final List refineBuilders = new ArrayList<>(); - private final List refines = new ArrayList<>(); + private final List refines = new ArrayList<>(); - public UsesNodeBuilderImpl(final String moduleName, final int line, final String groupingName) { + public UsesNodeBuilderImpl(final String moduleName, final int line, final SchemaPath targetGroupingPath) { super(moduleName, line); - this.groupingPathString = groupingName; + this.targetGroupingPath = targetGroupingPath; } @Override @@ -66,7 +65,9 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo // AUGMENTATIONS final Set augments = new HashSet<>(); for (AugmentationSchemaBuilder builder : augmentationBuilders) { - augments.add(builder.build()); + if (!builder.isUnsupportedTarget()) { + augments.add(builder.build()); + } } instance.augmentations = ImmutableSet.copyOf(augments); @@ -133,8 +134,8 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo } @Override - public String getGroupingPathAsString() { - return groupingPathString; + public SchemaPath getTargetGroupingPath() { + return targetGroupingPath; } @Override @@ -188,12 +189,12 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo } @Override - public List getRefines() { + public List getRefines() { return refines; } @Override - public void addRefine(final RefineHolder refine) { + public void addRefine(final RefineBuilder refine) { refines.add(refine); } @@ -201,7 +202,7 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo public int hashCode() { final int prime = 31; int result = 1; - result = prime * result + ((groupingPathString == null) ? 0 : groupingPathString.hashCode()); + result = prime * result + ((groupingPath == null) ? 0 : groupingPath.hashCode()); result = prime * result + ((parentBuilder == null) ? 0 : parentBuilder.hashCode()); return result; } @@ -218,11 +219,11 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo return false; } UsesNodeBuilderImpl other = (UsesNodeBuilderImpl) obj; - if (groupingPathString == null) { - if (other.groupingPathString != null) { + if (groupingPath == null) { + if (other.groupingPath != null) { return false; } - } else if (!groupingPathString.equals(other.groupingPathString)) { + } else if (!groupingPath.equals(other.groupingPath)) { return false; } if (parentBuilder == null) { @@ -237,7 +238,7 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo @Override public String toString() { - return "uses '" + groupingPathString + "'"; + return "uses '" + groupingPath + "'"; } private static final class UsesNodeImpl implements UsesNode {