You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by sa...@apache.org on 2020/04/10 05:13:36 UTC

[atlas] branch master updated: ATLAS-3726: Added extra field to admin audit for result count

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3ff785a  ATLAS-3726: Added extra field to admin audit for result count
3ff785a is described below

commit 3ff785a8950303cc9c33ff20c1caffecc5b464e5
Author: sidmishra <si...@cloudera.com>
AuthorDate: Wed Apr 8 11:12:52 2020 -0700

    ATLAS-3726: Added extra field to admin audit for result count
    
    Signed-off-by: Sarath Subramanian <sa...@apache.org>
---
 addons/models/0000-Area0/0010-base_model.json         |  8 ++++++++
 .../org/apache/atlas/model/audit/AtlasAuditEntry.java | 10 ++++++++++
 .../atlas/repository/audit/AtlasAuditService.java     |  3 ++-
 .../atlas/repository/ogm/AtlasAuditEntryDTO.java      | 19 +++++++++++--------
 .../apache/atlas/repository/audit/AdminPurgeTest.java |  2 +-
 .../org/apache/atlas/web/resources/AdminResource.java |  2 +-
 6 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/addons/models/0000-Area0/0010-base_model.json b/addons/models/0000-Area0/0010-base_model.json
index 351e07b..9777b7a 100644
--- a/addons/models/0000-Area0/0010-base_model.json
+++ b/addons/models/0000-Area0/0010-base_model.json
@@ -479,6 +479,14 @@
           "isIndexable": false,
           "isOptional": true,
           "isUnique": false
+        },
+        {
+          "name": "resultCount",
+          "typeName": "long",
+          "cardinality": "SINGLE",
+          "isIndexable": true,
+          "isOptional": true,
+          "isUnique": false
         }
       ]
     },
diff --git a/intg/src/main/java/org/apache/atlas/model/audit/AtlasAuditEntry.java b/intg/src/main/java/org/apache/atlas/model/audit/AtlasAuditEntry.java
index f2a8b3e..98e56f2 100644
--- a/intg/src/main/java/org/apache/atlas/model/audit/AtlasAuditEntry.java
+++ b/intg/src/main/java/org/apache/atlas/model/audit/AtlasAuditEntry.java
@@ -49,6 +49,7 @@ public class AtlasAuditEntry extends AtlasBaseModelObject implements Serializabl
     private Date endTime;
     private String clientId;
     private String result;
+    private long resultCount;
 
     public AtlasAuditEntry() {
     }
@@ -115,6 +116,14 @@ public class AtlasAuditEntry extends AtlasBaseModelObject implements Serializabl
         this.result = result;
     }
 
+    public long getResultCount() {
+        return resultCount;
+    }
+
+    public void setResultCount(long resultCount) {
+        this.resultCount = resultCount;
+    }
+
     @Override
     public StringBuilder toString(StringBuilder sb) {
         sb.append(", userName: ").append(userName);
@@ -124,6 +133,7 @@ public class AtlasAuditEntry extends AtlasBaseModelObject implements Serializabl
         sb.append(", startTime: ").append(startTime);
         sb.append(", endTime: ").append(endTime);
         sb.append(", result: ").append(result);
+        sb.append(", resultCount: ").append(resultCount);
 
         return sb;
     }
diff --git a/repository/src/main/java/org/apache/atlas/repository/audit/AtlasAuditService.java b/repository/src/main/java/org/apache/atlas/repository/audit/AtlasAuditService.java
index 590f7a0..35bf1d0 100644
--- a/repository/src/main/java/org/apache/atlas/repository/audit/AtlasAuditService.java
+++ b/repository/src/main/java/org/apache/atlas/repository/audit/AtlasAuditService.java
@@ -62,7 +62,7 @@ public class AtlasAuditService {
     }
 
     public void add(String userName, AuditOperation operation, String clientId, Date startTime,
-                    Date endTime, String params, String result) throws AtlasBaseException {
+                    Date endTime, String params, String result, long resultCount) throws AtlasBaseException {
         if (LOG.isDebugEnabled()) {
             LOG.debug("==> AtlasAuditService.add()");
         }
@@ -76,6 +76,7 @@ public class AtlasAuditService {
         entry.setEndTime(endTime);
         entry.setParams(params);
         entry.setResult(result);
+        entry.setResultCount(resultCount);
 
         save(entry);
 
diff --git a/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasAuditEntryDTO.java b/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasAuditEntryDTO.java
index 8e4bdb5..4696e48 100644
--- a/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasAuditEntryDTO.java
+++ b/repository/src/main/java/org/apache/atlas/repository/ogm/AtlasAuditEntryDTO.java
@@ -35,18 +35,19 @@ import java.util.Arrays;
 @Component
 public class AtlasAuditEntryDTO extends AbstractDataTransferObject<AtlasAuditEntry> {
 
-    public static final String ATTRIBUTE_USER_NAME  = "userName";
-    public static final String ATTRIBUTE_OPERATION  = "operation";
-    public static final String ATTRIBUTE_PARAMS     = "params";
-    public static final String ATTRIBUTE_START_TIME = "startTime";
-    public static final String ATTRIBUTE_END_TIME   = "endTime";
-    public static final String ATTRIBUTE_CLIENT_ID  = "clientId";
-    public static final String ATTRIBUTE_RESULT     = "result";
+    public static final String ATTRIBUTE_USER_NAME    = "userName";
+    public static final String ATTRIBUTE_OPERATION    = "operation";
+    public static final String ATTRIBUTE_PARAMS       = "params";
+    public static final String ATTRIBUTE_START_TIME   = "startTime";
+    public static final String ATTRIBUTE_END_TIME     = "endTime";
+    public static final String ATTRIBUTE_CLIENT_ID    = "clientId";
+    public static final String ATTRIBUTE_RESULT       = "result";
+    public static final String ATTRIBUTE_RESULT_COUNT = "resultCount";
 
     private static final Set<String> ATTRIBUTE_NAMES = new HashSet<>(Arrays.asList(ATTRIBUTE_USER_NAME,
             ATTRIBUTE_OPERATION, ATTRIBUTE_PARAMS,
             ATTRIBUTE_START_TIME, ATTRIBUTE_END_TIME,
-            ATTRIBUTE_CLIENT_ID, ATTRIBUTE_RESULT));
+            ATTRIBUTE_CLIENT_ID, ATTRIBUTE_RESULT, ATTRIBUTE_RESULT_COUNT));
 
     @Inject
     public AtlasAuditEntryDTO(AtlasTypeRegistry typeRegistry) {
@@ -69,6 +70,7 @@ public class AtlasAuditEntryDTO extends AbstractDataTransferObject<AtlasAuditEnt
         entry.setEndTime((Date) attributes.get(ATTRIBUTE_END_TIME));
         entry.setClientId((String) attributes.get(ATTRIBUTE_CLIENT_ID));
         entry.setResult((String) attributes.get(ATTRIBUTE_RESULT));
+        entry.setResultCount((long) attributes.get(ATTRIBUTE_RESULT_COUNT));
 
         return entry;
     }
@@ -94,6 +96,7 @@ public class AtlasAuditEntryDTO extends AbstractDataTransferObject<AtlasAuditEnt
         entity.setAttribute(ATTRIBUTE_END_TIME, obj.getEndTime());
         entity.setAttribute(ATTRIBUTE_CLIENT_ID, obj.getClientId());
         entity.setAttribute(ATTRIBUTE_RESULT, obj.getResult());
+        entity.setAttribute(ATTRIBUTE_RESULT_COUNT, obj.getResultCount());
 
         return entity;
     }
diff --git a/repository/src/test/java/org/apache/atlas/repository/audit/AdminPurgeTest.java b/repository/src/test/java/org/apache/atlas/repository/audit/AdminPurgeTest.java
index 0a2fc39..173e446 100644
--- a/repository/src/test/java/org/apache/atlas/repository/audit/AdminPurgeTest.java
+++ b/repository/src/test/java/org/apache/atlas/repository/audit/AdminPurgeTest.java
@@ -134,7 +134,7 @@ public class AdminPurgeTest extends AtlasTestBase {
 
         auditService.add(DEFAULT_USER, AtlasAuditEntry.AuditOperation.PURGE,
                 CLIENT_HOST, startTimestamp, new Date(), guids.toString(),
-                response.getPurgedEntitiesIds());
+                response.getPurgedEntitiesIds(), response.getPurgedEntities().size());
 
         AuditSearchParameters auditParameterNull = createAuditParameter("audit-search-parameter-without-filter");
         assertAuditEntry(auditService, auditParameterNull);
diff --git a/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java b/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
index 9bc7040..2ab8bdb 100755
--- a/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
+++ b/webapp/src/main/java/org/apache/atlas/web/resources/AdminResource.java
@@ -479,7 +479,7 @@ public class AdminResource {
 
                 auditService.add(AtlasAuthorizationUtils.getCurrentUserName(), AuditOperation.PURGE,
                         clientId != null ? clientId : "", startTime, endTime, guids.toString(),
-                        resp.getPurgedEntitiesIds());
+                        resp.getPurgedEntitiesIds(), resp.getPurgedEntities().size());
             }
 
             return resp;