[ONOS-5330] Code-Reusability by generating code for Grouping rather then uses
Change-Id: I80a7d5c92a47e30c5ea0fe45c407a8246d9994d7
diff --git a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
index e7e83f4..e1b4913 100644
--- a/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
+++ b/plugin/src/main/java/org/onosproject/yangutils/translator/tojava/utils/SubtreeFilteringMethodsGenerator.java
@@ -216,16 +216,27 @@
getAttrTypeForFilterContentMatchWhenPrimitiveDataType(
attributeName);
} else if (dataType.getDataType() == LEAFREF) {
- YangType type = ((YangLeafRef) dataType.getDataTypeExtendedInfo())
- .getEffectiveDataType();
- if (StringGenerator.isPrimitiveDataType(type.getDataType())) {
- attrQualifiedType =
- getAttrTypeForFilterContentMatchWhenPrimitiveDataType(
- attributeName);
- } else {
+
+ // When leafref in grouping.
+ if (((YangLeafRef) dataType.getDataTypeExtendedInfo())
+ .isInGrouping()) {
attrQualifiedType =
getAttrTypeForFilterContentMatchWhenNonPrimitiveDataTypes(
attributeName);
+ } else {
+
+ YangType type = ((YangLeafRef) dataType.getDataTypeExtendedInfo())
+ .getEffectiveDataType();
+
+ if (StringGenerator.isPrimitiveDataType(type.getDataType())) {
+ attrQualifiedType =
+ getAttrTypeForFilterContentMatchWhenPrimitiveDataType(
+ attributeName);
+ } else {
+ attrQualifiedType =
+ getAttrTypeForFilterContentMatchWhenNonPrimitiveDataTypes(
+ attributeName);
+ }
}
} else {
attrQualifiedType =