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

Reply via email to