[ONOS-4753] Identity/identityref implementation and UT
Change-Id: I40148fa228465555be3bdf410cc294ffc0f34c18
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
index ec25d65..6e515ad 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangModule.java
@@ -216,6 +216,17 @@
private List<YangResolutionInfo> leafrefResolutionList;
/**
+ * base resolution list.
+ */
+ private List<YangResolutionInfo> baseResolutionList;
+
+ /**
+ * identityref resolution list.
+ */
+ private List<YangResolutionInfo> identityrefResolutionList;
+
+
+ /**
* Creates a YANG node of module type.
*/
public YangModule() {
@@ -225,6 +236,8 @@
usesResolutionList = new LinkedList<>();
ifFeatureResolutionList = new LinkedList<>();
leafrefResolutionList = new LinkedList<>();
+ baseResolutionList = new LinkedList<>();
+ identityrefResolutionList = new LinkedList<>();
importList = new LinkedList<YangImport>();
includeList = new LinkedList<YangInclude>();
listOfLeaf = new LinkedList<YangLeaf>();
@@ -597,8 +610,12 @@
return usesResolutionList;
} else if (type == ResolvableType.YANG_IF_FEATURE) {
return ifFeatureResolutionList;
- } else {
+ } else if (type == ResolvableType.YANG_LEAFREF) {
return leafrefResolutionList;
+ } else if (type == ResolvableType.YANG_BASE) {
+ return baseResolutionList;
+ } else {
+ return identityrefResolutionList;
}
}
@@ -611,8 +628,12 @@
usesResolutionList.add(resolutionInfo);
} else if (type == ResolvableType.YANG_IF_FEATURE) {
ifFeatureResolutionList.add(resolutionInfo);
- } else {
+ } else if (type == ResolvableType.YANG_LEAFREF) {
leafrefResolutionList.add(resolutionInfo);
+ } else if (type == ResolvableType.YANG_BASE) {
+ baseResolutionList.add(resolutionInfo);
+ } else if (type == ResolvableType.YANG_IDENTITYREF) {
+ identityrefResolutionList.add(resolutionInfo);
}
}
@@ -627,6 +648,10 @@
ifFeatureResolutionList.add((YangResolutionInfo) resolutionList);
} else if (type == ResolvableType.YANG_LEAFREF) {
leafrefResolutionList = resolutionList;
+ } else if (type == ResolvableType.YANG_BASE) {
+ baseResolutionList = resolutionList;
+ } else if (type == ResolvableType.YANG_IDENTITYREF) {
+ identityrefResolutionList = resolutionList;
}
}
@@ -650,11 +675,8 @@
while (includeInfoIterator.hasNext()) {
YangInclude yangInclude = includeInfoIterator.next();
YangSubModule subModule = null;
- try {
- subModule = yangInclude.addReferenceToInclude(yangNodeSet);
- } catch (DataModelException e) {
- throw e;
- }
+ subModule = yangInclude.addReferenceToInclude(yangNodeSet);
+
// Check if the referred sub-modules parent is self
if (!(subModule.getBelongsTo().getModuleNode() == this)) {
yangInclude.reportIncludeError();