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%2FModuleBuilder.java;h=484461e4e35f6c1cb08db849f876b3530dc8385e;hb=c04f8eba6fd7e6939e022071deba887bbbddffee;hp=57e87b33ad855bb345bcd0cf5d1459ac8304ca62;hpb=154b5dde1af41aff2ae0cc6e08400153162a4a3c;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/ModuleBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java index 57e87b33ad..484461e4e3 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/parser/builder/impl/ModuleBuilder.java @@ -81,7 +81,7 @@ public class ModuleBuilder implements DataNodeContainerBuilder { private final Set addedNotifications = new HashSet(); private final Set addedIdentities = new HashSet(); private final Set addedFeatures = new HashSet(); - private final Map, DeviationBuilder> addedDeviations = new HashMap, DeviationBuilder>(); + private final Set addedDeviations = new HashSet(); private final Set addedTypedefs = new HashSet(); private final Map, UnionTypeBuilder> addedUnionTypes = new HashMap, UnionTypeBuilder>(); private final List addedExtensions = new ArrayList(); @@ -165,8 +165,8 @@ public class ModuleBuilder implements DataNodeContainerBuilder { // DEVIATIONS final Set deviations = new HashSet(); - for (Map.Entry, DeviationBuilder> entry : addedDeviations.entrySet()) { - deviations.add(entry.getValue().build()); + for (DeviationBuilder entry : addedDeviations) { + deviations.add(entry.build()); } instance.setDeviations(deviations); @@ -265,6 +265,16 @@ public class ModuleBuilder implements DataNodeContainerBuilder { return childNodes; } + @Override + public DataSchemaNodeBuilder getDataChildByName(final String name) { + for(DataSchemaNodeBuilder child : childNodes) { + if(child.getQName().getLocalName().equals(name)) { + return child; + } + } + return null; + } + public Map, TypeAwareBuilder> getDirtyNodes() { return dirtyNodes; } @@ -281,6 +291,10 @@ public class ModuleBuilder implements DataNodeContainerBuilder { return allUsesNodes; } + public Set getDeviations() { + return addedDeviations; + } + public List getUnknownNodes() { List result = new ArrayList(); for (List entry : addedUnknownNodes.values()) { @@ -754,16 +768,14 @@ public class ModuleBuilder implements DataNodeContainerBuilder { } } - public DeviationBuilder addDeviation(final String targetPath, final List parentPath, final int line) { + public DeviationBuilder addDeviation(final int line, final String targetPath) { Builder parent = getActualNode(); if (parent != null) { throw new YangParseException(name, line, "deviation can be defined only in module or submodule"); } - final List pathToDeviation = new ArrayList(parentPath); - pathToDeviation.add(targetPath); - final DeviationBuilder builder = new DeviationBuilder(targetPath, line); - addedDeviations.put(pathToDeviation, builder); + final DeviationBuilder builder = new DeviationBuilder(line, targetPath); + addedDeviations.add(builder); return builder; }