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%2FUnknownSchemaNodeBuilder.java;h=3d3ad28891b92eba2ae222582afd905f252262a1;hb=586e8148730acc468c1d82cbac370f51c4c11681;hp=1c63002f347e0b55e6b2091bf8d4e0d652f09cb5;hpb=06aa5ce746e29a3760688b2ef2817f50bec5ea7a;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/UnknownSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnknownSchemaNodeBuilder.java index 1c63002f34..3d3ad28891 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnknownSchemaNodeBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/UnknownSchemaNodeBuilder.java @@ -17,11 +17,15 @@ import org.opendaylight.controller.yang.model.api.Status; import org.opendaylight.controller.yang.model.api.UnknownSchemaNode; import org.opendaylight.controller.yang.parser.builder.api.SchemaNodeBuilder; -public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder { +public final class UnknownSchemaNodeBuilder implements SchemaNodeBuilder { + private boolean isBuilt; private final UnknownSchemaNodeImpl instance; private final int line; private final QName qname; private SchemaPath schemaPath; + private String description; + private String reference; + private Status status = Status.CURRENT; private final List addedUnknownNodes = new ArrayList(); private QName nodeType; private String nodeParameter; @@ -34,16 +38,24 @@ public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder { @Override public UnknownSchemaNode build() { - instance.setPath(schemaPath); - instance.setNodeType(nodeType); - instance.setNodeParameter(nodeParameter); + if (!isBuilt) { + instance.setPath(schemaPath); + instance.setNodeType(nodeType); + instance.setNodeParameter(nodeParameter); + instance.setDescription(description); + instance.setReference(reference); + instance.setStatus(status); + + // UNKNOWN NODES + final List unknownNodes = new ArrayList(); + for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { + unknownNodes.add(b.build()); + } + instance.setUnknownSchemaNodes(unknownNodes); - // UNKNOWN NODES - final List unknownNodes = new ArrayList(); - for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { - unknownNodes.add(b.build()); + isBuilt = true; } - instance.setUnknownSchemaNodes(unknownNodes); + return instance; } @@ -67,19 +79,36 @@ public class UnknownSchemaNodeBuilder 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(String reference) { + this.reference = reference; } @Override - public void setReference(final String reference) { - instance.setReference(reference); + public Status getStatus() { + return status; } @Override - public void setStatus(final Status status) { - instance.setStatus(status); + public void setStatus(Status status) { + if (status != null) { + this.status = status; + } } @Override @@ -103,7 +132,7 @@ public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder { this.nodeParameter = nodeParameter; } - private static class UnknownSchemaNodeImpl implements UnknownSchemaNode { + private final class UnknownSchemaNodeImpl implements UnknownSchemaNode { private final QName qname; private SchemaPath path; private String description; @@ -165,8 +194,7 @@ public class UnknownSchemaNodeBuilder implements SchemaNodeBuilder { return unknownNodes; } - private void setUnknownSchemaNodes( - final List unknownNodes) { + private void setUnknownSchemaNodes(final List unknownNodes) { if (unknownNodes != null) { this.unknownNodes = unknownNodes; }