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=f5e0bb697a69bf5b090a50f43de1fed22d4ccb63;hb=aa0d59e9afecc484e8d0e219d3156e7817266e28;hp=ffebfd4e861fbfadc93d7d346c9a0d5100a0b362;hpb=0dab204f1b81c5f0f500bc7f4bc3301b321288c3;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 ffebfd4e86..f5e0bb697a 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 @@ -15,12 +15,12 @@ import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Objects; 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.AugmentationSchemaBuilder; import org.opendaylight.yangtools.yang.parser.builder.api.Builder; @@ -37,7 +37,7 @@ import org.opendaylight.yangtools.yang.parser.util.YangParseException; 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; @@ -48,9 +48,9 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo private final List refineBuilders = 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 @@ -65,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); @@ -132,8 +134,8 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo } @Override - public String getGroupingPathAsString() { - return groupingPathString; + public SchemaPath getTargetGroupingPath() { + return targetGroupingPath; } @Override @@ -200,8 +202,8 @@ 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 + ((parentBuilder == null) ? 0 : parentBuilder.hashCode()); + result = prime * result + Objects.hashCode(groupingPath); + result = prime * result + Objects.hashCode(parentBuilder); return result; } @@ -217,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) { @@ -236,100 +238,7 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo @Override public String toString() { - return "uses '" + groupingPathString + "'"; - } - - private static final class UsesNodeImpl implements UsesNode { - private final SchemaPath groupingPath; - private ImmutableSet augmentations; - private boolean addedByUses; - private ImmutableMap refines; - private ImmutableList unknownNodes; - - private UsesNodeImpl(final SchemaPath groupingPath) { - this.groupingPath = groupingPath; - } - - @Override - public SchemaPath getGroupingPath() { - return groupingPath; - } - - @Override - public Set getAugmentations() { - return augmentations; - } - - @Override - public boolean isAugmenting() { - return false; - } - - @Override - public boolean isAddedByUses() { - return addedByUses; - } - - private void setAddedByUses(final boolean addedByUses) { - this.addedByUses = addedByUses; - } - - @Override - public Map getRefines() { - return refines; - } - - @SuppressWarnings("unused") - public List getUnknownSchemaNodes() { - return unknownNodes; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((groupingPath == null) ? 0 : groupingPath.hashCode()); - result = prime * result + ((augmentations == null) ? 0 : augmentations.hashCode()); - return result; - } - - @Override - public boolean equals(final Object obj) { - if (this == obj) { - return true; - } - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final UsesNodeImpl other = (UsesNodeImpl) obj; - if (groupingPath == null) { - if (other.groupingPath != null) { - return false; - } - } else if (!groupingPath.equals(other.groupingPath)) { - return false; - } - if (augmentations == null) { - if (other.augmentations != null) { - return false; - } - } else if (!augmentations.equals(other.augmentations)) { - return false; - } - return true; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(UsesNodeImpl.class.getSimpleName()); - sb.append("[groupingPath="); - sb.append(groupingPath); - sb.append("]"); - return sb.toString(); - } + return "uses '" + groupingPath + "'"; } }