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=6e4e2909524d7d7abdccfa432ed3893534b32707;hb=42abb28b99a02f9580f4676ce5c315628e5bcd24;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..6e4e290952 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,41 @@ */ 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.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.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; - +/** + * @deprecated Pre-Beryllium implementation, scheduled for removal. + */ +@Deprecated 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 +50,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 +69,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 +138,8 @@ public final class UsesNodeBuilderImpl extends AbstractBuilder implements UsesNo } @Override - public String getGroupingPathAsString() { - return groupingPathString; + public SchemaPath getTargetGroupingPath() { + return targetGroupingPath; } @Override @@ -188,12 +193,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,8 +206,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; } @@ -218,11 +223,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,100 +242,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 + "'"; } }