X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FAugmentationSchemaBuilderImpl.java;h=b534ba4f6013bb91056e30e1294486ec5b3e5086;hp=b18f2558f74e6f559c023693c480708c7d3d6668;hb=154b5dde1af41aff2ae0cc6e08400153162a4a3c;hpb=c9006d027a5c5b639e57aa7b8484ec1ff3497dc8 diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java index b18f2558f7..b534ba4f60 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/AugmentationSchemaBuilderImpl.java @@ -9,11 +9,12 @@ package org.opendaylight.controller.yang.parser.builder.impl; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; import org.opendaylight.controller.yang.common.QName; import org.opendaylight.controller.yang.model.api.AugmentationSchema; @@ -32,6 +33,7 @@ import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder import org.opendaylight.controller.yang.parser.builder.api.GroupingBuilder; import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder; import org.opendaylight.controller.yang.parser.builder.api.UsesNodeBuilder; +import org.opendaylight.controller.yang.parser.util.Comparators; import org.opendaylight.controller.yang.parser.util.YangModelBuilderUtil; import org.opendaylight.controller.yang.parser.util.YangParseException; @@ -39,7 +41,7 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu private boolean built; private final AugmentationSchemaImpl instance; private final int line; - private final Builder parent; + private Builder parent; private String whenCondition; private String description; @@ -56,12 +58,10 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu private final List addedUnknownNodes = new ArrayList(); private boolean resolved; - AugmentationSchemaBuilderImpl(final String augmentTargetStr, final int line, final Builder parent) { + AugmentationSchemaBuilderImpl(final int line, final String augmentTargetStr) { this.augmentTargetStr = augmentTargetStr; this.line = line; - this.parent = parent; - final SchemaPath targetPath = YangModelBuilderUtil - .parseAugmentPath(augmentTargetStr); + final SchemaPath targetPath = YangModelBuilderUtil.parseAugmentPath(augmentTargetStr); dirtyAugmentTarget = targetPath; instance = new AugmentationSchemaImpl(targetPath); } @@ -76,6 +76,10 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu return parent; } + @Override + public void setParent(final Builder parent) { + this.parent = parent; + } @Override public void addChildNode(DataSchemaNodeBuilder childNode) { @@ -145,14 +149,15 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu instance.setWhenCondition(whenStmt); // CHILD NODES - final Map childs = new HashMap(); + final Map childs = new TreeMap(Comparators.QNAME_COMP); for (DataSchemaNodeBuilder node : childNodes) { childs.put(node.getQName(), node.build()); } instance.setChildNodes(childs); // GROUPINGS - final Set groupingDefinitions = new HashSet(); + final Set groupingDefinitions = new TreeSet( + Comparators.SCHEMA_NODE_COMP); for (GroupingBuilder builder : groupings) { groupingDefinitions.add(builder.build()); } @@ -170,6 +175,7 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { unknownNodes.add(b.build()); } + Collections.sort(unknownNodes, Comparators.SCHEMA_NODE_COMP); instance.setUnknownSchemaNodes(unknownNodes); built = true; @@ -202,8 +208,7 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu @Override public void addTypedef(TypeDefinitionBuilder type) { - throw new YangParseException(line, - "Augmentation can not contains typedef statement."); + throw new YangParseException(line, "Augmentation can not contains typedef statement."); } @Override @@ -218,7 +223,7 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu @Override public void setStatus(Status status) { - if(status != null) { + if (status != null) { this.status = status; } } @@ -251,13 +256,9 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu public int hashCode() { final int prime = 17; int result = 1; - result = prime - * result - + ((augmentTargetStr == null) ? 0 : augmentTargetStr.hashCode()); - result = prime * result - + ((whenCondition == null) ? 0 : whenCondition.hashCode()); - result = prime * result - + ((childNodes == null) ? 0 : childNodes.hashCode()); + result = prime * result + ((augmentTargetStr == null) ? 0 : augmentTargetStr.hashCode()); + result = prime * result + ((whenCondition == null) ? 0 : whenCondition.hashCode()); + result = prime * result + ((childNodes == null) ? 0 : childNodes.hashCode()); return result; } @@ -297,6 +298,10 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu return true; } + public String toString() { + return "augment " + augmentTargetStr; + } + private final class AugmentationSchemaImpl implements AugmentationSchema { private SchemaPath targetPath; private RevisionAwareXPath whenCondition; @@ -332,7 +337,9 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu @Override public Set getChildNodes() { - return new HashSet(childNodes.values()); + final Set result = new TreeSet(Comparators.SCHEMA_NODE_COMP); + result.addAll(childNodes.values()); + return result; } private void setChildNodes(Map childNodes) { @@ -399,12 +406,12 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu this.status = status; } + @Override public List getUnknownSchemaNodes() { return unknownNodes; } - private void setUnknownSchemaNodes( - List unknownSchemaNodes) { + private void setUnknownSchemaNodes(List unknownSchemaNodes) { if (unknownSchemaNodes != null) { this.unknownNodes = unknownSchemaNodes; } @@ -431,12 +438,9 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu public int hashCode() { final int prime = 17; int result = 1; - result = prime * result - + ((targetPath == null) ? 0 : targetPath.hashCode()); - result = prime * result - + ((whenCondition == null) ? 0 : whenCondition.hashCode()); - result = prime * result - + ((childNodes == null) ? 0 : childNodes.hashCode()); + result = prime * result + ((targetPath == null) ? 0 : targetPath.hashCode()); + result = prime * result + ((whenCondition == null) ? 0 : whenCondition.hashCode()); + result = prime * result + ((childNodes == null) ? 0 : childNodes.hashCode()); return result; } @@ -478,8 +482,7 @@ public final class AugmentationSchemaBuilderImpl implements AugmentationSchemaBu @Override public String toString() { - StringBuilder sb = new StringBuilder( - AugmentationSchemaImpl.class.getSimpleName()); + StringBuilder sb = new StringBuilder(AugmentationSchemaImpl.class.getSimpleName()); sb.append("["); sb.append("targetPath=" + targetPath); sb.append(", when=" + whenCondition);