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

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

commit e394f970864636a66e984e3efc56e2c1a6e1d547
Author: Kishor Gollapalliwar <[email protected]>
AuthorDate: Fri Oct 23 20:27:22 2020 +0530

    RANGER-3057: Support Audit search based on Audit ID
    
    Signed-off-by: Mehul Parikh <[email protected]>
---
 .../main/java/org/apache/ranger/rest/AssetREST.java  | 20 ++++++++++----------
 .../apache/ranger/solr/SolrAccessAuditsService.java  |  6 ++++++
 .../main/webapp/scripts/views/reports/AuditLayout.js |  3 ++-
 .../java/org/apache/ranger/rest/TestAssetREST.java   |  4 ++--
 4 files changed, 20 insertions(+), 13 deletions(-)

diff --git a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java 
b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
index fd6e738..51d000e 100644
--- a/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
+++ b/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
@@ -641,24 +641,24 @@ public class AssetREST {
                                "Resource Type", StringUtil.VALIDATION_TEXT);
                
searchUtil.extractString(request,searchCriteria,"excludeServiceUser",
                                "Exclude Service 
User",StringUtil.VALIDATION_TEXT);
+
                searchUtil.extractInt(request, searchCriteria, "auditType", 
"Audit Type");
-                searchUtil.extractInt(request, searchCriteria, "accessResult", 
"Result");
+               searchUtil.extractInt(request, searchCriteria, "accessResult", 
"Result");
                searchUtil.extractInt(request, searchCriteria, "assetId", 
"Asset ID");
                searchUtil.extractLong(request, searchCriteria, "policyId", 
"Policy ID");
-                searchUtil.extractInt(request, searchCriteria, "repoType", 
"Service Type");
-               
-               searchUtil.extractDate(request, searchCriteria, "startDate",
-                                "Start Date", "MM/dd/yyyy");
-                searchUtil.extractDate(request, searchCriteria, "endDate", 
"End Date",
-                               "MM/dd/yyyy");
+               searchUtil.extractInt(request, searchCriteria, "repoType", 
"Service Type");
+
+               searchUtil.extractDate(request, searchCriteria, 
"startDate","Start Date", "MM/dd/yyyy");
+               searchUtil.extractDate(request, searchCriteria, "endDate", "End 
Date", "MM/dd/yyyy");
 
                searchUtil.extractString(request, searchCriteria, "tags", 
"tags", null);
                searchUtil.extractString(request, searchCriteria, "cluster", 
"Cluster Name", StringUtil.VALIDATION_TEXT);
-               searchUtil.extractStringList(request, searchCriteria, 
"zoneName", "Zone Name List", "zoneName", null,
-                                                              null);
+               searchUtil.extractStringList(request, searchCriteria, 
"zoneName", "Zone Name List", "zoneName", null, null);
 
                searchUtil.extractString(request, searchCriteria, "agentHost", 
"Agent Host Name", StringUtil.VALIDATION_TEXT);
-               
+
+               searchUtil.extractString(request, searchCriteria, "eventId", 
"Event Id", null);
+
                boolean isKeyAdmin = msBizUtil.isKeyAdmin();
                boolean isAuditKeyAdmin = msBizUtil.isAuditKeyAdmin();
                XXServiceDef xxServiceDef = 
daoManager.getXXServiceDef().findByName(EmbeddedServiceDefsUtil.EMBEDDED_SERVICEDEF_KMS_NAME);
diff --git 
a/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
 
b/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
index 4b1cf5b..0aea46d 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
@@ -75,6 +75,12 @@ public class SolrAccessAuditsService extends 
AccessAuditsService {
                List<VXAccessAudit> xAccessAuditList = new 
ArrayList<VXAccessAudit>();
 
                Map<String, Object> paramList = searchCriteria.getParamList();
+
+               Object eventIdObj = paramList.get("eventId");
+               if (eventIdObj != null) {
+                       paramList.put("id", eventIdObj.toString());
+               }
+
                updateUserExclusion(paramList);
 
                QueryResponse response = 
solrUtil.searchResources(searchCriteria,
diff --git 
a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js 
b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
index 16b70f4..a068ad8 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -431,10 +431,11 @@ define(function(require) {
                                     {text : 'Cluster Name',label : 'cluster', 
urlLabel : 'clusterName'},
                                     {text : 'Zone Name',label : 'zoneName', 
urlLabel : 'zoneName'},
                                     {text : localization.tt("lbl.agentHost"), 
label :"agentHost", urlLabel : 'agentHost'},
+                                    {text : 'Audit ID', label : 'eventId', 
urlLabel : 'eventId'}
                                    //{text : 
localization.tt("lbl.permission"), label :'action', urlLabel : 'permission'}
                                 ];
             var searchOpt = ['Resource Type','Start Date','End 
Date','Application','User','Service Name','Service Type','Resource 
Name','Access Type','Result','Access Enforcer',
-            'Client IP','Tags','Cluster Name', 'Zone Name', 'Exclude User', 
localization.tt("lbl.agentHost"), 'Policy ID'];//, 
localization.tt("lbl.permission")];
+            'Client IP','Tags','Cluster Name', 'Zone Name', 'Exclude User', 
localization.tt("lbl.agentHost"), 'Policy ID', 'Audit ID'];//, 
localization.tt("lbl.permission")];
                         this.clearVisualSearch(this.accessAuditList, 
serverAttrName);
                         this.searchInfoArr =[{text :'Access Enforcer', info 
:localization.tt('msg.accessEnforcer')},
                                             {text :'Access Type'       , info 
:localization.tt('msg.accessTypeMsg')},
diff --git 
a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java 
b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
index c4844cf..abd4b1c 100644
--- a/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
+++ b/security-admin/src/test/java/org/apache/ranger/rest/TestAssetREST.java
@@ -762,7 +762,7 @@ public class TestAssetREST {
                Mockito.verify(msBizUtil).isKeyAdmin();
                Mockito.verify(assetMgr).getAccessLogs(searchCriteria);
                Mockito.verify(daoManager).getXXServiceDef();
-               Mockito.verify(searchUtil, 
Mockito.times(13)).extractString((HttpServletRequest) Mockito.any(),
+               Mockito.verify(searchUtil, 
Mockito.times(14)).extractString((HttpServletRequest) Mockito.any(),
                                (SearchCriteria) Mockito.any(), 
Mockito.anyString(), Mockito.anyString(), Mockito.nullable(String.class));
                Mockito.verify(searchUtil, 
Mockito.times(4)).extractInt((HttpServletRequest) Mockito.any(),
                                (SearchCriteria) Mockito.any(), 
Mockito.anyString(), Mockito.anyString());
@@ -818,7 +818,7 @@ public class TestAssetREST {
                Mockito.verify(msBizUtil).isKeyAdmin();
                Mockito.verify(assetMgr).getAccessLogs(searchCriteria);
                Mockito.verify(daoManager).getXXServiceDef();
-               Mockito.verify(searchUtil, 
Mockito.times(13)).extractString((HttpServletRequest) Mockito.any(),
+               Mockito.verify(searchUtil, 
Mockito.times(14)).extractString((HttpServletRequest) Mockito.any(),
                                (SearchCriteria) Mockito.any(), 
Mockito.anyString(), Mockito.anyString(), Mockito.nullable(String.class));
                Mockito.verify(searchUtil, 
Mockito.times(4)).extractInt((HttpServletRequest) Mockito.any(),
                                (SearchCriteria) Mockito.any(), 
Mockito.anyString(), Mockito.anyString());

Reply via email to