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%2FLeafListSchemaNodeBuilder.java;h=b35ff4e9f1146f71241ae79dfe7a00edcb3d3d34;hb=1e9531138e44cd757ca27b0d86e98eccb22ccd82;hp=60d8fb4fa77185932b44e76b1cd88a9c6b369eaf;hpb=a640c5c549376e5d72038e033d49ef6f0df96c92;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/LeafListSchemaNodeBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java index 60d8fb4fa7..b35ff4e9f1 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/LeafListSchemaNodeBuilder.java @@ -22,8 +22,9 @@ import org.opendaylight.controller.yang.parser.builder.api.AbstractTypeAwareBuil import org.opendaylight.controller.yang.parser.builder.api.DataSchemaNodeBuilder; import org.opendaylight.controller.yang.parser.builder.api.SchemaNodeBuilder; -public class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder +public final class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder implements SchemaNodeBuilder, DataSchemaNodeBuilder { + private boolean isBuilt; private final LeafListSchemaNodeImpl instance; private final int line; // SchemaNode args @@ -49,28 +50,31 @@ public class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder @Override public LeafListSchemaNode build() { - instance.setConstraints(constraints.build()); - instance.setPath(schemaPath); - instance.setDescription(description); - instance.setReference(reference); - instance.setStatus(status); - instance.setAugmenting(augmenting); - instance.setConfiguration(configuration); - instance.setUserOrdered(userOrdered); - - if (type == null) { - instance.setType(typedef.build()); - } else { - instance.setType(type); - } + if (!isBuilt) { + instance.setConstraints(constraints.build()); + instance.setPath(schemaPath); + instance.setDescription(description); + instance.setReference(reference); + instance.setStatus(status); + instance.setAugmenting(augmenting); + instance.setConfiguration(configuration); + instance.setUserOrdered(userOrdered); + + if (type == null) { + instance.setType(typedef.build()); + } else { + instance.setType(type); + } - // 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()); + } + instance.setUnknownSchemaNodes(unknownNodes); + isBuilt = true; + } return instance; } @@ -162,7 +166,7 @@ public class LeafListSchemaNodeBuilder extends AbstractTypeAwareBuilder addedUnknownNodes.add(unknownNode); } - private class LeafListSchemaNodeImpl implements LeafListSchemaNode { + private final class LeafListSchemaNodeImpl implements LeafListSchemaNode { private final QName qname; private SchemaPath path; private String description;