import java.util.Collections;
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
+import java.util.TreeMap;
import java.util.TreeSet;
import org.opendaylight.yangtools.yang.common.QName;
public abstract class AbstractDataNodeContainerBuilder extends AbstractBuilder implements DataNodeContainerBuilder {
protected final QName qname;
- protected final Set<DataSchemaNode> childNodes = new TreeSet<>(Comparators.SCHEMA_NODE_COMP);
+ protected final Map<QName, DataSchemaNode> childNodes = new TreeMap<>();
protected final Set<DataSchemaNodeBuilder> addedChildNodes = new HashSet<>();
protected final Set<GroupingDefinition> groupings = new TreeSet<>(Comparators.SCHEMA_NODE_COMP);
return qname;
}
- public Set<DataSchemaNode> getChildNodes() {
+ public Map<QName, DataSchemaNode> getChildNodes() {
return childNodes;
}
}
@Override
- public void addChildNode(DataSchemaNodeBuilder child) {
+ public void addChildNode(final DataSchemaNodeBuilder child) {
QName childName = child.getQName();
for (DataSchemaNodeBuilder addedChildNode : addedChildNodes) {
if (addedChildNode.getQName().equals(childName)) {
}
@Override
- public void addChildNodeToContext(DataSchemaNodeBuilder child) {
+ public void addChildNodeToContext(final DataSchemaNodeBuilder child) {
addedChildNodes.add(child);
}
@Override
- public void addChildNode(DataSchemaNode child) {
+ public void addChildNode(final DataSchemaNode child) {
QName childName = child.getQName();
- for (DataSchemaNode childNode : childNodes) {
- if (childNode.getQName().equals(childName)) {
- throw new YangParseException(getModuleName(), getLine(), String.format(
- "Can not add '%s' to '%s' in module '%s': node with same name already declared", child, this,
- getModuleName()));
- }
+ if (childNodes.containsKey(childName)) {
+ throw new YangParseException(getModuleName(), getLine(),
+ String.format("Can not add '%s' to '%s' in module '%s': node with same name already declared",
+ child, this, getModuleName()));
}
- childNodes.add(child);
+ childNodes.put(childName, child);
}
@Override
}
@Override
- public void addGrouping(GroupingBuilder grouping) {
+ public void addGrouping(final GroupingBuilder grouping) {
QName groupingName = grouping.getQName();
for (GroupingBuilder addedGrouping : addedGroupings) {
if (addedGrouping.getQName().equals(groupingName)) {
}
@Override
- public void addUsesNode(UsesNodeBuilder usesNode) {
+ public void addUsesNode(final UsesNodeBuilder usesNode) {
addedUsesNodes.add(usesNode);
}
- protected static DataSchemaNode getChildNode(Set<DataSchemaNode> childNodes, QName name) {
+ protected static DataSchemaNode getChildNode(final Set<DataSchemaNode> childNodes, final QName name) {
for (DataSchemaNode node : childNodes) {
if (node.getQName().equals(name)) {
return node;
return null;
}
- protected static DataSchemaNode getChildNode(Set<DataSchemaNode> childNodes, String name) {
+ protected static DataSchemaNode getChildNode(final Set<DataSchemaNode> childNodes, final String name) {
for (DataSchemaNode node : childNodes) {
if (node.getQName().getLocalName().equals(name)) {
return node;
*/
package org.opendaylight.yangtools.yang.parser.builder.impl;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
import java.net.URI;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.api.AugmentationSchema;
import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
import org.opendaylight.yangtools.yang.parser.util.ParserUtils;
import org.opendaylight.yangtools.yang.parser.util.YangParseException;
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+
public final class AugmentationSchemaBuilderImpl extends AbstractDataNodeContainerBuilder implements
AugmentationSchemaBuilder {
private final int order;
private boolean resolved;
private AugmentationSchemaBuilder copyOf;
- public AugmentationSchemaBuilderImpl(final String moduleName, final int line, final String augmentTargetStr, int order) {
+ public AugmentationSchemaBuilderImpl(final String moduleName, final int line, final String augmentTargetStr, final int order) {
super(moduleName, line, null);
this.order = order;
this.augmentTargetStr = augmentTargetStr;
// CHILD NODES
for (DataSchemaNodeBuilder node : addedChildNodes) {
- childNodes.add(node.build());
+ childNodes.put(node.getQName(), node.build());
}
- instance.childNodes = ImmutableSet.copyOf(childNodes);
+ instance.childNodes = ImmutableSet.copyOf(childNodes.values());
// USES
for (UsesNodeBuilder builder : addedUsesNodes) {
}
@Override
- public int compareTo(AugmentationSchemaImpl o) {
+ public int compareTo(final AugmentationSchemaImpl o) {
Iterator<QName> thisIt = this.targetPath.getPath().iterator();
Iterator<QName> otherIt = o.getTargetPath().getPath().iterator();
while (thisIt.hasNext()) {
// CHILD NODES
for (DataSchemaNodeBuilder node : addedChildNodes) {
- childNodes.add(node.build());
+ childNodes.put(node.getQName(), node.build());
}
- instance.childNodes = ImmutableSet.copyOf(childNodes);
+ instance.childNodes = ImmutableSet.copyOf(childNodes.values());
// USES
for (UsesNodeBuilder builder : addedUsesNodes) {
}
@Override
- public void setStatus(Status status) {
+ public void setStatus(final Status status) {
this.status = Preconditions.checkNotNull(status, "status cannot be null");
}
// CHILD NODES
for (DataSchemaNodeBuilder node : addedChildNodes) {
- childNodes.add(node.build());
+ childNodes.put(node.getQName(), node.build());
}
- instance.childNodes = ImmutableSet.copyOf(childNodes);
+ instance.childNodes = ImmutableSet.copyOf(childNodes.values());
// GROUPINGS
for (GroupingBuilder builder : addedGroupings) {
}
@Override
- public void addAugmentation(AugmentationSchemaBuilder augment) {
+ public void addAugmentation(final AugmentationSchemaBuilder augment) {
augmentationBuilders.add(augment);
}
}
@Override
- public void setPath(SchemaPath path) {
+ public void setPath(final SchemaPath path) {
this.path = path;
}
}
@Override
- public void setStatus(Status status) {
+ public void setStatus(final Status status) {
this.status = Preconditions.checkNotNull(status, "status cannot be null");
}
}
@Override
- public void setAugmenting(boolean augmenting) {
+ public void setAugmenting(final boolean augmenting) {
this.augmenting = augmenting;
}
}
@Override
- public void setConfiguration(boolean configuration) {
+ public void setConfiguration(final boolean configuration) {
this.configuration = configuration;
}
return presence;
}
- public void setPresence(boolean presence) {
+ public void setPresence(final boolean presence) {
this.presence = presence;
}
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
private boolean presence;
- private ContainerSchemaNodeImpl(QName qname, SchemaPath path) {
+ private ContainerSchemaNodeImpl(final QName qname, final SchemaPath path) {
this.qname = qname;
this.path = path;
}
}
@Override
- public DataSchemaNode getDataChildByName(QName name) {
+ public DataSchemaNode getDataChildByName(final QName name) {
return getChildNode(childNodes, name);
}
@Override
- public DataSchemaNode getDataChildByName(String name) {
+ public DataSchemaNode getDataChildByName(final String name) {
return getChildNode(childNodes, name);
}
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
// CHILD NODES
for (DataSchemaNodeBuilder node : addedChildNodes) {
- childNodes.add(node.build());
+ childNodes.put(node.getQName(), node.build());
}
- instance.childNodes = ImmutableSet.copyOf(childNodes);
+ instance.childNodes = ImmutableSet.copyOf(childNodes.values());
// GROUPINGS
for (GroupingBuilder builder : addedGroupings) {
}
@Override
- public Set<DataSchemaNodeBuilder> instantiateChildNodes(Builder newParent) {
+ public Set<DataSchemaNodeBuilder> instantiateChildNodes(final Builder newParent) {
final Set<DataSchemaNodeBuilder> nodes = new HashSet<>();
for (DataSchemaNodeBuilder node : addedChildNodes) {
DataSchemaNodeBuilder copy = CopyUtils.copy(node, newParent, true);
}
@Override
- public Set<TypeDefinitionBuilder> instantiateTypedefs(Builder newParent) {
+ public Set<TypeDefinitionBuilder> instantiateTypedefs(final Builder newParent) {
final Set<TypeDefinitionBuilder> nodes = new HashSet<>();
for (TypeDefinitionBuilder node : addedTypedefs) {
TypeDefinitionBuilder copy = CopyUtils.copy(node, newParent, true);
}
@Override
- public Set<GroupingBuilder> instantiateGroupings(Builder newParent) {
+ public Set<GroupingBuilder> instantiateGroupings(final Builder newParent) {
final Set<GroupingBuilder> nodes = new HashSet<>();
for (GroupingBuilder node : addedGroupings) {
GroupingBuilder copy = CopyUtils.copy(node, newParent, true);
}
@Override
- public Set<UnknownSchemaNodeBuilder> instantiateUnknownNodes(Builder newParent) {
+ public Set<UnknownSchemaNodeBuilder> instantiateUnknownNodes(final Builder newParent) {
final Set<UnknownSchemaNodeBuilder> nodes = new HashSet<>();
for (UnknownSchemaNodeBuilder node : addedUnknownNodes) {
UnknownSchemaNodeBuilder copy = CopyUtils.copy(node, newParent, true);
}
@Override
- public void setStatus(Status status) {
+ public void setStatus(final Status status) {
this.status = Preconditions.checkNotNull(status, "status cannot be null");
}
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
}
@Override
- public DataSchemaNode getDataChildByName(QName name) {
+ public DataSchemaNode getDataChildByName(final QName name) {
return getChildNode(childNodes, name);
}
@Override
- public DataSchemaNode getDataChildByName(String name) {
+ public DataSchemaNode getDataChildByName(final String name) {
return getChildNode(childNodes, name);
}
}
@Override
- public boolean equals(Object obj) {
+ public boolean equals(final Object obj) {
if (this == obj) {
return true;
}
// CHILD NODES
for (DataSchemaNodeBuilder node : addedChildNodes) {
- childNodes.add(node.build());
+ childNodes.put(node.getQName(), node.build());
}
- instance.childNodes = ImmutableSet.copyOf(childNodes);
+ instance.childNodes = ImmutableSet.copyOf(childNodes.values());
// KEY
if (keys == null) {
}
@Override
- public void setPath(SchemaPath path) {
+ public void setPath(final SchemaPath path) {
this.schemaPath = path;
}
}
@Override
- public void setStatus(Status status) {
+ public void setStatus(final Status status) {
this.status = Preconditions.checkNotNull(status, "status cannot be null");
}
}
@Override
- public void setAugmenting(boolean augmenting) {
+ public void setAugmenting(final boolean augmenting) {
this.augmenting = augmenting;
}
}
@Override
- public void setConfiguration(boolean configuration) {
+ public void setConfiguration(final boolean configuration) {
this.configuration = configuration;
}
import java.net.URI;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.Deque;
revision = base.getRevision();
for (DataSchemaNode childNode : base.getChildNodes()) {
- childNodes.add(childNode);
+ childNodes.put(childNode.getQName(), childNode);
}
typedefs.addAll(base.getTypeDefinitions());
// CHILD NODES
for (DataSchemaNodeBuilder child : addedChildNodes) {
- childNodes.add(child.build());
+ childNodes.put(child.getQName(), child.build());
}
- instance.addChildNodes(childNodes);
+ instance.addChildNodes(childNodes.values());
// GROUPINGS
for (GroupingBuilder gb : addedGroupings) {
return Collections.unmodifiableSet(childNodes);
}
- private void addChildNodes(final Set<DataSchemaNode> childNodes) {
+ private void addChildNodes(final Collection<DataSchemaNode> childNodes) {
if (childNodes != null) {
this.childNodes.addAll(childNodes);
}
// CHILD NODES
for (DataSchemaNodeBuilder node : addedChildNodes) {
- childNodes.add(node.build());
+ childNodes.put(node.getQName(), node.build());
}
- instance.childNodes = ImmutableSet.copyOf(childNodes);
+ instance.childNodes = ImmutableSet.copyOf(childNodes.values());
// GROUPINGS
for (GroupingBuilder builder : addedGroupings) {
}
@Override
- public void setPath(SchemaPath path) {
+ public void setPath(final SchemaPath path) {
this.schemaPath = path;
}
}
@Override
- public void setStatus(Status status) {
+ public void setStatus(final Status status) {
this.status = Preconditions.checkNotNull(status, "status cannot be null");
}
module.getAugmentBuilders().addAll(submodule.getAugmentBuilders());
module.getAllAugments().addAll(submodule.getAllAugments());
module.getChildNodeBuilders().addAll(submodule.getChildNodeBuilders());
- module.getChildNodes().addAll(submodule.getChildNodes());
+ module.getChildNodes().putAll(submodule.getChildNodes());
module.getGroupings().addAll(submodule.getGroupings());
module.getGroupingBuilders().addAll(submodule.getGroupingBuilders());
module.getTypeDefinitions().addAll(submodule.getTypeDefinitions());