You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ranger.apache.org by om...@apache.org on 2014/08/14 22:50:23 UTC
[12/44] ARGUS-1. Initial code commit (Selvamohan Neethiraj via
omalley)
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/modules/XALinks.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/modules/XALinks.js b/security-admin/src/main/webapp/scripts/modules/XALinks.js
new file mode 100644
index 0000000..713307e
--- /dev/null
+++ b/security-admin/src/main/webapp/scripts/modules/XALinks.js
@@ -0,0 +1,238 @@
+/**
+ *
+ * Common module for Links used.
+ * All hrefs should be used from this file.
+ *
+*/
+define(function(require) {
+ 'use strict';
+ var XALinks = {};
+ var defaults = {
+ href : 'javascript:void(0)',
+ text : '',
+ title : 'Title'
+ };
+ var links = {
+ /* Main Menu links START */
+
+ Dashboard : {
+ href : '#',
+ text : 'h.dashboard',
+ title: 'h.dashboard'
+ },
+ PolicyManager :{
+ href : '#!/policymanager',
+ text : 'h.policyManager',
+ title: 'h.policyManager'
+ },
+ RepositoryManager :{
+ href : '#!/policymanager',
+ text : 'h.repositoryManager',
+ title: 'h.repositoryManager'
+ },
+ Users : {
+ href : '#!/users/usertab',
+ text : 'h.usersOrGroups',
+ title: 'h.usersOrGroups'
+ },
+ Groups : {
+ href : '#!/users/grouptab',
+ text : 'h.usersOrGroups',
+ title: 'h.usersOrGroups'
+ },
+ Configs: {
+ href : '#!/configs',
+ text : 'h.configs',
+ title: 'h.configs'
+ },
+ ManageTables: {
+ href : '#!/managetables',
+ text : 'h.managetables',
+ title: 'h.managetables'
+ },
+ addPolicyForTable: {
+ href : '#!/addpolicyfortable',
+ text : 'h.addpolicyfortable',
+ title: 'h.addpolicyfortable'
+ },
+ ManageFolders: {
+ href : '#!/managefolders',
+ title: 'h.managefolders',
+ text: 'h.managefolders'
+ },
+ addPolicyForFolder: {
+ href : '#!/addpolicyforfolder',
+ title: 'h.addpolicyforfolder',
+ text: 'h.addpolicyforfolder'
+ },
+ HDFSFolders: {
+ href : '#!/hdfs',
+ text : 'h.managePolices',
+ title: 'h.managePolices'
+ },
+ PolicyCreate: {
+ href : '#!/policy/create',
+ text: 'h.createPolicy',
+ title: 'h.createPolicy'
+ },
+ PolicyEdit: {
+ href : '#!/policy/create',
+ text: 'h.editPolicy',
+ title: 'h.editPolicy'
+ },
+ HivePolicyListing : {
+ href : '#!/hive',
+ title: 'h.managetables',
+ text: 'h.manageTables'
+ },
+ /*
+ * Asset related
+ */
+ /*AssetCreate: {
+ href : '#!/asset/create',
+ text: 'lbl.createAsset',
+ title: 'lbl.createAsset'
+ },*/
+ /*
+ * Reports Related
+ */
+ UserAccessReport: {
+ href : '#!/reports/userAccess',
+ text: 'lbl.userAccessReport',
+ title: 'lbl.userAccessReport'
+ },
+ AuditReport: {
+ href : '#!/reports/audit',
+ text: 'lbl.auditReport',
+ title: 'lbl.auditReport'
+ },
+ UserProfile :{
+ href : '#!/userprofile',
+ text : 'h.userProfile',
+ title: 'h.userProfile'
+ },
+
+ /*
+ * User OR Groups Related
+ */
+ UserCreate : {
+ href : '#!/user/create',
+ text : 'lbl.userCreate',
+ title: 'lbl.userCreate'
+ },
+ UserEdit : {
+ href : 'javascript:void(0);',
+ text : 'lbl.userEdit',
+ title: 'lbl.userEdit'
+ },
+ GroupCreate : {
+ href : '#!/group/create',
+ text : 'lbl.groupCreate',
+ title: 'lbl.groupCreate'
+ },
+ GroupEdit : {
+ href : 'javascript:void(0);',
+ text : 'lbl.groupEdit'
+ },
+ SessionDetail : {
+ href : '#!/reports/audit/loginSession',
+ text : 'lbl.sessionDetail'
+ },
+ AssetCreate : function(options){
+ var href = '#!/asset/create';
+ if(_.has(options,'model')){
+ href = '#!/asset/create/'+options.model.get('assetType');
+ }
+ return {
+ href : href,
+ text : 'lbl.createAsset',
+ title: 'lbl.createAsset'
+ };
+ },
+ AssetEdit : function(options){
+ var href = "javascript:void(0);";
+ if(_.has(options,'model')){
+ href = '#!/asset/'+options.model.get('id');
+ }
+ if(_.has(options,'id')){
+ href = '#!/asset/'+options.id;
+ }
+ return {
+ href : href,
+ text : 'lbl.editAsset',
+ title: 'lbl.editAsset'
+ };
+ },
+ ManagePolicies : function(options){
+ var href = "javascript:void(0);";
+ if(_.has(options,'model')){
+ href = '#!/hdfs/'+options.model.id+"/policies";
+ }
+ return {
+ href : href,
+ text : options.model.get('name') +' Policies',
+ title: options.model.get('name') +' Policies'
+ };
+ },
+ ManageHivePolicies : function(options){
+ var href = "javascript:void(0);";
+ if(_.has(options,'model')){
+ href = '#!/hive/'+options.model.id+"/policies";
+ }
+ return {
+ href : href,
+ text : options.model.get('name') +' Policies',
+ title: options.model.get('name') +' Policies'
+ };
+ },
+ ManageHbasePolicies : function(options){
+ var href = "javascript:void(0);";
+ if(_.has(options,'model')){
+ href = '#!/hbase/'+options.model.id+"/policies";
+ }
+ return {
+ href : href,
+ text : options.model.get('name') +' Policies',
+ title: options.model.get('name') +' Policies'
+ };
+ },
+ ManageKnoxPolicies : function(options){
+ var href = "javascript:void(0);";
+ if(_.has(options,'model')){
+ href = '#!/knox/'+options.model.id+"/policies";
+ }
+ return {
+ href : href,
+ text : options.model.get('name') +' Policies',
+ title: options.model.get('name') +' Policies'
+ };
+ }
+ };
+
+
+ XALinks.get = function(type, options){
+ if(! _.has(links, type)){
+ throw new Error("Link " + type + " not found in XALinks Module!");
+ }
+ var opts = {};
+ // in some case we will get model directly as options
+ if( options && !_.has(options,'model') && options instanceof Backbone.Model){
+ opts['model'] = options;
+ } else {
+ opts = options;
+ }
+
+ if(typeof links[type] === 'function'){
+ return links[type](opts||{});
+ }
+
+ return links[type];
+ };
+
+
+
+
+ return XALinks;
+
+});
+
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/modules/XAOverrides.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/modules/XAOverrides.js b/security-admin/src/main/webapp/scripts/modules/XAOverrides.js
new file mode 100644
index 0000000..0315cac
--- /dev/null
+++ b/security-admin/src/main/webapp/scripts/modules/XAOverrides.js
@@ -0,0 +1,429 @@
+define(function(require){
+
+ var App = require('App');
+ var vBreadCrumbs = require('views/common/BreadCrumbs');
+ var XAEnums = require('utils/XAEnums');
+
+ require('backgrid');
+ require('jquery-toggles');
+ /**
+ HtmlCell renders any html code
+
+ @class Backgrid.HtmlCell
+ @extends Backgrid.Cell
+ */
+ var HtmlCell = Backgrid.HtmlCell = Backgrid.Cell.extend({
+
+ /** @property */
+ className: "html-cell",
+
+ render: function () {
+ this.$el.empty();
+ var rawValue = this.model.get(this.column.get("name"));
+ var formattedValue = this.formatter.fromRaw(rawValue, this.model);
+ this.$el.append(formattedValue);
+ this.delegateEvents();
+ return this;
+ }
+ });
+
+ /**
+ SwitchCell renders Switch Button
+
+ @class Backgrid.SwitchCell
+ @extends Backgrid.Cell
+ */
+
+ var SwitchCell = Backgrid.SwitchCell = Backgrid.Cell.extend({
+
+ /** @property */
+ className: "switch-cell",
+
+ initialize: function (options) {
+ UriCell.__super__.initialize.apply(this, arguments);
+ this.switchStatus = options.switchStatus || false;
+ this.click = this.column.get('click') || false;
+ this.drag = this.column.get('drag') || false;
+ this.onText = this.column.get('onText') || 'ON';
+ this.offText = this.column.get('offText') || 'OFF';
+ if (this.column.get("cellClass")) this.$el.addClass(this.column.get("cellClass"));
+ },
+
+ render: function () {
+ this.$el.empty();
+ if(this.model.get(this.column.get("name")) != undefined){
+ rawValue = (this.model.get(this.column.get("name")));
+ this.switchStatus = this.formatter.fromRaw(rawValue, this.model);
+ }
+
+ this.$el.append('<div class="toggle-xa"><div class="toggle"></div></div>');
+ this.$el.find('.toggle').toggles({on : this.switchStatus,click :this.click,drag:this.drag,
+ text : {on :this.onText ,off : this.offText}
+ });
+ this.delegateEvents();
+ return this;
+ }
+ });
+
+ var UriCell = Backgrid.UriCell = Backgrid.Cell.extend({
+
+ className: "uri-cell",
+ title: null,
+ target: "_blank",
+
+ initialize: function (options) {
+ UriCell.__super__.initialize.apply(this, arguments);
+ this.title = options.title || this.title;
+ this.target = options.target || this.target;
+ },
+
+ render: function () {
+ this.$el.empty();
+ var rawValue = this.model.get(this.column.get("name"));
+ var href = _.isFunction(this.column.get("href")) ? this.column.get('href')(this.model) : this.column.get('href');
+ var klass = this.column.get("klass");
+ var formattedValue = this.formatter.fromRaw(rawValue, this.model);
+ this.$el.append($("<a>", {
+ tabIndex: -1,
+ href: href,
+ title: this.title || formattedValue,
+ 'class' : klass
+ }).text(formattedValue));
+
+ if(this.column.has("iconKlass")){
+ var iconKlass = this.column.get("iconKlass");
+ var iconTitle = this.column.get("iconTitle");
+ this.$el.find('a').append('<i class="'+iconKlass+'" title="'+iconTitle+'"></i>');
+ }
+ this.delegateEvents();
+ return this;
+ }
+
+ });
+
+ /**
+ Renders a checkbox for Provision Table Cell.
+ @class Backgrid.SelectCell
+ @extends Backgrid.Cell
+ */
+ Backgrid.SelectCell = Backgrid.Cell.extend({
+
+ /** @property */
+ className: "select-cell",
+
+ /** @property */
+ tagName: "td",
+
+ /** @property */
+ events: {
+ //"keydown input[type=checkbox]": "onKeydown",
+ "change input[type=checkbox]": "onChange",
+ "click input[type=checkbox]": "enterEditMode"
+ },
+
+ /**
+ Initializer. If the underlying model triggers a `select` event, this cell
+ will change its checked value according to the event's `selected` value.
+
+ @param {Object} options
+ @param {Backgrid.Column} options.column
+ @param {Backbone.Model} options.model
+ */
+ initialize: function (options) {
+
+ this.column = options.column;
+ if (!(this.column instanceof Backgrid.Column)) {
+ this.column = new Backgrid.Column(this.column);
+ }
+
+ if(!this.column.has("enabledVal")){
+ this.column.set("enabledVal", "true"); // it is not a boolean value for EPM
+ this.column.set("disabledVal", "false");
+ }
+
+ var column = this.column, model = this.model, $el = this.$el;
+ this.listenTo(column, "change:renderable", function (column, renderable) {
+ $el.toggleClass("renderable", renderable);
+ });
+
+ if (Backgrid.callByNeed(column.renderable(), column, model)) $el.addClass("renderable");
+
+ this.listenTo(model, "change:" + column.get("name"), function () {
+ if (!$el.hasClass("editor")) this.render();
+ });
+
+ this.listenTo(model, "backgrid:select", function (model, selected) {
+ this.$el.find("input[type=checkbox]").prop("checked", selected).change();
+ });
+
+
+ },
+
+ /**
+ Focuses the checkbox.
+ */
+ enterEditMode: function () {
+ this.$el.find("input[type=checkbox]").focus();
+ },
+
+ /**
+ Unfocuses the checkbox.
+ */
+ exitEditMode: function () {
+ this.$el.find("input[type=checkbox]").blur();
+ },
+
+ /**
+ When the checkbox's value changes, this method will trigger a Backbone
+ `backgrid:selected` event with a reference of the model and the
+ checkbox's `checked` value.
+ */
+ onChange: function () {
+ var checked = this.$el.find("input[type=checkbox]").prop("checked");
+ //this.$el.parent().toggleClass("selected", checked);
+ if(checked)
+ this.model.set(this.column.get("name"), XAEnums.ActivationStatus.ACT_STATUS_ACTIVE.value);
+ else
+ this.model.set(this.column.get("name"), XAEnums.ActivationStatus.ACT_STATUS_DISABLED.value);
+ this.model.trigger("backgrid:selected", this.model, checked);
+ },
+
+ /**
+ Renders a checkbox in a table cell.
+ */
+ render: function () {
+ var model = this.model, column = this.column;
+ var val = (model.get(column.get("name")) === column.get("enabledVal") ||
+ model.get(column.get("name")) === XAEnums.ActivationStatus.ACT_STATUS_ACTIVE.value) ? true : false;
+
+ // this.$el.empty().append('<input tabindex="-1" type="checkbox" />');
+ this.$el.empty();
+
+ // this.$el.find("input[type=checkbox]").prop('checked', val);
+ this.$el.append($("<input>", {
+ tabIndex: -1,
+ type: "checkbox",
+ checked: val
+ }));
+ this.delegateEvents();
+ return this;
+ }
+ });
+
+
+
+
+
+ /**
+ * SELECT2
+ *
+ * Renders Select2 - jQuery based replacement for select boxes
+ *
+ * Requires an 'options.values' value on the schema.
+ * Can be an array of options, a function that calls back with the array of options, a string of HTML
+ * or a Backbone collection. If a collection, the models must implement a toString() method
+ */
+ var Form = require('backbone-forms');
+ require('select2');
+ Form.editors.Select2 = Form.editors.Select.extend({
+ initialize : function(options){
+ this.pluginAttr = _.extend( {'width' : 'resolve'}, options.schema.pluginAttr || {});
+ Form.editors.Select.prototype.initialize.call(this,options);
+ },
+
+ render: function() {
+ var self = this;
+ this.setOptions(this.schema.options);
+ setTimeout(function () {
+ self.$el.select2(self.pluginAttr);
+ },0);
+
+ return this;
+ }
+
+ });
+
+ /**
+ * TOGGLE SWITCH
+ * https://github.com/simontabor/jquery-toggles
+ *
+ */
+ Form.editors.Switch = Form.editors.Base.extend({
+ ui : {
+
+ },
+ events: {
+ 'click': function(event) {
+ this.trigger('change', this);
+ },
+ 'focus': function(event) {
+ this.trigger('focus', this);
+ },
+ 'blur': function(event) {
+ this.trigger('blur', this);
+ }
+ },
+
+ initialize: function(options) {
+ Form.editors.Base.prototype.initialize.call(this, options);
+ this.template = _.template('<div class="toggle-xa"><div class="toggle"></div></div>');
+ //this.$el.attr('type', 'checkbox');
+ this.switchOn = _.has(this.schema,'switchOn') ? this.schema.switchOn : false;
+ this.onText = _.has(this.schema,'onText') ? this.schema.onText : 'ON';
+ this.offText = _.has(this.schema,'offText') ? this.schema.offText : 'OFF';
+ this.width = _.has(this.schema,'width') ? this.schema.width : 50;
+ this.height = _.has(this.schema,'height') ? this.schema.height : 20;
+ },
+
+ /**
+ * Adds the editor to the DOM
+ */
+ render: function() {
+ this.$el.html( this.template );
+ this.$el.find('.toggle').toggles({
+ on:this.switchOn,
+ text : {on : this.onText, off : this.offText },
+ width: this.width,
+ height: this.height
+ });
+
+ return this;
+ },
+
+ getValue: function() {
+ return this.$el.find('.toggle-slide').hasClass('active')? XAEnums.BooleanValue.BOOL_TRUE.value : XAEnums.BooleanValue.BOOL_FALSE.value ;
+ //return this.$el.find('.active').text() == "ON" ? true : false;
+ },
+
+ setValue: function(switchOn) {
+ this.$el.find('.toggle').toggles({on:switchOn,text : {on : this.onText, off : this.offText }});
+ /*if(switchOn){
+ this.$el.find('.active').removeClass('active');
+ this.$el.find('.toggle-on').addClass('active');
+ }else{
+ this.$el.find('.active').removeClass('active');
+ this.$el.find('.toggle-off').addClass('active');
+ }*/
+ return true;
+ },
+
+ focus: function() {
+ if (this.hasFocus) return;
+
+ this.$el.focus();
+ },
+
+ blur: function() {
+ if (!this.hasFocus) return;
+
+ this.$el.blur();
+ }
+
+ });
+
+
+
+ //Scroll to top functionality on all views -- if the scroll height is > 500 px.
+ $(window).scroll(function() {
+ if ($(this).scrollTop() > 300) {
+ $('#back-top').show();
+ $('#back-top').tooltip();
+ } else {
+ $('#back-top').hide();
+ }
+ });
+
+ $('#back-top').click(function() {
+ $('body,html').animate({
+ scrollTop : 0
+ }, 800);
+ return false;
+ });
+
+
+
+
+ /*
+ * Backbone.View override for implementing Breadcrumbs
+ */
+ Backbone.View = (function(View) {
+ // Define the new constructor
+ Backbone.View = function(options) {
+ // Call the original constructor
+ View.apply(this, arguments);
+ // Add the render callback
+ if(this.breadCrumbs){
+ var breadCrumbsArr = [];
+ if(_.isFunction(this.breadCrumbs))
+ breadCrumbsArr = this.breadCrumbs();
+ else
+ breadCrumbsArr = this.breadCrumbs;
+
+ if(App.rBreadcrumbs.currentView)
+ App.rBreadcrumbs.close();
+ App.rBreadcrumbs.show(new vBreadCrumbs({breadcrumb:breadCrumbsArr}));
+ }
+ };
+ // 1lone static properties
+ _.extend(Backbone.View, View);
+ // Clone prototype
+ Backbone.View.prototype = (function(Prototype) {
+ Prototype.prototype = View.prototype;
+ return new Prototype;
+ })(function() {});
+ // Update constructor in prototype
+ Backbone.View.prototype.constructor = Backbone.View;
+ return Backbone.View;
+ })(Backbone.View);
+
+
+ /*
+ * Override val() of jquery to trim values
+ */
+ (function ($) {
+ var originalVal = $.fn.val;
+ $.fn.val = function(value) {
+ if (_.isUndefined(value))
+ return originalVal.call(this);
+ else {
+ return originalVal.call(this,(_.isString(value))? $.trim(value):value);
+ }
+ };
+ })(jQuery);
+
+ /*************** Block UI ************************/
+ /*! Copyright 2011, Ben Lin (http://dreamerslab.com/)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Version: 1.1.1
+ *
+ * Requires: jQuery 1.2.6+
+ * https://github.com/dreamerslab/jquery.msg/
+ */
+ ;(function($,window){var get_win_size=function(){if(window.innerWidth!=undefined)return[window.innerWidth,window.innerHeight];else{var B=document.body;var D=document.documentElement;return[Math.max(D.clientWidth,B.clientWidth),Math.max(D.clientHeight,B.clientHeight)]}};$.fn.center=function(opt){var $w=$(window);var scrollTop=$w.scrollTop();return this.each(function(){var $this=$(this);var configs=$.extend({against:"window",top:false,topPercentage:0.5,resize:true},opt);var centerize=function(){var against=configs.against;var against_w_n_h;var $against;if(against==="window")against_w_n_h=get_win_size();else if(against==="parent"){$against=$this.parent();against_w_n_h=[$against.width(),$against.height()];scrollTop=0}else{$against=$this.parents(against);against_w_n_h=[$against.width(),$against.height()];scrollTop=0}var x=(against_w_n_h[0]-$this.outerWidth())*0.5;var y=(against_w_n_h[1]-$this.outerHeight())*configs.topPercentage+scrollTop;if(configs.top)y=configs.top+scrollTop;$this.cs
s({"left":x,"top":y})};centerize();if(configs.resize===true)$w.resize(centerize)})}})(jQuery,window);
+
+ /* Copyright 2011, Ben Lin (http://dreamerslab.com/)
+ * Licensed under the MIT License (LICENSE.txt).
+ *
+ * Version: 1.0.7
+ *
+ * Requires:
+ * jQuery 1.3.0+,
+ * jQuery Center plugin 1.0.0+ https://github.com/dreamerslab/jquery.center
+ */
+ ;(function(d,e){var a={},c=0,f,b=[function(){}];d.msg=function(){var g,k,j,l,m,i,h;j=[].shift.call(arguments);l={}.toString.call(j);m=d.extend({afterBlock:function(){},autoUnblock:true,center:{topPercentage:0.4},css:{},clickUnblock:true,content:"Please wait...",fadeIn:200,fadeOut:300,bgPath:"",klass:"black-on-white",method:"appendTo",target:"body",timeOut:2400,z:1000},a);l==="[object Object]"&&d.extend(m,j);i={unblock:function(){g=d("#jquery-msg-overlay").fadeOut(m.fadeOut,function(){b[m.msgID](g);g.remove();});clearTimeout(f);}};h={unblock:function(o,n){var p=o===undefined?0:o;m.msgID=n===undefined?c:n;setTimeout(function(){i.unblock();},p);},replace:function(n){if({}.toString.call(n)!=="[object String]"){throw"$.msg('replace'); error: second argument has to be a string";}d("#jquery-msg-content").empty().html(n).center(m.center);},overwriteGlobal:function(o,n){a[o]=n;}};c--;m.msgID=m.msgID===undefined?c:m.msgID;b[m.msgID]=m.beforeUnblock===undefined?function(){}:m.beforeUnblock;i
f(l==="[object String]"){h[j].apply(h,arguments);}else{g=d('<div id="jquery-msg-overlay" class="'+m.klass+'" style="position:absolute; z-index:'+m.z+"; top:0px; right:0px; left:0px; height:"+d(e).height()+'px;"><img src="'+m.bgPath+'blank.gif" id="jquery-msg-bg" style="width: 100%; height: 100%; top: 0px; left: 0px;"/><div id="jquery-msg-content" class="jquery-msg-content" style="position:absolute;">'+m.content+"</div></div>");g[m.method](m.target);k=d("#jquery-msg-content").center(m.center).css(m.css).hide();g.hide().fadeIn(m.fadeIn,function(){k.fadeIn("fast").children().andSelf().bind("click",function(n){n.stopPropagation();});m.afterBlock.call(h,g);m.clickUnblock&&g.bind("click",function(n){n.stopPropagation();i.unblock();});if(m.autoUnblock){f=setTimeout(i.unblock,m.timeOut);}});}return this;};})(jQuery,document);
+
+ /*
+ * BASICS
+ **********
+
+ dirtyFields is a jQuery plugin that makes a user aware of which form elements have been updated on an HTML form and can reset the form values back to their previous state.
+
+ The main website for the plugin (which includes documentation, demos, and a download file) is currently at:
+
+ http://www.thoughtdelimited.org/dirtyFields/index.cfm
+ *
+ */
+
+ (function(e){function t(t,n,r){var i=n.data("dF").dirtyFieldsDataProperty;var s=e.inArray(t,i);if(r=="dirty"&&s==-1){i.push(t);n.data("dF").dirtyFieldsDataProperty=i}else if(r=="clean"&&s>-1){i.splice(s,1);n.data("dF").dirtyFieldsDataProperty=i}}function n(t){if(t.data("dF").dirtyFieldsDataProperty.length>0){t.addClass(t.data("dF").dirtyFormClass);if(e.isFunction(t.data("dF").formChangeCallback)){t.data("dF").formChangeCallback.call(t,true,t.data("dF").dirtyFieldsDataProperty)}}else{t.removeClass(t.data("dF").dirtyFormClass);if(e.isFunction(t.data("dF").formChangeCallback)){t.data("dF").formChangeCallback.call(t,false,t.data("dF").dirtyFieldsDataProperty)}}}function r(t,n,r,i){if(i.data("dF").denoteDirtyFields){var s=i.data("dF").fieldOverrides;var o=n.attr("id");var u=false;for(var a in s){if(o==a){if(r=="changed"){e("#"+s[a]).addClass(i.data("dF").dirtyFieldClass)}else{e("#"+s[a]).removeClass(i.data("dF").dirtyFieldClass)}u=true}}if(u==false){var f=i.data("dF")[t];var l=f.split(
"-");switch(l[0]){case"next":if(r=="changed"){n.next(l[1]).addClass(i.data("dF").dirtyFieldClass)}else{n.next(l[1]).removeClass(i.data("dF").dirtyFieldClass)}break;case"previous":if(r=="changed"){n.prev(l[1]).addClass(i.data("dF").dirtyFieldClass)}else{n.prev(l[1]).removeClass(i.data("dF").dirtyFieldClass)}break;case"closest":if(r=="changed"){n.closest(l[1]).addClass(i.data("dF").dirtyFieldClass)}else{n.closest(l[1]).removeClass(i.data("dF").dirtyFieldClass)}break;case"self":if(r=="changed"){n.addClass(i.data("dF").dirtyFieldClass)}else{n.removeClass(i.data("dF").dirtyFieldClass)}break;default:if(l[0]=="id"||l[0]=="name"){switch(l[1]){case"class":if(r=="changed"){e("."+n.attr(l[0]),i).addClass(i.data("dF").dirtyFieldClass)}else{e("."+n.attr(l[0]),i).removeClass(i.data("dF").dirtyFieldClass)}break;case"title":if(r=="changed"){e("*[title='"+n.attr(l[0])+"']",i).addClass(i.data("dF").dirtyFieldClass)}else{e("*[title='"+n.attr(l[0])+"']",i).removeClass(i.data("dF").dirtyFieldClass)}brea
k;case"for":if(r=="changed"){e("label[for='"+n.attr(l[0])+"']",i).addClass(i.data("dF").dirtyFieldClass)}else{e("label[for='"+n.attr(l[0])+"']",i).removeClass(i.data("dF").dirtyFieldClass)}break}}break}}}}function i(i,s){var o=i.attr("name");var u=false;if(s.data("dF").trimText){var a=jQuery.trim(i.val())}else{var a=i.val()}if(i.hasClass(s.data("dF").ignoreCaseClass)){var a=a.toUpperCase();var f=i.data(s.data("dF").startingValueDataProperty).toUpperCase()}else{var f=i.data(s.data("dF").startingValueDataProperty)}if(a!=f){r("textboxContext",i,"changed",s);t(o,s,"dirty");u=true}else{r("textboxContext",i,"unchanged",s);t(o,s,"clean")}if(e.isFunction(s.data("dF").fieldChangeCallback)){s.data("dF").fieldChangeCallback.call(i,i.data(s.data("dF").startingValueDataProperty),u)}if(s.data("dF").denoteDirtyForm){n(s)}}function s(i,s){var o=i.attr("name");var u=false;if(s.data("dF").denoteDirtyOptions==false&&i.attr("multiple")!=true){if(i.hasClass(s.data("dF").ignoreCaseClass)){var a=i.val().t
oUpperCase();var f=i.data(s.data("dF").startingValueDataProperty).toUpperCase()}else{var a=i.val();var f=i.data(s.data("dF").startingValueDataProperty)}if(a!=f){r("selectContext",i,"changed",s);t(o,s,"dirty");u=true}else{r("selectContext",i,"unchanged",s);t(o,s,"clean")}}else{var l=false;i.children("option").each(function(t){var n=e(this);var r=n.is(":selected");if(r!=n.data(s.data("dF").startingValueDataProperty)){if(s.data("dF").denoteDirtyOptions){n.addClass(s.data("dF").dirtyOptionClass)}l=true}else{if(s.data("dF").denoteDirtyOptions){n.removeClass(s.data("dF").dirtyOptionClass)}}});if(l){r("selectContext",i,"changed",s);t(o,s,"dirty");u=true}else{r("selectContext",i,"unchanged",s);t(o,s,"clean")}}if(e.isFunction(s.data("dF").fieldChangeCallback)){s.data("dF").fieldChangeCallback.call(i,i.data(s.data("dF").startingValueDataProperty),u)}if(s.data("dF").denoteDirtyForm){n(s)}}function o(i,s){var o=i.attr("name");var u=false;var a=i.attr("type");e(":"+a+"[name='"+o+"']",s).each(fun
ction(t){var n=e(this);var i=n.is(":checked");if(i!=n.data(s.data("dF").startingValueDataProperty)){r("checkboxRadioContext",n,"changed",s);u=true}else{r("checkboxRadioContext",n,"unchanged",s)}});if(u){t(o,s,"dirty")}else{t(o,s,"clean")}if(e.isFunction(s.data("dF").fieldChangeCallback)){s.data("dF").fieldChangeCallback.call(i,i.data(s.data("dF").startingValueDataProperty),u)}if(s.data("dF").denoteDirtyForm){n(s)}}e.fn.dirtyFields=function(t){var n=e.extend({},e.fn.dirtyFields.defaults,t);return this.each(function(){var t=e(this);t.data("dF",n);t.data("dF").dirtyFieldsDataProperty=new Array;e("input[type='text'],input[type='file'],input[type='password'],textarea",t).not("."+t.data("dF").exclusionClass).each(function(n){e.fn.dirtyFields.configureField(e(this),t,"text")});e("select",t).not("."+t.data("dF").exclusionClass).each(function(n){e.fn.dirtyFields.configureField(e(this),t,"select")});e(":checkbox,:radio",t).not("."+t.data("dF").exclusionClass).each(function(n){e.fn.dirtyFields
.configureField(e(this),t,"checkRadio")});e.fn.dirtyFields.setStartingValues(t)})};e.fn.dirtyFields.defaults={checkboxRadioContext:"next-span",denoteDirtyOptions:false,denoteDirtyFields:true,denoteDirtyForm:false,dirtyFieldClass:"dirtyField",dirtyFieldsDataProperty:"dirtyFields",dirtyFormClass:"dirtyForm",dirtyOptionClass:"dirtyOption",exclusionClass:"dirtyExclude",fieldChangeCallback:"",fieldOverrides:{none:"none"},formChangeCallback:"",ignoreCaseClass:"dirtyIgnoreCase",preFieldChangeCallback:"",selectContext:"id-for",startingValueDataProperty:"startingValue",textboxContext:"id-for",trimText:false};e.fn.dirtyFields.configureField=function(t,n,r,u){if(!t.hasClass(n.data("dF").exclusionClass)){if(typeof u!="undefined"){n.data("dF").fieldOverrides[t.attr("id")]=u}switch(r){case"text":t.change(function(){if(e.isFunction(n.data("dF").preFieldChangeCallback)){if(n.data("dF").preFieldChangeCallback.call(t,t.data(n.data("dF").startingValueDataProperty))==false){return false}}i(t,n)});break
;case"select":t.change(function(){if(e.isFunction(n.data("dF").preFieldChangeCallback)){if(n.data("dF").preFieldChangeCallback.call(t,t.data(n.data("dF").startingValueDataProperty))==false){return false}}s(t,n)});break;case"checkRadio":t.change(function(){if(e.isFunction(n.data("dF").preFieldChangeCallback)){if(n.data("dF").preFieldChangeCallback.call(t,t.data(n.data("dF").startingValueDataProperty))==false){return false}}o(t,n)});break}}};e.fn.dirtyFields.formSaved=function(t){e.fn.dirtyFields.setStartingValues(t);e.fn.dirtyFields.markContainerFieldsClean(t)};e.fn.dirtyFields.markContainerFieldsClean=function(t){var n=new Array;t.data("dF").dirtyFieldsDataProperty=n;e("."+t.data("dF").dirtyFieldClass,t).removeClass(t.data("dF").dirtyFieldClass);if(t.data("dF").denoteDirtyOptions){e("."+t.data("dF").dirtyOptionClass,t).removeClass(t.data("dF").dirtyOptionClass)}if(t.data("dF").denoteDirtyForm){t.removeClass(t.data("dF").dirtyFormClass)}};e.fn.dirtyFields.setStartingValues=function(t
,n){e("input[type='text'],input[type='file'],input[type='password'],:checkbox,:radio,textarea",t).not("."+t.data("dF").exclusionClass).each(function(n){var r=e(this);if(r.attr("type")=="radio"||r.attr("type")=="checkbox"){e.fn.dirtyFields.setStartingCheckboxRadioValue(r,t)}else{e.fn.dirtyFields.setStartingTextValue(r,t)}});e("select",t).not("."+t.data("dF").exclusionClass).each(function(n){e.fn.dirtyFields.setStartingSelectValue(e(this),t)})};e.fn.dirtyFields.setStartingTextValue=function(t,n){return t.not("."+n.data("dF").exclusionClass).each(function(){var t=e(this);t.data(n.data("dF").startingValueDataProperty,t.val())})};e.fn.dirtyFields.setStartingCheckboxRadioValue=function(t,n){return t.not("."+n.data("dF").exclusionClass).each(function(){var t=e(this);var r;if(t.is(":checked")){t.data(n.data("dF").startingValueDataProperty,true)}else{t.data(n.data("dF").startingValueDataProperty,false)}})};e.fn.dirtyFields.setStartingSelectValue=function(t,n){return t.not("."+n.data("dF").ex
clusionClass).each(function(){var t=e(this);if(n.data("dF").denoteDirtyOptions==false&&t.attr("multiple")!=true){t.data(n.data("dF").startingValueDataProperty,t.val())}else{var r=new Array;t.children("option").each(function(t){var i=e(this);if(i.is(":selected")){i.data(n.data("dF").startingValueDataProperty,true);r.push(i.val())}else{i.data(n.data("dF").startingValueDataProperty,false)}});t.data(n.data("dF").startingValueDataProperty,r)}})};e.fn.dirtyFields.rollbackTextValue=function(t,n,r){if(typeof r=="undefined"){r=true}return t.not("."+n.data("dF").exclusionClass).each(function(){var t=e(this);t.val(t.data(n.data("dF").startingValueDataProperty));if(r){i(t,n)}})};e.fn.dirtyFields.updateTextState=function(t,n){return t.not("."+n.data("dF").exclusionClass).each(function(){i(e(this),n)})};e.fn.dirtyFields.rollbackCheckboxRadioState=function(t,n,r){if(typeof r=="undefined"){r=true}return t.not("."+n.data("dF").exclusionClass).each(function(){var t=e(this);if(t.data(n.data("dF").star
tingValueDataProperty)){t.attr("checked",true)}else{t.attr("checked",false)}if(r){o(t,n)}})};e.fn.dirtyFields.updateCheckboxRadioState=function(t,n){return t.not("."+n.data("dF").exclusionClass).each(function(){o(e(this),n)})};e.fn.dirtyFields.rollbackSelectState=function(t,n,r){if(typeof r=="undefined"){r=true}return t.not("."+n.data("dF").exclusionClass).each(function(){var t=e(this);if(n.data("dF").denoteDirtyOptions==false&&t.attr("multiple")!=true){t.val(t.data(n.data("dF").startingValueDataProperty))}else{t.children("option").each(function(t){var r=e(this);if(r.data(n.data("dF").startingValueDataProperty)){r.attr("selected",true)}else{r.attr("selected",false)}})}if(r){s(t,n)}})};e.fn.dirtyFields.updateSelectState=function(t,n){return t.not("."+n.data("dF").exclusionClass).each(function(){s(e(this),n)})};e.fn.dirtyFields.rollbackForm=function(t){e("input[type='text'],input[type='file'],input[type='password'],:checkbox,:radio,textarea",t).not("."+t.data("dF").exclusionClass).eac
h(function(n){$object=e(this);if($object.attr("type")=="radio"||$object.attr("type")=="checkbox"){e.fn.dirtyFields.rollbackCheckboxRadioState($object,t,false)}else{e.fn.dirtyFields.rollbackTextValue($object,t,false)}});e("select",t).not("."+t.data("dF").exclusionClass).each(function(n){e.fn.dirtyFields.rollbackSelectState(e(this),t,false)});e.fn.dirtyFields.markContainerFieldsClean(t)};e.fn.dirtyFields.updateFormState=function(t){e("input[type='text'],input[type='file'],input[type='password'],:checkbox,:radio,textarea",t).not("."+t.data("dF").exclusionClass).each(function(n){$object=e(this);if($object.attr("type")=="radio"||$object.attr("type")=="checkbox"){e.fn.dirtyFields.updateCheckboxRadioState($object,t)}else{e.fn.dirtyFields.updateTextState($object,t)}});e("select",t).not("."+t.data("dF").exclusionClass).each(function(n){$object=e(this);e.fn.dirtyFields.updateSelectState($object,t)})};e.fn.dirtyFields.getDirtyFieldNames=function(e){return e.data("dF").dirtyFieldsDataProperty};
})(jQuery)
+});
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp b/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp
new file mode 100644
index 0000000..ebcffc3
Binary files /dev/null and b/security-admin/src/main/webapp/scripts/modules/globalize/message/.en.js.swp differ
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
new file mode 100644
index 0000000..bd7be2b
--- /dev/null
+++ b/security-admin/src/main/webapp/scripts/modules/globalize/message/en.js
@@ -0,0 +1,320 @@
+/**
+ * Never Delete any key without seraching it in all View and Template files
+ */
+/*(function( window, undefined ) {
+
+var Globalize;
+
+if ( typeof require !== "undefined" &&
+ typeof exports !== "undefined" &&
+ typeof module !== "undefined" ) {
+ // Assume CommonJS
+ Globalize = require( "../globalize.js" );
+} else {
+ // Global variable
+ Globalize = window.Globalize;
+}
+*/
+define(function(require) {
+ 'use strict';
+ Globalize = require( "globalize" );
+
+ Globalize.addCultureInfo( "en", {
+ messages: {
+ // Form labels, Table headers etc
+ lbl : {
+ // Common
+ // Accounts
+ // MSLinks
+ /*
+ * Menu related
+ */
+ home : 'Home',
+ name : 'Name',
+ password : 'Password',
+ passwordConfirm : 'Password Confirm',
+ listOfPolicies : 'List of Policies',
+ addNewPolicy : 'Add New Policy',
+ resource : 'Resource',
+ action : 'Action',
+ result : 'Result',
+ enforcer : 'Enforcer',
+ date : 'Date',
+ resourcePath : 'Resource Path',
+ includesAllPathsRecursively : 'Recursive',
+ groups : 'Groups',
+ group : 'Groups',
+ auditLogging : 'Audit Logging',
+ encrypted : 'Encrypt',
+ resourceType : 'Resource Type',
+ description : 'Description',
+ groupPermissions : 'Group Permissions',
+ userPermissions : 'User Permissions',
+ selectGroup : 'Select Group',
+ admin : 'Admin',
+ execute : 'Execute',
+ create : 'Create',
+ write : 'Write',
+ deletes : 'Delete',
+ read : 'Read',
+ select : 'Select',
+ update : 'Update',
+ drop : 'Drop',
+ alter : 'Alter',
+ index : 'Index',
+ lock : 'Lock',
+ all : 'All',
+ databaseName : 'Database Name',
+ tableName : 'Table Name',
+ columnName : 'Column Name',
+ columnFamilies : 'Column Families',
+ selectDatabaseName : 'Select Database Name',
+ selectTableName : 'Select Table Name',
+ selectColumnName : 'Select Column Name',
+ enterColumnName : 'Enter Column Name',
+ selectColumnFamilies : 'Select Column Familes',
+ resourceInformation : 'Resource Information',
+ database : 'Database' ,
+ table : 'Table',
+ column : 'Column',
+ policyInfo : 'Policy Information',
+ createdBy : 'Created By',
+ createdOn : 'Created On',
+ updatedBy : 'Updated By',
+ updatedOn : 'Updated On',
+ groupName : 'Group Name',
+ permissions : 'Permissions',
+ permissionGranted : 'Permission Granted',
+ createAccount : 'Create Account',
+ editAccount : 'Edit Account ',
+ selectFolder : 'Select Folder',
+ exports : 'Export Policies',
+ userName : 'User Name',
+ authToLocal : 'authToLocal',
+ dataNode :'dataNode',
+ nameNode :'nameNode',
+ secNamenode :'secNamenode',
+ userAccessReport : 'User Access Report',
+ auditReport : 'Audit Report',
+ createAsset : 'Create Repository',
+ editAsset : 'Edit Repository',
+ assetType : 'Repository Type',
+ selectUser : 'Select User',
+ listOfHDFSPolicies : 'List of HDFS Policies',
+ listOfHIVEPolicies : 'List of HIVE Policies',
+ listOfHBASEPolicies : 'List of HBASE Policies',
+ listOfKNOXPolicies : 'List of KNOX Policies',
+ listOfSTORMPolicies : 'List of STORM Policies',
+ users : 'Users',
+ repository : 'Repository',
+ repositoryDetails : 'Repository Details',
+ createRepository : 'Create Repository',
+
+ firstName : 'First Name',
+ lastName : 'Last Name',
+ email : 'Email',
+ emailAddress : 'Email Address',
+ newPassword : 'New Password',
+ reEnterPassword : 'Re-enter New Password',
+ oldPassword : 'Old Password',
+
+ customerName : 'Customer Name',
+ accountCode : 'Account Code',
+ accountStatus : 'Account Status',
+ ActiveStatus_STATUS_ENABLED : 'Enabled',
+ ActiveStatus_STATUS_DISABLED : 'Disabled',
+ commonNameForCertificate : 'Common Name For Certificate',
+ status : 'Status',
+ userListing : 'User List',
+ userInfo : 'User Info',
+ userEdit : 'User Edit',
+ userCreate : 'User Create',
+ groupEdit : 'Group Edit',
+ groupCreate : 'Group Create',
+ addNewUser : 'Add New User',
+ addNewGroup : 'Add New Group',
+ selectUserDefinedFunction : 'Select UDF',
+ selectView : 'Select View',
+ udfName : 'UDF Name',
+ viewName : 'View Name',
+ permForTable : 'Permission For Tables',
+ permForView : 'Permission For Views',
+ permForUdf : 'Permission For User Defined Function',
+ policyStatus : 'Policy Status',
+ httpResponseCode : 'Http Response Code',
+ repositoryName : 'Repository Name',
+ agentId : 'Agent Id',
+ agentIp : 'Agent IP',
+ createDate : 'Export Date',
+ attributeName : 'Attribute Name',
+ policyType : 'Policy Type',
+ previousValue : 'Previous Value',
+ newValue : 'New Value',
+ udf : 'UDF',
+ tableType : 'Table Type',
+ columnType : 'Column Type',
+ accountName : 'Account Name',
+ createdDate : 'Created Date',
+ sessionId : 'Session Id',
+ operation : 'Operation',
+ auditType : 'Audit Type',
+ user : 'User',
+ actions : 'Actions',
+ loginId : 'Login Id',
+ loginType : 'Login Type',
+ ip : 'IP',
+ userAgent : 'User Agent',
+ loginTime : 'Login Time',
+ sessionDetail : 'Session Detail',
+ ok : 'OK',
+ id : 'ID',
+ type : 'Type',
+ resourceId : 'Resource ID',
+ eventTime : 'Event Time',
+ resourceName : 'Resource Name',
+ repoType : 'Repository Type',
+ accessType : 'Access Type',
+ aclEnforcer : 'Access Enforcer',
+ active : 'Active',
+ selectRole : 'Select Role',
+ role : 'Role',
+ userSource : 'User Source',
+ groupSource : 'Group Source',
+ policyName : 'Policy Name',
+ allow : 'Allow',
+ selectTopologyName : 'Select Topology Name',
+ selectServiceName : 'Select Service Name',
+ topologyName : 'Topology Name',
+ serivceName : 'Service Name',
+ ipAddress : 'IP Address',
+
+ },
+ btn : {
+ add : 'Add',
+ save : 'Save',
+ cancel : 'Cancel',
+ addMore : 'Add More..'
+
+
+ },
+ // h1, h2, h3, fieldset, title
+ h : {
+ welcome : 'Welcome',
+ logout : 'Logout',
+ xaSecure : 'XA Secure',
+ hortonWorksInc : 'Hortonworks Inc.',
+ listOfPlugins : 'See third-party tools/resources used and their respective authors.',
+
+
+ // Menu
+ dashboard : 'Dashboard',
+ policyManager : 'Policy Manager',
+ usersOrGroups : 'Users/Groups',
+ reports : 'Reports',
+ config : 'Config',
+ accounts : 'Accounts',
+ analytics : 'Analytics',
+ audit : 'Audit',
+ repositoryManager : 'Manage Repository',
+ hdfs : 'HDFS',
+ hive : 'Hive',
+ createPolicy : 'Create Policy',
+ editPolicy : 'Edit Policy',
+ managePolices : 'Manage Polices',
+ manageTables : 'Manage Table',
+ userProfile : 'User Profile',
+ users : 'Users',
+ agents : 'Agents',
+ repository : 'Repository',
+ policy : 'Policy',
+ groups : 'Groups',
+ admin : 'Admin',
+ bigData : 'Big Data',
+ loginSession : 'Login Sessions',
+ operationDiff : 'Operation ',
+ searchForYourAccessAudit :"Search for your access audits...",
+ searchForYourAccessLog :"Search for your access logs...",
+ searchForYourLoginSession :"Search for your login sessions...",
+ searchForYourAgent :"Search for your agents...",
+ searchForPolicy :"Search for your policy...",
+ searchForYourUser :"Search for your users...",
+ searchForYourGroup :"Search for your groups...",
+ access : 'Access'
+
+
+ },
+ msg : {
+ deletePolicyValidationMsg : 'Policy does not have any settings for the specific resource. Policy will be deleted. Press [Ok] to continue. Press [Cancel] to edit the policy.',
+ areYouSureWantToDelete : 'Are you sure want to delete ?',
+ policyDeleteMsg : 'Policy deleted successfully',
+ policyNotAddedMsg : 'Policy not added!',
+ addGroupPermission : 'Please add permission(s) for the selected Group, else group will not be added.',
+ addGroup : 'Please select group for the selected permission, else group will not be added.',
+ addUserPermission : 'Please add permission(s) for the selected User, else User will not be added.',
+ addUser : 'Please select User for the selected permission, else User will not be added.',
+ enterAlteastOneCharactere : 'Enter alteast one character.',
+ permsAlreadyExistForSelectedUser : 'Permission already exists for selected user.',
+ permsAlreadyExistForSelectedGroup : 'Permission already exists for selected group.',
+ youDontHavePermission : 'You don\'t have permission for the resource !!',
+ myProfileError :'Your password does not match. Please try again with proper password',
+ myProfileSuccess :'Profile Edited successfully',
+ userNameAlreadyExist : 'User name already exists',
+ groupNameAlreadyExist : 'Group name already exists',
+ yourAuditLogginIsOff :'You must have at least one or more user/group access defined for the policy.',
+ policyNotHavingPerm : 'The policy does not have any permissions so audit logging cannot be turned off',
+ areSureWantToLogout : 'Are you sure want to logout ?',
+ groupDoesNotExistAnymore : 'Group does not exist anymore..',
+ userDoesNotExistAnymore : 'User does not exist anymore..',
+ repoDoesNotExistAnymore : 'Repository does not exist anymore..'
+
+
+
+ },
+ plcHldr : {
+ search :'Search',
+ searchByResourcePath :'Search by resource path'
+ },
+ dialogMsg :{
+ preventNavPolicyForm : 'HDFS policy form edit is in progress. Kindly save/cancel changes before navigating away!',
+ preventNavHivePolicyForm : 'HIVE policy form edit is in progress. Kindly save/cancel changes before navigating away!',
+ preventNavHbasePolicyForm : 'HBASE policy form edit is in progress. Kindly save/cancel changes before navigating away!',
+ preventNavKnoxPolicyForm : 'KNOX policy form edit is in progress. Kindly save/cancel changes before navigating away!',
+ preventNavStormPolicyForm : 'STORM policy form edit is in progress. Kindly save/cancel changes before navigating away!',
+ preventNavRepositoryForm : 'Repository form edit is in progress. Kindly save/cancel changes before navigating away!',
+ preventNavUserForm : 'User form edit is in progress. Kindly save/cancel changes before navigating away!',
+ preventNavGroupForm : 'Group form edit is in progress. Kindly save/cancel changes before navigating away!'
+
+ },
+ validationMessages : {
+ required : "* This field is required",
+ onlyLetterNumberUnderscore :'* Only Alpha Numeric and underscore characters are allowed',
+ alphaNumericUnderscoreDotComma :'* Only Alpha Numeric,underscore,comma,hypen,dot and space characters are allowed',
+ oldPasswordError :'Your password does not match. Please try again with proper password',
+ oldPasswordRepeatError :'You can not use old password.',
+ newPasswordError :'Invalid Password.Minimum 8 characters with min one alphabet and one numeric.',
+ emailIdError : 'Please enter valid email address.',
+ enterValidName : 'Please enter valid name.',
+ passwordError :'Invalid Password.Minimum 8 characters with min one alphabet and one numeric.'
+ },
+ serverMsg : {
+
+ // UserMgr
+ userMgrPassword : 'The password you\'ve provided is incorrect. Please try again with correct password',
+ userMgrInvalidUser : 'Invalid user provided',
+ userMgrNewPassword : 'Invalid new password',
+ userMgrOldPassword : ' You can not use old password.',
+ userMgrEmailChange : 'Email address cannot be changed. Please send a request to change using feedback',
+ userMgrInvalidEmail : 'Invalid email address',
+ userMgrWrongPassword : 'Password doesnot match. Please try again with proper password',
+ userMgrWrongUser : 'User access denied. User not found.',
+ fsDefaultNameValidationError:"Please provide fs.default.name in format 'hdfs://hostname:portNumber' .",
+ fsDefaultNameEmptyError:'Please provide fs.default.name.',
+ userAlreadyExistsError : 'User already exists',
+ repositoryNameAlreadyExistsError : 'Repository name already exists'
+
+ }
+
+
+ }
+ });
+});
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/routers/Router.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/routers/Router.js b/security-admin/src/main/webapp/scripts/routers/Router.js
new file mode 100644
index 0000000..e7500a1
--- /dev/null
+++ b/security-admin/src/main/webapp/scripts/routers/Router.js
@@ -0,0 +1,66 @@
+define([
+ 'backbone',
+ 'backbone.marionette'
+],
+function(Backbone){
+ 'use strict';
+
+ return Backbone.Marionette.AppRouter.extend({
+ /** Backbone routes hash */
+ appRoutes: {
+ "" : "policyManagerAction",//"dashboardAction",
+ "!/policymanager" : "policyManagerAction",
+
+ /* HDFS related */
+ "!/hdfs" : "hdfsManageAction",
+ "!/hdfs/:id/policies" : "hdfsManageAction",
+ "!/policy/:assetId/create" : "policyCreateAction",
+ "!/policy/:id/edit" : "policyEditAction",
+ "!/hdfs/:assetId/policy/:id": "policyViewAction",
+
+ /****** Hive related **********************/
+ "!/hive" : "hiveManageAction",
+ "!/hive/:id/policies" : "hiveManageAction",
+ "!/hive/:assetId/policy/create" : "hivePolicyCreateAction",
+ "!/hive/:assetId/policy/:id" : "hivePolicyEditAction",
+
+ /****** HBASE related **********************/
+ "!/hbase" : "hbaseManageAction",
+ "!/hbase/:id/policies" : "hbaseManageAction",
+ "!/hbase/:assetId/policy/create": "hbasePolicyCreateAction",
+ "!/hbase/:assetId/policy/:id" : "hbasePolicyEditAction",
+
+ /****** KNOX related ************************/
+ "!/knox/:id/policies" : "knoxManageAction",
+ "!/knox/:assetId/policy/create" : "knoxPolicyCreateAction",
+ "!/knox/:assetId/policy/:id" : "knoxPolicyEditAction",
+
+ /****** STORM related ************************/
+ "!/storm/:id/policies" : "stormManageAction",
+ "!/storm/:assetId/policy/create": "stormPolicyCreateAction",
+ "!/storm/:assetId/policy/:id" : "stormPolicyEditAction",
+
+ /****** Asset related **********************/
+ "!/asset" : "policyManagerAction",
+ "!/asset/create/:assetType" : "assetCreateAction",
+ "!/asset/:id" : "assetEditAction",
+
+ /****** Analytics Report related **********************/
+ "!/reports/userAccess" : "userAccessReportAction",
+
+ /****** Audit Report related **********************/
+ "!/reports/audit/:tab" : "auditReportAction",
+ "!/reports/audit/loginSession/:paramName/:id" : "loginSessionDetail",
+
+ /****** User Profile related **********************/
+ "!/userprofile" : "userProfileAction",
+
+ "!/users/:tab" : "userManagerAction",
+ "!/user/create" : "userCreateAction",
+ "!/user/:id" : "userEditAction",
+
+ "!/group/create" : "groupCreateAction",
+ "!/group/:id" : "groupEditAction"
+ }
+ });
+});
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/utils/XAEnums.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/utils/XAEnums.js b/security-admin/src/main/webapp/scripts/utils/XAEnums.js
new file mode 100644
index 0000000..c4b7f67
--- /dev/null
+++ b/security-admin/src/main/webapp/scripts/utils/XAEnums.js
@@ -0,0 +1,318 @@
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure ("Confidential Information"). You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure
+ */
+
+define(function(require) {
+
+ var $ = require('jquery');
+ var XAEnums = {};
+
+ mergeParams = function(defaults, params) {
+ if (!params) {
+ return defaults;
+ }
+ defaults || (defaults = {});
+ $.extend(true, defaults, params);
+ return defaults;
+ };
+
+ XAEnums.AccessResult = mergeParams(XAEnums.AccessResult, {
+ ACCESS_RESULT_DENIED:{value:0, label:'Denied', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED'},
+ ACCESS_RESULT_ALLOWED:{value:1, label:'Allowed', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED'}
+ });
+
+ XAEnums.UserSource = mergeParams(XAEnums.UserSource, {
+ XA_PORTAL_USER:{value:0, label:'Allowed', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED'},
+ XA_USER:{value:1, label:'Denied', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED'}
+ });
+
+ XAEnums.GroupSource = mergeParams(XAEnums.GroupSource, {
+ XA_PORTAL_GROUP:{value:0, label:'Allowed', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED'},
+ XA_GROUP:{value:1, label:'Denied', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED'}
+ });
+
+ XAEnums.UserRoles = mergeParams(XAEnums.UserRoles, {
+ ROLE_SYS_ADMIN:{value:0, label:'Admin', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED'},
+ ROLE_USER:{value:1, label:'User', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED'}
+ });
+
+ XAEnums.UserTypes = mergeParams(XAEnums.UserTypes, {
+ USER_INTERNAL:{value:0, label:'Internal', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED'},
+ USER_EXTERNAL:{value:1, label:'External', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED'}
+ });
+
+ XAEnums.GroupTypes = mergeParams(XAEnums.GroupTypes, {
+ GROUP_INTERNAL:{value:0, label:'Internal', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_ALLOWED', tt: 'lbl.AccessResult_ACCESS_RESULT_ALLOWED'},
+ GROUP_EXTERNAL:{value:1, label:'External', rbkey:'xa.enum.AccessResult.ACCESS_RESULT_DENIED', tt: 'lbl.AccessResult_ACCESS_RESULT_DENIED'}
+ });
+
+ XAEnums.ActivationStatus = mergeParams(XAEnums.ActivationStatus, {
+ ACT_STATUS_DISABLED:{value:0, label:'Disabled', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_DISABLED', tt: 'lbl.ActivationStatus_ACT_STATUS_DISABLED'},
+ ACT_STATUS_ACTIVE:{value:1, label:'Active', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_ACTIVE', tt: 'lbl.ActivationStatus_ACT_STATUS_ACTIVE'},
+ ACT_STATUS_PENDING_APPROVAL:{value:2, label:'Pending Approval', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_PENDING_APPROVAL', tt: 'lbl.ActivationStatus_ACT_STATUS_PENDING_APPROVAL'},
+ ACT_STATUS_PENDING_ACTIVATION:{value:3, label:'Pending Activation', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_PENDING_ACTIVATION', tt: 'lbl.ActivationStatus_ACT_STATUS_PENDING_ACTIVATION'},
+ ACT_STATUS_REJECTED:{value:4, label:'Rejected', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_REJECTED', tt: 'lbl.ActivationStatus_ACT_STATUS_REJECTED'},
+ ACT_STATUS_DEACTIVATED:{value:5, label:'Deactivated', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_DEACTIVATED', tt: 'lbl.ActivationStatus_ACT_STATUS_DEACTIVATED'},
+ ACT_STATUS_PRE_REGISTRATION:{value:6, label:'Registration Pending', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_PRE_REGISTRATION', tt: 'lbl.ActivationStatus_ACT_STATUS_PRE_REGISTRATION'},
+ ACT_STATUS_NO_LOGIN:{value:7, label:'No login privilege', rbkey:'xa.enum.ActivationStatus.ACT_STATUS_NO_LOGIN', tt: 'lbl.ActivationStatus_ACT_STATUS_NO_LOGIN'}
+ });
+
+ XAEnums.ActiveStatus = mergeParams(XAEnums.ActiveStatus, {
+ STATUS_DISABLED:{value:0, label:'Disabled', rbkey:'xa.enum.ActiveStatus.STATUS_DISABLED', tt: 'lbl.ActiveStatus_STATUS_DISABLED'},
+ STATUS_ENABLED:{value:1, label:'Enabled', rbkey:'xa.enum.ActiveStatus.STATUS_ENABLED', tt: 'lbl.ActiveStatus_STATUS_ENABLED'},
+ STATUS_DELETED:{value:2, label:'Deleted', rbkey:'xa.enum.ActiveStatus.STATUS_DELETED', tt: 'lbl.ActiveStatus_STATUS_DELETED'}
+ });
+
+ XAEnums.AssetType = mergeParams(XAEnums.AssetType, {
+ ASSET_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.AssetType.ASSET_UNKNOWN', tt: 'lbl.AssetType_ASSET_UNKNOWN'},
+ ASSET_HDFS:{value:1, label:'HDFS', rbkey:'xa.enum.AssetType.ASSET_HDFS', tt: 'lbl.AssetType_ASSET_HDFS'},
+ ASSET_HBASE:{value:2, label:'HBase', rbkey:'xa.enum.AssetType.ASSET_HBASE', tt: 'lbl.AssetType_ASSET_HBASE'},
+ ASSET_HIVE:{value:3, label:'Hive', rbkey:'xa.enum.AssetType.ASSET_HIVE', tt: 'lbl.AssetType_ASSET_HIVE'},
+ ASSET_AGENT:{value:4, label:'Agent', rbkey:'xa.enum.AssetType.ASSET_KNOX', tt: 'lbl.AssetType_ASSET_KNOX'},
+ ASSET_KNOX:{value:5, label:'Knox', rbkey:'xa.enum.AssetType.ASSET_KNOX', tt: 'lbl.AssetType_ASSET_KNOX'},
+ ASSET_STORM:{value:6, label:'Storm', rbkey:'xa.enum.AssetType.ASSET_STORM', tt: 'lbl.AssetType_ASSET_STORM'}
+ });
+
+ XAEnums.AuthStatus = mergeParams(XAEnums.AuthStatus, {
+ AUTH_STATUS_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.AuthStatus.AUTH_STATUS_UNKNOWN', tt: 'lbl.AuthStatus_AUTH_STATUS_UNKNOWN'},
+ AUTH_STATUS_SUCCESS:{value:1, label:'Success', rbkey:'xa.enum.AuthStatus.AUTH_STATUS_SUCCESS', tt: 'lbl.AuthStatus_AUTH_STATUS_SUCCESS'},
+ AUTH_STATUS_WRONG_PASSWORD:{value:2, label:'Wrong Password', rbkey:'xa.enum.AuthStatus.AUTH_STATUS_WRONG_PASSWORD', tt: 'lbl.AuthStatus_AUTH_STATUS_WRONG_PASSWORD'},
+ AUTH_STATUS_DISABLED:{value:3, label:'Account Disabled', rbkey:'xa.enum.AuthStatus.AUTH_STATUS_DISABLED', tt: 'lbl.AuthStatus_AUTH_STATUS_DISABLED'},
+ AUTH_STATUS_LOCKED:{value:4, label:'Locked', rbkey:'xa.enum.AuthStatus.AUTH_STATUS_LOCKED', tt: 'lbl.AuthStatus_AUTH_STATUS_LOCKED'},
+ AUTH_STATUS_PASSWORD_EXPIRED:{value:5, label:'Password Expired', rbkey:'xa.enum.AuthStatus.AUTH_STATUS_PASSWORD_EXPIRED', tt: 'lbl.AuthStatus_AUTH_STATUS_PASSWORD_EXPIRED'},
+ AUTH_STATUS_USER_NOT_FOUND:{value:6, label:'User not found', rbkey:'xa.enum.AuthStatus.AUTH_STATUS_USER_NOT_FOUND', tt: 'lbl.AuthStatus_AUTH_STATUS_USER_NOT_FOUND'}
+ });
+
+ XAEnums.AuthType = mergeParams(XAEnums.AuthType, {
+ AUTH_TYPE_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.AuthType.AUTH_TYPE_UNKNOWN', tt: 'lbl.AuthType_AUTH_TYPE_UNKNOWN'},
+ AUTH_TYPE_PASSWORD:{value:1, label:'Username/Password', rbkey:'xa.enum.AuthType.AUTH_TYPE_PASSWORD', tt: 'lbl.AuthType_AUTH_TYPE_PASSWORD'}
+ });
+
+ XAEnums.BooleanValue = mergeParams(XAEnums.BooleanValue, {
+ BOOL_NONE:{value:0, label:'None', rbkey:'xa.enum.BooleanValue.BOOL_NONE', tt: 'lbl.BooleanValue_BOOL_NONE'},
+ BOOL_TRUE:{value:1, label:'True', rbkey:'xa.enum.BooleanValue.BOOL_TRUE', tt: 'lbl.BooleanValue_BOOL_TRUE'},
+ BOOL_FALSE:{value:2, label:'False', rbkey:'xa.enum.BooleanValue.BOOL_FALSE', tt: 'lbl.BooleanValue_BOOL_FALSE'}
+ });
+
+ XAEnums.ClassTypes = mergeParams(XAEnums.ClassTypes, {
+ CLASS_TYPE_NONE:{value:0, label:'None', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_NONE', tt: 'lbl.ClassTypes_CLASS_TYPE_NONE'},
+ CLASS_TYPE_MESSAGE:{value:1, label:'Message', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_MESSAGE', modelName:'VXMessage', type:'vXMessage', tt: 'lbl.ClassTypes_CLASS_TYPE_MESSAGE'},
+ CLASS_TYPE_USER_PROFILE:{value:2, label:'User Profile', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_USER_PROFILE', modelName:'VXPortalUser', type:'vXPortalUser', tt: 'lbl.ClassTypes_CLASS_TYPE_USER_PROFILE'},
+ CLASS_TYPE_AUTH_SESS:{value:3, label:'Authentication Session', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_AUTH_SESS', modelName:'VXAuthSession', type:'vXAuthSession', tt: 'lbl.ClassTypes_CLASS_TYPE_AUTH_SESS'},
+ CLASS_TYPE_DATA_OBJECT:{value:4, label:'CLASS_TYPE_DATA_OBJECT', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_DATA_OBJECT', modelName:'VXDataObject', type:'vXDataObject', tt: 'lbl.ClassTypes_CLASS_TYPE_DATA_OBJECT'},
+ CLASS_TYPE_NAMEVALUE:{value:5, label:'CLASS_TYPE_NAMEVALUE', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_NAMEVALUE', tt: 'lbl.ClassTypes_CLASS_TYPE_NAMEVALUE'},
+ CLASS_TYPE_LONG:{value:6, label:'CLASS_TYPE_LONG', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_LONG', modelName:'VXLong', type:'vXLong', tt: 'lbl.ClassTypes_CLASS_TYPE_LONG'},
+ CLASS_TYPE_PASSWORD_CHANGE:{value:7, label:'CLASS_TYPE_PASSWORD_CHANGE', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_PASSWORD_CHANGE', modelName:'VXPasswordChange', type:'vXPasswordChange', tt: 'lbl.ClassTypes_CLASS_TYPE_PASSWORD_CHANGE'},
+ CLASS_TYPE_STRING:{value:8, label:'CLASS_TYPE_STRING', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_STRING', modelName:'VXString', type:'vXString', tt: 'lbl.ClassTypes_CLASS_TYPE_STRING'},
+ CLASS_TYPE_ENUM:{value:9, label:'CLASS_TYPE_ENUM', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_ENUM', tt: 'lbl.ClassTypes_CLASS_TYPE_ENUM'},
+ CLASS_TYPE_ENUM_ELEMENT:{value:10, label:'CLASS_TYPE_ENUM_ELEMENT', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_ENUM_ELEMENT', tt: 'lbl.ClassTypes_CLASS_TYPE_ENUM_ELEMENT'},
+ CLASS_TYPE_RESPONSE:{value:11, label:'Response', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_RESPONSE', modelName:'VXResponse', type:'vXResponse', tt: 'lbl.ClassTypes_CLASS_TYPE_RESPONSE'},
+ CLASS_TYPE_XA_ASSET:{value:1000, label:'Asset', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_ASSET', modelName:'VXAsset', type:'vXAsset', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_ASSET'},
+ CLASS_TYPE_XA_RESOURCE:{value:1001, label:'Resource', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_RESOURCE', modelName:'VXResource', type:'vXResource', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_RESOURCE'},
+ CLASS_TYPE_XA_GROUP:{value:1002, label:'XA Group', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_GROUP', modelName:'VXGroup', type:'vXGroup', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_GROUP'},
+ CLASS_TYPE_XA_USER:{value:1003, label:'XA User', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_USER', modelName:'VXUser', type:'vXUser', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_USER'},
+ CLASS_TYPE_XA_GROUP_USER:{value:1004, label:'XA Group of Users', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_GROUP_USER', modelName:'VXGroupUser', type:'vXGroupUser', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_GROUP_USER'},
+ CLASS_TYPE_XA_GROUP_GROUP:{value:1005, label:'XA Group of groups', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_GROUP_GROUP', modelName:'VXGroupGroup', type:'vXGroupGroup', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_GROUP_GROUP'},
+ CLASS_TYPE_XA_PERM_MAP:{value:1006, label:'XA permissions for resource', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_PERM_MAP', modelName:'VXPermMap', type:'vXPermMap', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_PERM_MAP'},
+ CLASS_TYPE_XA_AUDIT_MAP:{value:1007, label:'XA audits for resource', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_AUDIT_MAP', modelName:'VXAuditMap', type:'vXAuditMap', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_AUDIT_MAP'},
+ CLASS_TYPE_XA_CRED_STORE:{value:1008, label:'XA credential store', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_CRED_STORE', modelName:'VXCredentialStore', type:'vXCredentialStore', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_CRED_STORE'},
+ CLASS_TYPE_XA_POLICY_EXPORT_AUDIT:{value:1009, label:'XA Policy Export Audit', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_POLICY_EXPORT_AUDIT', modelName:'VXPolicyExportAudit', type:'vXPolicyExportAudit', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_POLICY_EXPORT_AUDIT'},
+ CLASS_TYPE_TRX_LOG:{value:1010, label:'Transaction log', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_TRX_LOG', tt: 'lbl.ClassTypes_CLASS_TYPE_TRX_LOG'},
+ CLASS_TYPE_XA_ACCESS_AUDIT:{value:1011, label:'Access Audit', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_ACCESS_AUDIT', modelName:'VXAccessAudit', type:'vXAccessAudit', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_ACCESS_AUDIT'},
+ CLASS_TYPE_XA_TRANSACTION_LOG_ATTRIBUTE:{value:1012, label:'Transaction log attribute', rbkey:'xa.enum.ClassTypes.CLASS_TYPE_XA_TRANSACTION_LOG_ATTRIBUTE', tt: 'lbl.ClassTypes_CLASS_TYPE_XA_TRANSACTION_LOG_ATTRIBUTE'}
+ });
+
+ XAEnums.DataType = mergeParams(XAEnums.DataType, {
+ DATA_TYPE_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.DataType.DATA_TYPE_UNKNOWN', tt: 'lbl.DataType_DATA_TYPE_UNKNOWN'},
+ DATA_TYPE_INTEGER:{value:1, label:'Integer', rbkey:'xa.enum.DataType.DATA_TYPE_INTEGER', tt: 'lbl.DataType_DATA_TYPE_INTEGER'},
+ DATA_TYPE_DOUBLE:{value:2, label:'Double', rbkey:'xa.enum.DataType.DATA_TYPE_DOUBLE', tt: 'lbl.DataType_DATA_TYPE_DOUBLE'},
+ DATA_TYPE_STRING:{value:3, label:'String', rbkey:'xa.enum.DataType.DATA_TYPE_STRING', tt: 'lbl.DataType_DATA_TYPE_STRING'},
+ DATA_TYPE_BOOLEAN:{value:4, label:'Boolean', rbkey:'xa.enum.DataType.DATA_TYPE_BOOLEAN', tt: 'lbl.DataType_DATA_TYPE_BOOLEAN'},
+ DATA_TYPE_DATE:{value:5, label:'Date', rbkey:'xa.enum.DataType.DATA_TYPE_DATE', tt: 'lbl.DataType_DATA_TYPE_DATE'},
+ DATA_TYPE_STRING_ENUM:{value:6, label:'String enumeration', rbkey:'xa.enum.DataType.DATA_TYPE_STRING_ENUM', tt: 'lbl.DataType_DATA_TYPE_STRING_ENUM'},
+ DATA_TYPE_LONG:{value:7, label:'Long', rbkey:'xa.enum.DataType.DATA_TYPE_LONG', tt: 'lbl.DataType_DATA_TYPE_LONG'},
+ DATA_TYPE_INTEGER_ENUM:{value:8, label:'Integer enumeration', rbkey:'xa.enum.DataType.DATA_TYPE_INTEGER_ENUM', tt: 'lbl.DataType_DATA_TYPE_INTEGER_ENUM'}
+ });
+
+ XAEnums.DeviceType = mergeParams(XAEnums.DeviceType, {
+ DEVICE_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.DeviceType.DEVICE_UNKNOWN', tt: 'lbl.DeviceType_DEVICE_UNKNOWN'},
+ DEVICE_BROWSER:{value:1, label:'Browser', rbkey:'xa.enum.DeviceType.DEVICE_BROWSER', tt: 'lbl.DeviceType_DEVICE_BROWSER'},
+ DEVICE_IPHONE:{value:2, label:'iPhone', rbkey:'xa.enum.DeviceType.DEVICE_IPHONE', tt: 'lbl.DeviceType_DEVICE_IPHONE'},
+ DEVICE_IPAD:{value:3, label:'iPad', rbkey:'xa.enum.DeviceType.DEVICE_IPAD', tt: 'lbl.DeviceType_DEVICE_IPAD'},
+ DEVICE_IPOD:{value:4, label:'iPod', rbkey:'xa.enum.DeviceType.DEVICE_IPOD', tt: 'lbl.DeviceType_DEVICE_IPOD'},
+ DEVICE_ANDROID:{value:5, label:'Android', rbkey:'xa.enum.DeviceType.DEVICE_ANDROID', tt: 'lbl.DeviceType_DEVICE_ANDROID'}
+ });
+
+ XAEnums.DiffLevel = mergeParams(XAEnums.DiffLevel, {
+ DIFF_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.DiffLevel.DIFF_UNKNOWN', tt: 'lbl.DiffLevel_DIFF_UNKNOWN'},
+ DIFF_LOW:{value:1, label:'Low', rbkey:'xa.enum.DiffLevel.DIFF_LOW', tt: 'lbl.DiffLevel_DIFF_LOW'},
+ DIFF_MEDIUM:{value:2, label:'Medium', rbkey:'xa.enum.DiffLevel.DIFF_MEDIUM', tt: 'lbl.DiffLevel_DIFF_MEDIUM'},
+ DIFF_HIGH:{value:3, label:'High', rbkey:'xa.enum.DiffLevel.DIFF_HIGH', tt: 'lbl.DiffLevel_DIFF_HIGH'}
+ });
+
+ XAEnums.FileType = mergeParams(XAEnums.FileType, {
+ FILE_FILE:{value:0, label:'File', rbkey:'xa.enum.FileType.FILE_FILE', tt: 'lbl.FileType_FILE_FILE'},
+ FILE_DIR:{value:1, label:'Directory', rbkey:'xa.enum.FileType.FILE_DIR', tt: 'lbl.FileType_FILE_DIR'}
+ });
+
+ XAEnums.FreqType = mergeParams(XAEnums.FreqType, {
+ FREQ_NONE:{value:0, label:'None', rbkey:'xa.enum.FreqType.FREQ_NONE', tt: 'lbl.FreqType_FREQ_NONE'},
+ FREQ_MANUAL:{value:1, label:'Manual', rbkey:'xa.enum.FreqType.FREQ_MANUAL', tt: 'lbl.FreqType_FREQ_MANUAL'},
+ FREQ_HOURLY:{value:2, label:'Hourly', rbkey:'xa.enum.FreqType.FREQ_HOURLY', tt: 'lbl.FreqType_FREQ_HOURLY'},
+ FREQ_DAILY:{value:3, label:'Daily', rbkey:'xa.enum.FreqType.FREQ_DAILY', tt: 'lbl.FreqType_FREQ_DAILY'},
+ FREQ_WEEKLY:{value:4, label:'Weekly', rbkey:'xa.enum.FreqType.FREQ_WEEKLY', tt: 'lbl.FreqType_FREQ_WEEKLY'},
+ FREQ_BI_WEEKLY:{value:5, label:'Bi Weekly', rbkey:'xa.enum.FreqType.FREQ_BI_WEEKLY', tt: 'lbl.FreqType_FREQ_BI_WEEKLY'},
+ FREQ_MONTHLY:{value:6, label:'Monthly', rbkey:'xa.enum.FreqType.FREQ_MONTHLY', tt: 'lbl.FreqType_FREQ_MONTHLY'}
+ });
+
+ XAEnums.MimeType = mergeParams(XAEnums.MimeType, {
+ MIME_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.MimeType.MIME_UNKNOWN', tt: 'lbl.MimeType_MIME_UNKNOWN'},
+ MIME_TEXT:{value:1, label:'Text', rbkey:'xa.enum.MimeType.MIME_TEXT', tt: 'lbl.MimeType_MIME_TEXT'},
+ MIME_HTML:{value:2, label:'Html', rbkey:'xa.enum.MimeType.MIME_HTML', tt: 'lbl.MimeType_MIME_HTML'},
+ MIME_PNG:{value:3, label:'png', rbkey:'xa.enum.MimeType.MIME_PNG', tt: 'lbl.MimeType_MIME_PNG'},
+ MIME_JPEG:{value:4, label:'jpeg', rbkey:'xa.enum.MimeType.MIME_JPEG', tt: 'lbl.MimeType_MIME_JPEG'}
+ });
+
+ XAEnums.NumberFormat = mergeParams(XAEnums.NumberFormat, {
+ NUM_FORMAT_NONE:{value:0, label:'None', rbkey:'xa.enum.NumberFormat.NUM_FORMAT_NONE', tt: 'lbl.NumberFormat_NUM_FORMAT_NONE'},
+ NUM_FORMAT_NUMERIC:{value:1, label:'Numeric', rbkey:'xa.enum.NumberFormat.NUM_FORMAT_NUMERIC', tt: 'lbl.NumberFormat_NUM_FORMAT_NUMERIC'},
+ NUM_FORMAT_ALPHA:{value:2, label:'Alphabhet', rbkey:'xa.enum.NumberFormat.NUM_FORMAT_ALPHA', tt: 'lbl.NumberFormat_NUM_FORMAT_ALPHA'},
+ NUM_FORMAT_ROMAN:{value:3, label:'Roman', rbkey:'xa.enum.NumberFormat.NUM_FORMAT_ROMAN', tt: 'lbl.NumberFormat_NUM_FORMAT_ROMAN'}
+ });
+
+ XAEnums.ObjectStatus = mergeParams(XAEnums.ObjectStatus, {
+ OBJ_STATUS_ACTIVE:{value:0, label:'Active', rbkey:'xa.enum.ObjectStatus.OBJ_STATUS_ACTIVE', tt: 'lbl.ObjectStatus_OBJ_STATUS_ACTIVE'},
+ OBJ_STATUS_DELETED:{value:1, label:'Deleted', rbkey:'xa.enum.ObjectStatus.OBJ_STATUS_DELETED', tt: 'lbl.ObjectStatus_OBJ_STATUS_DELETED'},
+ OBJ_STATUS_ARCHIVED:{value:2, label:'Archived', rbkey:'xa.enum.ObjectStatus.OBJ_STATUS_ARCHIVED', tt: 'lbl.ObjectStatus_OBJ_STATUS_ARCHIVED'}
+ });
+
+ XAEnums.PasswordResetStatus = mergeParams(XAEnums.PasswordResetStatus, {
+ PWD_RESET_ACTIVE:{value:0, label:'Active', rbkey:'xa.enum.PasswordResetStatus.PWD_RESET_ACTIVE', tt: 'lbl.PasswordResetStatus_PWD_RESET_ACTIVE'},
+ PWD_RESET_USED:{value:1, label:'Used', rbkey:'xa.enum.PasswordResetStatus.PWD_RESET_USED', tt: 'lbl.PasswordResetStatus_PWD_RESET_USED'},
+ PWD_RESET_EXPIRED:{value:2, label:'Expired', rbkey:'xa.enum.PasswordResetStatus.PWD_RESET_EXPIRED', tt: 'lbl.PasswordResetStatus_PWD_RESET_EXPIRED'},
+ PWD_RESET_DISABLED:{value:3, label:'Disabled', rbkey:'xa.enum.PasswordResetStatus.PWD_RESET_DISABLED', tt: 'lbl.PasswordResetStatus_PWD_RESET_DISABLED'}
+ });
+
+ XAEnums.PolicyType = mergeParams(XAEnums.PolicyType, {
+ POLICY_INCLUSION:{value:0, label:'Inclusion', rbkey:'xa.enum.PolicyType.POLICY_INCLUSION', tt: 'lbl.PolicyType_POLICY_INCLUSION'},
+ POLICY_EXCLUSION:{value:1, label:'Exclusion', rbkey:'xa.enum.PolicyType.POLICY_EXCLUSION', tt: 'lbl.PolicyType_POLICY_EXCLUSION'}
+ });
+
+ XAEnums.PriorityType = mergeParams(XAEnums.PriorityType, {
+ PRIORITY_NORMAL:{value:0, label:'Normal', rbkey:'xa.enum.PriorityType.PRIORITY_NORMAL', tt: 'lbl.PriorityType_PRIORITY_NORMAL'},
+ PRIORITY_LOW:{value:1, label:'Low', rbkey:'xa.enum.PriorityType.PRIORITY_LOW', tt: 'lbl.PriorityType_PRIORITY_LOW'},
+ PRIORITY_MEDIUM:{value:2, label:'Medium', rbkey:'xa.enum.PriorityType.PRIORITY_MEDIUM', tt: 'lbl.PriorityType_PRIORITY_MEDIUM'},
+ PRIORITY_HIGH:{value:3, label:'High', rbkey:'xa.enum.PriorityType.PRIORITY_HIGH', tt: 'lbl.PriorityType_PRIORITY_HIGH'}
+ });
+
+ XAEnums.ProgressStatus = mergeParams(XAEnums.ProgressStatus, {
+ PROGRESS_PENDING:{value:0, label:'Pending', rbkey:'xa.enum.ProgressStatus.PROGRESS_PENDING', tt: 'lbl.ProgressStatus_PROGRESS_PENDING'},
+ PROGRESS_IN_PROGRESS:{value:1, label:'In Progress', rbkey:'xa.enum.ProgressStatus.PROGRESS_IN_PROGRESS', tt: 'lbl.ProgressStatus_PROGRESS_IN_PROGRESS'},
+ PROGRESS_COMPLETE:{value:2, label:'Complete', rbkey:'xa.enum.ProgressStatus.PROGRESS_COMPLETE', tt: 'lbl.ProgressStatus_PROGRESS_COMPLETE'},
+ PROGRESS_ABORTED:{value:3, label:'Aborted', rbkey:'xa.enum.ProgressStatus.PROGRESS_ABORTED', tt: 'lbl.ProgressStatus_PROGRESS_ABORTED'},
+ PROGRESS_FAILED:{value:4, label:'Failed', rbkey:'xa.enum.ProgressStatus.PROGRESS_FAILED', tt: 'lbl.ProgressStatus_PROGRESS_FAILED'}
+ });
+
+ XAEnums.RelationType = mergeParams(XAEnums.RelationType, {
+ REL_NONE:{value:0, label:'None', rbkey:'xa.enum.RelationType.REL_NONE', tt: 'lbl.RelationType_REL_NONE'},
+ REL_SELF:{value:1, label:'Self', rbkey:'xa.enum.RelationType.REL_SELF', tt: 'lbl.RelationType_REL_SELF'}
+ });
+
+ XAEnums.ResourceType = mergeParams(XAEnums.ResourceType, {
+ RESOURCE_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.ResourceType.RESOURCE_UNKNOWN', tt: 'lbl.ResourceType_RESOURCE_UNKNOWN'},
+ RESOURCE_PATH:{value:1, label:'Path', rbkey:'xa.enum.ResourceType.RESOURCE_PATH', tt: 'lbl.ResourceType_RESOURCE_PATH'},
+ RESOURCE_DB:{value:2, label:'Database', rbkey:'xa.enum.ResourceType.RESOURCE_DB', tt: 'lbl.ResourceType_RESOURCE_DB'},
+ RESOURCE_TABLE:{value:3, label:'Table', rbkey:'xa.enum.ResourceType.RESOURCE_TABLE', tt: 'lbl.ResourceType_RESOURCE_TABLE'},
+ RESOURCE_COL_FAM:{value:4, label:'Column Family', rbkey:'xa.enum.ResourceType.RESOURCE_COL_FAM', tt: 'lbl.ResourceType_RESOURCE_COL_FAM'},
+ RESOURCE_COLUMN:{value:5, label:'Column', rbkey:'xa.enum.ResourceType.RESOURCE_COLUMN', tt: 'lbl.ResourceType_RESOURCE_COLUMN'},
+ RESOURCE_VIEW:{value:6, label:'VIEW', rbkey:'xa.enum.ResourceType.RESOURCE_VIEW', tt: 'lbl.ResourceType_RESOURCE_VIEW'},
+ RESOURCE_UDF:{value:7, label:'UDF', rbkey:'xa.enum.ResourceType.RESOURCE_UDF', tt: 'lbl.ResourceType_RESOURCE_UDF'},
+ RESOURCE_VIEW_COL:{value:8, label:'View Column', rbkey:'xa.enum.ResourceType.RESOURCE_VIEW_COL', tt: 'lbl.ResourceType_RESOURCE_VIEW_COL'},
+ RESOURCE_TOPOLOGY:{value:9, label:'Topology', rbkey:'xa.enum.ResourceType.RESOURCE_TOPOLOGY', tt: 'lbl.RESOURCE_TOPOLOGY'},
+ RESOURCE_SERVICE:{value:10, label:'Service', rbkey:'xa.enum.ResourceType.RESOURCE_SERVICE', tt: 'lbl.RESOURCE_SERVICE'},
+ });
+
+ XAEnums.ResponseStatus = mergeParams(XAEnums.ResponseStatus, {
+ STATUS_SUCCESS:{value:0, label:'Success', rbkey:'xa.enum.ResponseStatus.STATUS_SUCCESS', tt: 'lbl.ResponseStatus_STATUS_SUCCESS'},
+ STATUS_ERROR:{value:1, label:'Error', rbkey:'xa.enum.ResponseStatus.STATUS_ERROR', tt: 'lbl.ResponseStatus_STATUS_ERROR'},
+ STATUS_VALIDATION:{value:2, label:'Validation Error', rbkey:'xa.enum.ResponseStatus.STATUS_VALIDATION', tt: 'lbl.ResponseStatus_STATUS_VALIDATION'},
+ STATUS_WARN:{value:3, label:'Warning', rbkey:'xa.enum.ResponseStatus.STATUS_WARN', tt: 'lbl.ResponseStatus_STATUS_WARN'},
+ STATUS_INFO:{value:4, label:'Information', rbkey:'xa.enum.ResponseStatus.STATUS_INFO', tt: 'lbl.ResponseStatus_STATUS_INFO'},
+ STATUS_PARTIAL_SUCCESS:{value:5, label:'Partial Success', rbkey:'xa.enum.ResponseStatus.STATUS_PARTIAL_SUCCESS', tt: 'lbl.ResponseStatus_STATUS_PARTIAL_SUCCESS'}
+ });
+
+ XAEnums.UserSource = mergeParams(XAEnums.UserSource, {
+ USER_APP:{value:0, label:'Application', rbkey:'xa.enum.UserSource.USER_APP', tt: 'lbl.UserSource_USER_APP'},
+ USER_GOOGLE:{value:1, label:'Google', rbkey:'xa.enum.UserSource.USER_GOOGLE', tt: 'lbl.UserSource_USER_GOOGLE'},
+ USER_FB:{value:2, label:'FaceBook', rbkey:'xa.enum.UserSource.USER_FB', tt: 'lbl.UserSource_USER_FB'}
+ });
+
+ XAEnums.XAAuditType = mergeParams(XAEnums.XAAuditType, {
+ XA_AUDIT_TYPE_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.XAAuditType.XA_AUDIT_TYPE_UNKNOWN', tt: 'lbl.XAAuditType_XA_AUDIT_TYPE_UNKNOWN'},
+ XA_AUDIT_TYPE_ALL:{value:1, label:'All', rbkey:'xa.enum.XAAuditType.XA_AUDIT_TYPE_ALL', tt: 'lbl.XAAuditType_XA_AUDIT_TYPE_ALL'},
+ XA_AUDIT_TYPE_READ:{value:2, label:'Read', rbkey:'xa.enum.XAAuditType.XA_AUDIT_TYPE_READ', tt: 'lbl.XAAuditType_XA_AUDIT_TYPE_READ'},
+ XA_AUDIT_TYPE_WRITE:{value:3, label:'Write', rbkey:'xa.enum.XAAuditType.XA_AUDIT_TYPE_WRITE', tt: 'lbl.XAAuditType_XA_AUDIT_TYPE_WRITE'},
+ XA_AUDIT_TYPE_CREATE:{value:4, label:'Create', rbkey:'xa.enum.XAAuditType.XA_AUDIT_TYPE_CREATE', tt: 'lbl.XAAuditType_XA_AUDIT_TYPE_CREATE'},
+ XA_AUDIT_TYPE_DELETE:{value:5, label:'Delete', rbkey:'xa.enum.XAAuditType.XA_AUDIT_TYPE_DELETE', tt: 'lbl.XAAuditType_XA_AUDIT_TYPE_DELETE'},
+ XA_AUDIT_TYPE_LOGIN:{value:6, label:'Login', rbkey:'xa.enum.XAAuditType.XA_AUDIT_TYPE_LOGIN', tt: 'lbl.XAAuditType_XA_AUDIT_TYPE_LOGIN'}
+ });
+
+ XAEnums.XAGroupType = mergeParams(XAEnums.XAGroupType, {
+ XA_GROUP_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.XAGroupType.XA_GROUP_UNKNOWN', tt: 'lbl.XAGroupType_XA_GROUP_UNKNOWN'},
+ XA_GROUP_USER:{value:1, label:'User', rbkey:'xa.enum.XAGroupType.XA_GROUP_USER', tt: 'lbl.XAGroupType_XA_GROUP_USER'},
+ XA_GROUP_GROUP:{value:2, label:'Group', rbkey:'xa.enum.XAGroupType.XA_GROUP_GROUP', tt: 'lbl.XAGroupType_XA_GROUP_GROUP'},
+ XA_GROUP_ROLE:{value:3, label:'Role', rbkey:'xa.enum.XAGroupType.XA_GROUP_ROLE', tt: 'lbl.XAGroupType_XA_GROUP_ROLE'}
+ });
+
+ XAEnums.XAPermForType = mergeParams(XAEnums.XAPermForType, {
+ XA_PERM_FOR_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.XAPermForType.XA_PERM_FOR_UNKNOWN', tt: 'lbl.XAPermForType_XA_PERM_FOR_UNKNOWN'},
+ XA_PERM_FOR_USER:{value:1, label:'Permission for Users', rbkey:'xa.enum.XAPermForType.XA_PERM_FOR_USER', tt: 'lbl.XAPermForType_XA_PERM_FOR_USER'},
+ XA_PERM_FOR_GROUP:{value:2, label:'Permission for Groups', rbkey:'xa.enum.XAPermForType.XA_PERM_FOR_GROUP', tt: 'lbl.XAPermForType_XA_PERM_FOR_GROUP'}
+ });
+
+ XAEnums.XAPermType = mergeParams(XAEnums.XAPermType, {
+ XA_PERM_TYPE_UNKNOWN:{value:0, label:'Unknown', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_UNKNOWN', tt: 'lbl.XAPermType_XA_PERM_TYPE_UNKNOWN'},
+ XA_PERM_TYPE_RESET:{value:1, label:'Reset', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_RESET', tt: 'lbl.XAPermType_XA_PERM_TYPE_RESET'},
+ XA_PERM_TYPE_READ:{value:2, label:'Read', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_READ', tt: 'lbl.XAPermType_XA_PERM_TYPE_READ'},
+ XA_PERM_TYPE_WRITE:{value:3, label:'Write', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_WRITE', tt: 'lbl.XAPermType_XA_PERM_TYPE_WRITE'},
+ XA_PERM_TYPE_CREATE:{value:4, label:'Create', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_CREATE', tt: 'lbl.XAPermType_XA_PERM_TYPE_CREATE'},
+ XA_PERM_TYPE_DELETE:{value:5, label:'Delete', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_DELETE', tt: 'lbl.XAPermType_XA_PERM_TYPE_DELETE'},
+ XA_PERM_TYPE_ADMIN:{value:6, label:'Admin', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ADMIN', tt: 'lbl.XAPermType_XA_PERM_TYPE_ADMIN'},
+ XA_PERM_TYPE_OBFUSCATE:{value:7, label:'Obfuscate', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_OBFUSCATE', tt: 'lbl.XAPermType_XA_PERM_TYPE_OBFUSCATE'},
+ XA_PERM_TYPE_MASK:{value:8, label:'Mask', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_MASK', tt: 'lbl.XAPermType_XA_PERM_TYPE_MASK'},
+ XA_PERM_TYPE_EXECUTE:{value:9, label:'Execute', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_EXECUTE', tt: 'lbl.XAPermType_XA_PERM_TYPE_EXECUTE'},
+ XA_PERM_TYPE_SELECT:{value:10, label:'Select', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_SELECT', tt: 'lbl.XAPermType_XA_PERM_TYPE_SELECT'},
+ XA_PERM_TYPE_UPDATE:{value:11, label:'Update', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_UPDATE', tt: 'lbl.XAPermType_XA_PERM_TYPE_UPDATE'},
+ XA_PERM_TYPE_DROP:{value:12, label:'Drop', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_DROP', tt: 'lbl.XAPermType_XA_PERM_TYPE_DROP'},
+ XA_PERM_TYPE_ALTER:{value:13, label:'Alter', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALTER', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALTER'},
+ XA_PERM_TYPE_INDEX:{value:14, label:'Index', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_INDEX', tt: 'lbl.XAPermType_XA_PERM_TYPE_INDEX'},
+ XA_PERM_TYPE_LOCK:{value:15, label:'Lock', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_LOCK', tt: 'lbl.XAPermType_XA_PERM_TYPE_LOCK'},
+ XA_PERM_TYPE_ALL:{value:16, label:'All', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALL', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALL'},
+ XA_PERM_TYPE_ALLOW:{value:17, label:'Allow', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_SUBMIT_TOPOLOGY:{value:18, label:'Submit Topology', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_FILE_UPLOAD:{value:19, label:'File Upload', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_GET_NIMBUS:{value:20, label:'Get Nimbus Conf', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_GET_CLUSTER_INFO:{value:21, label:'Get Cluster Info', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_FILE_DOWNLOAD:{value:22, label:'File Download', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_KILL_TOPOLOGY:{value:23, label:'Kill Topology', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_REBALANCE:{value:24, label:'Rebalance', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_ACTIVATE:{value:25, label:'Activate', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_DEACTIVATE:{value:26, label:'Deactivate', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_GET_TOPOLOGY_CONF:{value:27, label:'Get Topology Conf', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_GET_TOPOLOGY:{value:28, label:'Get Topology', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_GET_USER_TOPOLOGY:{value:29, label:'Get User Topology', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_GET_TOPOLOGY_INFO:{value:30, label:'Get Topology Info', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+ XA_PERM_TYPE_UPLOAD_NEW_CREDENTIAL:{value:31, label:'Upload New Credential', rbkey:'xa.enum.XAPermType.XA_PERM_TYPE_ALLOW', tt: 'lbl.XAPermType_XA_PERM_TYPE_ALLOW'},
+
+
+ });
+
+ return XAEnums;
+});
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/utils/XAGlobals.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/utils/XAGlobals.js b/security-admin/src/main/webapp/scripts/utils/XAGlobals.js
new file mode 100644
index 0000000..9e26fac
--- /dev/null
+++ b/security-admin/src/main/webapp/scripts/utils/XAGlobals.js
@@ -0,0 +1,58 @@
+/*
+ * Copyright (c) 2014 XASecure
+ * All rights reserved.
+ *
+ * This software is the confidential and proprietary information of
+ * XASecure. ("Confidential Information"). You shall not
+ * disclose such Confidential Information and shall use it only in
+ * accordance with the terms of the license agreement you entered into
+ * with XASecure.
+ */
+
+define(function(require){
+ 'use strict';
+
+ var XAGlobals = {};
+
+ XAGlobals.settings = {};
+ XAGlobals.settings.PAGE_SIZE = 25;
+ XAGlobals.settings.AUDIT_REPORT_POLLING = 100000;
+ XAGlobals.settings.uploadDefaultOpts = {
+ disableImageResize: false,
+ maxFileSize: 5000000,
+ autoUpload : false
+ //maxNumberOfFiles : 2
+ };
+ XAGlobals.settings.MAX_VALUE = 2147483647;
+
+ XAGlobals.keys = {};
+ XAGlobals.keys.ENTER_KEY = 13;
+ XAGlobals.keys.ESC_KEY = 27;
+
+ //XAGlobals.baseURL = '../';
+ XAGlobals.baseURL = 'service/';
+
+ XAGlobals.version = 0;//0 : production version 1: any other
+ XAGlobals.AppTabs = {
+ Dashboard : { value:1, valStr: 'Dashboard'},
+ PolicyManager : { value:2, valStr: 'Policy'},
+ Users : { value:3, valStr: 'Users'},
+// Reports : { value:4, valStr: 'Reports'},
+ Config : { value:5, valStr: 'Config'},
+ Assets : { value:6, valStr: 'Assets'},
+ Analytics : { value:7, valStr: 'Analytics'},
+ Audit : { value:8, valStr: 'Analytics'},
+ None : { value:9, valStr: 'None'}
+ };
+
+ XAGlobals.BooleanValue = {
+ BOOL_TRUE:{value:"true", label:'True'},
+ BOOL_FALSE:{value:"false", label:'False'}
+ };
+ XAGlobals.hardcoded = {};
+ XAGlobals.hardcoded.HDFSAssetId = 1;
+ XAGlobals.hardcoded.HBaseAssetId = 2;
+ XAGlobals.hardcoded.HiveAssetId = 3;
+
+ return XAGlobals;
+});
http://git-wip-us.apache.org/repos/asf/incubator-argus/blob/7defc061/security-admin/src/main/webapp/scripts/utils/XALangSupport.js
----------------------------------------------------------------------
diff --git a/security-admin/src/main/webapp/scripts/utils/XALangSupport.js b/security-admin/src/main/webapp/scripts/utils/XALangSupport.js
new file mode 100644
index 0000000..0750a26
--- /dev/null
+++ b/security-admin/src/main/webapp/scripts/utils/XALangSupport.js
@@ -0,0 +1,132 @@
+/**
+ *
+ * Loads different languages as required.Uses Globalize plugin
+ */
+
+define(['require','modules/Vent','globalize','modules/globalize/message/en'],function(require,vent){
+
+ var localization ={};
+
+ function setCulture(culture){
+ if(typeof culture !== 'undefined'){
+ localization.culture =culture;
+ }else{
+ localization.culture ="en";
+ }
+ Globalize.culture(localization.culture);
+ }
+
+ localization.setDefaultCulture = function(){
+ setCulture();
+ }
+ localization.tt = function(label){
+ var ret = label;
+
+ var str = localization.localize(label, localization.culture);
+ if(typeof str !== 'undefined'){
+ return str;
+ }
+
+ if(localization.culture !== 'en' ){
+ if(typeof localization.culture !== 'undefined')
+ ret = (typeof localization.localize(label,"en") === 'undefined') ? label : localization.localize(label,"en");
+ else{
+ ret = localization.localize(label,"en");
+ }
+ }
+ return ret;
+ },
+ localization.localize = function(key , culture){
+ return localization.byString(Globalize.findClosestCulture( culture ).messages, key ) || Globalize.cultures[ "default" ].messages[ key ];
+ }
+
+ localization.byString = function(o, s) {
+ s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties
+ s = s.replace(/^\./, ''); // strip a leading dot
+ var a = s.split('.');
+ while (a.length) {
+ var n = a.shift();
+ if (n in o) {
+ o = o[n];
+ } else {
+ return;
+ }
+ }
+ return o;
+ }
+
+ localization.getMonthsAbbr = function(){
+ return Globalize.culture().calendars.standard.months.namesAbbr;
+ }
+
+ localization.getDaysOfWeek = function(label){
+ return Globalize.culture().calendars.standard.days.namesAbbr;
+ }
+
+ localization.chooseCulture = function(culture){
+ var dfd = $.Deferred();
+ dfd.done(function(validationMessages){
+ require([ 'validationEngine'],function(){
+ setCulture(culture);
+ validationMessages.setupMessages();
+ vent.trigger('Layouts:rerender');
+ });
+ });
+ switch(culture){
+ case "pt-BR" :
+ require(['gblMessages/message/pt-BR'], function() {
+ require([ 'validationEngineEn' ],function(validationMessages){
+ dfd.resolve(validationMessages);
+ console.log('Language Changed to pt-BR');
+ });
+ $.fn.datepicker.dates['pt-BR'] = {
+ days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"],
+ daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"],
+ daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"],
+ months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"],
+ monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"],
+ today: "Hoje",
+ clear: "Limpar"
+ };
+ bootbox.setLocale('pt-BR');
+ });
+ break;
+ case "es" :
+ require(['gblMessages/message/es'], function() {
+ require([ 'validationEngineEn' ],function(validationMessages){
+ dfd.resolve(validationMessages);
+ console.log('Language Changed to es');
+ });
+ $.fn.datepicker.dates['es'] = {
+ days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"],
+ daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"],
+ daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"],
+ months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"],
+ monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"],
+ today: "Hoy"
+ };
+ bootbox.setLocale('es');
+ });
+ break;
+ default :
+ require(['gblMessages/message/en'], function() {
+ require([ 'validationEngineEn' ],function(validationMessages){
+ dfd.resolve(validationMessages);
+ console.log('Language Changed to en');
+ });
+ bootbox.setLocale('en');
+ });
+ break;
+ }
+ }
+
+ localization.formatDate = function(val,format){
+ if(!val) return "";
+ var XAUtil = require('utils/XAUtils');
+ var valDate = XAUtil.DBToDateObj(val);
+ return Globalize.format( valDate,format,localization.culture);
+ }
+
+ //window.localization = localization;
+ return localization;
+})