Skip to content

Commit d506b49

Browse files
committed
Updated startWithFilterBuilder(), endWithFilterBuilder(), containsFilterBuilder() to support case insensitive comparisons.
1 parent 9038f63 commit d506b49

File tree

1 file changed

+9
-6
lines changed
  • components/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt/src/main/java/org/wso2/carbon/identity/api/resource/mgt/util

1 file changed

+9
-6
lines changed

components/api-resource-mgt/org.wso2.carbon.identity.api.resource.mgt/src/main/java/org/wso2/carbon/identity/api/resource/mgt/util/FilterQueriesUtil.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -191,24 +191,27 @@ private static void notEqualFilterBuilder(int count, String value, String attrib
191191
private static void startWithFilterBuilder(int count, String value, String attributeName, StringBuilder filter,
192192
FilterQueryBuilder filterQueryBuilder) {
193193

194-
String filterString = " LIKE ? AND ";
195-
filter.append(attributeName).append(filterString);
194+
String filterString = " LIKE LOWER(?) AND ";
195+
String attributeNameWithLowerCaseFunction = "LOWER(" + attributeName + ")";
196+
filter.append(attributeNameWithLowerCaseFunction).append(filterString);
196197
filterQueryBuilder.setFilterAttributeValue(count, value + "%");
197198
}
198199

199200
private static void endWithFilterBuilder(int count, String value, String attributeName, StringBuilder filter,
200201
FilterQueryBuilder filterQueryBuilder) {
201202

202-
String filterString = " LIKE ? AND ";
203-
filter.append(attributeName).append(filterString);
203+
String filterString = " LIKE LOWER(?) AND ";
204+
String attributeNameWithLowerCaseFunction = "LOWER(" + attributeName + ")";
205+
filter.append(attributeNameWithLowerCaseFunction).append(filterString);
204206
filterQueryBuilder.setFilterAttributeValue(count, "%" + value);
205207
}
206208

207209
private static void containsFilterBuilder(int count, String value, String attributeName, StringBuilder filter,
208210
FilterQueryBuilder filterQueryBuilder) {
209211

210-
String filterString = " LIKE ? AND ";
211-
filter.append(attributeName).append(filterString);
212+
String filterString = " LIKE LOWER(?) AND ";
213+
String attributeNameWithLowerCaseFunction = "LOWER(" + attributeName + ")";
214+
filter.append(attributeNameWithLowerCaseFunction).append(filterString);
212215
filterQueryBuilder.setFilterAttributeValue(count, "%" + value + "%");
213216
}
214217

0 commit comments

Comments
 (0)