X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=opendaylight%2Fsal%2Fyang-prototype%2Fcode-generator%2Fyang-model-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fyang%2Fparser%2Fbuilder%2Fimpl%2FFeatureBuilder.java;h=4d5ce9703f052d36dbd80b36de91774ac539d538;hb=refs%2Fchanges%2F79%2F579%2F2;hp=0681cf6b155211b6b017c2e66f493f41fabb5cda;hpb=586e8148730acc468c1d82cbac370f51c4c11681;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/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 0681cf6b15..4d5ce9703f 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 @@ -16,37 +16,33 @@ import org.opendaylight.controller.yang.model.api.FeatureDefinition; import org.opendaylight.controller.yang.model.api.SchemaPath; 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; +import org.opendaylight.controller.yang.parser.builder.api.AbstractSchemaNodeBuilder; +import org.opendaylight.controller.yang.parser.util.Comparators; -public final class FeatureBuilder implements SchemaNodeBuilder { +public final class FeatureBuilder extends AbstractSchemaNodeBuilder { 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) { - this.qname = qname; - this.line = line; + + FeatureBuilder(final int line, final QName qname) { + super(line, qname); instance = new FeatureDefinitionImpl(qname); } @Override public FeatureDefinitionImpl build() { - if(!isBuilt) { + 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()); + if (unknownNodes == null) { + unknownNodes = new ArrayList(); + for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { + unknownNodes.add(b.build()); + } + Collections.sort(unknownNodes, Comparators.SCHEMA_NODE_COMP); } instance.setUnknownSchemaNodes(unknownNodes); @@ -55,61 +51,6 @@ public final class FeatureBuilder implements SchemaNodeBuilder { return instance; } - @Override - public int getLine() { - return line; - } - - @Override - public QName getQName() { - return qname; - } - - @Override - public SchemaPath getPath() { - return schemaPath; - } - - @Override - public void setPath(SchemaPath schemaPath) { - this.schemaPath = schemaPath; - } - - @Override - public String getDescription() { - return description; - } - - @Override - public void setDescription(final String description) { - this.description = description; - } - - @Override - public String getReference() { - return reference; - } - - @Override - public void setReference(final String reference) { - this.reference = reference; - } - - @Override - public Status getStatus() { - return status; - } - - @Override - public void setStatus(final Status status) { - this.status = status; - } - - @Override - public void addUnknownSchemaNode(final UnknownSchemaNodeBuilder unknownNode) { - addedUnknownNodes.add(unknownNode); - } - private final class FeatureDefinitionImpl implements FeatureDefinition { private final QName qname; private SchemaPath path; @@ -170,8 +111,7 @@ public final class FeatureBuilder implements SchemaNodeBuilder { return unknownNodes; } - private void setUnknownSchemaNodes( - final List unknownNodes) { + private void setUnknownSchemaNodes(final List unknownNodes) { if (unknownNodes != null) { this.unknownNodes = unknownNodes; } @@ -217,8 +157,7 @@ public final class FeatureBuilder implements SchemaNodeBuilder { @Override public String toString() { - StringBuilder sb = new StringBuilder( - FeatureDefinitionImpl.class.getSimpleName()); + StringBuilder sb = new StringBuilder(FeatureDefinitionImpl.class.getSimpleName()); sb.append("[name=" + qname + "]"); return sb.toString(); }