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%2FRpcDefinitionBuilder.java;h=65b15c583b672b30acc0be6531b91209d3202458;hb=88187167a1b7928602fd8d72cb7d4dc2b38dfa70;hp=8cb4a6e56cb46b7d903e8e0d4a3ec9a482b03666;hpb=b36cea2d468e8f572f0159332b0668fc35c95912;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/RpcDefinitionBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/RpcDefinitionBuilder.java index 8cb4a6e56c..65b15c583b 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/RpcDefinitionBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/RpcDefinitionBuilder.java @@ -12,6 +12,7 @@ import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Set; +import java.util.TreeSet; import org.opendaylight.controller.yang.common.QName; import org.opendaylight.controller.yang.model.api.ContainerSchemaNode; @@ -23,10 +24,10 @@ import org.opendaylight.controller.yang.model.api.TypeDefinition; import org.opendaylight.controller.yang.model.api.UnknownSchemaNode; import org.opendaylight.controller.yang.parser.builder.api.AbstractSchemaNodeBuilder; import org.opendaylight.controller.yang.parser.builder.api.GroupingBuilder; -import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionAwareBuilder; import org.opendaylight.controller.yang.parser.builder.api.TypeDefinitionBuilder; +import org.opendaylight.controller.yang.parser.util.Comparators; -public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder implements TypeDefinitionAwareBuilder { +public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder { private boolean isBuilt; private final RpcDefinitionImpl instance; private ContainerSchemaNodeBuilder inputBuilder; @@ -34,8 +35,8 @@ public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder implem private final Set addedTypedefs = new HashSet(); private final Set addedGroupings = new HashSet(); - RpcDefinitionBuilder(final QName qname, final int line) { - super(qname, line); + RpcDefinitionBuilder(final int line, final QName qname) { + super(line, qname); this.instance = new RpcDefinitionImpl(qname); } @@ -51,26 +52,29 @@ public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder implem instance.setInput(input); instance.setOutput(output); - instance.setPath(path); + instance.setPath(schemaPath); // TYPEDEFS - final Set> typedefs = new HashSet>(); + final Set> typedefs = new TreeSet>(Comparators.SCHEMA_NODE_COMP); for (TypeDefinitionBuilder entry : addedTypedefs) { typedefs.add(entry.build()); } instance.setTypeDefinitions(typedefs); // GROUPINGS - final Set groupings = new HashSet(); + final Set groupings = new TreeSet(Comparators.SCHEMA_NODE_COMP); for (GroupingBuilder entry : addedGroupings) { groupings.add(entry.build()); } instance.setGroupings(groupings); // UNKNOWN NODES - final List unknownNodes = new ArrayList(); - for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { - unknownNodes.add(b.build()); + if (unknownNodes == null) { + unknownNodes = new ArrayList(); + for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { + unknownNodes.add(b.build()); + } + Collections.sort(unknownNodes, Comparators.SCHEMA_NODE_COMP); } instance.setUnknownSchemaNodes(unknownNodes); @@ -91,7 +95,6 @@ public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder implem return addedTypedefs; } - @Override public void addTypedef(final TypeDefinitionBuilder type) { addedTypedefs.add(type); } @@ -109,7 +112,7 @@ public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder implem final int prime = 31; int result = 1; result = prime * result + ((qname == null) ? 0 : qname.hashCode()); - result = prime * result + ((path == null) ? 0 : path.hashCode()); + result = prime * result + ((schemaPath == null) ? 0 : schemaPath.hashCode()); return result; } @@ -129,16 +132,21 @@ public final class RpcDefinitionBuilder extends AbstractSchemaNodeBuilder implem } else if (!other.qname.equals(this.qname)) { return false; } - if (other.path == null) { - if (this.path != null) { + if (other.schemaPath == null) { + if (this.schemaPath != null) { return false; } - } else if (!other.path.equals(this.path)) { + } else if (!other.schemaPath.equals(this.schemaPath)) { return false; } return true; } + @Override + public String toString() { + return "rpc " + qname.getLocalName(); + } + private final class RpcDefinitionImpl implements RpcDefinition { private final QName qname; private SchemaPath path;