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

kumaab pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ranger.git


The following commit(s) were added to refs/heads/master by this push:
     new 3b90219ff Revert "RANGER-5759: Add Atlas notification-topic and 
post-notification privi…" (#1298)
3b90219ff is described below

commit 3b90219ff91063d8fb86355cac168fc8b08c8ea1
Author: Abhishek Kumar <[email protected]>
AuthorDate: Thu Oct 8 13:04:41 2026 -0700

    Revert "RANGER-5759: Add Atlas notification-topic and post-notification 
privi…" (#1298)
    
    * Revert "RANGER-5759: Add Atlas notification-topic and post-notification 
privi…"
    
    This reverts commit f74d36dda0078dd12440f8372d4dc7289aceb797.
    
    * RANGER-5804: Remove unused timezone parameter in 
OpenSearchAuditMetricsHelper flagged by PMD
---
 .../service-defs/ranger-servicedef-atlas.json      |  21 +-
 dev-support/checkstyle-suppressions.xml            |   1 -
 .../atlas/authorizer/RangerAtlasAuthorizer.java    |  35 ---
 .../ranger/services/atlas/RangerServiceAtlas.java  |   9 -
 .../authorizer/TestRangerAtlasAuthorizer.java      |  50 ----
 .../src/test/resources/atlas-policies.json         |  32 +--
 .../atlas/authorizer/RangerAtlasAuthorizer.java    |   8 -
 .../optimized/current/ranger_core_db_mysql.sql     |   1 -
 .../optimized/current/ranger_core_db_oracle.sql    |   1 -
 .../optimized/current/ranger_core_db_postgres.sql  |   1 -
 .../current/ranger_core_db_sqlanywhere.sql         |   2 -
 .../optimized/current/ranger_core_db_sqlserver.sql |   1 -
 .../opensearch/OpenSearchAuditMetricsHelper.java   |  10 +-
 .../PatchForAtlasNotificationTopic_J10067.java     | 167 -------------
 .../TestPatchForAtlasNotificationTopic_J10067.java | 266 ---------------------
 15 files changed, 9 insertions(+), 596 deletions(-)

diff --git 
a/agents-common/src/main/resources/service-defs/ranger-servicedef-atlas.json 
b/agents-common/src/main/resources/service-defs/ranger-servicedef-atlas.json
index 4f622c6e8..5c52487df 100644
--- a/agents-common/src/main/resources/service-defs/ranger-servicedef-atlas.json
+++ b/agents-common/src/main/resources/service-defs/ranger-servicedef-atlas.json
@@ -258,24 +258,6 @@
       "accessTypeRestrictions": [
         "entity-add-classification", "entity-update-classification", 
"entity-remove-classification"
       ]
-    },
-    {
-      "itemId":            17,
-      "name":              "notification-topic",
-      "parent":            "",
-      "level":             10,
-      "type":              "string",
-      "mandatory":         true,
-      "isValidLeaf":       true,
-      "lookupSupported":   true,
-      "excludesSupported": true,
-      "matcher":           
"org.apache.ranger.plugin.resourcematcher.RangerDefaultResourceMatcher",
-      "matcherOptions":    { "wildCard": "true", "ignoreCase": "false" },
-      "label":             "Notification Topic",
-      "description":       "Notification Topic",
-      "accessTypeRestrictions": [
-        "post-notification"
-      ]
     }
   ],
   "accessTypes": [
@@ -299,8 +281,7 @@
     { "itemId": 18, "name": "entity-remove-label",             "label": 
"Remove Label",             "category": "UPDATE" },
     { "itemId": 19, "name": "entity-update-business-metadata", "label": 
"Update Business Metadata", "category": "UPDATE" },
     { "itemId": 20, "name": "type-read",                       "label": "Read 
Type",                "category": "READ" },
-    { "itemId": 21, "name": "admin-audits",                    "label": "Admin 
Audits",             "category": "MANAGE" },
-    { "itemId": 22, "name": "post-notification",              "label": "Post 
Notification",         "category": "UPDATE" }
+    { "itemId": 21, "name": "admin-audits",                    "label": "Admin 
Audits",             "category": "MANAGE" }
   ],
   "configs": [
     { "itemId": 1, "name": "username",                    "type": "string",   
"mandatory": true,  "label": "Username" },
diff --git a/dev-support/checkstyle-suppressions.xml 
b/dev-support/checkstyle-suppressions.xml
index 5788457b2..f20f609e9 100644
--- a/dev-support/checkstyle-suppressions.xml
+++ b/dev-support/checkstyle-suppressions.xml
@@ -91,7 +91,6 @@
   <suppress files="PatchSetAccessTypeCategory_J10061" checks="TypeName"/>
   <suppress files="PatchTagModulePermission_J10005" checks="TypeName"/>
   <suppress files="PatchForAtlasPolicyUpdateForEntityRead_J10064" 
checks="TypeName"/>
-  <suppress files="PatchForAtlasNotificationTopic_J10067" checks="TypeName"/>
   <suppress files="PatchForOzoneServiceDefPolicyConditionUpdate_J10066" 
checks="TypeName"/>
   <suppress files="PatchForOzoneServiceDefAssumeRoleUpdate_J10065" 
checks="TypeName"/>
 </suppressions>
diff --git 
a/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
 
b/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
index 0defeba3e..839d2a801 100644
--- 
a/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
+++ 
b/plugin-atlas/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
@@ -23,7 +23,6 @@
 import org.apache.atlas.authorize.AtlasAdminAccessRequest;
 import org.apache.atlas.authorize.AtlasAuthorizer;
 import org.apache.atlas.authorize.AtlasEntityAccessRequest;
-import org.apache.atlas.authorize.AtlasNotificationRequest;
 import org.apache.atlas.authorize.AtlasPrivilege;
 import org.apache.atlas.authorize.AtlasRelationshipAccessRequest;
 import org.apache.atlas.authorize.AtlasSearchResultScrubRequest;
@@ -71,7 +70,6 @@
 import static 
org.apache.ranger.services.atlas.RangerServiceAtlas.RESOURCE_ENTITY_LABEL;
 import static 
org.apache.ranger.services.atlas.RangerServiceAtlas.RESOURCE_ENTITY_OWNER;
 import static 
org.apache.ranger.services.atlas.RangerServiceAtlas.RESOURCE_ENTITY_TYPE;
-import static 
org.apache.ranger.services.atlas.RangerServiceAtlas.RESOURCE_NOTIFICATION_TOPIC;
 import static 
org.apache.ranger.services.atlas.RangerServiceAtlas.RESOURCE_RELATIONSHIP_TYPE;
 import static 
org.apache.ranger.services.atlas.RangerServiceAtlas.RESOURCE_SERVICE;
 import static 
org.apache.ranger.services.atlas.RangerServiceAtlas.RESOURCE_TYPE_CATEGORY;
@@ -147,39 +145,6 @@ public boolean isAccessAllowed(AtlasAdminAccessRequest 
request) {
         return ret;
     }
 
-    @Override
-    public boolean isAccessAllowed(AtlasNotificationRequest request) {
-        LOG.debug("==> isAccessAllowed({})", request);
-
-        final boolean    ret;
-        RangerPerfTracer perf = null;
-
-        try {
-            if (RangerPerfTracer.isPerfTraceEnabled(PERF_LOG)) {
-                perf = RangerPerfTracer.getPerfTracer(PERF_LOG, 
"RangerAtlasAuthorizer.isAccessAllowed(" + request + ")");
-            }
-
-            String                   action         = request.getAction() != 
null ? request.getAction().getType() : null;
-            String                   topicName      = 
StringUtils.isNotBlank(request.getTopicName()) ? request.getTopicName() : "*";
-            RangerAccessResourceImpl rangerResource = new 
RangerAccessResourceImpl(Collections.singletonMap(RESOURCE_NOTIFICATION_TOPIC, 
topicName));
-            RangerAccessRequestImpl  rangerRequest  = new 
RangerAccessRequestImpl(rangerResource, action, request.getUser(), 
request.getUserGroups(), null);
-
-            rangerRequest.setClientIPAddress(request.getClientIPAddress());
-            rangerRequest.setAccessTime(request.getAccessTime());
-            rangerRequest.setAction(action);
-            
rangerRequest.setForwardedAddresses(request.getForwardedAddresses());
-            rangerRequest.setRemoteIPAddress(request.getRemoteIPAddress());
-
-            ret = checkAccess(rangerRequest);
-        } finally {
-            RangerPerfTracer.log(perf);
-        }
-
-        LOG.debug("<== isAccessAllowed({}): {}", request, ret);
-
-        return ret;
-    }
-
     @Override
     public boolean isAccessAllowed(AtlasEntityAccessRequest request) {
         LOG.debug("==> isAccessAllowed({})", request);
diff --git 
a/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java
 
b/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java
index 64e34e2a3..6c9e92bb1 100644
--- 
a/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java
+++ 
b/plugin-atlas/src/main/java/org/apache/ranger/services/atlas/RangerServiceAtlas.java
@@ -79,14 +79,12 @@ public class RangerServiceAtlas extends RangerBaseService {
     public static final String RESOURCE_END_TWO_ENTITY_TYPE           = 
"end-two-entity-type";
     public static final String RESOURCE_END_TWO_ENTITY_CLASSIFICATION = 
"end-two-entity-classification";
     public static final String RESOURCE_END_TWO_ENTITY_ID             = 
"end-two-entity";
-    public static final String RESOURCE_NOTIFICATION_TOPIC            = 
"notification-topic";
     public static final String SEARCH_FEATURE_POLICY_NAME             = "Allow 
users to manage favorite searches";
     public static final String ACCESS_TYPE_ENTITY_READ                = 
"entity-read";
     public static final String ACCESS_TYPE_TYPE_READ                  = 
"type-read";
     public static final String ACCESS_TYPE_ENTITY_CREATE              = 
"entity-create";
     public static final String ACCESS_TYPE_ENTITY_UPDATE              = 
"entity-update";
     public static final String ACCESS_TYPE_ENTITY_DELETE              = 
"entity-delete";
-    public static final String ACCESS_TYPE_POST_NOTIFICATION          = 
"post-notification";
     public static final String ADMIN_USERNAME_DEFAULT                 = 
"admin";
     public static final String TAGSYNC_USERNAME_DEFAULT               = 
"rangertagsync";
     public static final String ENTITY_TYPE_USER_PROFILE               = 
"__AtlasUserProfile";
@@ -267,7 +265,6 @@ private Map<String, RangerPolicyResource> 
getSearchFeaturePolicyResource() {
 
     private static class AtlasServiceClient extends BaseClient {
         private static final String[] TYPE_CATEGORIES = new String[] 
{"classification", "enum", "entity", "relationship", "struct", 
"business_metadata"};
-        private static final String[] NOTIFICATION_TOPICS = new String[] 
{"ATLAS_HOOK", "ATLAS_ENTITIES"};
 
         private Map<String, List<String>> typesDef = new HashMap<>();
 
@@ -390,12 +387,6 @@ public List<String> lookupResource(ResourceLookupContext 
lookupContext) {
                 }
                 break;
 
-                case RESOURCE_NOTIFICATION_TOPIC:
-                    for (String topic : NOTIFICATION_TOPICS) {
-                        addIfStartsWithAndNotExcluded(ret, topic, userInput, 
currentValues);
-                    }
-                    break;
-
                 default: {
                     ret.add(lookupContext.getResourceName());
                 }
diff --git 
a/plugin-atlas/src/test/java/org/apache/ranger/authorization/atlas/authorizer/TestRangerAtlasAuthorizer.java
 
b/plugin-atlas/src/test/java/org/apache/ranger/authorization/atlas/authorizer/TestRangerAtlasAuthorizer.java
index 5c6f0fbb9..502dd93ab 100644
--- 
a/plugin-atlas/src/test/java/org/apache/ranger/authorization/atlas/authorizer/TestRangerAtlasAuthorizer.java
+++ 
b/plugin-atlas/src/test/java/org/apache/ranger/authorization/atlas/authorizer/TestRangerAtlasAuthorizer.java
@@ -19,7 +19,6 @@
 
 import org.apache.atlas.authorize.AtlasAdminAccessRequest;
 import org.apache.atlas.authorize.AtlasEntityAccessRequest;
-import org.apache.atlas.authorize.AtlasNotificationRequest;
 import org.apache.atlas.authorize.AtlasPrivilege;
 import org.apache.atlas.authorize.AtlasRelationshipAccessRequest;
 import org.apache.atlas.authorize.AtlasTypeAccessRequest;
@@ -46,10 +45,6 @@ public class TestRangerAtlasAuthorizer {
     private static final Set<String> USER_STEWARD1_GROUPS         = 
Collections.singleton("stewards");
     private static final String      USER_FINANCE_STEWARD1        = 
"finance-data-steward1";
     private static final Set<String> USER_FINANCE_STEWARD1_GROUPS = new 
HashSet<>(Arrays.asList("finance-stewards", "stewards"));
-    private static final String      USER_HOOK1                   = "hook1";
-    private static final Set<String> USER_HOOK1_GROUPS            = 
Collections.singleton("hook-users");
-    private static final String      TOPIC_ATLAS_HOOK            = 
"ATLAS_HOOK";
-    private static final String      TOPIC_OTHER                  = 
"OTHER_TOPIC";
 
     private static final AtlasEntityDef         ENTITY_DEF_HIVE_TABLE          
 = new AtlasEntityDef("hive_table");
     private static final AtlasClassificationDef CLASSIFICATION_DEF_FINANCE     
 = new AtlasClassificationDef("FINANCE");
@@ -476,51 +471,6 @@ public void testAudits() {
                 .isTrue();
     }
 
-    @Test
-    public void testPostNotification() {
-        AtlasNotificationRequest request = new 
AtlasNotificationRequest(AtlasPrivilege.POST_NOTIFICATION, TOPIC_ATLAS_HOOK);
-
-        request.setUser(USER_USER1, USER_USER1_GROUPS);
-
-        assertThat(authorizer.isAccessAllowed(request))
-                .as("%s should be denied to post notification", 
request.getUser())
-                .isFalse();
-
-        request.setUser(USER_STEWARD1, USER_STEWARD1_GROUPS);
-
-        assertThat(authorizer.isAccessAllowed(request))
-                .as("%s should be denied to post notification", 
request.getUser())
-                .isFalse();
-
-        request.setUser(USER_ADMIN1, USER_ADMIN1_GROUPS);
-
-        assertThat(authorizer.isAccessAllowed(request))
-                .as("%s should be allowed to post notification", 
request.getUser())
-                .isTrue();
-    }
-
-    @Test
-    public void testPostNotificationOnAllowedTopic() {
-        AtlasNotificationRequest request = new 
AtlasNotificationRequest(AtlasPrivilege.POST_NOTIFICATION, TOPIC_ATLAS_HOOK);
-
-        request.setUser(USER_HOOK1, USER_HOOK1_GROUPS);
-
-        assertThat(authorizer.isAccessAllowed(request))
-                .as("%s should be allowed to post notification to %s", 
request.getUser(), TOPIC_ATLAS_HOOK)
-                .isTrue();
-    }
-
-    @Test
-    public void testPostNotificationOnDeniedTopic() {
-        AtlasNotificationRequest request = new 
AtlasNotificationRequest(AtlasPrivilege.POST_NOTIFICATION, TOPIC_OTHER);
-
-        request.setUser(USER_HOOK1, USER_HOOK1_GROUPS);
-
-        assertThat(authorizer.isAccessAllowed(request))
-                .as("%s should be denied to post notification to %s", 
request.getUser(), TOPIC_OTHER)
-                .isFalse();
-    }
-
     @Test
     public void testAddRelationship() {
         AtlasRelationshipAccessRequest request = new 
AtlasRelationshipAccessRequest(typeRegistry, AtlasPrivilege.RELATIONSHIP_ADD, 
RELATIONSHIP_TYPE_CLONE_OF, ENTITY_HIVE_TABLE_DB1_TBL1, 
ENTITY_HIVE_TABLE_DB1_TBL2);
diff --git a/plugin-atlas/src/test/resources/atlas-policies.json 
b/plugin-atlas/src/test/resources/atlas-policies.json
index 70eab66d5..1020dd8f6 100644
--- a/plugin-atlas/src/test/resources/atlas-policies.json
+++ b/plugin-atlas/src/test/resources/atlas-policies.json
@@ -1,5 +1,5 @@
 {
-  "serviceName": "dev_atlas", "serviceId": 8, "policyVersion": 21,
+  "serviceName": "dev_atlas", "serviceId": 8, "policyVersion": 19,
   "policies": [
     {
       "id": 1, "name": "Default: all type-category, type",
@@ -111,30 +111,6 @@
         }
       ]
     },
-    {
-      "id": 9, "name": "Default: all notification-topic",
-      "resources": {
-        "notification-topic": { "values": [ "*" ] }
-      },
-      "policyItems": [
-        {
-          "accesses":  [ { "type": "post-notification" } ],
-          "groups": [ "admins" ]
-        }
-      ]
-    },
-    {
-      "id": 10, "name": "Allow hook users to post to ATLAS_HOOK",
-      "resources": {
-        "notification-topic": { "values": [ "ATLAS_HOOK" ] }
-      },
-      "policyItems": [
-        {
-          "accesses":  [ { "type": "post-notification" } ],
-          "groups": [ "hook-users" ]
-        }
-      ]
-    },
     {
       "id": 8, "name": "Entities having FINANCE classification", 
"isDenyAllElse": true,
       "resources": {
@@ -169,8 +145,7 @@
       { "itemId": 13, "name": "end-one-entity",                "level": 40, 
"parent": "end-one-entity-classification", "accessTypeRestrictions": [ 
"add-relationship", "update-relationship", "remove-relationship" ] },
       { "itemId": 14, "name": "end-two-entity-type",           "level": 50, 
"parent": "end-one-entity" },
       { "itemId": 15, "name": "end-two-entity-classification", "level": 60, 
"parent": "end-two-entity-type" },
-      { "itemId": 16, "name": "end-two-entity",                "level": 70, 
"parent": "end-two-entity-classification", "accessTypeRestrictions": [ 
"add-relationship", "update-relationship", "remove-relationship" ] },
-      { "itemId": 17, "name": "notification-topic",         "level": 10,       
                             "accessTypeRestrictions": [ "post-notification" ] }
+      { "itemId": 16, "name": "end-two-entity",                "level": 70, 
"parent": "end-two-entity-classification", "accessTypeRestrictions": [ 
"add-relationship", "update-relationship", "remove-relationship" ] }
     ],
     "accessTypes": [
       { "itemId": 1,  "name": "type-read",                       "category": 
"READ",   "label": "Read Type" },
@@ -193,8 +168,7 @@
       { "itemId": 18, "name": "admin-export",                    "category": 
"MANAGE", "label": "Export" },
       { "itemId": 19, "name": "admin-import",                    "category": 
"MANAGE", "label": "Import" },
       { "itemId": 20, "name": "admin-purge",                     "category": 
"MANAGE", "label": "Purge" },
-      { "itemId": 21, "name": "admin-audits",                    "category": 
"MANAGE", "label": "Admin Audits" },
-      { "itemId": 22, "name": "post-notification",              "category": 
"UPDATE", "label": "Post Notification" }
+      { "itemId": 21, "name": "admin-audits",                    "category": 
"MANAGE", "label": "Admin Audits" }
     ],
     "configs": [
       { "itemId": 1, "name": "username",                    "type": "string",  
 "mandatory": true },
diff --git 
a/ranger-atlas-plugin-shim/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
 
b/ranger-atlas-plugin-shim/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
index 1167b14ff..8c308c81e 100644
--- 
a/ranger-atlas-plugin-shim/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
+++ 
b/ranger-atlas-plugin-shim/src/main/java/org/apache/ranger/authorization/atlas/authorizer/RangerAtlasAuthorizer.java
@@ -23,7 +23,6 @@
 import org.apache.atlas.authorize.AtlasAuthorizationException;
 import org.apache.atlas.authorize.AtlasAuthorizer;
 import org.apache.atlas.authorize.AtlasEntityAccessRequest;
-import org.apache.atlas.authorize.AtlasNotificationRequest;
 import org.apache.atlas.authorize.AtlasRelationshipAccessRequest;
 import org.apache.atlas.authorize.AtlasSearchResultScrubRequest;
 import org.apache.atlas.authorize.AtlasTypeAccessRequest;
@@ -92,13 +91,6 @@ public boolean 
isAccessAllowed(AtlasRelationshipAccessRequest request) throws At
         }
     }
 
-    @Override
-    public boolean isAccessAllowed(AtlasNotificationRequest request) throws 
AtlasAuthorizationException {
-        try (PluginClassLoaderActivator ignored = new 
PluginClassLoaderActivator(pluginClassLoader, 
"isAccessAllowed:notificationAccess")) {
-            return rangerAtlasAuthorizerImpl.isAccessAllowed(request);
-        }
-    }
-
     @Override
     public void scrubSearchResults(AtlasSearchResultScrubRequest request) 
throws AtlasAuthorizationException {
         try (PluginClassLoaderActivator ignored = new 
PluginClassLoaderActivator(pluginClassLoader, "scrubSearchResults")) {
diff --git a/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql 
b/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
index 3fa29fa2c..8ecc59f4a 100644
--- a/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
+++ b/security-admin/db/mysql/optimized/current/ranger_core_db_mysql.sql
@@ -2029,5 +2029,4 @@ INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10064',UTC_TIMESTAMP(),'Ranger 3.0.0',UTC_TIMESTAMP(),'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10065',UTC_TIMESTAMP(),'Ranger 3.0.0',UTC_TIMESTAMP(),'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10066',UTC_TIMESTAMP(),'Ranger 3.0.0',UTC_TIMESTAMP(),'localhost','Y');
-INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10067',UTC_TIMESTAMP(),'Ranger 3.0.0',UTC_TIMESTAMP(),'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('JAVA_PATCHES',UTC_TIMESTAMP(),'Ranger 1.0.0',UTC_TIMESTAMP(),'localhost','Y');
diff --git 
a/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql 
b/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql
index 315c13a3b..ddca10bb5 100644
--- a/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql
+++ b/security-admin/db/oracle/optimized/current/ranger_core_db_oracle.sql
@@ -2253,6 +2253,5 @@ INSERT INTO x_db_version_h 
(id,version,inst_at,inst_by,updated_at,updated_by,act
 INSERT INTO x_db_version_h 
(id,version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
(X_DB_VERSION_H_SEQ.nextval,'J10064',sys_extract_utc(systimestamp),'Ranger 
3.0.0',sys_extract_utc(systimestamp),'localhost','Y');
 INSERT INTO x_db_version_h 
(id,version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
(X_DB_VERSION_H_SEQ.nextval,'J10065',sys_extract_utc(systimestamp),'Ranger 
3.0.0',sys_extract_utc(systimestamp),'localhost','Y');
 INSERT INTO x_db_version_h 
(id,version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
(X_DB_VERSION_H_SEQ.nextval,'J10066',sys_extract_utc(systimestamp),'Ranger 
3.0.0',sys_extract_utc(systimestamp),'localhost','Y');
-INSERT INTO x_db_version_h 
(id,version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
(X_DB_VERSION_H_SEQ.nextval,'J10067',sys_extract_utc(systimestamp),'Ranger 
3.0.0',sys_extract_utc(systimestamp),'localhost','Y');
 INSERT INTO x_db_version_h 
(id,version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
(X_DB_VERSION_H_SEQ.nextval,'JAVA_PATCHES',sys_extract_utc(systimestamp),'Ranger
 1.0.0',sys_extract_utc(systimestamp),'localhost','Y');
 commit;
diff --git 
a/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql 
b/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql
index f59166bbe..654d19aa7 100644
--- a/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql
+++ b/security-admin/db/postgres/optimized/current/ranger_core_db_postgres.sql
@@ -2186,7 +2186,6 @@ INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10064',current_timestamp,'Ranger 3.0.0',current_timestamp,'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10065',current_timestamp,'Ranger 3.0.0',current_timestamp,'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10066',current_timestamp,'Ranger 3.0.0',current_timestamp,'localhost','Y');
-INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10067',current_timestamp,'Ranger 3.0.0',current_timestamp,'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('JAVA_PATCHES',current_timestamp,'Ranger 
1.0.0',current_timestamp,'localhost','Y');
 
 DROP VIEW IF EXISTS vx_principal;
diff --git 
a/security-admin/db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql
 
b/security-admin/db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql
index 91b5ccd4f..678fe343b 100644
--- 
a/security-admin/db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql
+++ 
b/security-admin/db/sqlanywhere/optimized/current/ranger_core_db_sqlanywhere.sql
@@ -2421,8 +2421,6 @@ INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active
 GO
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10066',CURRENT_TIMESTAMP,'Ranger 3.0.0',CURRENT_TIMESTAMP,'localhost','Y');
 GO
-INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10067',CURRENT_TIMESTAMP,'Ranger 3.0.0',CURRENT_TIMESTAMP,'localhost','Y');
-GO
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('JAVA_PATCHES',CURRENT_TIMESTAMP,'Ranger 
1.0.0',CURRENT_TIMESTAMP,'localhost','Y');
 GO
 exit
diff --git 
a/security-admin/db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql 
b/security-admin/db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql
index 66b124527..68c864e74 100644
--- a/security-admin/db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql
+++ b/security-admin/db/sqlserver/optimized/current/ranger_core_db_sqlserver.sql
@@ -4626,6 +4626,5 @@ INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10064',CURRENT_TIMESTAMP,'Ranger 3.0.0',CURRENT_TIMESTAMP,'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10065',CURRENT_TIMESTAMP,'Ranger 3.0.0',CURRENT_TIMESTAMP,'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10066',CURRENT_TIMESTAMP,'Ranger 3.0.0',CURRENT_TIMESTAMP,'localhost','Y');
-INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('J10067',CURRENT_TIMESTAMP,'Ranger 3.0.0',CURRENT_TIMESTAMP,'localhost','Y');
 INSERT INTO x_db_version_h 
(version,inst_at,inst_by,updated_at,updated_by,active) VALUES 
('JAVA_PATCHES',CURRENT_TIMESTAMP,'Ranger 
1.0.0',CURRENT_TIMESTAMP,'localhost','Y');
 GO
diff --git 
a/security-admin/src/main/java/org/apache/ranger/opensearch/OpenSearchAuditMetricsHelper.java
 
b/security-admin/src/main/java/org/apache/ranger/opensearch/OpenSearchAuditMetricsHelper.java
index 2ff9c62ab..e78461d9e 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/opensearch/OpenSearchAuditMetricsHelper.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/opensearch/OpenSearchAuditMetricsHelper.java
@@ -107,7 +107,7 @@ public List<RangerAuditMetricsByDays> 
getAuditMetricsByDays(int olderThanInDays,
         Map<String, Object> queryBody    = buildMetricsQueryBody(filters, 
aggregations);
         JsonNode            response     = runMetricsSearch(queryBody, "audit 
metrics by days");
 
-        return extractAuditMetricsByDays(response, filter, timezone);
+        return extractAuditMetricsByDays(response, filter);
     }
 
     public String resolveServiceType(XXService service) {
@@ -448,7 +448,7 @@ private long bucketDocCount(JsonNode bucket) {
         return ret;
     }
 
-    private List<RangerAuditMetricsByDays> extractAuditMetricsByDays(JsonNode 
response, SearchFilter filter, String timezone) {
+    private List<RangerAuditMetricsByDays> extractAuditMetricsByDays(JsonNode 
response, SearchFilter filter) {
         List<RangerAuditMetricsByDays> metrics = new ArrayList<>();
         JsonNode                       buckets = 
response.at("/aggregations/per_day/buckets");
 
@@ -459,7 +459,7 @@ private List<RangerAuditMetricsByDays> 
extractAuditMetricsByDays(JsonNode respon
         FilterParams params = auditMetricsHelper.getFilterParams(filter);
 
         for (JsonNode bucket : buckets) {
-            Long auditDate = parseBucketTime(bucket, timezone);
+            Long auditDate = parseBucketTime(bucket);
 
             if (auditDate == null) {
                 continue;
@@ -483,7 +483,7 @@ private List<RangerAuditMetricsByHours> 
extractAuditMetricsByHours(JsonNode resp
         ZoneId         zoneId = auditMetricsHelper.resolveZoneId(timezone);
 
         for (JsonNode bucket : buckets) {
-            Long auditDate = parseBucketTime(bucket, timezone);
+            Long auditDate = parseBucketTime(bucket);
 
             if (auditDate == null) {
                 continue;
@@ -498,7 +498,7 @@ private List<RangerAuditMetricsByHours> 
extractAuditMetricsByHours(JsonNode resp
         return metrics;
     }
 
-    private Long parseBucketTime(JsonNode bucket, String timezone) {
+    private Long parseBucketTime(JsonNode bucket) {
         Long result = null;
 
         if (bucket != null) {
diff --git 
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForAtlasNotificationTopic_J10067.java
 
b/security-admin/src/main/java/org/apache/ranger/patch/PatchForAtlasNotificationTopic_J10067.java
deleted file mode 100644
index 85d693150..000000000
--- 
a/security-admin/src/main/java/org/apache/ranger/patch/PatchForAtlasNotificationTopic_J10067.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ranger.patch;
-
-import org.apache.ranger.biz.ServiceDBStore;
-import org.apache.ranger.common.RangerValidatorFactory;
-import org.apache.ranger.db.RangerDaoManager;
-import org.apache.ranger.entity.XXServiceDef;
-import org.apache.ranger.plugin.model.RangerServiceDef;
-import org.apache.ranger.plugin.model.RangerServiceDef.RangerAccessTypeDef;
-import org.apache.ranger.plugin.model.validation.RangerServiceDefValidator;
-import org.apache.ranger.plugin.model.validation.RangerValidator.Action;
-import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
-import org.apache.ranger.util.CLIUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-@Component
-public class PatchForAtlasNotificationTopic_J10067 extends BaseLoader {
-    private static final Logger logger = 
LoggerFactory.getLogger(PatchForAtlasNotificationTopic_J10067.class);
-
-    private static final List<String> ATLAS_RESOURCES    = new 
ArrayList<>(Collections.singletonList("notification-topic"));
-    private static final List<String> ATLAS_ACCESS_TYPES = new 
ArrayList<>(Collections.singletonList("post-notification"));
-
-    @Autowired
-    RangerDaoManager daoMgr;
-
-    @Autowired
-    ServiceDBStore svcDBStore;
-
-    @Autowired
-    RangerValidatorFactory validatorFactory;
-
-    @Autowired
-    ServiceDBStore svcStore;
-
-    public static void main(String[] args) {
-        logger.info("main()");
-
-        try {
-            PatchForAtlasNotificationTopic_J10067 loader = 
(PatchForAtlasNotificationTopic_J10067) 
CLIUtil.getBean(PatchForAtlasNotificationTopic_J10067.class);
-
-            loader.init();
-
-            while (loader.isMoreToProcess()) {
-                loader.load();
-            }
-
-            logger.info("Load complete. Exiting!!!");
-
-            System.exit(0);
-        } catch (Exception e) {
-            logger.error("Error loading", e);
-
-            System.exit(1);
-        }
-    }
-
-    @Override
-    public void init() throws Exception {
-        // Do Nothing
-    }
-
-    @Override
-    public void printStats() {
-        logger.info("PatchForAtlasNotificationTopic_J10067 Logs");
-    }
-
-    @Override
-    public void execLoad() {
-        logger.info("==> PatchForAtlasNotificationTopic_J10067.execLoad()");
-
-        try {
-            addNotificationTopicPermissionInServiceDef();
-        } catch (Exception e) {
-            throw new RuntimeException("Error while updating " + 
EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME + " service-def");
-        }
-
-        logger.info("<== PatchForAtlasNotificationTopic_J10067.execLoad()");
-    }
-
-    private void addNotificationTopicPermissionInServiceDef() throws Exception 
{
-        RangerServiceDef embeddedAtlasServiceDef = 
EmbeddedServiceDefsUtil.instance().getEmbeddedServiceDef(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME);
-
-        if (embeddedAtlasServiceDef != null) {
-            XXServiceDef xXServiceDefObj = 
daoMgr.getXXServiceDef().findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME);
-
-            if (xXServiceDefObj == null) {
-                logger.info("{}: service-def not found. No patching is 
needed", EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME);
-
-                return;
-            }
-
-            RangerServiceDef dbAtlasServiceDef = 
svcDBStore.getServiceDefByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME);
-
-            List<RangerServiceDef.RangerResourceDef>   
embeddedAtlasResourceDefs = embeddedAtlasServiceDef.getResources();
-            List<RangerServiceDef.RangerAccessTypeDef> 
embeddedAtlasAccessTypes  = embeddedAtlasServiceDef.getAccessTypes();
-
-            if (checkResourcePresent(embeddedAtlasResourceDefs)) {
-                dbAtlasServiceDef.setResources(embeddedAtlasResourceDefs);
-
-                if (checkAccessPresent(embeddedAtlasAccessTypes)) {
-                    dbAtlasServiceDef.setAccessTypes(embeddedAtlasAccessTypes);
-                }
-            }
-
-            RangerServiceDefValidator validator = 
validatorFactory.getServiceDefValidator(svcStore);
-
-            validator.validate(dbAtlasServiceDef, Action.UPDATE);
-
-            RangerServiceDef ret = 
svcStore.updateServiceDef(dbAtlasServiceDef);
-
-            if (ret == null) {
-                logger.error("Error while updating {} service-def", 
EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME);
-
-                throw new RuntimeException("Error while updating " + 
EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME + " service-def");
-            }
-        }
-    }
-
-    private boolean 
checkResourcePresent(List<RangerServiceDef.RangerResourceDef> resourceDefs) {
-        boolean ret = false;
-
-        for (RangerServiceDef.RangerResourceDef resourceDef : resourceDefs) {
-            if (ATLAS_RESOURCES.contains(resourceDef.getName())) {
-                ret = true;
-                break;
-            }
-        }
-
-        return ret;
-    }
-
-    private boolean checkAccessPresent(List<RangerAccessTypeDef> 
embeddedAtlasAccessTypes) {
-        boolean ret = false;
-
-        for (RangerServiceDef.RangerAccessTypeDef accessDef : 
embeddedAtlasAccessTypes) {
-            if (ATLAS_ACCESS_TYPES.contains(accessDef.getName())) {
-                ret = true;
-                break;
-            }
-        }
-
-        return ret;
-    }
-}
diff --git 
a/security-admin/src/test/java/org/apache/ranger/patch/TestPatchForAtlasNotificationTopic_J10067.java
 
b/security-admin/src/test/java/org/apache/ranger/patch/TestPatchForAtlasNotificationTopic_J10067.java
deleted file mode 100644
index 85849d6ee..000000000
--- 
a/security-admin/src/test/java/org/apache/ranger/patch/TestPatchForAtlasNotificationTopic_J10067.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ranger.patch;
-
-import org.apache.ranger.biz.ServiceDBStore;
-import org.apache.ranger.common.RangerValidatorFactory;
-import org.apache.ranger.db.RangerDaoManager;
-import org.apache.ranger.db.XXServiceDefDao;
-import org.apache.ranger.entity.XXServiceDef;
-import org.apache.ranger.plugin.model.RangerServiceDef;
-import org.apache.ranger.plugin.model.validation.RangerServiceDefValidator;
-import org.apache.ranger.plugin.store.EmbeddedServiceDefsUtil;
-import org.apache.ranger.util.CLIUtil;
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.MethodOrderer;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.TestMethodOrder;
-import org.junit.jupiter.api.extension.ExtendWith;
-import org.mockito.MockedStatic;
-import org.mockito.Mockito;
-import org.mockito.junit.jupiter.MockitoExtension;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.security.Permission;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-@ExtendWith(MockitoExtension.class)
-@TestMethodOrder(MethodOrderer.MethodName.class)
-public class TestPatchForAtlasNotificationTopic_J10067 {
-    private static void setIfPresent(Object target, String fieldName, Object 
value) {
-        try {
-            Field f = target.getClass().getDeclaredField(fieldName);
-            f.setAccessible(true);
-            f.set(target, value);
-        } catch (NoSuchFieldException ignored) {
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    @Test
-    public void testExecLoadAndPrintStats() throws Exception {
-        try (MockedStatic<EmbeddedServiceDefsUtil> utilMock = 
Mockito.mockStatic(EmbeddedServiceDefsUtil.class)) {
-            EmbeddedServiceDefsUtil util = 
Mockito.mock(EmbeddedServiceDefsUtil.class);
-            utilMock.when(EmbeddedServiceDefsUtil::instance).thenReturn(util);
-
-            RangerServiceDef embeddedAtlas = new RangerServiceDef();
-            embeddedAtlas.setResources(Collections.emptyList());
-            embeddedAtlas.setAccessTypes(Collections.emptyList());
-            utilMock.when(() -> EmbeddedServiceDefsUtil.instance()
-                    
.getEmbeddedServiceDef(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME))
-                    .thenReturn(embeddedAtlas);
-
-            PatchForAtlasNotificationTopic_J10067 patch = new 
PatchForAtlasNotificationTopic_J10067();
-            RangerDaoManager daoMgr = Mockito.mock(RangerDaoManager.class);
-            ServiceDBStore svcDBStore = Mockito.mock(ServiceDBStore.class);
-            RangerValidatorFactory validatorFactory = 
Mockito.mock(RangerValidatorFactory.class);
-            RangerServiceDefValidator validator = 
Mockito.mock(RangerServiceDefValidator.class);
-
-            XXServiceDefDao xxServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
-            Mockito.when(daoMgr.getXXServiceDef()).thenReturn(xxServiceDefDao);
-            
Mockito.when(xxServiceDefDao.findByName(Mockito.anyString())).thenReturn(new 
XXServiceDef());
-
-            RangerServiceDef dbAtlas = new RangerServiceDef();
-            Mockito.when(
-                    
svcDBStore.getServiceDefByName(Mockito.eq(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME)))
-                    .thenReturn(dbAtlas);
-            
Mockito.when(validatorFactory.getServiceDefValidator(Mockito.any(ServiceDBStore.class)))
-                    .thenReturn(validator);
-            
Mockito.when(svcDBStore.updateServiceDef(Mockito.any(RangerServiceDef.class)))
-                    .thenAnswer(inv -> inv.getArgument(0));
-
-            setIfPresent(patch, "daoMgr", daoMgr);
-            setIfPresent(patch, "svcDBStore", svcDBStore);
-            setIfPresent(patch, "validatorFactory", validatorFactory);
-            setIfPresent(patch, "svcStore", svcDBStore);
-
-            patch.execLoad();
-            patch.printStats();
-        }
-    }
-
-    @Test
-    public void testInit_DoesNothing() throws Exception {
-        PatchForAtlasNotificationTopic_J10067 patch = new 
PatchForAtlasNotificationTopic_J10067();
-        Assertions.assertDoesNotThrow(() -> patch.init());
-    }
-
-    @Test
-    public void testMain_Success_ExitZero() {
-        SecurityManager originalSm = System.getSecurityManager();
-        try (MockedStatic<CLIUtil> cliMock = 
Mockito.mockStatic(CLIUtil.class)) {
-            PatchForAtlasNotificationTopic_J10067 patch = new 
PatchForAtlasNotificationTopic_J10067();
-            patch.setMoreToProcess(false);
-            cliMock.when(() -> 
CLIUtil.getBean(PatchForAtlasNotificationTopic_J10067.class)).thenReturn(patch);
-            CLIUtil cli = Mockito.mock(CLIUtil.class);
-            cliMock.when(() -> CLIUtil.getBean(CLIUtil.class)).thenReturn(cli);
-
-            System.setSecurityManager(new SecurityManager() {
-                @Override
-                public void checkExit(int status) {
-                    throw new SecurityException(String.valueOf(status));
-                }
-
-                @Override
-                public void checkPermission(Permission perm) {
-                }
-            });
-
-            try {
-                PatchForAtlasNotificationTopic_J10067.main(new String[] {});
-            } catch (SecurityException se) {
-                Assertions.assertNotNull(se.getMessage());
-            }
-        } finally {
-            System.setSecurityManager(originalSm);
-        }
-    }
-
-    @Test
-    public void testMain_Failure_ExitOne() {
-        SecurityManager originalSm = System.getSecurityManager();
-        try (MockedStatic<CLIUtil> cliMock = 
Mockito.mockStatic(CLIUtil.class)) {
-            cliMock.when(() -> 
CLIUtil.getBean(PatchForAtlasNotificationTopic_J10067.class)).thenThrow(new 
RuntimeException("boom"));
-
-            System.setSecurityManager(new SecurityManager() {
-                @Override
-                public void checkExit(int status) {
-                    throw new SecurityException(String.valueOf(status));
-                }
-
-                @Override
-                public void checkPermission(Permission perm) {
-                }
-            });
-
-            try {
-                PatchForAtlasNotificationTopic_J10067.main(new String[] {});
-            } catch (SecurityException se) {
-                Assertions.assertEquals("1", se.getMessage());
-            }
-        } finally {
-            System.setSecurityManager(originalSm);
-        }
-    }
-
-    @Test
-    public void 
testAddNotificationTopicPermissionInServiceDef_ServiceDefNotFound_ReturnsEarly()
 throws Exception {
-        try (MockedStatic<EmbeddedServiceDefsUtil> utilMock = 
Mockito.mockStatic(EmbeddedServiceDefsUtil.class)) {
-            EmbeddedServiceDefsUtil util = 
Mockito.mock(EmbeddedServiceDefsUtil.class);
-            utilMock.when(EmbeddedServiceDefsUtil::instance).thenReturn(util);
-
-            RangerServiceDef embeddedAtlas = new RangerServiceDef();
-            embeddedAtlas.setResources(new ArrayList<>());
-            embeddedAtlas.setAccessTypes(new ArrayList<>());
-            
Mockito.when(util.getEmbeddedServiceDef(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME)).thenReturn(embeddedAtlas);
-
-            RangerDaoManager daoMgr = Mockito.mock(RangerDaoManager.class);
-            XXServiceDefDao xxServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
-            Mockito.when(daoMgr.getXXServiceDef()).thenReturn(xxServiceDefDao);
-            
Mockito.when(xxServiceDefDao.findByName(Mockito.anyString())).thenReturn(null);
-
-            PatchForAtlasNotificationTopic_J10067 patch = new 
PatchForAtlasNotificationTopic_J10067();
-            setIfPresent(patch, "daoMgr", daoMgr);
-            setIfPresent(patch, "svcDBStore", 
Mockito.mock(ServiceDBStore.class));
-            setIfPresent(patch, "validatorFactory", 
Mockito.mock(RangerValidatorFactory.class));
-            setIfPresent(patch, "svcStore", 
Mockito.mock(ServiceDBStore.class));
-
-            Assertions.assertDoesNotThrow(() -> patch.execLoad());
-        }
-    }
-
-    @Test
-    public void testExecLoad_UpdateReturnsNull_ThrowsRuntime() throws 
Exception {
-        try (MockedStatic<EmbeddedServiceDefsUtil> utilMock = 
Mockito.mockStatic(EmbeddedServiceDefsUtil.class)) {
-            EmbeddedServiceDefsUtil util = 
Mockito.mock(EmbeddedServiceDefsUtil.class);
-            utilMock.when(EmbeddedServiceDefsUtil::instance).thenReturn(util);
-
-            RangerServiceDef embeddedAtlas = new RangerServiceDef();
-            RangerServiceDef.RangerResourceDef res = new 
RangerServiceDef.RangerResourceDef();
-            res.setName("notification-topic");
-            embeddedAtlas.setResources(new 
ArrayList<>(Collections.singletonList(res)));
-            embeddedAtlas.setAccessTypes(new 
ArrayList<>(Collections.singletonList(new 
RangerServiceDef.RangerAccessTypeDef("post-notification"))));
-            utilMock.when(() -> 
EmbeddedServiceDefsUtil.instance().getEmbeddedServiceDef(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_ATLAS_NAME)).thenReturn(embeddedAtlas);
-
-            PatchForAtlasNotificationTopic_J10067 patch = new 
PatchForAtlasNotificationTopic_J10067();
-            RangerDaoManager daoMgr = Mockito.mock(RangerDaoManager.class);
-            XXServiceDefDao xxServiceDefDao = 
Mockito.mock(XXServiceDefDao.class);
-            Mockito.when(daoMgr.getXXServiceDef()).thenReturn(xxServiceDefDao);
-            
Mockito.when(xxServiceDefDao.findByName(Mockito.anyString())).thenReturn(new 
XXServiceDef());
-            setIfPresent(patch, "daoMgr", daoMgr);
-
-            ServiceDBStore svcDBStore = Mockito.mock(ServiceDBStore.class);
-            RangerServiceDef dbAtlas = new RangerServiceDef();
-            
Mockito.when(svcDBStore.getServiceDefByName(Mockito.anyString())).thenReturn(dbAtlas);
-            
Mockito.when(svcDBStore.updateServiceDef(Mockito.any())).thenReturn(null);
-            setIfPresent(patch, "svcDBStore", svcDBStore);
-            setIfPresent(patch, "svcStore", svcDBStore);
-
-            RangerValidatorFactory validatorFactory = 
Mockito.mock(RangerValidatorFactory.class);
-            RangerServiceDefValidator validator = 
Mockito.mock(RangerServiceDefValidator.class);
-            
Mockito.when(validatorFactory.getServiceDefValidator(Mockito.any(ServiceDBStore.class))).thenReturn(validator);
-            setIfPresent(patch, "validatorFactory", validatorFactory);
-
-            Assertions.assertThrows(RuntimeException.class, patch::execLoad);
-        }
-    }
-
-    @Test
-    public void testPrivate_Checkers() throws Exception {
-        PatchForAtlasNotificationTopic_J10067 patch = new 
PatchForAtlasNotificationTopic_J10067();
-        Method cr = 
PatchForAtlasNotificationTopic_J10067.class.getDeclaredMethod("checkResourcePresent",
 List.class);
-        Method ca = 
PatchForAtlasNotificationTopic_J10067.class.getDeclaredMethod("checkAccessPresent",
 List.class);
-        cr.setAccessible(true);
-        ca.setAccessible(true);
-
-        RangerServiceDef.RangerResourceDef r = new 
RangerServiceDef.RangerResourceDef();
-        r.setName("notification-topic");
-        List<RangerServiceDef.RangerResourceDef> rList = new ArrayList<>();
-        rList.add(r);
-        Assertions.assertTrue((Boolean) cr.invoke(patch, rList));
-
-        RangerServiceDef.RangerAccessTypeDef a = new 
RangerServiceDef.RangerAccessTypeDef("post-notification");
-        List<RangerServiceDef.RangerAccessTypeDef> aList = new ArrayList<>();
-        aList.add(a);
-        Assertions.assertTrue((Boolean) ca.invoke(patch, aList));
-    }
-
-    @Test
-    public void testPrivate_Checkers_FalseBranches() throws Exception {
-        PatchForAtlasNotificationTopic_J10067 patch = new 
PatchForAtlasNotificationTopic_J10067();
-        Method cr = 
PatchForAtlasNotificationTopic_J10067.class.getDeclaredMethod("checkResourcePresent",
 List.class);
-        Method ca = 
PatchForAtlasNotificationTopic_J10067.class.getDeclaredMethod("checkAccessPresent",
 List.class);
-        cr.setAccessible(true);
-        ca.setAccessible(true);
-
-        RangerServiceDef.RangerResourceDef r = new 
RangerServiceDef.RangerResourceDef();
-        r.setName("not-notification-topic");
-        List<RangerServiceDef.RangerResourceDef> rList = new ArrayList<>();
-        rList.add(r);
-        Assertions.assertFalse((Boolean) cr.invoke(patch, rList));
-
-        RangerServiceDef.RangerAccessTypeDef a = new 
RangerServiceDef.RangerAccessTypeDef("not-post-notification");
-        List<RangerServiceDef.RangerAccessTypeDef> aList = new ArrayList<>();
-        aList.add(a);
-        Assertions.assertFalse((Boolean) ca.invoke(patch, aList));
-    }
-}

Reply via email to