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%2FDeviationBuilder.java;h=790275cff404a11c551ff96edfbe0623946a448b;hp=239c0a5ed9a8da6c3a1682975f7a8b8258941e17;hb=3c8c7171aa9a2fdf322b85cf104ae551665aa0d8;hpb=a954bf75193626833a2bd8b7395514a8b1aec032 diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java index 239c0a5ed9..790275cff4 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/DeviationBuilder.java @@ -7,9 +7,14 @@ */ package org.opendaylight.controller.yang.parser.builder.impl; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + import org.opendaylight.controller.yang.model.api.Deviation; import org.opendaylight.controller.yang.model.api.Deviation.Deviate; import org.opendaylight.controller.yang.model.api.SchemaPath; +import org.opendaylight.controller.yang.model.api.UnknownSchemaNode; import org.opendaylight.controller.yang.parser.builder.api.Builder; import org.opendaylight.controller.yang.parser.util.YangModelBuilderUtil; import org.opendaylight.controller.yang.parser.util.YangParseException; @@ -17,6 +22,7 @@ import org.opendaylight.controller.yang.parser.util.YangParseException; public final class DeviationBuilder implements Builder { private final DeviationImpl instance; private final int line; + private final List addedUnknownNodes = new ArrayList(); DeviationBuilder(final String targetPathStr, final int line) { this.line = line; @@ -27,6 +33,13 @@ public final class DeviationBuilder implements Builder { @Override public Deviation build() { + // UNKNOWN NODES + List unknownNodes = new ArrayList(); + for (UnknownSchemaNodeBuilder b : addedUnknownNodes) { + unknownNodes.add(b.build()); + } + instance.setUnknownSchemaNodes(unknownNodes); + return instance; } @@ -35,6 +48,11 @@ public final class DeviationBuilder implements Builder { return line; } + @Override + public void addUnknownSchemaNode(UnknownSchemaNodeBuilder unknownNode) { + addedUnknownNodes.add(unknownNode); + } + public void setDeviate(final String deviate) { if ("not-supported".equals(deviate)) { instance.setDeviate(Deviate.NOT_SUPPORTED); @@ -58,6 +76,7 @@ public final class DeviationBuilder implements Builder { private final SchemaPath targetPath; private Deviate deviate; private String reference; + private List unknownNodes = Collections.emptyList(); private DeviationImpl(final SchemaPath targetPath) { this.targetPath = targetPath; @@ -86,6 +105,16 @@ public final class DeviationBuilder implements Builder { this.reference = reference; } + public List getUnknownSchemaNodes() { + return unknownNodes; + } + + private void setUnknownSchemaNodes(List unknownSchemaNodes) { + if (unknownSchemaNodes != null) { + this.unknownNodes = unknownSchemaNodes; + } + } + @Override public int hashCode() { final int prime = 31;