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%2FExtensionBuilder.java;h=a04fc3c1a68b06fa0e1667265b50417fa4831488;hp=2852a32aec45f193ac5919e828a2cf3f1f56aa1e;hb=0f393657ea0987d02556ea6e2a367d492a8e5a04;hpb=626c9943156ed658f0a4cf11858ccc19b9c316cf diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java index 2852a32aec..a04fc3c1a6 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ExtensionBuilder.java @@ -18,7 +18,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 ExtensionBuilder implements SchemaNodeBuilder { +public final class ExtensionBuilder implements SchemaNodeBuilder { + private boolean isBuilt; private final ExtensionDefinitionImpl instance; private final int line; private final QName qname; @@ -34,14 +35,18 @@ public class ExtensionBuilder implements SchemaNodeBuilder { @Override public ExtensionDefinition build() { - instance.setPath(schemaPath); + if(!isBuilt) { + instance.setPath(schemaPath); - // UNKNOWN NODES - final List extensions = new ArrayList(); - for (UnknownSchemaNodeBuilder e : addedExtensions) { - extensions.add(e.build()); + // UNKNOWN NODES + final List extensions = new ArrayList(); + for (UnknownSchemaNodeBuilder e : addedExtensions) { + extensions.add(e.build()); + } + instance.setUnknownSchemaNodes(extensions); + + isBuilt = true; } - instance.setUnknownSchemaNodes(extensions); return instance; } @@ -98,7 +103,7 @@ public class ExtensionBuilder implements SchemaNodeBuilder { addedUnknownNodes.add(unknownNode); } - private class ExtensionDefinitionImpl implements ExtensionDefinition { + private final class ExtensionDefinitionImpl implements ExtensionDefinition { private final QName qname; private String argument; private SchemaPath schemaPath;