RANGER-515 : Handle listing of large no of groups

Signed-off-by: sneethiraj <[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/a097b7f8
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/a097b7f8
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/a097b7f8

Branch: refs/heads/ranger-0.5
Commit: a097b7f8f2919544819f35edced710c8020dc0d1
Parents: 29f8f20
Author: Gautam Borad <[email protected]>
Authored: Sat May 30 14:30:45 2015 +0530
Committer: sneethiraj <[email protected]>
Committed: Sat May 30 23:57:24 2015 -0400

----------------------------------------------------------------------
 security-admin/src/bin/ranger_install.py        | 19 +++++++++-------
 .../src/main/webapp/scripts/utils/XAUtils.js    | 24 ++++++++++++--------
 .../views/permissions/ModulePermissionForm.js   | 10 ++++----
 .../views/permissions/ModulePermsTableLayout.js |  2 ++
 .../views/policies/RangerPolicyTableLayout.js   |  2 ++
 5 files changed, 34 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a097b7f8/security-admin/src/bin/ranger_install.py
----------------------------------------------------------------------
diff --git a/security-admin/src/bin/ranger_install.py 
b/security-admin/src/bin/ranger_install.py
index 346f292..d961b55 100644
--- a/security-admin/src/bin/ranger_install.py
+++ b/security-admin/src/bin/ranger_install.py
@@ -299,7 +299,8 @@ def init_variables(switch):
     conf_dict['audit_db_name']=os.getenv("RANGER_AUDIT_DB_DBNAME")
     conf_dict['audit_db_user']=os.getenv("RANGER_AUDIT_DB_USERNAME")
     conf_dict['audit_db_password']=os.getenv("RANGER_AUDIT_DB_PASSWORD")
-
+    conf_dict['RANGER_ADMIN_DB_PORT']=os.getenv("RANGER_ADMIN_DB_PORT")
+    conf_dict['RANGER_AUDIT_DB_PORT']=os.getenv("RANGER_AUDIT_DB_PORT")
     db_dir = os.path.join(conf_dict['RANGER_ADMIN_HOME'] , "db")
     conf_dict['mysql_core_file']=os.path.join(db_dir,'mysql','xa_core_db.sql')
     
conf_dict['mysql_audit_file']=os.path.join(db_dir,'mysql','xa_audit_db.sql')
@@ -714,6 +715,8 @@ def update_properties():
     db_user = conf_dict["RANGER_ADMIN_DB_USERNAME"]
     db_password = conf_dict["RANGER_ADMIN_DB_PASSWORD"]
     db_name = conf_dict["RANGER_ADMIN_DB_NAME"]
+    RANGER_ADMIN_DB_PORT = conf_dict["RANGER_ADMIN_DB_PORT"]
+    RANGER_AUDIT_DB_PORT = conf_dict["RANGER_AUDIT_DB_PORT"]
 
     audit_db_user = conf_dict["RANGER_AUDIT_DB_USERNAME"]
     audit_db_password = conf_dict["RANGER_AUDIT_DB_PASSWORD"]
@@ -734,7 +737,7 @@ def update_properties():
     log("SQL_HOST is : " + MYSQL_HOST,"debug")
     if RANGER_DB_FLAVOR == "MYSQL":
             propertyName="ranger.jpa.jdbc.url"
-            newPropertyValue="jdbc:log4jdbc:mysql://" + MYSQL_HOST + ":3306/" 
+ db_name
+            newPropertyValue="jdbc:log4jdbc:mysql://" + MYSQL_HOST + 
":RANGER_ADMIN_DB_PORT/" + db_name
             updatePropertyToFilePy(propertyName ,newPropertyValue 
,to_file_ranger)
 
             propertyName="ranger.jpa.jdbc.user"
@@ -746,7 +749,7 @@ def update_properties():
             updatePropertyToFilePy(propertyName ,newPropertyValue 
,to_file_ranger)
                
             propertyName="ranger.jpa.audit.jdbc.url"
-            
newPropertyValue="jdbc:log4jdbc:mysql://"+MYSQL_HOST+":3306/"+audit_db_name
+            
newPropertyValue="jdbc:log4jdbc:mysql://"+MYSQL_HOST+":RANGER_AUDIT_DB_PORT/"+audit_db_name
             updatePropertyToFilePy(propertyName ,newPropertyValue 
,to_file_ranger)
 
             propertyName="ranger.jpa.jdbc.dialect"
@@ -767,7 +770,7 @@ def update_properties():
     
     elif RANGER_DB_FLAVOR == "ORACLE":
             propertyName="ranger.jpa.jdbc.url"
-            newPropertyValue="jdbc:oracle:thin:%s/%s@%s:1521/XE" %(db_user, 
db_password, MYSQL_HOST)
+            newPropertyValue="jdbc:oracle:thin:@%s" %(MYSQL_HOST)
             updatePropertyToFilePy(propertyName ,newPropertyValue 
,to_file_ranger)
                        
             propertyName="ranger.jpa.jdbc.user"
@@ -779,7 +782,7 @@ def update_properties():
             updatePropertyToFilePy(propertyName ,newPropertyValue 
,to_file_ranger)
                        
             propertyName="ranger.jpa.audit.jdbc.url"
-            newPropertyValue="jdbc:oracle:thin:%s/%s@%s:1521/XE" 
%(audit_db_user, audit_db_password, MYSQL_HOST)
+            newPropertyValue="jdbc:oracle:thin:@%s" %(MYSQL_HOST)
             updatePropertyToFilePy(propertyName ,newPropertyValue 
,to_file_ranger)
 
             propertyName="ranger.jpa.jdbc.dialect"
@@ -800,7 +803,7 @@ def update_properties():
 
     elif RANGER_DB_FLAVOR == "POSTGRES":
         propertyName="ranger.jpa.jdbc.url"
-        newPropertyValue="jdbc:postgresql://%s/%s" %(MYSQL_HOST, db_name)
+        newPropertyValue="jdbc:postgresql://%s:%s/%s" %(MYSQL_HOST, 
RANGER_ADMIN_DB_PORT, db_name)
         updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
                
         propertyName="ranger.jpa.jdbc.user"
@@ -812,7 +815,7 @@ def update_properties():
         updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
                
         propertyName="ranger.jpa.audit.jdbc.url"
-        newPropertyValue="jdbc:postgresql://%s/%s" %(MYSQL_HOST, audit_db_name)
+        newPropertyValue="jdbc:postgresql://%s:%s/%s" %(MYSQL_HOST, 
RANGER_AUDIT_DB_PORT, audit_db_name)
         updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_ranger)
 
         propertyName="ranger.jpa.jdbc.dialect"
@@ -853,7 +856,7 @@ def update_properties():
         
newPropertyValue="org.eclipse.persistence.platform.database.SQLServerPlatform"
         updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
 
-        propertyName="ranger.jpa.jdbc.dialect"
+        propertyName="ranger.jpa.audit.jdbc.dialect"
         
newPropertyValue="org.eclipse.persistence.platform.database.SQLServerPlatform"
         updatePropertyToFilePy(propertyName ,newPropertyValue ,to_file_default)
 

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a097b7f8/security-admin/src/main/webapp/scripts/utils/XAUtils.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/utils/XAUtils.js 
b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
index 89668a2..b99d8fd 100644
--- a/security-admin/src/main/webapp/scripts/utils/XAUtils.js
+++ b/security-admin/src/main/webapp/scripts/utils/XAUtils.js
@@ -473,30 +473,32 @@ define(function(require) {
 
                var newGroupArr = _.map(groupArr, function(name, i) {
                        if (i >= 4) {
-                               return '<span class="label label-info" policy-' 
+ type
+                               return '<span class="label label-info 
float-left-margin-2" policy-' + type
                                                + '-id="' + model.id + '" 
style="display:none;">'
                                                + name + '</span>';
                        } else if (i == 3 && groupArr.length > 4) {
                                showMoreLess = true;
-                               return '<span class="label label-info" policy-' 
+ type
+                               return '<span class="label label-info 
float-left-margin-2" policy-' + type
                                                + '-id="' + model.id + '">' + 
name + '</span>';
                        } else {
-                               return '<span class="label label-info" policy-' 
+ type
+                               return '<span class="label label-info 
float-left-margin-2" policy-' + type
                                                + '-id="' + model.id + '">' + 
name + '</span>';
                        }
                });
                if (showMoreLess) {
                        newGroupArr
-                                       .push('<span class="pull-left"><a 
href="javascript:void(0);" data-id="showMore" class="" policy-'
+                                       .push('<span class="pull-left 
float-left-margin-2"><a href="javascript:void(0);" data-id="showMore" class="" 
policy-'
                                                        + type
                                                        + '-id="'
                                                        + model.id
-                                                       + '"><code style=""> + 
More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" 
data-id="showLess" class="" policy-'
+                                                       + '"><code style=""> + 
More..</code></a></span><span class="pull-left float-left-margin-2" ><a 
href="javascript:void(0);" data-id="showLess" class="" policy-'
                                                        + type
                                                        + '-id="'
                                                        + model.id
                                                        + '" 
style="display:none;"><code> - Less..</code></a></span>');
                }
+               newGroupArr.unshift('<div data-id="groupsDiv">');
+               newGroupArr.push('</div>');
                return newGroupArr.length ? newGroupArr.join(' ') : '--';
 
        };
@@ -517,30 +519,32 @@ define(function(require) {
 
                var newObjArr = _.map(objArr, function(name, i) {
                        if (i >= 4) {
-                               return '<span class="label label-info" policy-' 
+ userOrGroups
+                               return '<span class="label label-info 
float-left-margin-2" policy-' + userOrGroups
                                                + '-id="' + model.id + '" 
style="display:none;">'
                                                + name + '</span>';
                        } else if (i == 3 && objArr.length > 4) {
                                showMoreLess = true;
-                               return '<span class="label label-info" policy-' 
+ userOrGroups
+                               return '<span class="label label-info 
float-left-margin-2" policy-' + userOrGroups
                                                + '-id="' + model.id + '">' + 
name + '</span>';
                        } else {
-                               return '<span class="label label-info" policy-' 
+ userOrGroups
+                               return '<span class="label label-info 
float-left-margin-2" policy-' + userOrGroups
                                                + '-id="' + model.id + '">' + 
name + '</span>';
                        }
                });
                if (showMoreLess) {
                        newObjArr
-                                       .push('<span class="pull-left"><a 
href="javascript:void(0);" data-id="showMore" class="" policy-'
+                                       .push('<span class="pull-left 
float-left-margin-2"><a href="javascript:void(0);" data-id="showMore" class="" 
policy-'
                                                        + userOrGroups
                                                        + '-id="'
                                                        + model.id
-                                                       + '"><code style=""> + 
More..</code></a></span><span class="pull-left" ><a href="javascript:void(0);" 
data-id="showLess" class="" policy-'
+                                                       + '"><code style=""> + 
More..</code></a></span><span class="pull-left float-left-margin-2" ><a 
href="javascript:void(0);" data-id="showLess" class="" policy-'
                                                        + userOrGroups
                                                        + '-id="'
                                                        + model.id
                                                        + '" 
style="display:none;"><code> - Less..</code></a></span>');
                }
+               newObjArr.unshift('<div data-id="groupsDiv">');
+               newObjArr.push('</div>');
                return newObjArr.length ? newObjArr.join(' ') : '--';
 
        };

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a097b7f8/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
index 8984fb9..497a4a2 100644
--- 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
+++ 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermissionForm.js
@@ -91,7 +91,7 @@ define(function(require) {
                                selectUsers : {
                                        type : 'Select2Remote',
                                        editorAttrs  : {'placeholder' :'Select 
User','tokenSeparators': [",", " "],multiple:true},
-                                       pluginAttr: 
this.getPlugginAttr(true,{'lookupURL':"service/users",'permList':that.model.get('userPermList'),'idKey':'userId','textKey':'userName'}),
+                                       pluginAttr: 
this.getPlugginAttr(true,{'lookupURL':"service/xusers/users",'permList':that.model.get('userPermList'),'idKey':'userId','textKey':'userName'}),
                                        title : 
localization.tt('lbl.selectUser')+' *',
                                },
                                isAllowed : {
@@ -170,16 +170,16 @@ define(function(require) {
                                                cache: false,
                                                data: function (term, page) {
                                                        //To be checked
-                                                       //return {name : term, 
isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value};
-                                                       return {loginId : term};
+                                                       return {name : term, 
isVisible : XAEnums.VisibilityStatus.STATUS_VISIBLE.value};
+//                                                     return {loginId : term};
                                                },
                                                results: function (data, page) {
                                                        var results = [];
                                                        if(data.resultSize != 
"0"){
                                                                
if(!_.isUndefined(data.vXGroups))
                                                                        results 
= data.vXGroups.map(function(m, i){     return {id : m.id+"", text: m.name};    
});
-                                                               else 
if(!_.isUndefined(data.vXPortalUsers))
-                                                                       results 
= data.vXPortalUsers.map(function(m, i){        return {id : m.id+"", text: 
m.loginId}; });
+                                                               else 
if(!_.isUndefined(data.vXUsers))
+                                                                       results 
= data.vXUsers.map(function(m, i){      return {id : m.id+"", text: m.name};    
});
                                                        }
                                                        return { results : 
results};
                                                },

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a097b7f8/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
index 3e78904..18d7c4c 100644
--- 
a/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/permissions/ModulePermsTableLayout.js
@@ -183,6 +183,7 @@ define(function(require){
                        $td.find('['+attrName+'="'+id+'"]').show();
                        
$td.find('[data-id="showLess"]['+attrName+'="'+id+'"]').show();
                        
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').hide();
+                       
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').parents('div[data-id="groupsDiv"]').addClass('set-height-groups');
                },
                onShowLess : function(e){
                        var attrName = 'policy-groups-id';
@@ -195,6 +196,7 @@ define(function(require){
                        $td.find('['+attrName+'="'+id+'"]').slice(4).hide();
                        
$td.find('[data-id="showLess"]['+attrName+'="'+id+'"]').hide();
                        
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').show();
+                       
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').parents('div[data-id="groupsDiv"]').removeClass('set-height-groups');
                },
                addVisualSearch : function(){
                        var that = this;

http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/a097b7f8/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
----------------------------------------------------------------------
diff --git 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
index 0e92d6e..9a6b92f 100644
--- 
a/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
+++ 
b/security-admin/src/main/webapp/scripts/views/policies/RangerPolicyTableLayout.js
@@ -298,6 +298,7 @@ define(function(require){
                        $td.find('['+attrName+'="'+id+'"]').show();
                        
$td.find('[data-id="showLess"]['+attrName+'="'+id+'"]').show();
                        
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').hide();
+                       
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').parents('div[data-id="groupsDiv"]').addClass('set-height-groups');
                },
                onShowLess : function(e){
                        var attrName = 'policy-groups-id';
@@ -310,6 +311,7 @@ define(function(require){
                        $td.find('['+attrName+'="'+id+'"]').slice(4).hide();
                        
$td.find('[data-id="showLess"]['+attrName+'="'+id+'"]').hide();
                        
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').show();
+                       
$td.find('[data-id="showMore"]['+attrName+'="'+id+'"]').parents('div[data-id="groupsDiv"]').removeClass('set-height-groups');
                },
                addVisualSearch : function(){
                        var that = this;

Reply via email to