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%2Fmodel%2Fparser%2Fbuilder%2Fimpl%2FModuleBuilder.java;h=d22295ae66e3b0eb6d0fb6928cccc88a1c05c19e;hb=5384703a0df855832553100d29a82008dcfd92cb;hp=90a4547f38f90054c139eaa2f8f753e20c28883e;hpb=c8b79431119d6952b60a092e89727aa648a89bdd;p=controller.git diff --git a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/ModuleBuilder.java b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/ModuleBuilder.java index 90a4547f38..d22295ae66 100644 --- a/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/ModuleBuilder.java +++ b/opendaylight/sal/yang-prototype/code-generator/yang-model-parser-impl/src/main/java/org/opendaylight/controller/yang/model/parser/builder/impl/ModuleBuilder.java @@ -24,6 +24,7 @@ import org.opendaylight.controller.yang.model.api.Deviation; import org.opendaylight.controller.yang.model.api.ExtensionDefinition; import org.opendaylight.controller.yang.model.api.FeatureDefinition; import org.opendaylight.controller.yang.model.api.GroupingDefinition; +import org.opendaylight.controller.yang.model.api.IdentitySchemaNode; import org.opendaylight.controller.yang.model.api.Module; import org.opendaylight.controller.yang.model.api.ModuleImport; import org.opendaylight.controller.yang.model.api.NotificationDefinition; @@ -71,6 +72,7 @@ public class ModuleBuilder implements Builder { private final Map, UsesNodeBuilder> addedUsesNodes = new HashMap, UsesNodeBuilder>(); private final Map, RpcDefinitionBuilder> addedRpcs = new HashMap, RpcDefinitionBuilder>(); private final Set addedNotifications = new HashSet(); + private final Set addedIdentities = new HashSet(); private final Map, FeatureBuilder> addedFeatures = new HashMap, FeatureBuilder>(); private final Map addedDeviations = new HashMap(); private final Map, TypeDefinitionBuilder> addedTypedefs = new HashMap, TypeDefinitionBuilder>(); @@ -85,7 +87,6 @@ public class ModuleBuilder implements Builder { } - /** * Build new Module object based on this builder. */ @@ -142,6 +143,13 @@ public class ModuleBuilder implements Builder { } instance.setExtensionSchemaNodes(extensions); + // IDENTITIES + final Set identities = new HashSet(); + for(IdentitySchemaNodeBuilder idBuilder : addedIdentities) { + identities.add(idBuilder.build()); + } + instance.setIdentities(identities); + return instance; } @@ -153,6 +161,14 @@ public class ModuleBuilder implements Builder { return dirtyNodes; } + public Set getAddedAugments() { + return addedAugments; + } + + public Set getAddedIdentities() { + return addedIdentities; + } + public String getName() { return name; } @@ -165,10 +181,6 @@ public class ModuleBuilder implements Builder { return revision; } - public Set getAddedAugments() { - return addedAugments; - } - public void addDirtyNode(List path) { List dirtyNodePath = new ArrayList(path); TypeAwareBuilder nodeBuilder = (TypeAwareBuilder) moduleNodes @@ -468,6 +480,13 @@ public class ModuleBuilder implements Builder { return builder; } + public IdentitySchemaNodeBuilder addIdentity(QName qname) { + IdentitySchemaNodeBuilder builder = new IdentitySchemaNodeBuilder(qname); + addedIdentities.add(builder); + + return builder; + } + public void addConfiguration(boolean configuration, List parentPath) { Builder builder = moduleNodes.get(parentPath); if (builder instanceof DeviationBuilder) { @@ -506,6 +525,7 @@ public class ModuleBuilder implements Builder { private Set groupings = Collections.emptySet(); private Set uses = Collections.emptySet(); private List extensionSchemaNodes = Collections.emptyList(); + private Set identities = Collections.emptySet(); private ModuleImpl(String name) { this.name = name; @@ -709,6 +729,17 @@ public class ModuleBuilder implements Builder { } } + @Override + public Set getIdentities() { + return identities; + } + + private void setIdentities(Set identities) { + if(identities != null) { + this.identities = identities; + } + } + @Override public DataSchemaNode getDataChildByName(QName name) { return childNodes.get(name);