This is an automated email from the ASF dual-hosted git repository.

madhan pushed a commit to branch RANGER-3923
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/RANGER-3923 by this push:
     new 678a4c6da RANGER-4604: added query param createdBy for security-zone 
GET API
678a4c6da is described below

commit 678a4c6da6bb41ffd9da313be4eb6f82a3c499be
Author: prashant <[email protected]>
AuthorDate: Mon Dec 18 22:38:35 2023 -0800

    RANGER-4604: added query param createdBy for security-zone GET API
    
    Signed-off-by: Madhan Neethiraj <[email protected]>
---
 .../plugin/store/SecurityZonePredicateUtil.java    | 34 ++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/SecurityZonePredicateUtil.java
 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/SecurityZonePredicateUtil.java
index 54b477502..5fa975c09 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/store/SecurityZonePredicateUtil.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/store/SecurityZonePredicateUtil.java
@@ -40,6 +40,7 @@ public class SecurityZonePredicateUtil extends 
AbstractPredicateUtil {
         
addPredicateForMatchingZoneName(filter.getParam(SearchFilter.ZONE_NAME), 
predicates);
         
addPredicateForNonMatchingZoneName(filter.getParam(SearchFilter.NOT_ZONE_NAME), 
predicates);
                
addPredicateForMatchingZoneNamePartial(filter.getParam(SearchFilter.ZONE_NAME_PARTIAL),
 predicates);
+               
addPredicateForCreatedBy(filter.getParam(SearchFilter.CREATED_BY), predicates);
     }
 
     private Predicate addPredicateForServiceName(final String serviceName, 
List<Predicate> predicates) {
@@ -204,5 +205,38 @@ public class SecurityZonePredicateUtil extends 
AbstractPredicateUtil {
 
                return ret;
        }
+
+       private Predicate addPredicateForCreatedBy(final String createdBy, 
List<Predicate> predicates) {
+               if (StringUtils.isEmpty(createdBy)) {
+                       return null;
+               }
+
+               Predicate ret = new Predicate() {
+                       @Override
+                       public boolean evaluate(Object object) {
+                               if (object == null) {
+                                       return false;
+                               }
+
+                               boolean ret = false;
+
+                               if (object instanceof RangerSecurityZone) {
+                                       RangerSecurityZone securityZone = 
(RangerSecurityZone) object;
+
+                                       if 
(StringUtils.equals(securityZone.getCreatedBy(), createdBy)) {
+                                               ret = true;
+                                       }
+                               }
+
+                               return ret;
+                       }
+               };
+
+               if (predicates != null) {
+                       predicates.add(ret);
+               }
+
+               return ret;
+       }
 }
 

Reply via email to