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=222290188e3ad019ad23300666c792aede587376;hb=0f393657ea0987d02556ea6e2a367d492a8e5a04;hp=1c63002f347e0b55e6b2091bf8d4e0d652f09cb5;hpb=8992ae54ecd2c79e0d93d0904962c5f32f3bb33a;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..222290188e 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,7 +17,8 @@ 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; @@ -34,16 +35,21 @@ 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); + + // 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; } @@ -103,7 +109,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;