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%2Fstmt%2Frfc6020%2Feffective%2FChoiceEffectiveStatementImpl.java;h=74fdd97c242d39de19ed18762818326a7cfd2635;hb=3c4bdfac3a8b04ecd1d6eab2cdadbb365b54664e;hp=5cec7dd05d01c7d9f168151ffd9cb259c0f90c4a;hpb=e99bf7da4cf4f715e6d899a8c41a8df2853e3055;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java index 5cec7dd05d..74fdd97c24 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ChoiceEffectiveStatementImpl.java @@ -1,4 +1,4 @@ -/** +/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the @@ -11,7 +11,8 @@ import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import java.util.Collection; -import java.util.HashSet; +import java.util.Comparator; +import java.util.LinkedHashSet; import java.util.Objects; import java.util.Set; import java.util.SortedSet; @@ -27,13 +28,20 @@ import org.opendaylight.yangtools.yang.model.api.DerivableSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafListSchemaNode; import org.opendaylight.yangtools.yang.model.api.LeafSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; +import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceStatement; -import org.opendaylight.yangtools.yang.parser.builder.util.Comparators; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; public final class ChoiceEffectiveStatementImpl extends AbstractEffectiveDataSchemaNode implements ChoiceSchemaNode, DerivableSchemaNode { + /** + * Comparator based on alphabetical order of local name of SchemaNode's + * qname. + */ + private static final Comparator SCHEMA_NODE_COMP = (o1, o2) -> { + return o1.getQName().compareTo(o2.getQName()); + }; private final ChoiceSchemaNode original; private final String defaultCase; @@ -51,8 +59,8 @@ public final class ChoiceEffectiveStatementImpl extends AbstractEffectiveDataSch // initSubstatementCollectionsAndFields Collection> effectiveSubstatements = effectiveSubstatements(); - Set augmentationsInit = new HashSet<>(); - SortedSet casesInit = new TreeSet<>(Comparators.SCHEMA_NODE_COMP); + Set augmentationsInit = new LinkedHashSet<>(); + SortedSet casesInit = new TreeSet<>(SCHEMA_NODE_COMP); for (EffectiveStatement effectiveStatement : effectiveSubstatements) { if (effectiveStatement instanceof AugmentationSchema) { @@ -170,10 +178,8 @@ public final class ChoiceEffectiveStatementImpl extends AbstractEffectiveDataSch @Override public String toString() { - StringBuilder sb = new StringBuilder(ChoiceEffectiveStatementImpl.class.getSimpleName()); - sb.append("["); - sb.append("qname=").append(getQName()); - sb.append("]"); - return sb.toString(); + return ChoiceEffectiveStatementImpl.class.getSimpleName() + "[" + + "qname=" + getQName() + + "]"; } }