Repository: incubator-ranger
Updated Branches:
  refs/heads/tag-policy 6f972e9cf -> 722a5ba49


RANGER-610: Update Audit page to add 'Tags' column

Signed-off-by: Madhan Neethiraj <[email protected]>


Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/722a5ba4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/722a5ba4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/722a5ba4

Branch: refs/heads/tag-policy
Commit: 722a5ba49709f6a87263d06559866f4bcc0e11d7
Parents: 6f972e9
Author: Gautam Borad <[email protected]>
Authored: Wed Aug 19 12:31:30 2015 +0530
Committer: Madhan Neethiraj <[email protected]>
Committed: Wed Aug 19 00:59:24 2015 -0700

----------------------------------------------------------------------
 .../apache/ranger/plugin/util/SearchFilter.java |  2 ++
 .../apache/ranger/common/RangerSearchUtil.java  |  1 +
 .../org/apache/ranger/entity/XXAccessAudit.java | 20 +++++++++++++++++++
 .../java/org/apache/ranger/rest/AssetREST.java  |  2 ++
 .../ranger/service/RangerPolicyServiceBase.java |  1 +
 .../ranger/service/XAccessAuditService.java     |  3 +++
 .../ranger/solr/SolrAccessAuditsService.java    |  6 ++++++
 .../org/apache/ranger/view/VXAccessAudit.java   | 21 +++++++++++++++++++-
 .../webapp/scripts/views/reports/AuditLayout.js | 14 +++++++++++--
 9 files changed, 67 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java
----------------------------------------------------------------------
diff --git 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java
index 154d1c3..a55a760 100644
--- 
a/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java
+++ 
b/agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java
@@ -56,6 +56,8 @@ public class SearchFilter {
        public static final String TAG_RESOURCE_SERVICE_NAME = 
"tagResourceServiceName";  // search
        public static final String TAG_RESOURCE_TIMESTAMP = 
"tagResourceTimestamp"; // search
 
+       public static final String POLICY_TYPE = "policyType"; // search
+
 
 
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java 
b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
index 897ed5d..141e634 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java
@@ -64,6 +64,7 @@ public class RangerSearchUtil extends SearchUtil {
                ret.setParam(SearchFilter.GROUP, 
request.getParameter(SearchFilter.GROUP));
                ret.setParam(SearchFilter.POL_RESOURCE, 
request.getParameter(SearchFilter.POL_RESOURCE));
                ret.setParam(SearchFilter.RESOURCE_SIGNATURE, 
request.getParameter(SearchFilter.RESOURCE_SIGNATURE));
+               ret.setParam(SearchFilter.POLICY_TYPE, 
request.getParameter(SearchFilter.POLICY_TYPE));
 
                for (Map.Entry<String, String[]> e : 
request.getParameterMap().entrySet()) {
                        String name = e.getKey();

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java 
b/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java
index 6e35fa4..96859a7 100644
--- a/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java
+++ b/security-admin/src/main/java/org/apache/ranger/entity/XXAccessAudit.java
@@ -250,6 +250,9 @@ public class XXAccessAudit extends XXDBBase implements 
java.io.Serializable {
        @Column(name="EVENT_DUR_MS")
        protected long eventDuration;
 
+       @Column(name="tags")
+       protected String tags;
+       
        /**
         * Default constructor. This will set all the attributes to default 
value.
         */
@@ -588,6 +591,19 @@ public class XXAccessAudit extends XXDBBase implements 
java.io.Serializable {
        public void setEventDuration(long eventDuration) {
                this.eventDuration = eventDuration;
        }
+       
+       /**
+        * @return the tags
+        */
+       public String getTags() {
+               return tags;
+       }
+       /**
+        * @param tags the tags to set
+        */
+       public void setTags(String tags) {
+               this.tags = tags;
+       }
        /**
         * This return the bean content in string format
         * @return formatedStr
@@ -617,6 +633,7 @@ public class XXAccessAudit extends XXDBBase implements 
java.io.Serializable {
                str += "sequenceNumber={" + sequenceNumber + "}";
                str += "eventCount={" + eventCount + "}";
                str += "eventDuration={" + eventDuration + "}";
+               str += "tags={" + tags + "}";
                str += "}";
                return str;
        }
@@ -677,6 +694,9 @@ public class XXAccessAudit extends XXDBBase implements 
java.io.Serializable {
                if ((this.resourceType == null && other.resourceType != null) 
|| (this.resourceType != null && 
!this.resourceType.equals(other.resourceType))) {
                        return false;
                }
+                       if ((this.tags == null && other.tags != null) || 
(this.tags != null && !this.tags.equals(other.tags))) {
+                               return false;
+                       }
                return true;
        }
        public static String getEnumName(String fieldName ) {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/rest/AssetREST.java
----------------------------------------------------------------------
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 e5de160..b931f7b 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
@@ -632,6 +632,8 @@ public class AssetREST {
                                "startDate", "MM/dd/yyyy");
                searchUtil.extractDate(request, searchCriteria, "endDate", 
"endDate",
                                "MM/dd/yyyy");
+
+               searchUtil.extractStringList(request, searchCriteria, "tags", 
"Tag List", "tags", null, null);
                return assetMgr.getAccessLogs(searchCriteria);
        }
        

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
index 9584c3d..1f73504 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/RangerPolicyServiceBase.java
@@ -83,6 +83,7 @@ public abstract class RangerPolicyServiceBase<T extends 
XXPolicyBase, V extends
                                "resMap.resourceId = polRes.id and 
polRes.policyId = obj.id"));
                searchFields.add(new 
SearchField(SearchFilter.POLICY_NAME_PARTIAL, "obj.name", DATA_TYPE.STRING,
                                SEARCH_TYPE.PARTIAL));
+               searchFields.add(new SearchField(SearchFilter.POLICY_TYPE, 
"obj.policyType", DATA_TYPE.INTEGER, SEARCH_TYPE.FULL));
 
                sortFields.add(new SortField(SearchFilter.CREATE_TIME, 
"obj.createTime"));
                sortFields.add(new SortField(SearchFilter.UPDATE_TIME, 
"obj.updateTime"));

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
 
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
index 98c987e..20079fb 100644
--- 
a/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
+++ 
b/security-admin/src/main/java/org/apache/ranger/service/XAccessAuditService.java
@@ -100,6 +100,7 @@ public class XAccessAuditService extends 
XAccessAuditServiceBase<XXAccessAudit,
                                DATA_TYPE.DATE, 
SEARCH_TYPE.GREATER_EQUAL_THAN));
                searchFields.add(new SearchField("endDate", "obj.eventTime", 
                                DATA_TYPE.DATE, SEARCH_TYPE.LESS_EQUAL_THAN));
+               searchFields.add(new SearchField("tags", "obj.tags", 
DATA_TYPE.STR_LIST, SEARCH_TYPE.PARTIAL));
                sortFields.add(new SortField("eventTime", "obj.eventTime", 
true, SORT_ORDER.DESC));
 }
 
@@ -125,6 +126,7 @@ public class XAccessAuditService extends 
XAccessAuditServiceBase<XXAccessAudit,
                mObj.setSequenceNumber( vObj.getSequenceNumber());
                mObj.setEventCount( vObj.getEventCount());
                mObj.setEventDuration( vObj.getEventDuration());
+               mObj.setTags(vObj.getTags());
                return mObj;
        }
 
@@ -149,6 +151,7 @@ public class XAccessAuditService extends 
XAccessAuditServiceBase<XXAccessAudit,
                vObj.setSequenceNumber( mObj.getSequenceNumber());
                vObj.setEventCount( mObj.getEventCount());
                vObj.setEventDuration( mObj.getEventDuration());
+               vObj.setTags(mObj.getTags());
 
                XXService xService = 
daoManager.getXXService().findByName(mObj.getRepoName());
                if (xService != null) {

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/solr/SolrAccessAuditsService.java
----------------------------------------------------------------------
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 5fc45d2..2b3cd09 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
@@ -114,6 +114,8 @@ public class SolrAccessAuditsService {
                searchFields.add(new SearchField("endDate", "evtTime", 
DATA_TYPE.DATE,
                                SEARCH_TYPE.LESS_EQUAL_THAN));
 
+               searchFields.add(new SearchField("tags", "obj.tags", 
DATA_TYPE.STR_LIST, SEARCH_TYPE.PARTIAL));
+
                sortFields.add(new SortField("eventTime", "evtTime", true,
                                SORT_ORDER.DESC));
        }
@@ -259,6 +261,10 @@ public class SolrAccessAuditsService {
                if (value != null) {
                        accessAudit.setEventDuration(solrUtil.toLong(value));
                }
+               value = doc.getFieldValue("tags");
+               if (value != null) {
+                       accessAudit.setTags(value.toString());
+               }
                return accessAudit;
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java 
b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
index bcffd4d..9f0a97c 100644
--- a/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
+++ b/security-admin/src/main/java/org/apache/ranger/view/VXAccessAudit.java
@@ -128,9 +128,12 @@ public class VXAccessAudit extends VXDataObject implements 
java.io.Serializable
        protected long sequenceNumber;
 
        protected long eventCount;
-
+       
        //event duration in ms
        protected long eventDuration;
+       
+       protected String tags;
+       
        /**
         * Default constructor. This will set all the attributes to default 
value.
         */
@@ -482,6 +485,21 @@ public class VXAccessAudit extends VXDataObject implements 
java.io.Serializable
                this.eventDuration = eventDuration;
        }
 
+       /**
+        * @return the tags
+        */
+       public String getTags() {
+               return tags;
+       }
+
+       /**
+        * @param tags
+        *            the tags to set
+        */
+       public void setTags(String tags) {
+               this.tags = tags;
+       }
+
        @Override
        public int getMyClassType( ) {
            return AppConstants.CLASS_TYPE_XA_ACCESS_AUDIT;
@@ -516,6 +534,7 @@ public class VXAccessAudit extends VXDataObject implements 
java.io.Serializable
                str += "sequenceNumber={" + sequenceNumber + "}";
                str += "eventCount={" + eventCount + "}";
                str += "eventDuration={" + eventDuration + "}";
+               str += "tags={" + tags + "}";
                str += "}";
                return str;
        }

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/722a5ba4/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
----------------------------------------------------------------------
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 b3147ee..2af43bc 100644
--- a/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
+++ b/security-admin/src/main/webapp/scripts/views/reports/AuditLayout.js
@@ -181,6 +181,7 @@ define(function(require) {
                                        <th class="renderable cip"> </th>\
                                        <th class="renderable aip" > </th>\
                                        <th class="renderable aip" > </th>\
+                                       <th class="renderable ruser"></th>\
                                </tr>');
                },
                renderDateFields : function(){
@@ -273,8 +274,9 @@ define(function(require) {
                                              {text : 'Result',label 
:'accessResult', 'multiple' : true, 'optionsArr' : 
XAUtils.enumToSelectLabelValuePairs(XAEnums.AccessResult)},
                                              {text : 'Access Type',label 
:'accessType'},{text : 'Access Enforcer',label :'aclEnforcer'},
                                              {text : 'Audit Type',label 
:'auditType'},{text : 'Session ID',label :'sessionId'},
-                                             {text : 'Client IP',label 
:'clientIP'},{text : 'Client Type',label :'clientType'}];
-            var searchOpt = ['Start Date','End Date','User','Service 
Name','Service Type','Resource Name','Access Type','Result','Access 
Enforcer','Client IP'];//,'Policy ID'
+                                             {text : 'Client IP',label 
:'clientIP'},{text : 'Client Type',label :'clientType'},
+                                             {text : 'Tags',label :'tags'}];
+            var searchOpt = ['Start Date','End Date','User','Service 
Name','Service Type','Resource Name','Access Type','Result','Access 
Enforcer','Client IP','Tags'];//,'Policy ID'
             this.clearVisualSearch(this.accessAuditList, serverAttrName);
             
                        //'Resource Type','Audit Type','Session IP','Client 
Type','Today',
@@ -917,6 +919,14 @@ define(function(require) {
                                                sortable:false,
                                                editable:false
                                        },
+                                       tags : {
+                                               label : 'Tags',
+                                               cell: "string",
+                                               click : false,
+                                               drag : false,
+                                               sortable:false,
+                                               editable:false
+                                       },
                        };
                        return 
this.accessAuditList.constructor.getTableCols(cols, this.accessAuditList);
                },

Reply via email to