diff --git a/components/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt/src/main/java/org/wso2/carbon/identity/api/resource/mgt/util/FilterQueriesUtil.java b/components/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt/src/main/java/org/wso2/carbon/identity/api/resource/mgt/util/FilterQueriesUtil.java index 05ad6974c210..755796ee817c 100644 --- a/components/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt/src/main/java/org/wso2/carbon/identity/api/resource/mgt/util/FilterQueriesUtil.java +++ b/components/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt/src/main/java/org/wso2/carbon/identity/api/resource/mgt/util/FilterQueriesUtil.java @@ -192,24 +192,27 @@ private static void startWithFilterBuilder(int count, String value, String attri FilterQueryBuilder filterQueryBuilder) { String filterString = " LIKE ? AND "; - filter.append(attributeName).append(filterString); - filterQueryBuilder.setFilterAttributeValue(count, value + "%"); + String attributeNameWithLowerCaseFunction = "LOWER(" + attributeName + ")"; + filter.append(attributeNameWithLowerCaseFunction).append(filterString); + filterQueryBuilder.setFilterAttributeValue(count, value.toLowerCase() + "%"); } private static void endWithFilterBuilder(int count, String value, String attributeName, StringBuilder filter, FilterQueryBuilder filterQueryBuilder) { String filterString = " LIKE ? AND "; - filter.append(attributeName).append(filterString); - filterQueryBuilder.setFilterAttributeValue(count, "%" + value); + String attributeNameWithLowerCaseFunction = "LOWER(" + attributeName + ")"; + filter.append(attributeNameWithLowerCaseFunction).append(filterString); + filterQueryBuilder.setFilterAttributeValue(count, "%" + value.toLowerCase()); } private static void containsFilterBuilder(int count, String value, String attributeName, StringBuilder filter, FilterQueryBuilder filterQueryBuilder) { String filterString = " LIKE ? AND "; - filter.append(attributeName).append(filterString); - filterQueryBuilder.setFilterAttributeValue(count, "%" + value + "%"); + String attributeNameWithLowerCaseFunction = "LOWER(" + attributeName + ")"; + filter.append(attributeNameWithLowerCaseFunction).append(filterString); + filterQueryBuilder.setFilterAttributeValue(count, "%" + value.toLowerCase() + "%"); } private static void greaterThanOrEqualFilterBuilder(int count, String value, String attributeName,