import org.opendaylight.controller.yang.model.api.ExtensionDefinition;\r
import org.opendaylight.controller.yang.model.api.FeatureDefinition;\r
import org.opendaylight.controller.yang.model.api.GroupingDefinition;\r
+import org.opendaylight.controller.yang.model.api.IdentitySchemaNode;\r
import org.opendaylight.controller.yang.model.api.Module;\r
import org.opendaylight.controller.yang.model.api.ModuleImport;\r
import org.opendaylight.controller.yang.model.api.NotificationDefinition;\r
private final Map<List<String>, UsesNodeBuilder> addedUsesNodes = new HashMap<List<String>, UsesNodeBuilder>();\r
private final Map<List<String>, RpcDefinitionBuilder> addedRpcs = new HashMap<List<String>, RpcDefinitionBuilder>();\r
private final Set<NotificationBuilder> addedNotifications = new HashSet<NotificationBuilder>();\r
+ private final Set<IdentitySchemaNodeBuilder> addedIdentities = new HashSet<IdentitySchemaNodeBuilder>();\r
private final Map<List<String>, FeatureBuilder> addedFeatures = new HashMap<List<String>, FeatureBuilder>();\r
private final Map<String, DeviationBuilder> addedDeviations = new HashMap<String, DeviationBuilder>();\r
private final Map<List<String>, TypeDefinitionBuilder> addedTypedefs = new HashMap<List<String>, TypeDefinitionBuilder>();\r
}\r
\r
\r
-\r
/**\r
* Build new Module object based on this builder.\r
*/\r
}\r
instance.setExtensionSchemaNodes(extensions);\r
\r
+ // IDENTITIES\r
+ final Set<IdentitySchemaNode> identities = new HashSet<IdentitySchemaNode>();\r
+ for(IdentitySchemaNodeBuilder idBuilder : addedIdentities) {\r
+ identities.add(idBuilder.build());\r
+ }\r
+ instance.setIdentities(identities);\r
+\r
return instance;\r
}\r
\r
return dirtyNodes;\r
}\r
\r
+ public Set<AugmentationSchemaBuilder> getAddedAugments() {\r
+ return addedAugments;\r
+ }\r
+\r
+ public Set<IdentitySchemaNodeBuilder> getAddedIdentities() {\r
+ return addedIdentities;\r
+ }\r
+\r
public String getName() {\r
return name;\r
}\r
return revision;\r
}\r
\r
- public Set<AugmentationSchemaBuilder> getAddedAugments() {\r
- return addedAugments;\r
- }\r
-\r
public void addDirtyNode(List<String> path) {\r
List<String> dirtyNodePath = new ArrayList<String>(path);\r
TypeAwareBuilder nodeBuilder = (TypeAwareBuilder) moduleNodes\r
return builder;\r
}\r
\r
+ public IdentitySchemaNodeBuilder addIdentity(QName qname) {\r
+ IdentitySchemaNodeBuilder builder = new IdentitySchemaNodeBuilder(qname);\r
+ addedIdentities.add(builder);\r
+\r
+ return builder;\r
+ }\r
+\r
public void addConfiguration(boolean configuration, List<String> parentPath) {\r
Builder builder = moduleNodes.get(parentPath);\r
if (builder instanceof DeviationBuilder) {\r
private Set<GroupingDefinition> groupings = Collections.emptySet();\r
private Set<UsesNode> uses = Collections.emptySet();\r
private List<ExtensionDefinition> extensionSchemaNodes = Collections.emptyList();\r
+ private Set<IdentitySchemaNode> identities = Collections.emptySet();\r
\r
private ModuleImpl(String name) {\r
this.name = name;\r
}\r
}\r
\r
+ @Override\r
+ public Set<IdentitySchemaNode> getIdentities() {\r
+ return identities;\r
+ }\r
+\r
+ private void setIdentities(Set<IdentitySchemaNode> identities) {\r
+ if(identities != null) {\r
+ this.identities = identities;\r
+ }\r
+ }\r
+\r
@Override\r
public DataSchemaNode getDataChildByName(QName name) {\r
return childNodes.get(name);\r