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=e36adbdeb2850f09102f244ef2fc2422377a1946;hb=f0b551cfbf794966124da7475935c27c3e7311c0;hp=5b9638eb63dc715a7b58a6b810fe6095810fa938;hpb=50d50e106bcbe761b05417e747c217c1f5b36534;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 5b9638eb63..e36adbdeb2 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 @@ -26,13 +26,15 @@ 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; -public final class RpcDefinitionBuilder implements SchemaNodeBuilder, - TypeDefinitionAwareBuilder { +public final class RpcDefinitionBuilder implements SchemaNodeBuilder, TypeDefinitionAwareBuilder { private boolean isBuilt; private final RpcDefinitionImpl instance; private final int line; private final QName qname; private SchemaPath schemaPath; + private String description; + private String reference; + private Status status = Status.CURRENT; private ContainerSchemaNodeBuilder inputBuilder; private ContainerSchemaNodeBuilder outputBuilder; private final Set addedTypedefs = new HashSet(); @@ -48,8 +50,12 @@ public final class RpcDefinitionBuilder implements SchemaNodeBuilder, @Override public RpcDefinition build() { if (!isBuilt) { - final ContainerSchemaNode input = inputBuilder.build(); - final ContainerSchemaNode output = outputBuilder.build(); + instance.setDescription(description); + instance.setReference(reference); + instance.setStatus(status); + + final ContainerSchemaNode input = inputBuilder == null ? null : inputBuilder.build(); + final ContainerSchemaNode output = outputBuilder == null ? null : outputBuilder.build(); instance.setInput(input); instance.setOutput(output); @@ -103,6 +109,10 @@ public final class RpcDefinitionBuilder implements SchemaNodeBuilder, addedTypedefs.add(type); } + public Set getGroupings() { + return addedGroupings; + } + public void addGrouping(GroupingBuilder grouping) { addedGroupings.add(grouping); } @@ -117,19 +127,36 @@ public final class RpcDefinitionBuilder implements SchemaNodeBuilder, this.schemaPath = schemaPath; } + @Override + public String getDescription() { + return description; + } + @Override public void setDescription(final String description) { - instance.setDescription(description); + this.description = description; + } + + @Override + public String getReference() { + return reference; } @Override - public void setReference(final String reference) { - instance.setReference(reference); + public void setReference(String reference) { + this.reference = reference; + } + + @Override + public Status getStatus() { + return status; } @Override public void setStatus(final Status status) { - instance.setStatus(status); + if (status != null) { + this.status = status; + } } @Override @@ -144,7 +171,11 @@ public final class RpcDefinitionBuilder implements SchemaNodeBuilder, @Override public int hashCode() { - return qname.hashCode(); + final int prime = 31; + int result = 1; + result = prime * result + ((qname == null) ? 0 : qname.hashCode()); + result = prime * result + ((schemaPath == null) ? 0 : schemaPath.hashCode()); + return result; } @Override @@ -163,6 +194,13 @@ public final class RpcDefinitionBuilder implements SchemaNodeBuilder, } else if (!other.qname.equals(this.qname)) { return false; } + if (other.schemaPath == null) { + if (this.schemaPath != null) { + return false; + } + } else if (!other.schemaPath.equals(this.schemaPath)) { + return false; + } return true; } @@ -310,8 +348,7 @@ public final class RpcDefinitionBuilder implements SchemaNodeBuilder, @Override public String toString() { - StringBuilder sb = new StringBuilder( - RpcDefinitionImpl.class.getSimpleName() + "["); + StringBuilder sb = new StringBuilder(RpcDefinitionImpl.class.getSimpleName() + "["); sb.append("qname=" + qname); sb.append(", path=" + path); sb.append(", input=" + input);