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=5418e09451eb087d4d6d19ea2c9b20e8f08f1474;hp=0f2c7f1d09d3795b62b15b5a667b91204e8c0568;hb=0f393657ea0987d02556ea6e2a367d492a8e5a04;hpb=63680b9ec12d28383e544cdfc3af0599419d19d4 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 0f2c7f1d09..5418e09451 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,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 FeatureBuilder implements SchemaNodeBuilder { +public final class FeatureBuilder implements SchemaNodeBuilder { + private boolean isBuilt; private final FeatureDefinitionImpl instance; private final int line; private final QName qname; @@ -33,15 +34,18 @@ public class FeatureBuilder implements SchemaNodeBuilder { @Override public FeatureDefinitionImpl build() { - instance.setPath(schemaPath); + if(!isBuilt) { + instance.setPath(schemaPath); - // 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; } @@ -85,7 +89,7 @@ public class FeatureBuilder implements SchemaNodeBuilder { addedUnknownNodes.add(unknownNode); } - private class FeatureDefinitionImpl implements FeatureDefinition { + private final class FeatureDefinitionImpl implements FeatureDefinition { private final QName qname; private SchemaPath path; private String description;