[ONOS-4829] Augmented data method generator implmentation.
Change-Id: I0cb68dd10a748e5b66eec0b832574f408a23ba5c
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
index 9d37d46..6d475cb 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangAugment.java
@@ -15,8 +15,10 @@
*/
package org.onosproject.yangutils.datamodel;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import org.onosproject.yangutils.datamodel.exceptions.DataModelException;
import org.onosproject.yangutils.datamodel.utils.Parsable;
@@ -83,7 +85,7 @@
public class YangAugment
extends YangNode
implements YangLeavesHolder, YangCommonInfo, Parsable, CollisionDetector, YangAugmentedInfo, Resolvable,
- YangXPathResolver, YangWhenHolder, YangIfFeatureHolder {
+ YangXPathResolver, YangWhenHolder, YangIfFeatureHolder {
private static final long serialVersionUID = 806201602L;
@@ -128,9 +130,13 @@
private YangNode augmentedNode;
/**
- * Status of resolution. If completely resolved enum value is "RESOLVED",
- * if not enum value is "UNRESOLVED", in case reference of grouping/typedef
- * is added to uses/type but it's not resolved value of enum should be
+ * All resolved nodes in given xPath.
+ */
+ private Map<YangAtomicPath, YangNode> resolveNodeInPath;
+
+ /**
+ * Status of resolution. If completely resolved enum value is "RESOLVED", if not enum value is "UNRESOLVED", in case
+ * reference of grouping/typedef is added to uses/type but it's not resolved value of enum should be
* "INTRA_FILE_RESOLVED".
*/
private ResolvableStatus resolvableStatus;
@@ -150,6 +156,7 @@
*/
public YangAugment() {
super(YangNodeType.AUGMENT_NODE);
+ resolveNodeInPath = new HashMap<>();
resolvableStatus = ResolvableStatus.UNRESOLVED;
}
@@ -411,6 +418,11 @@
}
@Override
+ public void setIfFeatureList(List<YangIfFeature> ifFeatureList) {
+ this.ifFeatureList = ifFeatureList;
+ }
+
+ @Override
public void addIfFeatureList(YangIfFeature ifFeature) {
if (getIfFeatureList() == null) {
setIfFeatureList(new LinkedList<>());
@@ -419,11 +431,6 @@
}
@Override
- public void setIfFeatureList(List<YangIfFeature> ifFeatureList) {
- this.ifFeatureList = ifFeatureList;
- }
-
- @Override
public ResolvableStatus getResolvableStatus() {
return resolvableStatus;
}
@@ -438,4 +445,22 @@
public void resolve() throws DataModelException {
// Resolving of target node is being done in XPathLinker.
}
+
+ /**
+ * Returns all resolved node in path.
+ *
+ * @return all resolved node in path
+ */
+ public Map<YangAtomicPath, YangNode> getResolveNodeInPath() {
+ return resolveNodeInPath;
+ }
+
+ /**
+ * Sets all resolved node in path.
+ *
+ * @param resolveNodeInPath all resolved node in path
+ */
+ public void setResolveNodeInPath(Map<YangAtomicPath, YangNode> resolveNodeInPath) {
+ this.resolveNodeInPath = resolveNodeInPath;
+ }
}
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
index 65261cc..bc3c72e 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangContainer.java
@@ -406,7 +406,7 @@
* Sets the config's value to all leaf if leaf's config statement is not
* specified.
*
- * @param leaves list of leaf attributes of container
+ * @param leaves list of leaf attributes of container
* @param leafLists list of leaf-list attributes of container
*/
private void setDefaultConfigValueToChild(List<YangLeaf> leaves, List<YangLeafList> leafLists) {
@@ -439,7 +439,7 @@
/**
* Validates config statement of container.
*
- * @param leaves list of leaf attributes of container
+ * @param leaves list of leaf attributes of container
* @param leafLists list of leaf-list attributes of container
* @throws DataModelException a violation of data model rules
*/
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
index 091a15f..25e11b6 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangInput.java
@@ -144,7 +144,6 @@
listOfLeaf = leafsList;
}
-
@Override
public void addLeaf(YangLeaf leaf) {
getListOfLeaf().add(leaf);
diff --git a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
index 7e14bc8..810a206 100644
--- a/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
+++ b/utils/yangutils/datamodel/src/main/java/org/onosproject/yangutils/datamodel/YangOutput.java
@@ -158,7 +158,6 @@
this.listOfLeafList = listOfLeafList;
}
-
@Override
public void addLeafList(YangLeafList leafList) {
getListOfLeafList().add(leafList);
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 1e15d1d..64f2c78 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
@@ -349,6 +349,7 @@
* type info needs to be updated to the cloned new type node.
*
* @param leavesHolder cloned leaves holder, for whom the leaves reference needs to be updated
+ * @throws DataModelException when fails to do data model operations
*/
public static void updateClonedLeavesUnionEnumRef(YangLeavesHolder leavesHolder) throws DataModelException {
List<YangLeaf> currentListOfLeaves = leavesHolder.getListOfLeaf();