X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FFeatureBuilder.java;h=0681cf6b155211b6b017c2e66f493f41fabb5cda;hp=cdea33bb7f3cdf19bae5f36b2ebed919292bd45e;hb=f0b551cfbf794966124da7475935c27c3e7311c0;hpb=39ff6ed2000232d607877311770c74cef36cf96f diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java index cdea33bb7f..0681cf6b15 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/FeatureBuilder.java @@ -18,11 +18,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 FeatureBuilder implements SchemaNodeBuilder { +public final class FeatureBuilder implements SchemaNodeBuilder { + private boolean isBuilt; private final FeatureDefinitionImpl 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(); FeatureBuilder(final QName qname, final int line) { @@ -33,15 +37,21 @@ public class FeatureBuilder implements SchemaNodeBuilder { @Override public FeatureDefinitionImpl build() { - instance.setPath(schemaPath); + if(!isBuilt) { + instance.setPath(schemaPath); + 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; } @@ -65,19 +75,34 @@ public class FeatureBuilder 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); + this.reference = reference; + } + + @Override + public Status getStatus() { + return status; } @Override public void setStatus(final Status status) { - instance.setStatus(status); + this.status = status; } @Override @@ -85,7 +110,7 @@ public class FeatureBuilder implements SchemaNodeBuilder { addedUnknownNodes.add(unknownNode); } - private static class FeatureDefinitionImpl implements FeatureDefinition { + private final class FeatureDefinitionImpl implements FeatureDefinition { private final QName qname; private SchemaPath path; private String description;