X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FNotificationBuilder.java;h=14b701fe9eb9dd412a76665bdad0d471e45df1db;hb=88187167a1b7928602fd8d72cb7d4dc2b38dfa70;hp=956d8fe449e9d9301dd020a7b6a1c628da7111c5;hpb=57fecc4d1681146cef30525950dd74a7ff657850;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java index 956d8fe449..14b701fe9e 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/NotificationBuilder.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; @@ -31,15 +32,14 @@ import org.opendaylight.controller.yang.parser.builder.api.AugmentationTargetBui 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.SchemaNodeBuilder; -import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionAwareBuilder; 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; -public final class NotificationBuilder extends AbstractDataNodeContainerBuilder - implements TypeDefinitionAwareBuilder, SchemaNodeBuilder, AugmentationTargetBuilder { +public final class NotificationBuilder extends AbstractDataNodeContainerBuilder implements SchemaNodeBuilder, + AugmentationTargetBuilder { private boolean isBuilt; private final NotificationDefinitionImpl instance; - private final int line; private SchemaPath schemaPath; private String description; private String reference; @@ -48,11 +48,9 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder private final Set addedUsesNodes = new HashSet(); private Set augmentations; private final Set addedAugmentations = new HashSet(); - private final List addedUnknownNodes = new ArrayList(); - NotificationBuilder(final QName qname, final int line) { - super(qname); - this.line = line; + NotificationBuilder(final int line, final QName qname) { + super(line, qname); instance = new NotificationDefinitionImpl(qname); } @@ -65,21 +63,21 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder instance.setStatus(status); // CHILD NODES - final Map childs = new HashMap(); + final Map childs = new TreeMap(Comparators.QNAME_COMP); for (DataSchemaNodeBuilder node : addedChildNodes) { childs.put(node.getQName(), node.build()); } instance.setChildNodes(childs); // GROUPINGS - final Set groupingDefs = new HashSet(); + final Set groupingDefs = new TreeSet(Comparators.SCHEMA_NODE_COMP); for (GroupingBuilder builder : addedGroupings) { groupingDefs.add(builder.build()); } instance.setGroupings(groupingDefs); // TYPEDEFS - final Set> typedefs = new HashSet>(); + final Set> typedefs = new TreeSet>(Comparators.SCHEMA_NODE_COMP); for (TypeDefinitionBuilder entry : addedTypedefs) { typedefs.add(entry.build()); } @@ -93,7 +91,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder instance.setUses(uses); // AUGMENTATIONS - if(augmentations == null) { + if (augmentations == null) { augmentations = new HashSet(); for (AugmentationSchemaBuilder builder : addedAugmentations) { augmentations.add(builder.build()); @@ -106,6 +104,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { unknownNodes.add(b.build()); } + Collections.sort(unknownNodes, Comparators.SCHEMA_NODE_COMP); instance.setUnknownSchemaNodes(unknownNodes); isBuilt = true; @@ -121,12 +120,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder } @Override - public int getLine() { - return line; - } - - @Override - public Set getTypeDefinitions() { + public Set getTypeDefinitionBuilders() { return addedTypedefs; } @@ -177,7 +171,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder @Override public void setStatus(final Status status) { - if(status != null) { + if (status != null) { this.status = status; } } @@ -195,11 +189,6 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder this.augmentations = augmentations; } - @Override - public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) { - addedUnknownNodes.add(unknownNode); - } - @Override public String toString() { return "notification " + getQName().getLocalName(); @@ -303,8 +292,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder return typeDefinitions; } - private void setTypeDefinitions( - final Set> typeDefinitions) { + private void setTypeDefinitions(final Set> typeDefinitions) { if (typeDefinitions != null) { this.typeDefinitions = typeDefinitions; } @@ -315,8 +303,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder return augmentations; } - private void setAvailableAugmentations( - Set augmentations) { + private void setAvailableAugmentations(Set augmentations) { if (augmentations != null) { this.augmentations = augmentations; } @@ -327,8 +314,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder return unknownNodes; } - private void setUnknownSchemaNodes( - final List unknownNodes) { + private void setUnknownSchemaNodes(final List unknownNodes) { if (unknownNodes != null) { this.unknownNodes = unknownNodes; } @@ -395,8 +381,7 @@ public final class NotificationBuilder extends AbstractDataNodeContainerBuilder @Override public String toString() { - StringBuilder sb = new StringBuilder( - NotificationDefinitionImpl.class.getSimpleName()); + StringBuilder sb = new StringBuilder(NotificationDefinitionImpl.class.getSimpleName()); sb.append("[qname=" + qname + ", path=" + path + "]"); return sb.toString(); }