[ONOS-4650][ONOS-4726][ONOS-4727] [ONOS-4728]Implement must parser + when parser + feature + if-feature + revision defect fix
Change-Id: I0a3aee6c1c6b72ef7da7f7f565fd0f149fe3fd42
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java
index 659773f..4b8a3a1 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/DataModelUtils.java
@@ -21,6 +21,7 @@
import org.onosproject.yangutils.datamodel.CollisionDetector;
import org.onosproject.yangutils.datamodel.ResolvableType;
+import org.onosproject.yangutils.datamodel.YangIfFeature;
import org.onosproject.yangutils.datamodel.YangLeaf;
import org.onosproject.yangutils.datamodel.YangLeafList;
import org.onosproject.yangutils.datamodel.YangLeavesHolder;
@@ -29,13 +30,14 @@
import org.onosproject.yangutils.datamodel.YangResolutionInfo;
import org.onosproject.yangutils.datamodel.YangRpc;
import org.onosproject.yangutils.datamodel.YangType;
+import org.onosproject.yangutils.datamodel.YangUses;
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
-
/**
* Represents utilities for data model tree.
*/
public final class DataModelUtils {
+
/**
* Creates a new data model tree utility.
*/
@@ -161,11 +163,15 @@
.getEntityToResolve() instanceof YangType) {
resolutionNode.addToResolutionList(resolutionInfo,
ResolvableType.YANG_DERIVED_DATA_TYPE);
- } else {
+ } else if (resolutionInfo.getEntityToResolveInfo()
+ .getEntityToResolve() instanceof YangUses) {
resolutionNode.addToResolutionList(resolutionInfo,
ResolvableType.YANG_USES);
+ } else if (resolutionInfo.getEntityToResolveInfo()
+ .getEntityToResolve() instanceof YangIfFeature) {
+ resolutionNode.addToResolutionList(resolutionInfo,
+ ResolvableType.YANG_IF_FEATURE);
}
-
}
/**
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/ResolvableStatus.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/ResolvableStatus.java
index d476c8b..d31f67b 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/ResolvableStatus.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/utils/ResolvableStatus.java
@@ -46,6 +46,11 @@
* Identifies that resolvable entity is inter file linked (i.e. complete
* linking with external files).
*/
- INTER_FILE_LINKED
+ INTER_FILE_LINKED,
+
+ /**
+ * Identifies that resolvable entity is referred node is not defined.
+ */
+ UNDEFINED
}