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;
+ }
}