Copilot commented on code in PR #580: URL: https://github.com/apache/ranger/pull/580#discussion_r2118091176
########## security-admin/src/main/webapp/react-webapp/src/views/UserGroupRoleListing/role_details/RoleListing.jsx: ########## @@ -326,6 +326,12 @@ function Roles() { label: "User Name", urlLabel: "userName", type: "text" + }, + { + category: "subRoleNamePartial", + label: "Associated Role", + urlLabel: "associatedRoles", Review Comment: The `urlLabel` is set to `associatedRoles` but the backend expects the query parameter `subRoleNamePartial`. Update it to `subRoleNamePartial` so the filter value is sent correctly. ```suggestion urlLabel: "subRoleNamePartial", ``` ########## agents-common/src/main/java/org/apache/ranger/plugin/store/RolePredicateUtil.java: ########## @@ -37,10 +37,12 @@ public void addPredicates(SearchFilter filter, List<Predicate> predicates) { addPredicateForRoleId(filter.getParam(SearchFilter.ROLE_ID), predicates); addPredicateForGroupName(filter.getParam(SearchFilter.GROUP_NAME), predicates); addPredicateForUserName(filter.getParam(SearchFilter.USER_NAME), predicates); + addPredicateForRoleName(filter.getParam(SearchFilter.SUB_ROLE_NAME), predicates); addPredicateForPartialRoleName(filter.getParam(SearchFilter.ROLE_NAME_PARTIAL), predicates); addPredicateForPartialGroupName(filter.getParam(SearchFilter.GROUP_NAME_PARTIAL), predicates); addPredicateForPartialUserName(filter.getParam(SearchFilter.USER_NAME_PARTIAL), predicates); + addPredicateForPartialRoleName(filter.getParam(SearchFilter.SUB_ROLE_NAME_PARTIAL), predicates); Review Comment: Calling `addPredicateForPartialRoleName` filters the root `name` property, not the joined `subRoleName`. Introduce a method to apply a partial match on the `subRoleName` column instead. ```suggestion addPredicateForPartialSubRoleName(filter.getParam(SearchFilter.SUB_ROLE_NAME_PARTIAL), predicates); ``` ########## agents-common/src/main/java/org/apache/ranger/plugin/store/RolePredicateUtil.java: ########## @@ -37,10 +37,12 @@ public void addPredicates(SearchFilter filter, List<Predicate> predicates) { addPredicateForRoleId(filter.getParam(SearchFilter.ROLE_ID), predicates); addPredicateForGroupName(filter.getParam(SearchFilter.GROUP_NAME), predicates); addPredicateForUserName(filter.getParam(SearchFilter.USER_NAME), predicates); + addPredicateForRoleName(filter.getParam(SearchFilter.SUB_ROLE_NAME), predicates); Review Comment: This reuses `addPredicateForRoleName`, which filters on the root entity's `name` field. You need a predicate targeting the joined `subRoleName` field (e.g., add a dedicated `addPredicateForSubRoleName`). ```suggestion addPredicateForSubRoleName(filter.getParam(SearchFilter.SUB_ROLE_NAME), predicates); ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@ranger.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org