ambari git commit: AMBARI-16240: Ambari operation history: Syntax error in Ambari-DDL-Postgres-CREATE.sql causes ambari-server setup to fail in 2.4.0.0-489

2016-05-03 Thread smnaha
Repository: ambari
Updated Branches:
  refs/heads/trunk 04b6f14be -> b933445cf


AMBARI-16240: Ambari operation history: Syntax error in 
Ambari-DDL-Postgres-CREATE.sql causes ambari-server setup to fail in 2.4.0.0-489


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b933445c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b933445c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b933445c

Branch: refs/heads/trunk
Commit: b933445cf7d7f79b7c754e788557f1476bb37689
Parents: 04b6f14
Author: Nahappan Somasundaram 
Authored: Tue May 3 20:29:18 2016 -0700
Committer: Nahappan Somasundaram 
Committed: Tue May 3 20:59:51 2016 -0700

--
 ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql| 2 +-
 ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/b933445c/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
index c902637..f5336bc 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@ -1089,7 +1089,7 @@ INSERT INTO ambari_sequences (sequence_name, 
sequence_value)
   union all
   select 'servicecomponent_history_id_seq', 0 FROM SYSIBM.SYSDUMMY1
   union all
-  select 'blueprint_setting_id_seq', 0 FROM SYSIBM.SYSDUMMY1;
+  select 'blueprint_setting_id_seq', 0 FROM SYSIBM.SYSDUMMY1
   union all
   select 'ambari_operation_history_id_seq', 0 FROM SYSIBM.SYSDUMMY1;
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/b933445c/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
index 85cc0be..7fb8c31 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -1086,7 +1086,7 @@ INSERT INTO ambari_sequences (sequence_name, 
sequence_value)
   union all
   select 'servicecomponent_history_id_seq', 0
   union all
-  select 'blueprint_setting_id_seq', 0;
+  select 'blueprint_setting_id_seq', 0
   union all
   select 'ambari_operation_history_id_seq', 0;
 



ambari git commit: AMBARI-16241. While adding Hive Server Interactive, ATLAS config recommendation throws error - add check only (smohanty)

2016-05-03 Thread smohanty
Repository: ambari
Updated Branches:
  refs/heads/trunk 05db279fd -> 04b6f14be


AMBARI-16241. While adding Hive Server Interactive, ATLAS config recommendation 
throws error - add check only (smohanty)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/04b6f14b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/04b6f14b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/04b6f14b

Branch: refs/heads/trunk
Commit: 04b6f14be5fa8e23d784469fdc73d6df41c2ca4d
Parents: 05db279
Author: Sumit Mohanty 
Authored: Tue May 3 20:55:07 2016 -0700
Committer: Sumit Mohanty 
Committed: Tue May 3 20:55:07 2016 -0700

--
 .../src/main/resources/stacks/HDP/2.5/services/stack_advisor.py| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/04b6f14b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
index ea19676..4a4c868 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.5/services/stack_advisor.py
@@ -133,7 +133,7 @@ class HDP25StackAdvisor(HDP24StackAdvisor):
 servicesList = [service["StackServices"]["service_name"] for service in 
services["services"]]
 
 include_logsearch = "LOGSEARCH" in servicesList
-if include_logsearch:
+if include_logsearch and "logsearch-solr-env" in 
services["configurations"]:
   logsearch_solr_znode = 
services["configurations"]["logsearch-solr-env"]["properties"]['logsearch_solr_znode']
   
putAtlasApplicationProperty('atlas.graph.index.search.solr.zookeeper-url', 
'{{zookeeper_quorum}}' + logsearch_solr_znode)
 



ambari git commit: AMBARI-16239: Incorrect warning for not selecting nfs_gateway_hosts (rzang)

2016-05-03 Thread rzang
Repository: ambari
Updated Branches:
  refs/heads/trunk 2c5de15b3 -> 05db279fd


AMBARI-16239: Incorrect warning for not selecting nfs_gateway_hosts (rzang)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/05db279f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/05db279f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/05db279f

Branch: refs/heads/trunk
Commit: 05db279fd7ae846402a6c5420f5b6d4d26b5d293
Parents: 2c5de15
Author: Richard Zang 
Authored: Tue May 3 18:04:53 2016 -0700
Committer: Richard Zang 
Committed: Tue May 3 18:05:39 2016 -0700

--
 ambari-web/app/models/configs/objects/service_config_property.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/05db279f/ambari-web/app/models/configs/objects/service_config_property.js
--
diff --git a/ambari-web/app/models/configs/objects/service_config_property.js 
b/ambari-web/app/models/configs/objects/service_config_property.js
index a244dfd..24f648b 100644
--- a/ambari-web/app/models/configs/objects/service_config_property.js
+++ b/ambari-web/app/models/configs/objects/service_config_property.js
@@ -316,7 +316,7 @@ App.ServiceConfigProperty = Em.Object.extend({
   validate: function () {
 if (!this.get('isEditable')) {
   this.set('errorMessage', ''); // do not perform validation for not 
editable configs
-} else if ((this.get('value') + '').length === 0) {
+} else if ((typeof this.get('value') != 'object') && ((this.get('value') + 
'').length === 0)) {
   this.set('errorMessage', this.get('isRequired') ? 
Em.I18n.t('errorMessage.config.required') : '');
 } else {
   this.set('errorMessage', this.validator(this.get('value'), 
this.get('name'), this.get('retypedPassword')));



ambari git commit: AMBARI-15758: Add shiro.ini in Ambari Zeppelin service config (Renjith Kamath via jluniya)

2016-05-03 Thread jluniya
Repository: ambari
Updated Branches:
  refs/heads/trunk e72d9b0b6 -> 2c5de15b3


AMBARI-15758: Add shiro.ini in Ambari Zeppelin service config (Renjith Kamath 
via jluniya)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2c5de15b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2c5de15b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2c5de15b

Branch: refs/heads/trunk
Commit: 2c5de15b3dd18453f67a11194d9ef7d3dab46e45
Parents: e72d9b0
Author: Jayush Luniya 
Authored: Tue May 3 17:53:56 2016 -0700
Committer: Jayush Luniya 
Committed: Tue May 3 17:53:56 2016 -0700

--
 .../0.6.0.2.5/configuration/zeppelin-config.xml | 11 +++
 .../0.6.0.2.5/configuration/zeppelin-env.xml| 32 +++-
 .../0.6.0.2.5/package/scripts/master.py |  7 -
 .../0.6.0.2.5/package/scripts/params.py |  5 ++-
 .../ZEPPELIN/configuration/zeppelin-env.xml |  2 +-
 5 files changed, 53 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/2c5de15b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
--
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
index 7ed70e5..7b74f7e 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-config.xml
@@ -175,5 +175,16 @@
 
 
 
+
+zeppelin.anonymous.allowed
+true
+Anonymous user allowed by default
+
+
+
+zeppelin.websocket.max.text.message.size
+1024000
+Size in characters of the maximum text message to be 
received by websocket. Defaults to 1024000
+
 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/2c5de15b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-env.xml
--
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-env.xml
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-env.xml
index 3126cda..268f5d6 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-env.xml
+++ 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/configuration/zeppelin-env.xml
@@ -47,7 +47,7 @@
   
 
   
-content
+zeppelin_env_content
 This is the jinja template for zeppelin-env.sh 
file
 
 # Spark master url. eg. spark://master_addr:7077. Leave empty if you want to 
use local mode
@@ -141,6 +141,36 @@ export SPARK_YARN_USER_ENV="PYTHONPATH=${PYTHONPATH}"
   
 
   
+shiro_ini_content
+This is the jinja template for shiro.ini file
+
+[users]
+# List of users with their password allowed to access Zeppelin.
+# To use a different strategy (LDAP / Database / ...) check the shiro doc at 
http://shiro.apache.org/configuration.html#Configuration-INISections
+#admin = password1
+#user1 = password2, role1, role2
+#user2 = password3, role3
+#user3 = password4, role2
+
+# Sample LDAP configuration, for user Authentication, currently tested for 
single Realm
+[main]
+#ldapRealm = org.apache.shiro.realm.ldap.JndiLdapRealm
+#ldapRealm.userDnTemplate = uid={0},cn=users,cn=accounts,dc=hortonworks,dc=com
+#ldapRealm.contextFactory.url = ldap://ldaphost:389
+#ldapRealm.contextFactory.authenticationMechanism = SIMPLE
+shiro.loginUrl = /api/login
+
+[urls]
+# anon means the access is anonymous.
+# authcBasic means Basic Auth Security
+# To enfore security, comment the line below and uncomment the next one
+/api/version = anon
+/** = anon
+#/** = authc
+
+  
+
+  
 zeppelin.executor.mem
 512m
 Executor memory to use (e.g. 512m or 1g)

http://git-wip-us.apache.org/repos/asf/ambari/blob/2c5de15b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
 
b/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
index 9b35c70..d079096 100644
--- 
a/ambari-server/src/main/resources/common-services/ZEPPELIN/0.6.0.2.5/package/scripts/master.py
+++ 

[11/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

2016-05-03 Thread srimanth
http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/underscore/js/underscore.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/underscore/js/underscore.js 
b/contrib/views/storm/src/main/resources/libs/bower/underscore/js/underscore.js
deleted file mode 100644
index b4f49a0..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/underscore/js/underscore.js
+++ /dev/null
@@ -1,1415 +0,0 @@
-// Underscore.js 1.7.0
-// http://underscorejs.org
-// (c) 2009-2014 Jeremy Ashkenas, DocumentCloud and Investigative 
Reporters & Editors
-// Underscore may be freely distributed under the MIT license.
-
-(function() {
-
-  // Baseline setup
-  // --
-
-  // Establish the root object, `window` in the browser, or `exports` on the 
server.
-  var root = this;
-
-  // Save the previous value of the `_` variable.
-  var previousUnderscore = root._;
-
-  // Save bytes in the minified (but not gzipped) version:
-  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = 
Function.prototype;
-
-  // Create quick reference variables for speed access to core prototypes.
-  var
-push = ArrayProto.push,
-slice= ArrayProto.slice,
-concat   = ArrayProto.concat,
-toString = ObjProto.toString,
-hasOwnProperty   = ObjProto.hasOwnProperty;
-
-  // All **ECMAScript 5** native function implementations that we hope to use
-  // are declared here.
-  var
-nativeIsArray  = Array.isArray,
-nativeKeys = Object.keys,
-nativeBind = FuncProto.bind;
-
-  // Create a safe reference to the Underscore object for use below.
-  var _ = function(obj) {
-if (obj instanceof _) return obj;
-if (!(this instanceof _)) return new _(obj);
-this._wrapped = obj;
-  };
-
-  // Export the Underscore object for **Node.js**, with
-  // backwards-compatibility for the old `require()` API. If we're in
-  // the browser, add `_` as a global object.
-  if (typeof exports !== 'undefined') {
-if (typeof module !== 'undefined' && module.exports) {
-  exports = module.exports = _;
-}
-exports._ = _;
-  } else {
-root._ = _;
-  }
-
-  // Current version.
-  _.VERSION = '1.7.0';
-
-  // Internal function that returns an efficient (for current engines) version
-  // of the passed-in callback, to be repeatedly applied in other Underscore
-  // functions.
-  var createCallback = function(func, context, argCount) {
-if (context === void 0) return func;
-switch (argCount == null ? 3 : argCount) {
-  case 1: return function(value) {
-return func.call(context, value);
-  };
-  case 2: return function(value, other) {
-return func.call(context, value, other);
-  };
-  case 3: return function(value, index, collection) {
-return func.call(context, value, index, collection);
-  };
-  case 4: return function(accumulator, value, index, collection) {
-return func.call(context, accumulator, value, index, collection);
-  };
-}
-return function() {
-  return func.apply(context, arguments);
-};
-  };
-
-  // A mostly-internal function to generate callbacks that can be applied
-  // to each element in a collection, returning the desired result — either
-  // identity, an arbitrary callback, a property matcher, or a property 
accessor.
-  _.iteratee = function(value, context, argCount) {
-if (value == null) return _.identity;
-if (_.isFunction(value)) return createCallback(value, context, argCount);
-if (_.isObject(value)) return _.matches(value);
-return _.property(value);
-  };
-
-  // Collection Functions
-  // 
-
-  // The cornerstone, an `each` implementation, aka `forEach`.
-  // Handles raw objects in addition to array-likes. Treats all
-  // sparse array-likes as if they were dense.
-  _.each = _.forEach = function(obj, iteratee, context) {
-if (obj == null) return obj;
-iteratee = createCallback(iteratee, context);
-var i, length = obj.length;
-if (length === +length) {
-  for (i = 0; i < length; i++) {
-iteratee(obj[i], i, obj);
-  }
-} else {
-  var keys = _.keys(obj);
-  for (i = 0, length = keys.length; i < length; i++) {
-iteratee(obj[keys[i]], keys[i], obj);
-  }
-}
-return obj;
-  };
-
-  // Return the results of applying the iteratee to each element.
-  _.map = _.collect = function(obj, iteratee, context) {
-if (obj == null) return [];
-iteratee = _.iteratee(iteratee, context);
-var keys = obj.length !== +obj.length && _.keys(obj),
-length = (keys || obj).length,
-results = Array(length),
-currentKey;
-for (var index = 0; index < length; index++) {
-  currentKey = keys ? keys[index] : index;
-  results[index] = 

[12/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

2016-05-03 Thread srimanth
http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/requirejs/js/require.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/requirejs/js/require.js 
b/contrib/views/storm/src/main/resources/libs/bower/requirejs/js/require.js
deleted file mode 100644
index bc43457..000
--- a/contrib/views/storm/src/main/resources/libs/bower/requirejs/js/require.js
+++ /dev/null
@@ -1,2083 +0,0 @@
-/** vim: et:ts=4:sw=4:sts=4
- * @license RequireJS 2.1.16 Copyright (c) 2010-2015, The Dojo Foundation All 
Rights Reserved.
- * Available via the MIT or new BSD license.
- * see: http://github.com/jrburke/requirejs for details
- */
-//Not using strict: uneven strict support in browsers, #392, and causes
-//problems with requirejs.exec()/transpiler plugins that may not be strict.
-/*jslint regexp: true, nomen: true, sloppy: true */
-/*global window, navigator, document, importScripts, setTimeout, opera */
-
-var requirejs, require, define;
-(function (global) {
-var req, s, head, baseElement, dataMain, src,
-interactiveScript, currentlyAddingScript, mainScript, subPath,
-version = '2.1.16',
-commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
-cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
-jsSuffixRegExp = /\.js$/,
-currDirRegExp = /^\.\//,
-op = Object.prototype,
-ostring = op.toString,
-hasOwn = op.hasOwnProperty,
-ap = Array.prototype,
-apsp = ap.splice,
-isBrowser = !!(typeof window !== 'undefined' && typeof navigator !== 
'undefined' && window.document),
-isWebWorker = !isBrowser && typeof importScripts !== 'undefined',
-//PS3 indicates loaded and complete, but need to wait for complete
-//specifically. Sequence is 'loading', 'loaded', execution,
-// then 'complete'. The UA check is unfortunate, but not sure how
-//to feature test w/o causing perf issues.
-readyRegExp = isBrowser && navigator.platform === 'PLAYSTATION 3' ?
-  /^complete$/ : /^(complete|loaded)$/,
-defContextName = '_',
-//Oh the tragedy, detecting opera. See the usage of isOpera for reason.
-isOpera = typeof opera !== 'undefined' && opera.toString() === 
'[object Opera]',
-contexts = {},
-cfg = {},
-globalDefQueue = [],
-useInteractive = false;
-
-function isFunction(it) {
-return ostring.call(it) === '[object Function]';
-}
-
-function isArray(it) {
-return ostring.call(it) === '[object Array]';
-}
-
-/**
- * Helper function for iterating over an array. If the func returns
- * a true value, it will break out of the loop.
- */
-function each(ary, func) {
-if (ary) {
-var i;
-for (i = 0; i < ary.length; i += 1) {
-if (ary[i] && func(ary[i], i, ary)) {
-break;
-}
-}
-}
-}
-
-/**
- * Helper function for iterating over an array backwards. If the func
- * returns a true value, it will break out of the loop.
- */
-function eachReverse(ary, func) {
-if (ary) {
-var i;
-for (i = ary.length - 1; i > -1; i -= 1) {
-if (ary[i] && func(ary[i], i, ary)) {
-break;
-}
-}
-}
-}
-
-function hasProp(obj, prop) {
-return hasOwn.call(obj, prop);
-}
-
-function getOwn(obj, prop) {
-return hasProp(obj, prop) && obj[prop];
-}
-
-/**
- * Cycles over properties in an object and calls a function for each
- * property value. If the function returns a truthy value, then the
- * iteration is stopped.
- */
-function eachProp(obj, func) {
-var prop;
-for (prop in obj) {
-if (hasProp(obj, prop)) {
-if (func(obj[prop], prop)) {
-break;
-}
-}
-}
-}
-
-/**
- * Simple function to mix in properties from source into target,
- * but only if target does not already have a property of the same name.
- */
-function mixin(target, source, force, deepStringMixin) {
-if (source) {
-eachProp(source, function (value, prop) {
-if (force || !hasProp(target, prop)) {
-if (deepStringMixin && typeof value === 'object' && value 
&&
-!isArray(value) && !isFunction(value) &&
-!(value instanceof RegExp)) {
-
-if (!target[prop]) {
-target[prop] = {};
-}
-mixin(target[prop], value, force, deepStringMixin);
-} else {
-

[08/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

2016-05-03 Thread srimanth
http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/jsx/JSXTransformer.js
--
diff --git a/contrib/views/storm/src/main/resources/libs/jsx/JSXTransformer.js 
b/contrib/views/storm/src/main/resources/libs/jsx/JSXTransformer.js
new file mode 100644
index 000..efc63ff
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/jsx/JSXTransformer.js
@@ -0,0 +1,15201 @@
+/**
+ * JSXTransformer v0.12.2
+ */
+!function(e){if("object"==typeof exports&&"undefined"!=typeof 
module)module.exports=e();else if("function"==typeof 
define&)define([],e);else{var f;"undefined"!=typeof 
window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof 
self&&(f=self),f.JSXTransformer=e()}}(function(){var 
define,module,exports;return (function e(t,n,r){function 
s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&if(!u&)return a(o,!0);if(i)return i(o,!0);var 
f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var 
l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&for(var o=0;o[30/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/backbone.marionette/js/backbone.marionette.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/backbone.marionette/js/backbone.marionette.js
 
b/contrib/views/storm/src/main/resources/libs/bower/backbone.marionette/js/backbone.marionette.js
deleted file mode 100644
index 8714cd7..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/backbone.marionette/js/backbone.marionette.js
+++ /dev/null
@@ -1,3128 +0,0 @@
-// MarionetteJS (Backbone.Marionette)
-// --
-// v2.3.2
-//
-// Copyright (c)2015 Derick Bailey, Muted Solutions, LLC.
-// Distributed under MIT license
-//
-// http://marionettejs.com
-
-(function(root, factory) {
-
-  if (typeof define === 'function' && define.amd) {
-define(['backbone', 'underscore', 'backbone.wreqr', 
'backbone.babysitter'], function(Backbone, _) {
-  return (root.Marionette = root.Mn = factory(root, Backbone, _));
-});
-  } else if (typeof exports !== 'undefined') {
-var Backbone = require('backbone');
-var _ = require('underscore');
-var Wreqr = require('backbone.wreqr');
-var BabySitter = require('backbone.babysitter');
-module.exports = factory(root, Backbone, _);
-  } else {
-root.Marionette = root.Mn = factory(root, root.Backbone, root._);
-  }
-
-}(this, function(root, Backbone, _) {
-  'use strict';
-
-  var previousMarionette = root.Marionette;
-  var previousMn = root.Mn;
-
-  var Marionette = Backbone.Marionette = {};
-
-  Marionette.VERSION = '2.3.2';
-
-  Marionette.noConflict = function() {
-root.Marionette = previousMarionette;
-root.Mn = previousMn;
-return this;
-  };
-
-  // Get the Deferred creator for later use
-  Marionette.Deferred = Backbone.$.Deferred;
-
-  /* jshint unused: false *//* global console */
-
-  // Helpers
-  // ---
-
-  // Marionette.extend
-  // -
-
-  // Borrow the Backbone `extend` method so we can use it as needed
-  Marionette.extend = Backbone.Model.extend;
-
-  // Marionette.isNodeAttached
-  // -
-
-  // Determine if `el` is a child of the document
-  Marionette.isNodeAttached = function(el) {
-return Backbone.$.contains(document.documentElement, el);
-  };
-
-
-  // Marionette.getOption
-  // 
-
-  // Retrieve an object, function or other value from a target
-  // object or its `options`, with `options` taking precedence.
-  Marionette.getOption = function(target, optionName) {
-if (!target || !optionName) { return; }
-if (target.options && (target.options[optionName] !== undefined)) {
-  return target.options[optionName];
-} else {
-  return target[optionName];
-}
-  };
-
-  // Proxy `Marionette.getOption`
-  Marionette.proxyGetOption = function(optionName) {
-return Marionette.getOption(this, optionName);
-  };
-
-  // Similar to `_.result`, this is a simple helper
-  // If a function is provided we call it with context
-  // otherwise just return the value. If the value is
-  // undefined return a default value
-  Marionette._getValue = function(value, context, params) {
-if (_.isFunction(value)) {
-  // We need to ensure that params is not undefined
-  // to prevent `apply` from failing in ie8
-  params = params || [];
-
-  value = value.apply(context, params);
-}
-return value;
-  };
-
-  // Marionette.normalizeMethods
-  // --
-
-  // Pass in a mapping of events => functions or function names
-  // and return a mapping of events => functions
-  Marionette.normalizeMethods = function(hash) {
-return _.reduce(hash, function(normalizedHash, method, name) {
-  if (!_.isFunction(method)) {
-method = this[method];
-  }
-  if (method) {
-normalizedHash[name] = method;
-  }
-  return normalizedHash;
-}, {}, this);
-  };
-
-  // utility method for parsing @ui. syntax strings
-  // into associated selector
-  Marionette.normalizeUIString = function(uiString, ui) {
-return uiString.replace(/@ui\.[a-zA-Z_$0-9]*/g, function(r) {
-  return ui[r.slice(4)];
-});
-  };
-
-  // allows for the use of the @ui. syntax within
-  // a given key for triggers and events
-  // swaps the @ui with the associated selector.
-  // Returns a new, non-mutated, parsed events hash.
-  Marionette.normalizeUIKeys = function(hash, ui) {
-return _.reduce(hash, function(memo, val, key) {
-  var normalizedKey = Marionette.normalizeUIString(key, ui);
-  memo[normalizedKey] = val;
-  return memo;
-}, {});
-  };
-
-  // allows for the use of the @ui. syntax within
-  // a given value for regions
-  // swaps the @ui with the associated selector
-  Marionette.normalizeUIValues = function(hash, ui) {
-_.each(hash, function(val, key) {
-  if (_.isString(val)) {
-  

[22/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/font-awesome/fonts/fontawesome-webfont.svg
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/font-awesome/fonts/fontawesome-webfont.svg
 
b/contrib/views/storm/src/main/resources/libs/bower/font-awesome/fonts/fontawesome-webfont.svg
deleted file mode 100644
index 744c88a..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/font-awesome/fonts/fontawesome-webfont.svg
+++ /dev/null
@@ -1,565 +0,0 @@
-
-http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd; >
-http://www.w3.org/2000/svg; 
xmlns:xlink="http://www.w3.org/1999/xlink; version="1.1">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

[06/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/react/js/react-with-addons.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/react/js/react-with-addons.js 
b/contrib/views/storm/src/main/resources/libs/react/js/react-with-addons.js
new file mode 100644
index 000..5b451eb
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/react/js/react-with-addons.js
@@ -0,0 +1,20775 @@
+ /**
+  * React (with addons) v0.14.8
+  */
+(function(f){if(typeof exports==="object"& 
module!=="undefined"){module.exports=f()}else if(typeof 
define==="function"&){define([],f)}else{var g;if(typeof 
window!=="undefined"){g=window}else if(typeof 
global!=="undefined"){g=global}else if(typeof 
self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var 
define,module,exports;return (function e(t,n,r){function 
s(o,u){if(!n[o]){if(!t[o]){var a=typeof 
require=="function"&if(!u&)return a(o,!0);if(i)return i(o,!0);var 
f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var 
l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return 
s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof 
require=="function"&for(var o=0;o

[17/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.js 
b/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.js
deleted file mode 100644
index 79d631f..000
--- a/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.js
+++ /dev/null
@@ -1,9205 +0,0 @@
-/*!
- * jQuery JavaScript Library v2.1.3
- * http://jquery.com/
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- *
- * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2014-12-18T15:11Z
- */
-
-(function( global, factory ) {
-
-   if ( typeof module === "object" && typeof module.exports === "object" ) 
{
-   // For CommonJS and CommonJS-like environments where a proper 
`window`
-   // is present, execute the factory and get jQuery.
-   // For environments that do not have a `window` with a 
`document`
-   // (such as Node.js), expose a factory as module.exports.
-   // This accentuates the need for the creation of a real 
`window`.
-   // e.g. var jQuery = require("jquery")(window);
-   // See ticket #14549 for more info.
-   module.exports = global.document ?
-   factory( global, true ) :
-   function( w ) {
-   if ( !w.document ) {
-   throw new Error( "jQuery requires a 
window with a document" );
-   }
-   return factory( w );
-   };
-   } else {
-   factory( global );
-   }
-
-// Pass this if window is not defined yet
-}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
-
-// Support: Firefox 18+
-// Can't be in strict mode, several libs including ASP.NET trace
-// the stack via arguments.caller.callee and Firefox dies if
-// you try to trace through "use strict" call chains. (#13335)
-//
-
-var arr = [];
-
-var slice = arr.slice;
-
-var concat = arr.concat;
-
-var push = arr.push;
-
-var indexOf = arr.indexOf;
-
-var class2type = {};
-
-var toString = class2type.toString;
-
-var hasOwn = class2type.hasOwnProperty;
-
-var support = {};
-
-
-
-var
-   // Use the correct document accordingly with window argument (sandbox)
-   document = window.document,
-
-   version = "2.1.3",
-
-   // Define a local copy of jQuery
-   jQuery = function( selector, context ) {
-   // The jQuery object is actually just the init constructor 
'enhanced'
-   // Need init if jQuery is called (just allow error to be thrown 
if not included)
-   return new jQuery.fn.init( selector, context );
-   },
-
-   // Support: Android<4.1
-   // Make sure we trim BOM and NBSP
-   rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
-
-   // Matches dashed string for camelizing
-   rmsPrefix = /^-ms-/,
-   rdashAlpha = /-([\da-z])/gi,
-
-   // Used by jQuery.camelCase as callback to replace()
-   fcamelCase = function( all, letter ) {
-   return letter.toUpperCase();
-   };
-
-jQuery.fn = jQuery.prototype = {
-   // The current version of jQuery being used
-   jquery: version,
-
-   constructor: jQuery,
-
-   // Start with an empty selector
-   selector: "",
-
-   // The default length of a jQuery object is 0
-   length: 0,
-
-   toArray: function() {
-   return slice.call( this );
-   },
-
-   // Get the Nth element in the matched element set OR
-   // Get the whole matched element set as a clean array
-   get: function( num ) {
-   return num != null ?
-
-   // Return just the one element from the set
-   ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
-
-   // Return all the elements in a clean array
-   slice.call( this );
-   },
-
-   // Take an array of elements and push it onto the stack
-   // (returning the new matched element set)
-   pushStack: function( elems ) {
-
-   // Build a new jQuery matched element set
-   var ret = jQuery.merge( this.constructor(), elems );
-
-   // Add the old object onto the stack (as a reference)
-   ret.prevObject = this;
-   ret.context = this.context;
-
-   // Return the newly-formed element set
-   return ret;
-   },
-
-   // Execute a callback for every element in the matched set.
-   // (You can seed the arguments with an array of args, but this is
-   // only used internally.)
-   each: 

[36/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-editable.min.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-editable.min.js
 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-editable.min.js
new file mode 100644
index 000..b786a84
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-editable.min.js
@@ -0,0 +1,7 @@
+/*! X-editable - v1.5.1 
+* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
+* http://github.com/vitalets/x-editable
+* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
+!function(a){"use strict";var 
b=function(b,c){this.options=a.extend({},a.fn.editableform.defaults,c),this.$div=a(b),this.options.scope||(this.options.scope=this)};b.prototype={constructor:b,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value),this.input.prerender()},initTemplate:function(){this.$form=a(a.fn.editableform.template)},initButtons:function(){var
 
b=this.$form.find(".editable-buttons");b.append(a.fn.editableform.buttons),"bottom"===this.options.showbuttons&("editable-buttons-bottom")},render:function(){this.$loading=a(a.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),a.when(this.input.render()).then(a.proxy(fu
 
nction(){if(this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(a.proxy(this.cancel,this)),this.input.error)this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(a){a.preventDefault()});else{this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled");var
 b=null===this.value||void 
0===this.value||""===this.value?this.options.defaultValue:this.value;this.input.value2input(b),this.$form.submit(a.proxy(this.submit,this))}this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var
 
a,b;this.$form?(a=this.$form.outerWidth(),b=this.$form.outerHeight(),a&$loading.width(a),b&$loading.height(b),this.$form.hide()):(a=this.$loading.parent().width(),a&$loading.wid
 
th(a)),this.$loading.show()},showForm:function(a){this.$loading.hide(),this.$form.show(),a!==!1&(),this.$div.triggerHandler("show")},error:function(b){var
 
c,d=this.$form.find(".control-group"),e=this.$form.find(".editable-error-block");if(b===!1)d.removeClass(a.fn.editableform.errorGroupClass),e.removeClass(a.fn.editableform.errorBlockClass).empty().hide();else{if(b){c=(""+b).split("\n");for(var
 
f=0;f

[26/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/bootstrap/css/bootstrap.min.css
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/bootstrap/css/bootstrap.min.css
 
b/contrib/views/storm/src/main/resources/libs/bower/bootstrap/css/bootstrap.min.css
deleted file mode 100644
index 328c1e5..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/bootstrap/css/bootstrap.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!
- * Bootstrap v3.3.2 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- *//*! normalize.css v3.0.2 | MIT License | git.io/normalize 
*/html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px
 dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 
0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em
 
40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}butt
 
on,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html
 
input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html
 
input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*!
 Source: https://g
 ithub.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media 
print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0
 
0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:"
 (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) 
")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px
 solid 
#999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px
 solid #000}.table{border-collapse:collapse!important}.table td,.table 
th{background-color:#fff!important}.table-bordered td,.table-bordered 
th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons 
Halflings';src:url(../fonts
 
/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix)
 format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) 
format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) 
format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) 
format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular)
 
format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons
 
Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}
 

[16/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.js 
b/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.js
deleted file mode 100644
index 18bdbed..000
--- a/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.js
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery v2.1.3 | (c) 2005, 2014 jQuery Foundation, Inc. | 
jquery.org/license */
-!function(a,b){"object"==typeof module&&"object"==typeof 
module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw
 new Error("jQuery requires a window with a document");return 
b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var 
c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.3",n=function(a,b){return
 new 
n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return
 
b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return
 d.call(this)},get:function(a){return 
null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var 
b=n.merge(this.constructor(),a);return 
b.prevObject=this,b.context=this.context,b},each:function(a,b){return 
n.each(this,a,b)},map:function(a){return 
this.pushStack(n.map(this,function(b,c){return 
a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(
 this,arguments))},first:function(){return this.eq(0)},last:function(){return 
this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return 
this.pushStack(c>=0&>c?[this[c]]:[])},end:function(){return 
this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var
 
a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof
 g&&(j=g,g=arguments[h]||{},h++),"object"==typeof 
g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b
 in 
a)c=g[b],d=a[b],g!==d&&(j&&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&(c)?c:[]):f=c&(c)?c:{},g[b]=n.extend(j,f,d)):void
 0!==d&&(g[b]=d));return 
g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw
 new 
Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return
 null!=a&===a.window},isNumeric:functi
 
on(a){return!n.isArray(a)&(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var
 b;for(b in a)return!1;return!0},type:function(a){return 
null==a?a+"":"object"==typeof a||"function"==typeof 
a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var 
b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use 
strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return
 a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return 
a.nodeName&()===b.toLowerCase()},each:function(a,b,c){var
 
d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else
 for(e in a)if(d=b.apply(a[e],c),d===!1)break}else 
if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in 
a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a
 ){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var 
c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof 
a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return 
null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var 
c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return 
a.length=e,a},grep:function(a,b,c){for(var 
d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&(a[f]);return 
e},map:function(a,b,c){var 
d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&(d);else
 for(f in a)d=b(a[f],f,c),null!=d&(d);return 
e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof 
b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return 
a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void
 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date 
RegExp Object Error".split(" "),function(a,b){h["[object 
"+b+"]"]=b.toLowerCase()});function s(a){va
 r 
b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&?!0:"array"===c||0===b||"number"==typeof
 b&>0& in a}var t=function(a){var 
b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new 
Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return 
a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var
 

ambari git commit: AMBARI-16234: WebHCat service check fails since pig tarball copied to incorrect location (jluniya)

Repository: ambari
Updated Branches:
  refs/heads/trunk 529ef7f70 -> e72d9b0b6


AMBARI-16234: WebHCat service check fails since pig tarball copied to incorrect 
location (jluniya)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e72d9b0b
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e72d9b0b
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e72d9b0b

Branch: refs/heads/trunk
Commit: e72d9b0b67067231fca0510e55df0be9e2f2db80
Parents: 529ef7f
Author: Jayush Luniya 
Authored: Tue May 3 17:15:55 2016 -0700
Committer: Jayush Luniya 
Committed: Tue May 3 17:16:14 2016 -0700

--
 .../0.12.0.2.0/package/scripts/params_linux.py  | 20 ++--
 1 file changed, 10 insertions(+), 10 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/e72d9b0b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
index cef2cbc..ec43fea 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
@@ -31,7 +31,7 @@ from resource_management.libraries.resources.hdfs_resource 
import HdfsResource
 from resource_management.libraries.functions.default import default
 from resource_management.libraries.functions.format import format
 from resource_management.libraries.functions.is_empty import is_empty
-from resource_management.libraries.functions.copy_tarball import 
STACK_VERSION_PATTERN
+from resource_management.libraries.functions.copy_tarball import 
STACK_ROOT_PATTERN, STACK_NAME_PATTERN, STACK_VERSION_PATTERN
 from resource_management.libraries.functions import get_kinit_path
 from resource_management.libraries.functions.get_not_managed_resources import 
get_not_managed_resources
 from resource_management.libraries.script.script import Script
@@ -153,15 +153,15 @@ if stack_version_formatted_major and 
check_stack_feature(StackFeature.ROLLING_UP
   # --- Tarballs ---
   # DON'T CHANGE THESE VARIABLE NAMES
   # Values don't change from those in copy_tarball.py
-  hive_tar_source = "{0}/{1}/hive/hive.tar.gz".format(stack_root, 
STACK_VERSION_PATTERN)
-  pig_tar_source = "{0}/{1}/pig/pig.tar.gz".format(stack_root, 
STACK_VERSION_PATTERN)
-  hive_tar_dest_file = "/{0}/apps/{1}/hive/hive.tar.gz".format(stack_name, 
STACK_VERSION_PATTERN)
-  pig_tar_dest_file = "/{0}/apps/{1}/pig/pig.tar.gz".format(stack_name, 
STACK_VERSION_PATTERN)
-
-  hadoop_streaming_tar_source = 
"{0}/{1}/hadoop-mapreduce/hadoop-streaming.jar".format(stack_root, 
STACK_VERSION_PATTERN)
-  sqoop_tar_source = "{0}/{1}/sqoop/sqoop.tar.gz".format(stack_root, 
STACK_VERSION_PATTERN)
-  hadoop_streaming_tar_dest_dir = 
"/{0}/apps/{1}/mapreduce/".format(stack_name, STACK_VERSION_PATTERN)
-  sqoop_tar_dest_dir = "/{0}/apps/{1}/sqoop/".format(stack_name, 
STACK_VERSION_PATTERN)
+  hive_tar_source = "{0}/{1}/hive/hive.tar.gz".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN)
+  pig_tar_source = "{0}/{1}/pig/pig.tar.gz".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN)
+  hive_tar_dest_file = 
"/{0}/apps/{1}/hive/hive.tar.gz".format(STACK_NAME_PATTERN, 
STACK_VERSION_PATTERN)
+  pig_tar_dest_file = 
"/{0}/apps/{1}/pig/pig.tar.gz".format(STACK_NAME_PATTERN, STACK_VERSION_PATTERN)
+
+  hadoop_streaming_tar_source = 
"{0}/{1}/hadoop-mapreduce/hadoop-streaming.jar".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN)
+  sqoop_tar_source = "{0}/{1}/sqoop/sqoop.tar.gz".format(STACK_ROOT_PATTERN, 
STACK_VERSION_PATTERN)
+  hadoop_streaming_tar_dest_dir = 
"/{0}/apps/{1}/mapreduce/".format(STACK_NAME_PATTERN, STACK_VERSION_PATTERN)
+  sqoop_tar_dest_dir = "/{0}/apps/{1}/sqoop/".format(STACK_NAME_PATTERN, 
STACK_VERSION_PATTERN)
 
   tarballs_mode = 0444
 else:



[41/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/529ef7f7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/529ef7f7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/529ef7f7

Branch: refs/heads/trunk
Commit: 529ef7f7042764a060d782719cfe5e72cd636f83
Parents: 5fea541
Author: Srimanth Gunturi 
Authored: Tue May 3 17:01:32 2016 -0700
Committer: Srimanth Gunturi 
Committed: Tue May 3 17:01:32 2016 -0700

--
 contrib/views/storm/src/main/resources/404.html |   169 -
 .../views/storm/src/main/resources/index.html   |39 +-
 .../js/backbone-paginator.min.js|  1325 ++
 .../main/resources/libs/Backbone/js/Backbone.js |  1920 ++
 .../libs/Bootstrap/css/bootstrap-editable.css   |   663 +
 .../libs/Bootstrap/css/bootstrap-slider.min.css |28 +
 .../libs/Bootstrap/css/bootstrap-switch.min.css |22 +
 .../resources/libs/Bootstrap/css/bootstrap.css  |  5959 +
 .../fonts/glyphicons-halflings-regular.svg  |   288 +
 .../libs/Bootstrap/js/bootstrap-editable.min.js | 7 +
 .../libs/Bootstrap/js/bootstrap-notify.min.js   | 1 +
 .../libs/Bootstrap/js/bootstrap-slider.min.js   |29 +
 .../libs/Bootstrap/js/bootstrap-switch.min.js   |22 +
 .../libs/Bootstrap/js/bootstrap.min.js  | 7 +
 .../libs/Font-Awesome/css/font-awesome.min.css  | 4 +
 .../Font-Awesome/fonts/fontawesome-webfont.svg  |   655 +
 .../resources/libs/Underscore/js/Underscore.js  |  1548 ++
 .../resources/libs/bootbox/js/bootbox.min.js| 6 +
 .../bower/backbone-forms/js/backbone-forms.js   |  2446 --
 .../libs/bower/backbone-forms/js/list.js|   650 -
 .../js/backbone.babysitter.js   |   190 -
 .../js/backbone.marionette.js   |  3128 ---
 .../bower/backbone.wreqr/js/backbone.wreqr.js   |   435 -
 .../libs/bower/backbone/js/backbone.js  |  1608 --
 .../libs/bower/backgrid/css/backgrid.min.css| 1 -
 .../libs/bower/backgrid/js/backgrid.js  |  2887 ---
 .../resources/libs/bower/bootbox/js/bootbox.js  |   894 -
 .../libs/bower/bootstrap/css/bootstrap.min.css  | 5 -
 .../fonts/glyphicons-halflings-regular.svg  |   288 -
 .../bootstrap/js/bootstrap-filestyle.min.js | 1 -
 .../libs/bower/bootstrap/js/bootstrap-notify.js |97 -
 .../libs/bower/bootstrap/js/bootstrap.js|  2306 --
 .../bower/font-awesome/css/font-awesome.min.css | 4 -
 .../font-awesome/fonts/fontawesome-webfont.svg  |   565 -
 .../libs/bower/globalize/js/globalize.js|  1586 --
 .../jquery-fileupload/js/jquery.fileupload.js   |  1201 -
 .../libs/bower/jquery-ui/css/jquery-ui.min.css  | 5 -
 .../jquery-ui/js/jquery-ui-1.10.3.custom.js |12 -
 .../libs/bower/jquery-ui/js/jquery-ui-slider.js |   655 -
 .../bower/jquery-ui/js/jquery.ui.widget.min.js  | 5 -
 .../resources/libs/bower/jquery/js/jquery.js|  9205 
 .../libs/bower/jquery/js/jquery.min.js  | 5 -
 .../libs/bower/jquery/js/jquery.min.map | 1 -
 .../require-handlebars-plugin/js/handlebars.js  |  2220 --
 .../bower/require-handlebars-plugin/js/hbs.js   |   492 -
 .../js/i18nprecompile.js|57 -
 .../bower/require-handlebars-plugin/js/json2.js |   365 -
 .../libs/bower/requirejs-text/js/text.js|   390 -
 .../libs/bower/requirejs/js/require.js  |  2083 --
 .../libs/bower/underscore/js/underscore.js  |  1415 --
 .../src/main/resources/libs/d3/js/d3-tip.min.js | 1 +
 .../src/main/resources/libs/d3/js/d3.min.js | 5 +
 .../libs/jQuery/js/jquery-2.2.3.min.js  | 4 +
 .../main/resources/libs/jsx/JSXTransformer.js   | 15201 
 .../storm/src/main/resources/libs/jsx/jsx.js|75 +
 .../main/resources/libs/other/arbor-graphics.js |51 -
 .../main/resources/libs/other/arbor-tween.js|81 -
 .../src/main/resources/libs/other/arbor.js  |67 -
 .../main/resources/libs/react/js/react-dom.js   |42 +
 .../libs/react/js/react-with-addons.js  | 20775 +
 .../resources/libs/require-js/js/require.min.js |36 +
 .../main/resources/libs/require-text/js/text.js |   390 +
 .../storm/src/main/resources/scripts/App.js |41 -
 .../scripts/collection/BaseCollection.js|61 -
 .../scripts/collection/VTopologyList.js |42 -
 .../scripts/collections/BaseCollection.js   |   175 +
 .../scripts/collections/VNimbusConfigList.js|52 +
 .../scripts/collections/VNimbusList.js  |52 +
 .../scripts/collections/VSupervisorList.js  |52 +
 .../scripts/collections/VTopologyConfigList.js  |49 +
 .../scripts/collections/VTopologyList.js|52 +
 .../scripts/components/Breadcrumbs.jsx  |47 +
 

[27/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/bootbox/js/bootbox.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/bootbox/js/bootbox.js 
b/contrib/views/storm/src/main/resources/libs/bower/bootbox/js/bootbox.js
deleted file mode 100644
index a002e4a..000
--- a/contrib/views/storm/src/main/resources/libs/bower/bootbox/js/bootbox.js
+++ /dev/null
@@ -1,894 +0,0 @@
-/**
- * bootbox.js [v4.3.0]
- *
- * http://bootboxjs.com/license.txt
- */
-
-// @see https://github.com/makeusabrew/bootbox/issues/180
-// @see https://github.com/makeusabrew/bootbox/issues/186
-(function (root, factory) {
-
-  "use strict";
-  if (typeof define === "function" && define.amd) {
-// AMD. Register as an anonymous module.
-define(["jquery"], factory);
-  } else if (typeof exports === "object") {
-// Node. Does not work with strict CommonJS, but
-// only CommonJS-like environments that support module.exports,
-// like Node.
-module.exports = factory(require("jquery"));
-  } else {
-// Browser globals (root is window)
-root.bootbox = factory(root.jQuery);
-  }
-
-}(this, function init($, undefined) {
-
-  "use strict";
-
-  // the base DOM structure needed to create a modal
-  var templates = {
-dialog:
-  "" +
-"" +
-  "" +
-"" +
-  "" +
-"" +
-  "",
-header:
-  "" +
-"" +
-  "",
-footer:
-  "",
-closeButton:
-  "",
-form:
-  "",
-inputs: {
-  text:
-"",
-  textarea:
-"",
-  email:
-"",
-  select:
-"",
-  checkbox:
-"",
-  date:
-"",
-  time:
-"",
-  number:
-"",
-  password:
-""
-}
-  };
-
-  var defaults = {
-// default language
-locale: "en",
-// show backdrop or not
-backdrop: true,
-// animate the modal in/out
-animate: true,
-// additional class string applied to the top level dialog
-className: null,
-// whether or not to include a close button
-closeButton: true,
-// show the dialog immediately by default
-show: true,
-// dialog container
-container: "body"
-  };
-
-  // our public object; augmented after our private API
-  var exports = {};
-
-  /**
-   * @private
-   */
-  function _t(key) {
-var locale = locales[defaults.locale];
-return locale ? locale[key] : locales.en[key];
-  }
-
-  function processCallback(e, dialog, callback) {
-e.stopPropagation();
-e.preventDefault();
-
-// by default we assume a callback will get rid of the dialog,
-// although it is given the opportunity to override this
-
-// so, if the callback can be invoked and it *explicitly returns false*
-// then we'll set a flag to keep the dialog active...
-var preserveDialog = $.isFunction(callback) && callback(e) === false;
-
-// ... otherwise we'll bin it
-if (!preserveDialog) {
-  dialog.modal("hide");
-}
-  }
-
-  function getKeyLength(obj) {
-// @TODO defer to Object.keys(x).length if available?
-var k, t = 0;
-for (k in obj) {
-  t ++;
-}
-return t;
-  }
-
-  function each(collection, iterator) {
-var index = 0;
-$.each(collection, function(key, value) {
-  iterator(key, value, index++);
-});
-  }
-
-  function sanitize(options) {
-var buttons;
-var total;
-
-if (typeof options !== "object") {
-  throw new Error("Please supply an object of options");
-}
-
-if (!options.message) {
-  throw new Error("Please specify a message");
-}
-
-// make sure any supplied options take precedence over defaults
-options = $.extend({}, defaults, options);
-
-if (!options.buttons) {
-  options.buttons = {};
-}
-
-// we only support Bootstrap's "static" and false backdrop args
-// supporting true would mean you could dismiss the dialog without
-// explicitly interacting with it
-options.backdrop = options.backdrop ? "static" : false;
-
-buttons = options.buttons;
-
-total = getKeyLength(buttons);
-
-each(buttons, function(key, button, index) {
-
-  if ($.isFunction(button)) {
-// short form, assume value is our callback. Since button
-// isn't an object it isn't a reference either so re-assign it
-button = buttons[key] = {
-  callback: button
-};
-  }
-
-  // before any further checks make sure by now button is the correct type
-  if ($.type(button) !== "object") {
-throw new Error("button with key " + key + " must be an object");
-  }
-
-  if (!button.label) {
-// the lack of an explicit label means we'll assume the key is good 
enough
-button.label = key;
-  }
-
-  if (!button.className) {
-if (total <= 2 && index === total-1) {
-  // 

[25/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/bootstrap/fonts/glyphicons-halflings-regular.svg
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/bootstrap/fonts/glyphicons-halflings-regular.svg
 
b/contrib/views/storm/src/main/resources/libs/bower/bootstrap/fonts/glyphicons-halflings-regular.svg
deleted file mode 100644
index f155876..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/bootstrap/fonts/glyphicons-halflings-regular.svg
+++ /dev/null
@@ -1,288 +0,0 @@
-
-http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd; >
-http://www.w3.org/2000/svg;>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

[02/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/scripts/views/Footer.jsx
--
diff --git a/contrib/views/storm/src/main/resources/scripts/views/Footer.jsx 
b/contrib/views/storm/src/main/resources/scripts/views/Footer.jsx
new file mode 100644
index 000..a6d2ed6
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/scripts/views/Footer.jsx
@@ -0,0 +1,48 @@
+/**
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+*
+ http://www.apache.org/licenses/LICENSE-2.0
+*
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+define(['react', 'react-dom', 'models/VCluster', 'utils/Utils'], 
function(React, ReactDOM, VCluster, Utils) {
+   'use strict';
+   return React.createClass({
+   displayName: 'Footer',
+   getInitialState: function(){
+   this.initializeData();
+   return {
+   version: 0
+   };
+   },
+   initializeData: function(){
+   this.model = new VCluster();
+   this.model.fetch({
+   success: function(model, response){
+   if(response.error){
+   
Utils.notifyError(response.error);
+   } else {
+   this.setState({version: 
model.get('stormVersion')});
+   }
+   }.bind(this),
+   error: function(model, response, options){
+   Utils.notifyError("Error occured in 
fetching cluster summary data.");
+   }
+   });
+   },
+   render: function() {
+   return (Apache Storm - 
v{this.state.version});
+   }
+   });
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/scripts/views/NimbusSummaryView.jsx
--
diff --git 
a/contrib/views/storm/src/main/resources/scripts/views/NimbusSummaryView.jsx 
b/contrib/views/storm/src/main/resources/scripts/views/NimbusSummaryView.jsx
new file mode 100644
index 000..6221d3f
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/scripts/views/NimbusSummaryView.jsx
@@ -0,0 +1,65 @@
+/**
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+*
+ http://www.apache.org/licenses/LICENSE-2.0
+*
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+define([
+   'jsx!components/Table',
+   'react',
+   'react-dom',
+   'jsx!containers/NimbusSummary',
+   'jsx!components/Breadcrumbs'
+   ],function(Table, React, ReactDOM, NimbusSummary, Breadcrumbs){
+   'use strict';
+
+   return React.createClass({
+   displayName: 'NimbusSummaryView',
+   getInitialState: function(){
+   return null;
+   },
+   componentWillMount: function(){
+   $('.loader').show();
+   },
+   componentDidMount: function(){
+   $('.loader').hide();
+   },
+   componentWillUpdate: function(){
+   $('.loader').show();
+   },
+   componentDidUpdate: function(){
+   $('.loader').hide();
+   },
+   render: function() {
+  

[35/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-slider.min.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-slider.min.js
 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-slider.min.js
new file mode 100644
index 000..e61cd83
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/js/bootstrap-slider.min.js
@@ -0,0 +1,29 @@
+/*! ===
+  VERSION  7.0.1  
+= */
+"use strict";function _typeof(a){return a&&"undefined"!=typeof 
Symbol&===Symbol?"symbol":typeof a}/*! 
=
+ * bootstrap-slider.js
+ *
+ * Maintainers:
+ * Kyle Kemp
+ * - Twitter: @seiyria
+ * - Github:  seiyria
+ * Rohit Kalkur
+ * - Twitter: @Rovolutionary
+ * - Github:  rovolution
+ *
+ * =
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * = */
+!function(a){if("function"==typeof 
define&)define(["jquery"],a);else if("object"===("undefined"==typeof 
module?"undefined":_typeof(module))&){var 
b;try{b=require("jquery")}catch(c){b=null}module.exports=a(b)}else 
window&&(window.Slider=a(window.jQuery))}(function(a){var b;return 
function(a){function b(){}function c(a){function 
c(b){b.prototype.option||(b.prototype.option=function(b){a.isPlainObject(b)&&(this.options=a.extend(!0,this.options,b))})}function
 e(b,c){a.fn[b]=function(e){if("string"==typeof e){for(var 
g=d.call(arguments,1),h=0,i=this.length;i>h;h++){var 
j=this[h],k=a.data(j,b);if(k)if(a.isFunction(k[e])&&"_"!==e.charAt(0)){var 
l=k[e].apply(k,g);if(void 0!==l&!==k)return l}else f("no such method '"+e+"' 
for "+b+" instance");else f("cannot call methods on "+b+" prior to 
initialization; attempted to call '"+e+"'")}return this}var 
m=this.map(function(){var d=a.data(this,b);return 
d?(d.option(e),d._init()):(d=new c(this,e),a.data(this,b,d)),a(this)}
 );return!m||m.length>1?m:m[0]}}if(a){var f="undefined"==typeof 
console?b:function(a){console.error(a)};return 
a.bridget=function(a,b){c(b),e(a,b)},a.bridget}}var 
d=Array.prototype.slice;c(a)}(a),function(a){function c(b,c){function 
d(a,b){var c="data-slider-"+b.replace(/_/g,"-"),d=a.getAttribute(c);try{return 
JSON.parse(d)}catch(e){return 
d}}this._state={value:null,enabled:null,offset:null,size:null,percentage:null,inDrag:!1,over:!1},"string"==typeof
 b?this.element=document.querySelector(b):b instanceof 
HTMLElement&&(this.element=b),c=c?c:{};for(var 
f=Object.keys(this.defaultOptions),g=0;g

[33/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Font-Awesome/fonts/fontawesome-webfont.svg
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Font-Awesome/fonts/fontawesome-webfont.svg
 
b/contrib/views/storm/src/main/resources/libs/Font-Awesome/fonts/fontawesome-webfont.svg
new file mode 100644
index 000..d05688e
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/libs/Font-Awesome/fonts/fontawesome-webfont.svg
@@ -0,0 +1,655 @@
+
+http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd; >
+http://www.w3.org/2000/svg;>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

[21/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/globalize/js/globalize.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/globalize/js/globalize.js 
b/contrib/views/storm/src/main/resources/libs/bower/globalize/js/globalize.js
deleted file mode 100644
index 59ff2b8..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/globalize/js/globalize.js
+++ /dev/null
@@ -1,1586 +0,0 @@
-/*!
- * Globalize
- *
- * http://github.com/jquery/globalize
- *
- * Copyright Software Freedom Conservancy, Inc.
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- */
-
-(function( window, undefined ) {
-
-var Globalize,
-   // private variables
-   regexHex,
-   regexInfinity,
-   regexParseFloat,
-   regexTrim,
-   // private JavaScript utility functions
-   arrayIndexOf,
-   endsWith,
-   extend,
-   isArray,
-   isFunction,
-   isObject,
-   startsWith,
-   trim,
-   truncate,
-   zeroPad,
-   // private Globalization utility functions
-   appendPreOrPostMatch,
-   expandFormat,
-   formatDate,
-   formatNumber,
-   getTokenRegExp,
-   getEra,
-   getEraYear,
-   parseExact,
-   parseNegativePattern;
-
-// Global variable (Globalize) or CommonJS module (globalize)
-Globalize = function( cultureSelector ) {
-   return new Globalize.prototype.init( cultureSelector );
-};
-
-if ( typeof require !== "undefined" &&
-   typeof exports !== "undefined" &&
-   typeof module !== "undefined" ) {
-   // Assume CommonJS
-   module.exports = Globalize;
-} else {
-   // Export as global variable
-   window.Globalize = Globalize;
-}
-
-Globalize.cultures = {};
-
-Globalize.prototype = {
-   constructor: Globalize,
-   init: function( cultureSelector ) {
-   this.cultures = Globalize.cultures;
-   this.cultureSelector = cultureSelector;
-
-   return this;
-   }
-};
-Globalize.prototype.init.prototype = Globalize.prototype;
-
-// 1. When defining a culture, all fields are required except the ones stated 
as optional.
-// 2. Each culture should have a ".calendars" object with at least one 
calendar named "standard"
-//which serves as the default calendar in use by that culture.
-// 3. Each culture should have a ".calendar" object which is the current 
calendar being used,
-//it may be dynamically changed at any time to one of the calendars in 
".calendars".
-Globalize.cultures[ "default" ] = {
-   // A unique name for the culture in the form -
-   name: "en",
-   // the name of the culture in the english language
-   englishName: "English",
-   // the name of the culture in its own language
-   nativeName: "English",
-   // whether the culture uses right-to-left text
-   isRTL: false,
-   // "language" is used for so-called "specific" cultures.
-   // For example, the culture "es-CL" means "Spanish, in Chili".
-   // It represents the Spanish-speaking culture as it is in Chili,
-   // which might have different formatting rules or even translations
-   // than Spanish in Spain. A "neutral" culture is one that is not
-   // specific to a region. For example, the culture "es" is the generic
-   // Spanish culture, which may be a more generalized version of the 
language
-   // that may or may not be what a specific culture expects.
-   // For a specific culture like "es-CL", the "language" field refers to 
the
-   // neutral, generic culture information for the language it is using.
-   // This is not always a simple matter of the string before the dash.
-   // For example, the "zh-Hans" culture is netural (Simplified Chinese).
-   // And the "zh-SG" culture is Simplified Chinese in Singapore, whose 
lanugage
-   // field is "zh-CHS", not "zh".
-   // This field should be used to navigate from a specific culture to it's
-   // more general, neutral culture. If a culture is already as general as 
it
-   // can get, the language may refer to itself.
-   language: "en",
-   // numberFormat defines general number formatting rules, like the 
digits in
-   // each grouping, the group separator, and how negative numbers are 
displayed.
-   numberFormat: {
-   // [negativePattern]
-   // Note, numberFormat.pattern has no "positivePattern" unlike 
percent and currency,
-   // but is still defined as an array for consistency with them.
-   //   negativePattern: one of "(n)|-n|- n|n-|n -"
-   pattern: [ "-n" ],
-   // number of decimal places normally shown
-   decimals: 2,
-   // string that separates number groups, as in 1,000,000
-   ",": ",",
-   

[15/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.map
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.map 
b/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.map
deleted file mode 100644
index f8c5cdb..000
--- a/contrib/views/storm/src/main/resources/libs/bower/jquery/js/jquery.min.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"jquery.min.js","sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","support","version","jQuery","selector","context","fn","init","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","prototype","jquery","constructor","length","toArray","call","get","num","pushStack","elems","ret","merge","prevObject","each","callback","args","map","elem","i","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","src","copy","copyIsArray","clone","target","deep","isFunction","isPlainObject","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","obj","type","Array","isWindow","isNumeric","parseFloat","nodeType","isEmptyObject","globalEval","code","script","indirect","eval","trim","createElement","text","head","appendChild","p
 
arentNode","removeChild","camelCase","string","nodeName","toLowerCase","value","isArraylike","makeArray","results","Object","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","guid","proxy","tmp","now","Date","split","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","MAX_NEGATIVE","pop","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","unlo
 
adHandler","childNodes","e","els","seed","match","m","groups","old","nid","newContext","newSelector","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","getAttribute","setAttribute","toSelector","testContext","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","div","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","parent","doc","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","find","filter","attrId","getAttributeNode","tag","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDet
 
ached","aup","ap","bp","unshift","expr","elements","attr","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","dir","
 
","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatch
 

[23/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/font-awesome/css/font-awesome.min.css
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/font-awesome/css/font-awesome.min.css
 
b/contrib/views/storm/src/main/resources/libs/bower/font-awesome/css/font-awesome.min.css
deleted file mode 100644
index 24fcc04..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/font-awesome/css/font-awesome.min.css
+++ /dev/null
@@ -1,4 +0,0 @@
-/*!
- *  Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
- *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT 
License)
- 
*/@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../fonts/fontawesome-webfont.eot?#iefix=4.3.0')
 format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.3.0') 
format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.3.0') 
format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.3.0') 
format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular')
 
format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal
 normal normal 14px/1 
FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,
 
0)}.fa-lg{font-size:1.em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{p
 
osition:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em
 .25em .15em;border:solid .08em 
#eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin
 2s infinite linear;animation:fa-spin 2s infinite 
linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite 
steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes 
fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes
 
fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Micr
 
osoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,
 mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 
1);transform:scale(-1, 
1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,
 mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, 
-1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root 
.fa-rotate-270,:root .fa-flip-horizontal,:root 
.fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size
 
:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o
 

[05/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/require-js/js/require.min.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/require-js/js/require.min.js 
b/contrib/views/storm/src/main/resources/libs/require-js/js/require.min.js
new file mode 100644
index 000..a6d55d5
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/require-js/js/require.min.js
@@ -0,0 +1,36 @@
+/*
+ RequireJS 2.2.0 Copyright jQuery Foundation and other contributors.
+ Released under MIT license, http://github.com/requirejs/requirejs/LICENSE
+*/
+var requirejs,require,define;
+(function(ga){function ka(b,c,d,g){return g||""}function K(b){return"[object 
Function]"===Q.call(b)}function L(b){return"[object 
Array]"===Q.call(b)}function y(b,c){if(b){var 
d;for(d=0;d

[28/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/backgrid/js/backgrid.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/backgrid/js/backgrid.js 
b/contrib/views/storm/src/main/resources/libs/bower/backgrid/js/backgrid.js
deleted file mode 100644
index bf54a94..000
--- a/contrib/views/storm/src/main/resources/libs/bower/backgrid/js/backgrid.js
+++ /dev/null
@@ -1,2887 +0,0 @@
-/*!
-  backgrid
-  http://github.com/wyuenho/backgrid
-
-  Copyright (c) 2014 Jimmy Yuen Ho Wong and contributors 
-  Licensed under the MIT license.
-*/
-
-(function (factory) {
-
-  // CommonJS
-  if (typeof exports == "object") {
-module.exports = factory(module.exports,
- require("underscore"),
- require("backbone"));
-  }
-  // Browser
-  else factory(this, this._, this.Backbone);
-}(function (root, _, Backbone) {
-
-  "use strict";
-
-/*
-  backgrid
-  http://github.com/wyuenho/backgrid
-
-  Copyright (c) 2013 Jimmy Yuen Ho Wong and contributors
-  Licensed under the MIT license.
-*/
-
-// Copyright 2009, 2010 Kristopher Michael Kowal
-// https://github.com/kriskowal/es5-shim
-// ES5 15.5.4.20
-// http://es5.github.com/#x15.5.4.20
-var ws = "\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003" +
-  "\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028" +
-  "\u2029\uFEFF";
-if (!String.prototype.trim || ws.trim()) {
-  // http://blog.stevenlevithan.com/archives/faster-trim-javascript
-  // http://perfectionkills.com/whitespace-deviations/
-  ws = "[" + ws + "]";
-  var trimBeginRegexp = new RegExp("^" + ws + ws + "*"),
-  trimEndRegexp = new RegExp(ws + ws + "*$");
-  String.prototype.trim = function trim() {
-if (this === undefined || this === null) {
-  throw new TypeError("can't convert " + this + " to object");
-}
-return String(this)
-  .replace(trimBeginRegexp, "")
-  .replace(trimEndRegexp, "");
-  };
-}
-
-function lpad(str, length, padstr) {
-  var paddingLen = length - (str + '').length;
-  paddingLen =  paddingLen < 0 ? 0 : paddingLen;
-  var padding = '';
-  for (var i = 0; i < paddingLen; i++) {
-padding = padding + padstr;
-  }
-  return padding + str;
-}
-
-var $ = Backbone.$;
-
-var Backgrid = root.Backgrid = {
-
-  Extension: {},
-
-  resolveNameToClass: function (name, suffix) {
-if (_.isString(name)) {
-  var key = _.map(name.split('-'), function (e) {
-return e.slice(0, 1).toUpperCase() + e.slice(1);
-  }).join('') + suffix;
-  var klass = Backgrid[key] || Backgrid.Extension[key];
-  if (_.isUndefined(klass)) {
-throw new ReferenceError("Class '" + key + "' not found");
-  }
-  return klass;
-}
-
-return name;
-  },
-
-  callByNeed: function () {
-var value = arguments[0];
-if (!_.isFunction(value)) return value;
-
-var context = arguments[1];
-var args = [].slice.call(arguments, 2);
-return value.apply(context, !!(args + '') ? args : []);
-  }
-
-};
-_.extend(Backgrid, Backbone.Events);
-
-/**
-   Command translates a DOM Event into commands that Backgrid
-   recognizes. Interested parties can listen on selected Backgrid events that
-   come with an instance of this class and act on the commands.
-
-   It is also possible to globally rebind the keyboard shortcuts by replacing
-   the methods in this class' prototype.
-
-   @class Backgrid.Command
-   @constructor
- */
-var Command = Backgrid.Command = function (evt) {
-  _.extend(this, {
-altKey: !!evt.altKey,
-"char": evt["char"],
-charCode: evt.charCode,
-ctrlKey: !!evt.ctrlKey,
-key: evt.key,
-keyCode: evt.keyCode,
-locale: evt.locale,
-location: evt.location,
-metaKey: !!evt.metaKey,
-repeat: !!evt.repeat,
-shiftKey: !!evt.shiftKey,
-which: evt.which
-  });
-};
-_.extend(Command.prototype, {
-  /**
- Up Arrow
-
- @member Backgrid.Command
-   */
-  moveUp: function () { return this.keyCode == 38; },
-  /**
- Down Arrow
-
- @member Backgrid.Command
-   */
-  moveDown: function () { return this.keyCode === 40; },
-  /**
- Shift Tab
-
- @member Backgrid.Command
-   */
-  moveLeft: function () { return this.shiftKey && this.keyCode === 9; },
-  /**
- Tab
-
- @member Backgrid.Command
-   */
-  moveRight: function () { return !this.shiftKey && this.keyCode === 9; },
-  /**
- Enter
-
- @member Backgrid.Command
-   */
-  save: function () { return this.keyCode === 13; },
-  /**
- Esc
-
- @member Backgrid.Command
-   */
-  cancel: function () { return this.keyCode === 27; },
-  /**
- None of the above.
-
- @member Backgrid.Command
-   */
-  passThru: function () {
-return !(this.moveUp() || this.moveDown() || this.moveLeft() ||
- this.moveRight() || this.save() || this.cancel());
-  }
-});
-

[04/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/scripts/containers/NimbusConfigSummary.jsx
--
diff --git 
a/contrib/views/storm/src/main/resources/scripts/containers/NimbusConfigSummary.jsx
 
b/contrib/views/storm/src/main/resources/scripts/containers/NimbusConfigSummary.jsx
new file mode 100644
index 000..f0457bd
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/scripts/containers/NimbusConfigSummary.jsx
@@ -0,0 +1,103 @@
+/**
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+*
+ http://www.apache.org/licenses/LICENSE-2.0
+*
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+define(['react',
+   'react-dom',
+   'jsx!components/Table',
+   'utils/Utils',
+   'jsx!modules/Table/Pagination',
+   'collections/VNimbusConfigList',
+   'models/VNimbusConfig',
+   'bootstrap'
+   ], function(React, ReactDOM, Table, Utils, Pagination, 
VNimbusConfigList, VNimbusConfig){
+   'use strict';
+
+   return React.createClass({
+   displayName: 'NimbusConfigSummary',
+   getInitialState: function(){
+   this.initializeCollection();
+   return null;
+   },
+   initializeCollection: function(){
+   this.collection = new VNimbusConfigList();
+   this.collection.comparator = "key";
+   this.collection.fetch({
+   success: function(model, response){
+   if(response.error){
+   
Utils.notifyError(response.error);
+   } else {
+   var result = [];
+   var keys = _.keys(response);
+   for(var k in keys){
+   result.push(new 
VNimbusConfig({
+   key: keys[k],
+   value: 
String(response[keys[k]])
+   }));
+   }
+   
this.collection.getFirstPage().fullCollection.reset(result);
+   }
+   }.bind(this),
+   error: function(model, response, options){
+   Utils.notifyError("Error occured in 
fetching nimbus configuration data.");
+   }
+   });
+   },
+   componentDidMount: function() {
+   $('#collapseBody').on('hidden.bs.collapse', function () 
{
+   $("#collapseTable").toggleClass("fa-compress 
fa-expand");
+   }).on('shown.bs.collapse', function() {
+   $("#collapseTable").toggleClass("fa-compress 
fa-expand");
+   });
+   },
+   getColumns: function(){
+   return [
+   {name: 'key', title: 'Key'},
+   {name: 'value', title: 'Value'}
+   ];
+   },
+   handleFilter: function(e){
+   var value = e.currentTarget.value;
+   this.collection.search(value);
+   },
+   handleCollapseClick: function(e){
+   $("#collapseBody").collapse('toggle');
+   },
+   render: function(){
+   return (
+   
+   
+   Nimbus Configuration
+   
+   
+   
+   
+   
+   
+   
+   
+

[37/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Bootstrap/fonts/glyphicons-halflings-regular.svg
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Bootstrap/fonts/glyphicons-halflings-regular.svg
 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 000..94fb549
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,288 @@
+
+http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd; >
+http://www.w3.org/2000/svg;>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+




[38/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap.css
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap.css 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap.css
new file mode 100644
index 000..5a77806
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap.css
@@ -0,0 +1,5959 @@
+/*!
+ * Bootstrap v3.3.5 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/*!
+ * Generated using the Bootstrap Customizer 
(http://getbootstrap.com/customize/?id=24d1a0f0dd0d6c17e785e6d1a050685c)
+ * Config saved to config.json and 
https://gist.github.com/24d1a0f0dd0d6c17e785e6d1a050685c
+ */
+/*!
+ * Bootstrap v3.3.6 (http://getbootstrap.com)
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+html {
+  font-family: sans-serif;
+  -ms-text-size-adjust: 100%;
+  -webkit-text-size-adjust: 100%;
+}
+body {
+  margin: 0;
+}
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+  display: block;
+}
+audio,
+canvas,
+progress,
+video {
+  display: inline-block;
+  vertical-align: baseline;
+}
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+[hidden],
+template {
+  display: none;
+}
+a {
+  background-color: transparent;
+}
+a:active,
+a:hover {
+  outline: 0;
+}
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+b,
+strong {
+  font-weight: bold;
+}
+dfn {
+  font-style: italic;
+}
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+mark {
+  background: #ff0;
+  color: #000;
+}
+small {
+  font-size: 80%;
+}
+sub,
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+sup {
+  top: -0.5em;
+}
+sub {
+  bottom: -0.25em;
+}
+img {
+  border: 0;
+}
+svg:not(:root) {
+  overflow: hidden;
+}
+figure {
+  margin: 1em 40px;
+}
+hr {
+  -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+  box-sizing: content-box;
+  height: 0;
+}
+pre {
+  overflow: auto;
+}
+code,
+kbd,
+pre,
+samp {
+  font-family: monospace, monospace;
+  font-size: 1em;
+}
+button,
+input,
+optgroup,
+select,
+textarea {
+  color: inherit;
+  font: inherit;
+  margin: 0;
+}
+button {
+  overflow: visible;
+}
+button,
+select {
+  text-transform: none;
+}
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+  -webkit-appearance: button;
+  cursor: pointer;
+}
+button[disabled],
+html input[disabled] {
+  cursor: default;
+}
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+input {
+  line-height: normal;
+}
+input[type="checkbox"],
+input[type="radio"] {
+  -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+  box-sizing: border-box;
+  padding: 0;
+}
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+  height: auto;
+}
+input[type="search"] {
+  -webkit-appearance: textfield;
+  -webkit-box-sizing: content-box;
+ -moz-box-sizing: content-box;
+  box-sizing: content-box;
+}
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+legend {
+  border: 0;
+  padding: 0;
+}
+textarea {
+  overflow: auto;
+}
+optgroup {
+  font-weight: bold;
+}
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+td,
+th {
+  padding: 0;
+}
+/*! Source: 
https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
+@media print {
+  *,
+  *:before,
+  *:after {
+background: transparent !important;
+color: #000 !important;
+-webkit-box-shadow: none !important;
+box-shadow: none !important;
+text-shadow: none !important;
+  }
+  a,
+  a:visited {
+text-decoration: underline;
+  }
+  a[href]:after {
+content: " (" attr(href) ")";
+  }
+  abbr[title]:after {
+content: " (" attr(title) ")";
+  }
+  a[href^="#"]:after,
+  a[href^="javascript:"]:after {
+content: "";
+  }
+  pre,
+  blockquote {
+border: 1px solid #999;
+page-break-inside: avoid;
+  }
+  thead {
+display: table-header-group;
+  }
+  tr,
+  img {
+page-break-inside: avoid;
+  }
+  img {
+max-width: 100% !important;
+  }
+  p,
+  h2,
+  h3 {
+orphans: 3;
+widows: 3;
+  }
+  h2,
+  h3 {
+page-break-after: avoid;
+  }
+  .navbar {
+display: none;
+  }
+  .btn > .caret,
+  .dropup > .btn > .caret {
+border-top-color: #000 !important;
+  }
+  .label {
+border: 1px solid #000;

[34/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Font-Awesome/css/font-awesome.min.css
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Font-Awesome/css/font-awesome.min.css
 
b/contrib/views/storm/src/main/resources/libs/Font-Awesome/css/font-awesome.min.css
new file mode 100644
index 000..d0603cb
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/libs/Font-Awesome/css/font-awesome.min.css
@@ -0,0 +1,4 @@
+/*!
+ *  Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome
+ *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT 
License)
+ 
*/@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix=4.5.0')
 format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') 
format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') 
format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') 
format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular')
 
format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal
 normal normal 14px/1 
FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.1
 
4285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em
 .25em .15em;border:solid .08em 
#eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin
 2s infinite linear;animation:fa-spin 2s infinite 
linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite 
steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes 
fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes
 
fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-tr
 
ansform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,
 mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 
1);transform:scale(-1, 
1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,
 mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, 
-1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root 
.fa-rotate-270,:root .fa-flip-horizontal,:root 
.fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:abso
 
lute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-d
 

[03/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/scripts/modules/Table/Pagination.jsx
--
diff --git 
a/contrib/views/storm/src/main/resources/scripts/modules/Table/Pagination.jsx 
b/contrib/views/storm/src/main/resources/scripts/modules/Table/Pagination.jsx
new file mode 100644
index 000..41a763c
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/scripts/modules/Table/Pagination.jsx
@@ -0,0 +1,158 @@
+/**
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+*
+ http://www.apache.org/licenses/LICENSE-2.0
+*
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+*/
+
+define(['react', 'utils/Globals'], function(React, Globals){
+  'use strict';
+  return React.createClass({
+displayName: 'Pagination',
+
+getInitialState: function(){
+  this.props.collection.on('reset', function(data){
+this.setState({'collection': data});
+  }.bind(this));
+  return {
+collection: this.props.collection
+  };
+},
+/**
+ * Next page button being clicked
+ */
+nextPage: function(e) {
+  e.preventDefault();
+  
this.props.collection.getNextPage(this.props.collection.state.currentPage);
+},
+/**
+ * Previous page button being clicked
+ */
+previousPage: function(e) {
+  e.preventDefault();
+  
this.props.collection.getPreviousPage(this.props.collection.state.currentPage);
+},
+/**
+ * Change page being clicked
+ * @param {Event} e Event of the page number being clicked
+ */
+changePage: function(e) {
+  e.preventDefault();
+  var pageNumber = +e.currentTarget.getAttribute('data-page');
+  this.props.collection.getParticularPage(pageNumber);
+},
+/**
+ * Render function for the next page button.
+ * If the current page is the last then it shouldn't render a clickable 
next page
+ */
+renderNext: function() {
+  if(this.props.collection.state.currentPage < 
this.props.collection.state.totalPages){
+return ();
+  } else {
+return ();
+  }
+},
+/**
+ * Render functon for the pages
+ * If the number of maximumPages is exceeded by the number of pages then 
that must be handled with an ellipsis
+ * If the page is active then it should have the active class
+ *
+ */
+renderPages: function(){
+  var pages = [];
+  var starterPage = 1;
+  if(this.props.collection.state.currentPage >= 4) {
+starterPage = this.props.collection.state.currentPage - 1;
+  }
+  var page = 1;
+  if(!this.props.maximumPages || this.props.maximumPages > 
this.props.collection.state.totalPages) {
+for(page = 1; page <= this.props.collection.state.totalPages; page++){
+  if(page !== this.props.collection.state.currentPage) {
+pages.push({page});
+  } else {
+pages.push({page});
+
+  }
+}
+  } else {
+if(this.props.collection.state.currentPage >= 4) {
+  pages.push({1});
+  pages.push();
+
+}
+for(page = starterPage; page <= 
this.props.collection.state.totalPages; ++page) {
+  if((starterPage + this.props.maximumPages) < page && (page + 
this.props.maximumPages) < this.props.collection.state.totalPages) {
+pages.push();
+pages.push({this.props.collection.state.totalPages});
+break;
+  } else if (page !== this.props.collection.state.currentPage){
+pages.push({page});
+  } else {
+pages.push({page});
+
+  }
+}
+  }
+  return pages;
+
+},
+/**
+ * Render function for the previous page button.
+ * If the current page is the first then it shouldn't render a clickable 
previous page
+ */
+renderPrevious : function() {
+  if(this.props.collection.state.currentPage > 1){
+return ();
+  }else {
+return ();
+  }
+},
+renderNumber: function(){
+  var startNumber, endNumber;
+  if(this.props.collection.state.currentPage > 1){
+startNumber = ((this.props.collection.state.currentPage - 1) * 
Globals.settings.PAGE_SIZE) + 1;
+endNumber = startNumber + Globals.settings.PAGE_SIZE - 1;
+

[32/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Underscore/js/Underscore.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Underscore/js/Underscore.js 
b/contrib/views/storm/src/main/resources/libs/Underscore/js/Underscore.js
new file mode 100644
index 000..dfd89b2
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/Underscore/js/Underscore.js
@@ -0,0 +1,1548 @@
+// Underscore.js 1.8.3
+// http://underscorejs.org
+// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative 
Reporters & Editors
+// Underscore may be freely distributed under the MIT license.
+
+(function() {
+
+  // Baseline setup
+  // --
+
+  // Establish the root object, `window` in the browser, or `exports` on the 
server.
+  var root = this;
+
+  // Save the previous value of the `_` variable.
+  var previousUnderscore = root._;
+
+  // Save bytes in the minified (but not gzipped) version:
+  var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = 
Function.prototype;
+
+  // Create quick reference variables for speed access to core prototypes.
+  var
+push = ArrayProto.push,
+slice= ArrayProto.slice,
+toString = ObjProto.toString,
+hasOwnProperty   = ObjProto.hasOwnProperty;
+
+  // All **ECMAScript 5** native function implementations that we hope to use
+  // are declared here.
+  var
+nativeIsArray  = Array.isArray,
+nativeKeys = Object.keys,
+nativeBind = FuncProto.bind,
+nativeCreate   = Object.create;
+
+  // Naked function reference for surrogate-prototype-swapping.
+  var Ctor = function(){};
+
+  // Create a safe reference to the Underscore object for use below.
+  var _ = function(obj) {
+if (obj instanceof _) return obj;
+if (!(this instanceof _)) return new _(obj);
+this._wrapped = obj;
+  };
+
+  // Export the Underscore object for **Node.js**, with
+  // backwards-compatibility for the old `require()` API. If we're in
+  // the browser, add `_` as a global object.
+  if (typeof exports !== 'undefined') {
+if (typeof module !== 'undefined' && module.exports) {
+  exports = module.exports = _;
+}
+exports._ = _;
+  } else {
+root._ = _;
+  }
+
+  // Current version.
+  _.VERSION = '1.8.3';
+
+  // Internal function that returns an efficient (for current engines) version
+  // of the passed-in callback, to be repeatedly applied in other Underscore
+  // functions.
+  var optimizeCb = function(func, context, argCount) {
+if (context === void 0) return func;
+switch (argCount == null ? 3 : argCount) {
+  case 1: return function(value) {
+return func.call(context, value);
+  };
+  case 2: return function(value, other) {
+return func.call(context, value, other);
+  };
+  case 3: return function(value, index, collection) {
+return func.call(context, value, index, collection);
+  };
+  case 4: return function(accumulator, value, index, collection) {
+return func.call(context, accumulator, value, index, collection);
+  };
+}
+return function() {
+  return func.apply(context, arguments);
+};
+  };
+
+  // A mostly-internal function to generate callbacks that can be applied
+  // to each element in a collection, returning the desired result — either
+  // identity, an arbitrary callback, a property matcher, or a property 
accessor.
+  var cb = function(value, context, argCount) {
+if (value == null) return _.identity;
+if (_.isFunction(value)) return optimizeCb(value, context, argCount);
+if (_.isObject(value)) return _.matcher(value);
+return _.property(value);
+  };
+  _.iteratee = function(value, context) {
+return cb(value, context, Infinity);
+  };
+
+  // An internal function for creating assigner functions.
+  var createAssigner = function(keysFunc, undefinedOnly) {
+return function(obj) {
+  var length = arguments.length;
+  if (length < 2 || obj == null) return obj;
+  for (var index = 1; index < length; index++) {
+var source = arguments[index],
+keys = keysFunc(source),
+l = keys.length;
+for (var i = 0; i < l; i++) {
+  var key = keys[i];
+  if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];
+}
+  }
+  return obj;
+};
+  };
+
+  // An internal function for creating a new object that inherits from another.
+  var baseCreate = function(prototype) {
+if (!_.isObject(prototype)) return {};
+if (nativeCreate) return nativeCreate(prototype);
+Ctor.prototype = prototype;
+var result = new Ctor;
+Ctor.prototype = null;
+return result;
+  };
+
+  var property = function(key) {
+return function(obj) {
+  return obj == null ? void 0 : obj[key];
+};
+  };
+
+  // 

[19/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-1.10.3.custom.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-1.10.3.custom.js
 
b/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-1.10.3.custom.js
deleted file mode 100644
index 82bbb67..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-1.10.3.custom.js
+++ /dev/null
@@ -1,12 +0,0 @@
-/*! jQuery UI - v1.10.3 - 2013-05-03
-* http://jqueryui.com
-* Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, 
jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, 
jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, 
jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, 
jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, 
jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, 
jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, 
jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, 
jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, 
jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, 
jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, 
jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, 
jquery.ui.tabs.js, jquery.ui.tooltip.js
-* Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
-(function(t,e){function i(e,i){var 
n,o,a,r=e.nodeName.toLowerCase();return"area"===r?(n=e.parentNode,o=n.name,e.href&&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap=#"+o+"]")[0],!!a&(a)):!1):(/input|select|textarea|button|object/.test(r)?!e.disabled:"a"===r?e.href||i:i)&(e)}function
 s(e){return 
t.expr.filters.visible(e)&&!t(e).parents().addBack().filter(function(){return"hidden"===t.css(this,"visibility")}).length}var
 
n=0,o=/^ui-id-\d+$/;t.ui=t.ui||{},t.extend(t.ui,{version:"1.10.3",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),t.fn.extend({focus:function(e){return
 function(i,s){return"number"==typeof i?this.each(function(){var 
e=this;setTimeout(function(){t(e).focus(),s&(e)},i)}):e.apply(this,arguments)}}(t.fn.focus),scrollParent:function(){var
 e;
 return 
e=t.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(t.css(this,"position"))&&/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!e.length?t(document):e},zIndex:function(i){if(i!==e)return
 this.css("zIndex",i);if(this.length)for(var 
s,n,o=t(this[0]);o.length&[0]!==document;){if(s=o.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(n=parseInt(o.css("zIndex"),10),!isNaN(n)&&0!==n))return
 n;o=o.parent()}return 0},uniqueId:function(){return 
this.each(function(){this.id||(this.id="ui-id-"+ 
++n)})},removeUniqueId:function(){return 
this.each(function(){o.test(this.id)&(this).removeAttr("id")})}}),t.extend(t.expr[":"],{data:t.
 expr.createPseudo?t.expr.createPseudo(function(e){return 
function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])},focusable:function(e){return
 i(e,!isNaN(t.attr(e,"tabindex")))},tabbable:function(e){var 
s=t.attr(e,"tabindex"),n=isNaN(s);return(n||s>=0)&(e,!n)}}),t("").outerWidth(1).jquery||t.each(["Width","Height"],function(i,s){function
 n(e,i,s,n){return 
t.each(o,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),n&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var
 
o="Width"===s?["Left","Right"]:["Top","Bottom"],a=s.toLowerCase(),r={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+s]=function(i){return
 
i===e?r["inner"+s].call(this):this.each(function(){t(this).css(a,n(this,i)+"px")})},t.fn["outer"+s]=function(e,i){return"number"!=typeof
 
e?r["outer"+s].call(this,e):this.each(function(){t(this).css(a,n(this,e,!0,i)+"px")})}}),t.f
 n.addBack||(t.fn.addBack=function(t){return 
this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t("").data("a-b","a").removeData("a-b").data("a-b")&&(t.fn.removeData=function(e){return
 function(i){return 
arguments.length?e.call(this,t.camelCase(i)):e.call(this)}}(t.fn.removeData)),t.ui.ie=!!/msie
 
[\w.]+/.exec(navigator.userAgent.toLowerCase()),t.support.selectstart="onselectstart"in
 

[18/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-slider.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-slider.js
 
b/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-slider.js
deleted file mode 100644
index 6a13a6d..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/jquery-ui/js/jquery-ui-slider.js
+++ /dev/null
@@ -1,655 +0,0 @@
-(function( $, undefined ) {
-
-// number of pages in a slider
-// (how many times can you page up/down to go through the whole range)
-var numPages = 5;
-
-$.widget( "ui.slider", $.ui.mouse, {
-   version: "1.10.3",
-   widgetEventPrefix: "slide",
-
-   options: {
-   animate: false,
-   distance: 0,
-   max: 100,
-   min: 0,
-   orientation: "horizontal",
-   range: false,
-   step: 1,
-   value: 0,
-   values: null,
-
-   // callbacks
-   change: null,
-   slide: null,
-   start: null,
-   stop: null
-   },
-
-   _create: function() {
-   this._keySliding = false;
-   this._mouseSliding = false;
-   this._animateOff = true;
-   this._handleIndex = null;
-   this._detectOrientation();
-   this._mouseInit();
-
-   this.element
-   .addClass( "ui-slider" +
-   " ui-slider-" + this.orientation +
-   " ui-widget" +
-   " ui-widget-content" +
-   " ui-corner-all");
-
-   this._refresh();
-   this._setOption( "disabled", this.options.disabled );
-
-   this._animateOff = false;
-   },
-
-   _refresh: function() {
-   this._createRange();
-   this._createHandles();
-   this._setupEvents();
-   this._refreshValue();
-   },
-
-   _createHandles: function() {
-   var i, handleCount,
-   options = this.options,
-   existingHandles = this.element.find( 
".ui-slider-handle" ).addClass( "ui-state-default ui-corner-all" ),
-   handle = "",
-   handles = [];
-
-   handleCount = ( options.values && options.values.length ) || 1;
-
-   if ( existingHandles.length > handleCount ) {
-   existingHandles.slice( handleCount ).remove();
-   existingHandles = existingHandles.slice( 0, handleCount 
);
-   }
-
-   for ( i = existingHandles.length; i < handleCount; i++ ) {
-   handles.push( handle );
-   }
-
-   this.handles = existingHandles.add( $( handles.join( "" ) 
).appendTo( this.element ) );
-
-   this.handle = this.handles.eq( 0 );
-
-   this.handles.each(function( i ) {
-   $( this ).data( "ui-slider-handle-index", i );
-   });
-   },
-
-   _createRange: function() {
-   var options = this.options,
-   classes = "";
-
-   if ( options.range ) {
-   if ( options.range === true ) {
-   if ( !options.values ) {
-   options.values = [ this._valueMin(), 
this._valueMin() ];
-   } else if ( options.values.length && 
options.values.length !== 2 ) {
-   options.values = [ options.values[0], 
options.values[0] ];
-   } else if ( $.isArray( options.values ) ) {
-   options.values = 
options.values.slice(0);
-   }
-   }
-
-   if ( !this.range || !this.range.length ) {
-   this.range = $( "" )
-   .appendTo( this.element );
-
-   classes = "ui-slider-range" +
-   // note: this isn't the most fittingly semantic 
framework class for this element,
-   // but worked best visually with a variety of 
themes
-   " ui-widget-header ui-corner-all";
-   } else {
-   this.range.removeClass( "ui-slider-range-min 
ui-slider-range-max" )
-   // Handle range switching from true to 
min/max
-   .css({
-   "left": "",
-   

[40/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Backbone/js/Backbone.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Backbone/js/Backbone.js 
b/contrib/views/storm/src/main/resources/libs/Backbone/js/Backbone.js
new file mode 100644
index 000..f246b10
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/Backbone/js/Backbone.js
@@ -0,0 +1,1920 @@
+// Backbone.js 1.3.3
+
+// (c) 2010-2016 Jeremy Ashkenas, DocumentCloud and Investigative 
Reporters & Editors
+// Backbone may be freely distributed under the MIT license.
+// For all details and documentation:
+// http://backbonejs.org
+
+(function(factory) {
+
+  // Establish the root object, `window` (`self`) in the browser, or `global` 
on the server.
+  // We use `self` instead of `window` for `WebWorker` support.
+  var root = (typeof self == 'object' && self.self === self && self) ||
+(typeof global == 'object' && global.global === global && global);
+
+  // Set up Backbone appropriately for the environment. Start with AMD.
+  if (typeof define === 'function' && define.amd) {
+define(['underscore', 'jquery', 'exports'], function(_, $, exports) {
+  // Export global even in AMD case in case this script is loaded with
+  // others that may still expect a global Backbone.
+  root.Backbone = factory(root, exports, _, $);
+});
+
+  // Next for Node.js or CommonJS. jQuery may not be needed as a module.
+  } else if (typeof exports !== 'undefined') {
+var _ = require('underscore'), $;
+try { $ = require('jquery'); } catch (e) {}
+factory(root, exports, _, $);
+
+  // Finally, as a browser global.
+  } else {
+root.Backbone = factory(root, {}, root._, (root.jQuery || root.Zepto || 
root.ender || root.$));
+  }
+
+})(function(root, Backbone, _, $) {
+
+  // Initial Setup
+  // -
+
+  // Save the previous value of the `Backbone` variable, so that it can be
+  // restored later on, if `noConflict` is used.
+  var previousBackbone = root.Backbone;
+
+  // Create a local reference to a common array method we'll want to use later.
+  var slice = Array.prototype.slice;
+
+  // Current version of the library. Keep in sync with `package.json`.
+  Backbone.VERSION = '1.3.3';
+
+  // For Backbone's purposes, jQuery, Zepto, Ender, or My Library (kidding) 
owns
+  // the `$` variable.
+  Backbone.$ = $;
+
+  // Runs Backbone.js in *noConflict* mode, returning the `Backbone` variable
+  // to its previous owner. Returns a reference to this Backbone object.
+  Backbone.noConflict = function() {
+root.Backbone = previousBackbone;
+return this;
+  };
+
+  // Turn on `emulateHTTP` to support legacy HTTP servers. Setting this option
+  // will fake `"PATCH"`, `"PUT"` and `"DELETE"` requests via the `_method` 
parameter and
+  // set a `X-Http-Method-Override` header.
+  Backbone.emulateHTTP = false;
+
+  // Turn on `emulateJSON` to support legacy servers that can't deal with 
direct
+  // `application/json` requests ... this will encode the body as
+  // `application/x-www-form-urlencoded` instead and will send the model in a
+  // form param named `model`.
+  Backbone.emulateJSON = false;
+
+  // Proxy Backbone class methods to Underscore functions, wrapping the model's
+  // `attributes` object or collection's `models` array behind the scenes.
+  //
+  // collection.filter(function(model) { return model.get('age') > 10 });
+  // collection.each(this.addView);
+  //
+  // `Function#apply` can be slow so we use the method's arg count, if we know 
it.
+  var addMethod = function(length, method, attribute) {
+switch (length) {
+  case 1: return function() {
+return _[method](this[attribute]);
+  };
+  case 2: return function(value) {
+return _[method](this[attribute], value);
+  };
+  case 3: return function(iteratee, context) {
+return _[method](this[attribute], cb(iteratee, this), context);
+  };
+  case 4: return function(iteratee, defaultVal, context) {
+return _[method](this[attribute], cb(iteratee, this), defaultVal, 
context);
+  };
+  default: return function() {
+var args = slice.call(arguments);
+args.unshift(this[attribute]);
+return _[method].apply(_, args);
+  };
+}
+  };
+  var addUnderscoreMethods = function(Class, methods, attribute) {
+_.each(methods, function(length, method) {
+  if (_[method]) Class.prototype[method] = addMethod(length, method, 
attribute);
+});
+  };
+
+  // Support `collection.sortBy('attr')` and `collection.findWhere({id: 1})`.
+  var cb = function(iteratee, instance) {
+if (_.isFunction(iteratee)) return iteratee;
+if (_.isObject(iteratee) && !instance._isModel(iteratee)) return 
modelMatcher(iteratee);
+if (_.isString(iteratee)) return function(model) { return 

[10/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/d3/js/d3.min.js
--
diff --git a/contrib/views/storm/src/main/resources/libs/d3/js/d3.min.js 
b/contrib/views/storm/src/main/resources/libs/d3/js/d3.min.js
new file mode 100644
index 000..2856dd2
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/d3/js/d3.min.js
@@ -0,0 +1,5 @@
+!function(){function n(n){return 
n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return 
n&&(n.ownerDocument&||n.document&||n.defaultView)}function
 e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}function r(n){return 
null===n?NaN:+n}function u(n){return!isNaN(n)}function 
i(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var
 i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return 
r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var
 i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function a(n){return 
n.length}function o(n){for(var t=1;n*t%1;)t*=10;return t}function 
l(n,t){for(var e in 
t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function 
c(){this._=Object.create(null)}function 
s(n){return(n+="")===xa||n[0]===ba?ba+n:n}function 
f(n){return(n+="")[0]===ba?n.slice(1):n}function h(n){return s(n)in 
this._}function g(n){return(n=s(n))in this._& this
 ._[n]}function p(){var n=[];for(var t in this._)n.push(f(t));return n}function 
v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in 
this._)return!1;return!0}function m(){this._=Object.create(null)}function 
y(n){return n}function M(n,t,e){return function(){var 
r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return 
t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=_a.length;r>e;++e){var 
u=_a[e]+t;if(u in n)return u}}function b(){}function _(){}function 
w(n){function t(){for(var 
t,r=e,u=-1,i=r.length;++ue;e++)for(var 
u,i=n[e],a=0,o=i.length;o>a;a++)(u=i[a])&(u,a,e);return n}function 
Z(n){return 

[14/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/handlebars.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/handlebars.js
 
b/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/handlebars.js
deleted file mode 100644
index 0d0ba7a..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/handlebars.js
+++ /dev/null
@@ -1,2220 +0,0 @@
-(function () {
-/*
-
-Copyright (C) 2011 by Yehuda Katz
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
-*/
-
-// lib/handlebars/browser-prefix.js
-var Handlebars = {};
-
-(function(Handlebars, undefined) {
-;
-// lib/handlebars/base.js
-
-Handlebars.VERSION = "1.0.0-rc.3";
-Handlebars.COMPILER_REVISION = 2;
-
-Handlebars.REVISION_CHANGES = {
-  1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
-  2: '>= 1.0.0-rc.3'
-};
-
-Handlebars.helpers  = {};
-Handlebars.partials = {};
-
-Handlebars.registerHelper = function(name, fn, inverse) {
-  if(inverse) { fn.not = inverse; }
-  this.helpers[name] = fn;
-};
-
-Handlebars.registerPartial = function(name, str) {
-  this.partials[name] = str;
-};
-
-Handlebars.registerHelper('helperMissing', function(arg) {
-  if(arguments.length === 2) {
-return undefined;
-  } else {
-throw new Error("Could not find property '" + arg + "'");
-  }
-});
-
-var toString = Object.prototype.toString, functionType = "[object Function]";
-
-Handlebars.registerHelper('blockHelperMissing', function(context, options) {
-  var inverse = options.inverse || function() {}, fn = options.fn;
-
-  var type = toString.call(context);
-
-  if(type === functionType) { context = context.call(this); }
-
-  if(context === true) {
-return fn(this);
-  } else if(context === false || context == null) {
-return inverse(this);
-  } else if(type === "[object Array]") {
-if(context.length > 0) {
-  return Handlebars.helpers.each(context, options);
-} else {
-  return inverse(this);
-}
-  } else {
-return fn(context);
-  }
-});
-
-Handlebars.K = function() {};
-
-Handlebars.createFrame = Object.create || function(object) {
-  Handlebars.K.prototype = object;
-  var obj = new Handlebars.K();
-  Handlebars.K.prototype = null;
-  return obj;
-};
-
-Handlebars.logger = {
-  DEBUG: 0, INFO: 1, WARN: 2, ERROR: 3, level: 3,
-
-  methodMap: {0: 'debug', 1: 'info', 2: 'warn', 3: 'error'},
-
-  // can be overridden in the host environment
-  log: function(level, obj) {
-if (Handlebars.logger.level <= level) {
-  var method = Handlebars.logger.methodMap[level];
-  if (typeof console !== 'undefined' && console[method]) {
-console[method].call(console, obj);
-  }
-}
-  }
-};
-
-Handlebars.log = function(level, obj) { Handlebars.logger.log(level, obj); };
-
-Handlebars.registerHelper('each', function(context, options) {
-  var fn = options.fn, inverse = options.inverse;
-  var i = 0, ret = "", data;
-
-  if (options.data) {
-data = Handlebars.createFrame(options.data);
-  }
-
-  if(context && typeof context === 'object') {
-if(context instanceof Array){
-  for(var j = context.length; i

[07/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/jsx/jsx.js
--
diff --git a/contrib/views/storm/src/main/resources/libs/jsx/jsx.js 
b/contrib/views/storm/src/main/resources/libs/jsx/jsx.js
new file mode 100644
index 000..0a72088
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/jsx/jsx.js
@@ -0,0 +1,75 @@
+/**
+ * @license The MIT License (MIT)
+ *
+ * Copyright (c) 2014 Felipe O. Carvalho
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to 
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+define(['JSXTransformer', 'text'], function (JSXTransformer, text) {
+
+  'use strict';
+
+  var buildMap = {};
+
+  var jsx = {
+version: '0.5.2',
+
+load: function (name, req, onLoadNative, config) {
+  var jsxOptions = config.jsx || {};
+  var fileExtension = jsxOptions.fileExtension || '.js';
+
+  var transformOptions = {
+harmony: !!jsxOptions.harmony,
+stripTypes: !!jsxOptions.stripTypes
+  };
+
+  var onLoad = function(content) {
+try {
+  content = JSXTransformer.transform(content, transformOptions).code;
+} catch (err) {
+  onLoadNative.error(err);
+}
+
+if (config.isBuild) {
+  buildMap[name] = content;
+} else if (typeof location !== 'undefined') { // Do not create 
sourcemap when loaded in Node
+  content += '\n//# sourceURL=' + location.protocol + '//' + 
location.hostname +
+config.baseUrl + name + fileExtension;
+}
+
+onLoadNative.fromText(content);
+  };
+
+  onLoad.error = function(err) {
+onLoadNative.error(err);
+  };
+
+  text.load(name + fileExtension, req, onLoad, config);
+},
+
+write: function (pluginName, moduleName, write) {
+  if (buildMap.hasOwnProperty(moduleName)) {
+var content = buildMap[moduleName];
+write.asModule(pluginName + '!' + moduleName, content);
+  }
+}
+  };
+
+  return jsx;
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/other/arbor-graphics.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/other/arbor-graphics.js 
b/contrib/views/storm/src/main/resources/libs/other/arbor-graphics.js
deleted file mode 100644
index 9ce0975..000
--- a/contrib/views/storm/src/main/resources/libs/other/arbor-graphics.js
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-//  arbor-graphics.js
-//  canvas fructose
-//
-//  Copyright (c) 2014 Samizdat Drafting Co.
-//
-//  Permission is hereby granted, free of charge, to any person
-//  obtaining a copy of this software and associated documentation
-//  files (the "Software"), to deal in the Software without
-//  restriction, including without limitation the rights to use,
-//  copy, modify, merge, publish, distribute, sublicense, and/or sell
-//  copies of the Software, and to permit persons to whom the
-//  Software is furnished to do so, subject to the following
-//  conditions:
-//
-//  The above copyright notice and this permission notice shall be
-//  included in all copies or substantial portions of the Software.
-//
-//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-//  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-//  OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-//  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-//  HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-//  WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-//  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-//  OTHER DEALINGS IN THE SOFTWARE.
-//
-
-(function($){
-
-  /*etc.js */  var 
trace=function(msg){if(typeof(window)=="undefined"||!window.console){return}var 
len=arguments.length;var 

[13/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js
 
b/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js
deleted file mode 100644
index 6ecf034..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js
+++ /dev/null
@@ -1,492 +0,0 @@
-/**
- * @license Handlebars hbs 0.4.0 - Alex Sexton, but Handlebars has it's own 
licensing junk
- *
- * Available via the MIT or new BSD license.
- * see: http://github.com/jrburke/require-cs for details on the plugin this 
was based off of
- */
-
-/* Yes, deliciously evil. */
-/*jslint evil: true, strict: false, plusplus: false, regexp: false */
-/*global require: false, XMLHttpRequest: false, ActiveXObject: false,
-define: false, process: false, window: false */
-define([
-//>>excludeStart('excludeHbs', pragmas.excludeHbs)
-'handlebars', 'underscore', 'i18nprecompile', 'json2'
-//>>excludeEnd('excludeHbs')
-], function (
-//>>excludeStart('excludeHbs', pragmas.excludeHbs)
- Handlebars, _, precompile, JSON
-//>>excludeEnd('excludeHbs')
-) {
-//>>excludeStart('excludeHbs', pragmas.excludeHbs)
-  var fs, getXhr,
-progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 
'Msxml2.XMLHTTP.4.0'],
-fetchText = function () {
-throw new Error('Environment unsupported.');
-},
-buildMap = [],
-filecode = "w+",
-templateExtension = "hbs",
-customNameExtension = "@hbs",
-devStyleDirectory = "/styles/",
-buildStyleDirectory = "/demo-build/styles/",
-helperDirectory = "template/helpers/",
-i18nDirectory = "template/i18n/",
-buildCSSFileName = "screen.build.css";
-
-Handlebars.registerHelper('$', function() {
-//placeholder for translation helper
-});
-
-if (typeof window !== "undefined" && window.navigator && window.document 
&& !window.navigator.userAgent.match(/Node.js/)) {
-// Browser action
-getXhr = function () {
-//Would love to dump the ActiveX crap in here. Need IE 6 to die 
first.
-var xhr, i, progId;
-if (typeof XMLHttpRequest !== "undefined") {
-return new XMLHttpRequest();
-} else {
-for (i = 0; i < 3; i++) {
-progId = progIds[i];
-try {
-xhr = new ActiveXObject(progId);
-} catch (e) {}
-
-if (xhr) {
-progIds = [progId];  // so faster next time
-break;
-}
-}
-}
-
-if (!xhr) {
-throw new Error("getXhr(): XMLHttpRequest not available");
-}
-
-return xhr;
-};
-
-fetchText = function (url, callback) {
-  var prependComment = " == ";
-var xhr = getXhr();
-xhr.open('GET', url, true);
-xhr.onreadystatechange = function (evt) {
-//Do not explicitly handle errors, those should be
-//visible via console output in the browser.
-if (xhr.readyState === 4) {
-callback(xhr.responseText);
-//TODO FIXME Gautam:Not working with backbone-forms when 
it does this : $($.trim(this.template(_.result(this, 'templateData';
-// callback(prependComment.replace('==',xhr.responseText));
-}
-};
-xhr.send(null);
-};
-
-} else if (typeof process !== "undefined" &&
-   process.versions &&
-   !!process.versions.node) {
-//Using special require.nodeRequire, something added by r.js.
-fs = require.nodeRequire('fs');
-fetchText = function ( path, callback ) {
-var body = fs.readFileSync(path, 'utf8') || "";
-// we need to remove BOM stuff from the file content
-body = body.replace(/^\uFEFF/, '');
-callback(body);
-};
-} else if (typeof java !== "undefined" && typeof java.io !== "undefined") {
-fetchText = function(path, callback) {
-var f = new java.io.File(path);
-var is = new java.io.FileReader(f);
-var reader = new java.io.BufferedReader(is);
-var line;
-var text = "";
-while ((line = reader.readLine()) !== null) {
-text += new String(line) + "\n";
-}
-reader.close();
-callback(text);
-};
-}
-
-var cache = {};
-var fetchOrGetCached = function ( path, callback ){
-  if ( cache[path] ){
-callback(cache[path]);
-  }
-  

[39/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap-editable.css
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap-editable.css
 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap-editable.css
new file mode 100644
index 000..50543a7
--- /dev/null
+++ 
b/contrib/views/storm/src/main/resources/libs/Bootstrap/css/bootstrap-editable.css
@@ -0,0 +1,663 @@
+/*! X-editable - v1.5.1 
+* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
+* http://github.com/vitalets/x-editable
+* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
+.editableform {
+margin-bottom: 0; /* overwrites bootstrap margin */
+}
+
+.editableform .control-group {
+margin-bottom: 0; /* overwrites bootstrap margin */
+white-space: nowrap; /* prevent wrapping buttons on new line */
+line-height: 20px; /* overwriting bootstrap line-height. See #133 */
+}
+
+/* 
+  BS3 width:1005 for inputs breaks editable form in popup 
+  See: https://github.com/vitalets/x-editable/issues/393
+*/
+.editableform .form-control {
+width: auto;
+}
+
+.editable-buttons {
+   display: inline-block; /* should be inline to take effect of parent's 
white-space: nowrap */
+   vertical-align: top;
+   margin-left: 7px;
+   /* inline-block emulation for IE7*/
+   zoom: 1; 
+   *display: inline;
+}
+
+.editable-buttons.editable-buttons-bottom {
+   display: block; 
+   margin-top: 7px;
+   margin-left: 0;
+}
+
+.editable-input {
+vertical-align: top; 
+display: inline-block; /* should be inline to take effect of parent's 
white-space: nowrap */
+width: auto; /* bootstrap-responsive has width: 100% that breakes layout */
+white-space: normal; /* reset white-space decalred in parent*/
+   /* display-inline emulation for IE7*/
+   zoom: 1; 
+   *display: inline;   
+}
+
+.editable-buttons .editable-cancel {
+   margin-left: 7px; 
+}
+
+/*for jquery-ui buttons need set height to look more pretty*/
+.editable-buttons button.ui-button-icon-only {
+   height: 24px; 
+   width: 30px;
+}
+
+.editableform-loading {
+background: url('../images/loading.gif') center center no-repeat;  
+height: 25px;
+width: auto; 
+min-width: 25px; 
+}
+
+.editable-inline .editableform-loading {
+background-position: left 5px;  
+}
+
+ .editable-error-block {
+max-width: 300px;
+margin: 5px 0 0 0;
+width: auto;
+white-space: normal;
+}
+
+/*add padding for jquery ui*/
+.editable-error-block.ui-state-error {
+padding: 3px;  
+}  
+
+.editable-error {
+   color: red;  
+}
+
+/*  For specific types  */
+
+.editableform .editable-date {
+padding: 0; 
+margin: 0;
+float: left;
+}
+
+/* move datepicker icon to center of add-on button. See 
https://github.com/vitalets/x-editable/issues/183 */
+.editable-inline .add-on .icon-th {
+   margin-top: 3px;
+   margin-left: 1px; 
+}
+
+
+/* checklist vertical alignment */
+.editable-checklist label input[type="checkbox"], 
+.editable-checklist label span {
+vertical-align: middle;
+margin: 0;
+}
+
+.editable-checklist label {
+white-space: nowrap; 
+}
+
+/* set exact width of textarea to fit buttons toolbar */
+.editable-wysihtml5 {
+width: 566px; 
+height: 250px; 
+}
+
+/* clear button shown as link in date inputs */
+.editable-clear {
+   clear: both;
+   font-size: 0.9em;
+   text-decoration: none;
+   text-align: right;
+}
+
+/* IOS-style clear button for text inputs */
+.editable-clear-x {
+   background: url('../images/clear.png') center center no-repeat;
+   display: block;
+   width: 13px;
+   height: 13px;
+   position: absolute;
+   opacity: 0.6;
+   z-index: 100;
+   
+   top: 50%;
+   right: 6px;
+   margin-top: -6px;
+   
+}
+
+.editable-clear-x:hover {
+   opacity: 1;
+}
+
+.editable-pre-wrapped {
+   white-space: pre-wrap;
+}
+.editable-container.editable-popup {
+max-width: none !important; /* without this rule poshytip/tooltip does not 
stretch */
+}  
+
+.editable-container.popover {
+width: auto; /* without this rule popover does not stretch */
+}
+
+.editable-container.editable-inline {
+display: inline-block; 
+vertical-align: middle;
+width: auto;
+/* inline-block emulation for IE7*/
+zoom: 1; 
+*display: inline;
+}
+
+.editable-container.ui-widget {
+   font-size: inherit;  /* jqueryui widget font 1.1em too big, overwrite it */
+   z-index: 9990; /* should be less than select2 dropdown z-index to close 
dropdown first when click */
+}
+.editable-click, 
+a.editable-click, 
+a.editable-click:hover {
+text-decoration: none;
+border-bottom: dashed 1px #0088cc;
+}
+
+.editable-click.editable-disabled, 
+a.editable-click.editable-disabled, 
+a.editable-click.editable-disabled:hover {
+   color: #585858;  
+   cursor: default;
+   border-bottom: none;
+}
+

[01/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

Repository: ambari
Updated Branches:
  refs/heads/trunk 5fea54102 -> 529ef7f70


http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/scripts/views/Topology/TopologySummary.js
--
diff --git 
a/contrib/views/storm/src/main/resources/scripts/views/Topology/TopologySummary.js
 
b/contrib/views/storm/src/main/resources/scripts/views/Topology/TopologySummary.js
deleted file mode 100644
index 75e941d..000
--- 
a/contrib/views/storm/src/main/resources/scripts/views/Topology/TopologySummary.js
+++ /dev/null
@@ -1,301 +0,0 @@
-/**
-* Licensed to the Apache Software Foundation (ASF) under one
-* or more contributor license agreements.  See the NOTICE file
-* distributed with this work for additional information
-* regarding copyright ownership.  The ASF licenses this file
-* to you under the Apache License, Version 2.0 (the
-* "License"); you may not use this file except in compliance
-* with the License.  You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-define(['require',
-  'modules/Vent',
-  'models/VTopology',
-  'collection/VTopologyList',
-  'utils/TableLayout',
-  'utils/LangSupport',
-  'bootbox',
-  'utils/Utils',
-  'utils/Globals',
-  'hbs!tmpl/topology/topologySummary',
-  'bootstrap'
-], function(require, vent, mTopology, cTopologyList, TableLayout, 
localization, bootbox, Utils, Globals, tmpl) {
-  'use strict';
-
-  var TopologySummaryTableLayout = Marionette.LayoutView.extend({
-
-template: tmpl,
-
-templateHelpers: function() {},
-
-events: {
-  // 'click [data-id="deployBtn"]': 'evDeployTopology'
-},
-
-ui: {
-  summaryDetails: '[data-id="summary"]'
-},
-
-regions: {
-  'rTableList': '#summaryTable',
-},
-
-initialize: function() {
-  this.collection = new cTopologyList();
-  vent.trigger('Breadcrumb:Hide');
-},
-
-fetchSummary: function(topologyName) {
-  var that = this;
-  this.collection.fetch({
-success: function(collection, response, options) {
-  vent.trigger('LastUpdateRefresh');
-  if (collection && collection.length) {
-var arr = [];
-_.each(collection.models[0].get('topologies'), function(object){
-  if(!_.isUndefined(topologyName) && object.name === topologyName){
-Backbone.history.navigate('!/topology/'+object.id, 
{trigger:true});
-  } else {
-arr.push(new mTopology(object));
-  }
-});
-if(_.isUndefined(topologyName)){
-  that.countActive = 0;
-  that.collection.reset(arr);
-  that.showSummaryDetail();
-} else {
-  $('.loading').hide();
-}
-  }
-},
-error: function(collection, response, options){
-  vent.trigger('LastUpdateRefresh');
-  Utils.notifyError(response.statusText);
-}
-  })
-},
-
-onRender: function() {
-  this.showSummaryTable(this.collection);
-  $('.loading').hide();
-  this.fetchSummary();
-  this.showSummaryDetail();
-},
-
-showSummaryDetail: function() {
-  var totalTopologies = 0,
-activeTopologies = 0,
-inactiveTopologies = 0;
-  if (this.collection && this.collection.length) {
-totalTopologies = this.collection.length;
-activeTopologies = this.countActive;
-inactiveTopologies = this.collection.length - this.countActive;
-  }
-  var template = _.template('' + 
localization.tt('lbl.topologySummary') + ' ' +
-'<%- total%> ' + 
localization.tt('lbl.total') + ' | ' +
-'<%- active%> ' + 
localization.tt('lbl.active') + ' | ' +
-'<%- inactive%> ' + 
localization.tt('lbl.inactive') + '');
-  this.ui.summaryDetails.html(template({
-total: totalTopologies,
-active: activeTopologies,
-inactive: inactiveTopologies
-  }));
-},
-
-showSummaryTable: function(collection) {
-  this.rTableList.show(new TableLayout({
-columns: this.getColumns(),
-collection: this.collection,
-gridOpts: {
-  emptyText: localization.tt('msg.noTopologyFound')
-}
-  }));
-  
this.rTableList.$el.find('[data-id="r_tableList"]').attr("style","height:655px");
-},
-
-getColumns: function() {
-  var that = this;
-  var cols = [{
-name: "name",
-cell: "uri",
-href: function(model) {
-  if(_.isEqual(model.get('status'),'ACTIVE')){
-

[09/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/jQuery/js/jquery-2.2.3.min.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/jQuery/js/jquery-2.2.3.min.js 
b/contrib/views/storm/src/main/resources/libs/jQuery/js/jquery-2.2.3.min.js
new file mode 100644
index 000..b8c4187
--- /dev/null
+++ b/contrib/views/storm/src/main/resources/libs/jQuery/js/jquery-2.2.3.min.js
@@ -0,0 +1,4 @@
+/*! jQuery v2.2.3 | (c) jQuery Foundation | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof 
module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw
 new Error("jQuery requires a window with a document");return 
b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var 
c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.3",n=function(a,b){return
 new 
n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return
 
b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return
 e.call(this)},get:function(a){return 
null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var 
b=n.merge(this.constructor(),a);return 
b.prevObject=this,b.context=this.context,b},each:function(a){return 
n.each(this,a)},map:function(a){return 
this.pushStack(n.map(this,function(b,c){return 
a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this
 ,arguments))},first:function(){return this.eq(0)},last:function(){return 
this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return 
this.pushStack(c>=0&>c?[this[c]]:[])},end:function(){return 
this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var
 
a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof
 g&&(j=g,g=arguments[h]||{},h++),"object"==typeof 
g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b
 in 
a)c=g[b],d=a[b],g!==d&&(j&&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&(c)?c:[]):f=c&(c)?c:{},g[b]=n.extend(j,f,d)):void
 0!==d&&(g[b]=d));return 
g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw
 new 
Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return
 null!=a&===a.window},isNumeric:function(a){va
 r 
b=a&();return!n.isArray(a)&(b)+1>=0},isPlainObject:function(a){var
 
b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b
 in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in 
a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof 
a||"function"==typeof a?i[j.call(a)]||"object":typeof 
a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use 
strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return
 a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return 
a.nodeName&()===b.toLowerCase()},each:function(a,b){var 
c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else 
for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return 
null==a?"":(a+"").
 replace(o,"")},makeArray:function(a,b){var c=b||[];return 
null!=a&&(s(Object(a))?n.merge(c,"string"==typeof 
a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return 
null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var 
c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return 
a.length=e,a},grep:function(a,b,c){for(var 
d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&(a[f]);return 
e},map:function(a,b,c){var 
d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&(e);else
 for(g in a)e=b(a[g],g,c),null!=e&(e);return 
f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof 
b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return 
a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void
 0},now:Date.now,support:l}),"function"==typeof 
Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number 
String Function Array Date RegExp Object Error Symbol".split(" 
"),function(a,b){i["[obj
 ect "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in 
a&,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof
 b&>0& in a}var t=function(a){var 
b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new 
Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return 
a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var
 

[20/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/jquery-fileupload/js/jquery.fileupload.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/jquery-fileupload/js/jquery.fileupload.js
 
b/contrib/views/storm/src/main/resources/libs/bower/jquery-fileupload/js/jquery.fileupload.js
deleted file mode 100644
index de33499..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/jquery-fileupload/js/jquery.fileupload.js
+++ /dev/null
@@ -1,1201 +0,0 @@
-/*
- * jQuery File Upload Plugin 5.26
- * https://github.com/blueimp/jQuery-File-Upload
- *
- * Copyright 2010, Sebastian Tschan
- * https://blueimp.net
- *
- * Licensed under the MIT license:
- * http://www.opensource.org/licenses/MIT
- */
-
-/*jslint nomen: true, unparam: true, regexp: true */
-/*global define, window, document, File, Blob, FormData, location */
-
-(function (factory) {
-'use strict';
-if (typeof define === 'function' && define.amd) {
-// Register as an anonymous AMD module:
-define([
-'jquery',
-'jquery.ui.widget'
-], factory);
-} else {
-// Browser globals:
-factory(window.jQuery);
-}
-}(function ($) {
-'use strict';
-
-// The FileReader API is not actually used, but works as feature detection,
-// as e.g. Safari supports XHR file uploads via the FormData API,
-// but not non-multipart XHR file uploads:
-$.support.xhrFileUpload = !!(window.XMLHttpRequestUpload && 
window.FileReader);
-$.support.xhrFormDataFileUpload = !!window.FormData;
-
-// The fileupload widget listens for change events on file input fields 
defined
-// via fileInput setting and paste or drop events of the given dropZone.
-// In addition to the default jQuery Widget methods, the fileupload widget
-// exposes the "add" and "send" methods, to add or directly send files 
using
-// the fileupload API.
-// By default, files added via file input selection, paste, drag & drop or
-// "add" method are uploaded immediately, but it is possible to override
-// the "add" callback option to queue file uploads.
-$.widget('blueimp.fileupload', {
-
-options: {
-// The drop target element(s), by the default the complete 
document.
-// Set to null to disable drag & drop support:
-dropZone: $(document),
-// The paste target element(s), by the default the complete 
document.
-// Set to null to disable paste support:
-pasteZone: $(document),
-// The file input field(s), that are listened to for change events.
-// If undefined, it is set to the file input fields inside
-// of the widget element on plugin initialization.
-// Set to null to disable the change listener.
-fileInput: undefined,
-// By default, the file input field is replaced with a clone after
-// each input field change event. This is required for iframe 
transport
-// queues and allows change events to be fired for the same file
-// selection, but can be disabled by setting the following option 
to false:
-replaceFileInput: true,
-// The parameter name for the file form data (the request argument 
name).
-// If undefined or empty, the name property of the file input 
field is
-// used, or "files[]" if the file input name property is also 
empty,
-// can be a string or an array of strings:
-paramName: undefined,
-// By default, each file of a selection is uploaded using an 
individual
-// request for XHR type uploads. Set to false to upload file
-// selections in one request each:
-singleFileUploads: true,
-// To limit the number of files uploaded with one XHR request,
-// set the following option to an integer greater than 0:
-limitMultiFileUploads: undefined,
-// Set the following option to true to issue all file upload 
requests
-// in a sequential order:
-sequentialUploads: false,
-// To limit the number of concurrent uploads,
-// set the following option to an integer greater than 0:
-limitConcurrentUploads: undefined,
-// Set the following option to true to force iframe transport 
uploads:
-forceIframeTransport: false,
-// Set the following option to the location of a redirect url on 
the
-// origin server, for cross-domain iframe transport uploads:
-redirect: undefined,
-// The parameter name for the redirect url, sent as part of the 
form
-// data and set to 'redirect' if this option is empty:
-redirectParamName: undefined,
-

[29/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/backbone.wreqr/js/backbone.wreqr.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/backbone.wreqr/js/backbone.wreqr.js
 
b/contrib/views/storm/src/main/resources/libs/bower/backbone.wreqr/js/backbone.wreqr.js
deleted file mode 100644
index 27cdc8c..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/backbone.wreqr/js/backbone.wreqr.js
+++ /dev/null
@@ -1,435 +0,0 @@
-// Backbone.Wreqr (Backbone.Marionette)
-// --
-// v1.3.2
-//
-// Copyright (c)2014 Derick Bailey, Muted Solutions, LLC.
-// Distributed under MIT license
-//
-// http://github.com/marionettejs/backbone.wreqr
-
-
-(function(root, factory) {
-
-  if (typeof define === 'function' && define.amd) {
-define(['backbone', 'underscore'], function(Backbone, _) {
-  return factory(Backbone, _);
-});
-  } else if (typeof exports !== 'undefined') {
-var Backbone = require('backbone');
-var _ = require('underscore');
-module.exports = factory(Backbone, _);
-  } else {
-factory(root.Backbone, root._);
-  }
-
-}(this, function(Backbone, _) {
-  "use strict";
-
-  var previousWreqr = Backbone.Wreqr;
-
-  var Wreqr = Backbone.Wreqr = {};
-
-  Backbone.Wreqr.VERSION = '1.3.2';
-
-  Backbone.Wreqr.noConflict = function () {
-Backbone.Wreqr = previousWreqr;
-return this;
-  };
-
-  // Handlers
-  // 
-  // A registry of functions to call, given a name
-
-  Wreqr.Handlers = (function(Backbone, _){
-"use strict";
-
-// Constructor
-// ---
-
-var Handlers = function(options){
-  this.options = options;
-  this._wreqrHandlers = {};
-
-  if (_.isFunction(this.initialize)){
-this.initialize(options);
-  }
-};
-
-Handlers.extend = Backbone.Model.extend;
-
-// Instance Members
-// 
-
-_.extend(Handlers.prototype, Backbone.Events, {
-
-  // Add multiple handlers using an object literal configuration
-  setHandlers: function(handlers){
-_.each(handlers, function(handler, name){
-  var context = null;
-
-  if (_.isObject(handler) && !_.isFunction(handler)){
-context = handler.context;
-handler = handler.callback;
-  }
-
-  this.setHandler(name, handler, context);
-}, this);
-  },
-
-  // Add a handler for the given name, with an
-  // optional context to run the handler within
-  setHandler: function(name, handler, context){
-var config = {
-  callback: handler,
-  context: context
-};
-
-this._wreqrHandlers[name] = config;
-
-this.trigger("handler:add", name, handler, context);
-  },
-
-  // Determine whether or not a handler is registered
-  hasHandler: function(name){
-return !! this._wreqrHandlers[name];
-  },
-
-  // Get the currently registered handler for
-  // the specified name. Throws an exception if
-  // no handler is found.
-  getHandler: function(name){
-var config = this._wreqrHandlers[name];
-
-if (!config){
-  return;
-}
-
-return function(){
-  return config.callback.apply(config.context, arguments);
-};
-  },
-
-  // Remove a handler for the specified name
-  removeHandler: function(name){
-delete this._wreqrHandlers[name];
-  },
-
-  // Remove all handlers from this registry
-  removeAllHandlers: function(){
-this._wreqrHandlers = {};
-  }
-});
-
-return Handlers;
-  })(Backbone, _);
-
-  // Wreqr.CommandStorage
-  // 
-  //
-  // Store and retrieve commands for execution.
-  Wreqr.CommandStorage = (function(){
-"use strict";
-
-// Constructor function
-var CommandStorage = function(options){
-  this.options = options;
-  this._commands = {};
-
-  if (_.isFunction(this.initialize)){
-this.initialize(options);
-  }
-};
-
-// Instance methods
-_.extend(CommandStorage.prototype, Backbone.Events, {
-
-  // Get an object literal by command name, that contains
-  // the `commandName` and the `instances` of all commands
-  // represented as an array of arguments to process
-  getCommands: function(commandName){
-var commands = this._commands[commandName];
-
-// we don't have it, so add it
-if (!commands){
-
-  // build the configuration
-  commands = {
-command: commandName,
-instances: []
-  };
-
-  // store it
-  this._commands[commandName] = commands;
-}
-
-return commands;
-  },
-
-  // Add a command by name, to the storage and store the
-  // args for the command
-  addCommand: function(commandName, 

[24/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/bootstrap/js/bootstrap-filestyle.min.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/bootstrap/js/bootstrap-filestyle.min.js
 
b/contrib/views/storm/src/main/resources/libs/bower/bootstrap/js/bootstrap-filestyle.min.js
deleted file mode 100644
index 7dd2928..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/bootstrap/js/bootstrap-filestyle.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(c){var 
b=function(d,e){this.options=e;this.$elementFilestyle=[];this.$element=c(d)};b.prototype={clear:function(){this.$element.val("");this.$elementFilestyle.find(":text").val("");this.$elementFilestyle.find(".badge").remove()},destroy:function(){this.$element.removeAttr("style").removeData("filestyle").val("");this.$elementFilestyle.remove()},disabled:function(d){if(d===true){if(!this.options.disabled){this.$element.attr("disabled","true");this.$elementFilestyle.find("label").attr("disabled","true");this.options.disabled=true}}else{if(d===false){if(this.options.disabled){this.$element.removeAttr("disabled");this.$elementFilestyle.find("label").removeAttr("disabled");this.options.disabled=false}}else{return
 
this.options.disabled}}},buttonBefore:function(d){if(d===true){if(!this.options.buttonBefore){this.options.buttonBefore=true;if(this.options.input){this.$elementFilestyle.remove();this.constructor();this.pushNameFiles()}}}else{if(d===false){if(this.options.buttonBefore
 
){this.options.buttonBefore=false;if(this.options.input){this.$elementFilestyle.remove();this.constructor();this.pushNameFiles()}}}else{return
 
this.options.buttonBefore}}},icon:function(d){if(d===true){if(!this.options.icon){this.options.icon=true;this.$elementFilestyle.find("label").prepend(this.htmlIcon())}}else{if(d===false){if(this.options.icon){this.options.icon=false;this.$elementFilestyle.find(".glyphicon").remove()}}else{return
 
this.options.icon}}},input:function(e){if(e===true){if(!this.options.input){this.options.input=true;if(this.options.buttonBefore){this.$elementFilestyle.append(this.htmlInput())}else{this.$elementFilestyle.prepend(this.htmlInput())}this.$elementFilestyle.find(".badge").remove();this.pushNameFiles();this.$elementFilestyle.find(".group-span-filestyle").addClass("input-group-btn")}}else{if(e===false){if(this.options.input){this.options.input=false;this.$elementFilestyle.find(":text").remove();var
 d=this.pushNameFiles();if(d.length>0&){
 this.$elementFilestyle.find("label").append(' '+d.length+"")}this.$elementFilestyle.find(".group-span-filestyle").removeClass("input-group-btn")}}else{return
 this.options.input}}},size:function(d){if(d!==undefined){var 
f=this.$elementFilestyle.find("label"),e=this.$elementFilestyle.find("input");f.removeClass("btn-lg
 btn-sm");e.removeClass("input-lg 
input-sm");if(d!="nr"){f.addClass("btn-"+d);e.addClass("input-"+d)}}else{return 
this.options.size}},buttonText:function(d){if(d!==undefined){this.options.buttonText=d;this.$elementFilestyle.find("label
 span").html(this.options.buttonText)}else{return 
this.options.buttonText}},buttonName:function(d){if(d!==undefined){this.options.buttonName=d;this.$elementFilestyle.find("label").attr({"class":"btn
 "+this.options.buttonName})}else{return 
this.options.buttonName}},iconName:function(d){if(d!==undefined){this.$elementFilestyle.find(".glyphicon").attr({"class":".glyphicon
 "+this.options.iconName})}else{return this.op
 tions.iconName}},htmlIcon:function(){if(this.options.icon){return' 
'}else{return""}},htmlInput:function(){if(this.options.input){return' 
'}else{return""}},pushNameFiles:function(){var 
d="",f=[];if(this.$element[0].files===undefined){f[0]={name:this.$element[0]&$element[0].value}}else{f=this.$element[0].files}for(var
 e=0;e

[31/41] ambari git commit: AMBARI-16095. Storm Ambari View (Sriharsha Chintalapani via srimanth)

http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/backbone-forms/js/backbone-forms.js
--
diff --git 
a/contrib/views/storm/src/main/resources/libs/bower/backbone-forms/js/backbone-forms.js
 
b/contrib/views/storm/src/main/resources/libs/bower/backbone-forms/js/backbone-forms.js
deleted file mode 100644
index 9e02ebc..000
--- 
a/contrib/views/storm/src/main/resources/libs/bower/backbone-forms/js/backbone-forms.js
+++ /dev/null
@@ -1,2446 +0,0 @@
-/**
- * Backbone Forms v0.13.0
- *
- * Copyright (c) 2013 Charles Davison, Pow Media Ltd
- *
- * License and more information at:
- * http://github.com/powmedia/backbone-forms
- */
-;(function(root) {
-
-  //DEPENDENCIES
-  //CommonJS
-  if (typeof exports !== 'undefined' && typeof require !== 'undefined') {
-var $ = root.jQuery || root.Zepto || root.ender || require('jquery'),
-_ = root._ || require('underscore'),
-Backbone = root.Backbone || require('backbone');
-  }
-
-  //Browser
-  else {
-var $ = root.jQuery,
-_ = root._,
-Backbone = root.Backbone;
-  }
-
-
-  //SOURCE
-  
//==
-//FORM
-//==
-
-var Form = Backbone.View.extend({
-
-  /**
-   * Constructor
-   *
-   * @param {Object} [options.schema]
-   * @param {Backbone.Model} [options.model]
-   * @param {Object} [options.data]
-   * @param {String[]|Object[]} [options.fieldsets]
-   * @param {String[]} [options.fields]
-   * @param {String} [options.idPrefix]
-   * @param {Form.Field} [options.Field]
-   * @param {Form.Fieldset} [options.Fieldset]
-   * @param {Function} [options.template]
-   */
-  initialize: function(options) {
-var self = this;
-
-options = options || {};
-
-//Find the schema to use
-var schema = this.schema = (function() {
-  //Prefer schema from options
-  if (options.schema) return _.result(options, 'schema');
-
-  //Then schema on model
-  var model = options.model;
-  if (model && model.schema) {
-return (_.isFunction(model.schema)) ? model.schema() : model.schema;
-  }
-
-  //Then built-in schema
-  if (self.schema) {
-return (_.isFunction(self.schema)) ? self.schema() : self.schema;
-  }
-
-  //Fallback to empty schema
-  return {};
-})();
-
-//Store important data
-_.extend(this, _.pick(options, 'model', 'data', 'idPrefix', 
'templateData'));
-
-//Override defaults
-var constructor = this.constructor;
-this.template = options.template || this.template || constructor.template;
-this.Fieldset = options.Fieldset || this.Fieldset || constructor.Fieldset;
-this.Field = options.Field || this.Field || constructor.Field;
-this.NestedField = options.NestedField || this.NestedField || 
constructor.NestedField;
-
-//Check which fields will be included (defaults to all)
-var selectedFields = this.selectedFields = options.fields || 
_.keys(schema);
-
-//Create fields
-var fields = this.fields = {};
-
-_.each(selectedFields, function(key) {
-  var fieldSchema = schema[key];
-  fields[key] = this.createField(key, fieldSchema);
-}, this);
-
-//Create fieldsets
-var fieldsetSchema = options.fieldsets || [selectedFields],
-fieldsets = this.fieldsets = [];
-
-_.each(fieldsetSchema, function(itemSchema) {
-  this.fieldsets.push(this.createFieldset(itemSchema));
-}, this);
-  },
-
-  /**
-   * Creates a Fieldset instance
-   *
-   * @param {String[]|Object[]} schema   Fieldset schema
-   *
-   * @return {Form.Fieldset}
-   */
-  createFieldset: function(schema) {
-var options = {
-  schema: schema,
-  fields: this.fields
-};
-
-return new this.Fieldset(options);
-  },
-
-  /**
-   * Creates a Field instance
-   *
-   * @param {String} key
-   * @param {Object} schema   Field schema
-   *
-   * @return {Form.Field}
-   */
-  createField: function(key, schema) {
-var options = {
-  form: this,
-  key: key,
-  schema: schema,
-  idPrefix: this.idPrefix
-};
-
-if (this.model) {
-  options.model = this.model;
-} else if (this.data) {
-  options.value = this.data[key];
-} else {
-  options.value = null;
-}
-
-var field = new this.Field(options);
-
-this.listenTo(field.editor, 'all', this.handleEditorEvent);
-
-return field;
-  },
-
-  /**
-   * Callback for when an editor event is fired.
-   * Re-triggers events on the form as key:event and triggers additional 
form-level events
-   *
-   * @param {String} event
-   * @param {Editor} editor
-   */
-  handleEditorEvent: function(event, editor) {
-//Re-trigger editor events on the form
-var formEvent = editor.key+':'+event;
-
-

ambari git commit: AMBARI-16209. Write out new log property files under /etc/hive2/conf (smohanty)

Repository: ambari
Updated Branches:
  refs/heads/trunk 5b80f4902 -> 5fea54102


AMBARI-16209. Write out new log property files under /etc/hive2/conf (smohanty)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5fea5410
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5fea5410
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5fea5410

Branch: refs/heads/trunk
Commit: 5fea54102c8534ad80ee46bb56334eb2b2a24e33
Parents: 5b80f49
Author: Sumit Mohanty 
Authored: Tue May 3 14:01:36 2016 -0700
Committer: Sumit Mohanty 
Committed: Tue May 3 14:01:36 2016 -0700

--
 .../HDP/2.5/services/HIVE/configuration/llap-cli-log4j2.xml  | 4 ++--
 .../HDP/2.5/services/HIVE/configuration/llap-daemon-log4j.xml| 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/5fea5410/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-cli-log4j2.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-cli-log4j2.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-cli-log4j2.xml
index 5c8f9a8..bf1edbb 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-cli-log4j2.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-cli-log4j2.xml
@@ -23,7 +23,7 @@
 
   
   content
-  Custom log4j.properties
+  Custom llap-cli-log4j2.properties
   
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file
@@ -66,7 +66,7 @@ appender.console.layout.pattern = %p %c{2}: %m%n
 appender.DRFA.type = RollingFile
 appender.DRFA.name = DRFA
 appender.DRFA.fileName = ${sys:hive.log.dir}/${sys:hive.log.file}
-# Use %pid in the filePattern to append @ to the 
filename if you want separate log files for different CLI session
+# Use %pid in the filePattern to append process-id@host-name to the filename 
if you want separate log files for different CLI session
 appender.DRFA.filePattern = 
${sys:hive.log.dir}/${sys:hive.log.file}.%d{-MM-dd}
 appender.DRFA.layout.type = PatternLayout
 appender.DRFA.layout.pattern = %d{ISO8601} %-5p [%t]: %c{2} (%F:%M(%L)) - %m%n

http://git-wip-us.apache.org/repos/asf/ambari/blob/5fea5410/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-daemon-log4j.xml
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-daemon-log4j.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-daemon-log4j.xml
index 793ea7a..23a6761 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-daemon-log4j.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.5/services/HIVE/configuration/llap-daemon-log4j.xml
@@ -23,7 +23,7 @@
 
   
   content
-  Custom log4j.properties
+  Custom llap-daemon-log4j2.properties
   
 # Licensed to the Apache Software Foundation (ASF) under one
 # or more contributor license agreements.  See the NOTICE file



ambari git commit: AMBARI-16198. Ambari Look & Feel for LogSearch. (Dharmesh Makwana via rnettleton)

Repository: ambari
Updated Branches:
  refs/heads/trunk 360fda044 -> 5b80f4902


AMBARI-16198. Ambari Look & Feel for LogSearch. (Dharmesh Makwana via 
rnettleton)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/5b80f490
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/5b80f490
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/5b80f490

Branch: refs/heads/trunk
Commit: 5b80f490227a3908608af314aded3cb8b2adc5c7
Parents: 360fda0
Author: Bob Nettleton 
Authored: Tue May 3 16:52:12 2016 -0400
Committer: Bob Nettleton 
Committed: Tue May 3 16:52:12 2016 -0400

--
 .../src/main/webapp/images/logo-white.png   | Bin 0 -> 4538 bytes
 .../src/main/webapp/index.html  |  11 +-
 .../src/main/webapp/login.jsp   |   2 +-
 .../troubleshoot/TroubleShootLayoutView.js  |   6 +-
 .../src/main/webapp/styles/style.css|  23 +-
 .../src/main/webapp/styles/style_v2.css | 425 ++-
 .../templates/common/DatePickerLayout_tmpl.html |   2 +-
 .../webapp/templates/common/Header_tmpl.html|   4 +-
 .../TroubleShootLayoutView_tmpl.html|   2 +-
 9 files changed, 437 insertions(+), 38 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/5b80f490/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/images/logo-white.png
--
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/images/logo-white.png
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/images/logo-white.png
new file mode 100644
index 000..a562ba7
Binary files /dev/null and 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/images/logo-white.png
 differ

http://git-wip-us.apache.org/repos/asf/ambari/blob/5b80f490/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
--
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
index 88b6c22..e374895 100644
--- a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
+++ b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/index.html
@@ -76,9 +76,12 @@
 
 

-   
-   
-   Log Search
+   
+   
+
+  
+  Log 
Search
+



@@ -101,7 +104,7 @@



-   
+


 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/5b80f490/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
--
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
index 0bc60c3..c0b7ad5 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/common/Header_tmpl.html
@@ -14,9 +14,9 @@
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
-
+
 
-
+
 
 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/5b80f490/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
--
diff --git 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
index 3f6..b3eeaf5 100644
--- 
a/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
+++ 
b/ambari-logsearch/ambari-logsearch-portal/src/main/webapp/templates/troubleshoot/TroubleShootLayoutView_tmpl.html
@@ -57,7 +57,7 @@



+   
class="btn btn-success" type="button">
   

ambari git commit: AMBARI-16211. Updated grok lib version(0.1.1 to 0.1.4) to get latest fixes. (Hayat Behlim via rnettleton)

Repository: ambari
Updated Branches:
  refs/heads/trunk e87d962c8 -> 360fda044


AMBARI-16211. Updated grok lib version(0.1.1 to 0.1.4) to get latest fixes. 
(Hayat Behlim via rnettleton)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/360fda04
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/360fda04
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/360fda04

Branch: refs/heads/trunk
Commit: 360fda044adab15dfba9e7bbadc0dd0878c7d898
Parents: e87d962
Author: Bob Nettleton 
Authored: Tue May 3 16:41:21 2016 -0400
Committer: Bob Nettleton 
Committed: Tue May 3 16:41:21 2016 -0400

--
 ambari-logsearch/ambari-logsearch-logfeeder/pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/360fda04/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
--
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml 
b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
index 12255fe..bbe0bc9 100644
--- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
+++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml
@@ -62,7 +62,7 @@
 
   io.thekraken
   grok
-  0.1.1
+  0.1.4
 
 
   org.apache.solr
@@ -212,4 +212,4 @@
   
 
   
-
\ No newline at end of file
+



ambari git commit: AMBARI-16029: Ambari version history - Create DB table, constraints and sequence id.

Repository: ambari
Updated Branches:
  refs/heads/trunk 311619306 -> e87d962c8


AMBARI-16029: Ambari version history - Create DB table, constraints and 
sequence id.


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e87d962c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e87d962c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e87d962c

Branch: refs/heads/trunk
Commit: e87d962c8f5493f5f78e9fc5cb2a3c9a0b8b9afb
Parents: 3116193
Author: Nahappan Somasundaram 
Authored: Mon May 2 14:19:48 2016 -0700
Committer: Nahappan Somasundaram 
Committed: Tue May 3 12:49:14 2016 -0700

--
 .../src/main/resources/Ambari-DDL-Derby-CREATE.sql  | 12 
 .../src/main/resources/Ambari-DDL-MySQL-CREATE.sql  | 12 
 .../src/main/resources/Ambari-DDL-Oracle-CREATE.sql | 11 +++
 .../main/resources/Ambari-DDL-Postgres-CREATE.sql   | 13 +
 .../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql | 16 +++-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 12 
 .../main/resources/Ambari-DDL-SQLServer-CREATE.sql  | 14 +-
 7 files changed, 88 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/e87d962c/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
index 0cf3537..c902637 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@ -830,6 +830,16 @@ CREATE TABLE servicecomponent_history(
   CONSTRAINT FK_sc_history_to_stack_id FOREIGN KEY (to_stack_id) REFERENCES 
stack (stack_id)
 );
 
+CREATE TABLE ambari_operation_history(
+  id BIGINT NOT NULL,
+  from_version VARCHAR(255) NOT NULL,
+  to_version VARCHAR(255) NOT NULL,
+  start_time BIGINT NOT NULL,
+  end_time BIGINT,
+  operation_type VARCHAR(255) NOT NULL,
+  comments CLOB,
+  CONSTRAINT PK_ambari_operation_history PRIMARY KEY (id)
+);
 
 -- tasks indices --
 CREATE INDEX idx_stage_request_id ON stage (request_id);
@@ -1080,6 +1090,8 @@ INSERT INTO ambari_sequences (sequence_name, 
sequence_value)
   select 'servicecomponent_history_id_seq', 0 FROM SYSIBM.SYSDUMMY1
   union all
   select 'blueprint_setting_id_seq', 0 FROM SYSIBM.SYSDUMMY1;
+  union all
+  select 'ambari_operation_history_id_seq', 0 FROM SYSIBM.SYSDUMMY1;
 
 
 INSERT INTO adminresourcetype (resource_type_id, resource_type_name)

http://git-wip-us.apache.org/repos/asf/ambari/blob/e87d962c/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
index 2142eb6..fca3be3 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -837,6 +837,17 @@ CREATE TABLE servicecomponent_history(
   CONSTRAINT FK_sc_history_to_stack_id FOREIGN KEY (to_stack_id) REFERENCES 
stack (stack_id)
 );
 
+CREATE TABLE ambari_operation_history(
+  id BIGINT NOT NULL,
+  from_version VARCHAR(255) NOT NULL,
+  to_version VARCHAR(255) NOT NULL,
+  start_time BIGINT NOT NULL,
+  end_time BIGINT,
+  operation_type VARCHAR(255) NOT NULL,
+  comments TEXT,
+  CONSTRAINT PK_ambari_operation_history PRIMARY KEY (id)
+);
+
 -- tasks indices --
 CREATE INDEX idx_stage_request_id ON stage (request_id);
 CREATE INDEX idx_hrc_request_id ON host_role_command (request_id);
@@ -1038,6 +1049,7 @@ INSERT INTO ambari_sequences(sequence_name, 
sequence_value) values ('hostcompone
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('servicecomponentdesiredstate_id_seq', 0);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('servicecomponent_history_id_seq', 0);
 INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('blueprint_setting_id_seq', 0);
+INSERT INTO ambari_sequences(sequence_name, sequence_value) values 
('ambari_operation_history_id_seq', 0);
 
 insert into adminresourcetype (resource_type_id, resource_type_name)
   select 1, 'AMBARI'

http://git-wip-us.apache.org/repos/asf/ambari/blob/e87d962c/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
--
diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql 
b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
index a118ffa..ce0bd84 100644
--- 

ambari git commit: AMBARI-16184. Fix widget creation screen metrics list bug (Miklos Gergely via oleewere)

Repository: ambari
Updated Branches:
  refs/heads/trunk 7d0d33a49 -> 311619306


AMBARI-16184. Fix widget creation screen metrics list bug (Miklos Gergely via 
oleewere)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/31161930
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/31161930
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/31161930

Branch: refs/heads/trunk
Commit: 3116193060c93a676980b74c92d7a752c5f85633
Parents: 7d0d33a
Author: Miklos Gergely 
Authored: Tue May 3 21:43:55 2016 +0200
Committer: oleewere 
Committed: Tue May 3 21:47:00 2016 +0200

--
 .../service/widgets/create/expression_view.js   | 33 ++--
 1 file changed, 17 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/31161930/ambari-web/app/views/main/service/widgets/create/expression_view.js
--
diff --git 
a/ambari-web/app/views/main/service/widgets/create/expression_view.js 
b/ambari-web/app/views/main/service/widgets/create/expression_view.js
index 3688270..32c664f 100644
--- a/ambari-web/app/views/main/service/widgets/create/expression_view.js
+++ b/ambari-web/app/views/main/service/widgets/create/expression_view.js
@@ -312,25 +312,26 @@ App.AddMetricExpressionView = Em.View.extend({
 if (this.get('controller.filteredMetrics')) {
   this.get('controller.filteredMetrics').forEach(function (metric) {
 var service = servicesMap[metric.service_name];
+if (!service) {
+  service = {
+  count: 0,
+  components: {}
+  };
+  servicesMap[metric.service_name] = service;
+}
+
 var componentId = masterNames.contains(metric.component_name) ? 
metric.component_name + '_' + metric.level : metric.component_name;
-if (service) {
-  service.count++;
-  if (service.components[componentId]) {
-service.components[componentId].count++;
-service.components[componentId].metrics.push(metric.name);
-  } else {
-service.components[componentId] = {
-  component_name: metric.component_name,
-  level: metric.level,
-  count: 1,
-  hostComponentCriteria: metric.host_component_criteria,
-  metrics: [metric.name]
-};
-  }
+service.count++;
+if (service.components[componentId]) {
+  service.components[componentId].count++;
+  service.components[componentId].metrics.push(metric.name);
 } else {
-  servicesMap[metric.service_name] = {
+  service.components[componentId] = {
+component_name: metric.component_name,
+level: metric.level,
 count: 1,
-components: {}
+hostComponentCriteria: metric.host_component_criteria,
+metrics: [metric.name]
   };
 }
   }, this);



ambari git commit: AMBARI-16174: Move RM wizard should update HAWQ related parameters

Repository: ambari
Updated Branches:
  refs/heads/trunk 15a7ea3d5 -> 7d0d33a49


AMBARI-16174: Move RM wizard should update HAWQ related parameters


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7d0d33a4
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7d0d33a4
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7d0d33a4

Branch: refs/heads/trunk
Commit: 7d0d33a49cfd4b8fb832ad6f0aa5f7e4b48ea048
Parents: 15a7ea3
Author: Jun Aoki 
Authored: Tue May 3 10:59:32 2016 -0700
Committer: Jun Aoki 
Committed: Tue May 3 10:59:32 2016 -0700

--
 .../main/service/reassign/step4_controller.js   | 42 -
 .../utils/configs/move_rm_config_initializer.js | 64 +++-
 .../service/reassign/step4_controller_test.js   |  9 ++-
 3 files changed, 107 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/7d0d33a4/ambari-web/app/controllers/main/service/reassign/step4_controller.js
--
diff --git 
a/ambari-web/app/controllers/main/service/reassign/step4_controller.js 
b/ambari-web/app/controllers/main/service/reassign/step4_controller.js
index 736f467..d8f0394 100644
--- a/ambari-web/app/controllers/main/service/reassign/step4_controller.js
+++ b/ambari-web/app/controllers/main/service/reassign/step4_controller.js
@@ -574,6 +574,13 @@ App.ReassignMasterWizardStep4Controller = 
App.HighAvailabilityProgressPageContro
 }
 }
 
+if (componentName === 'RESOURCEMANAGER') {
+if (App.Service.find().someProperty('serviceName', 'HAWQ')) {
+  urlParams.push('(type=hawq-site=' + 
data.Clusters.desired_configs['hawq-site'].tag + ')');
+  urlParams.push('(type=yarn-client=' + 
data.Clusters.desired_configs['yarn-client'].tag + ')');
+}
+}
+
 return urlParams;
   },
 
@@ -629,9 +636,13 @@ App.ReassignMasterWizardStep4Controller = 
App.HighAvailabilityProgressPageContro
*/
   _getRmAdditionalDependencies: function (configs) {
 var ret = {};
-var cfg = configs['yarn-site']['yarn.resourcemanager.hostname.rm1'];
-if (cfg) {
-  ret.rm1 = cfg;
+var rm1 = configs['yarn-site']['yarn.resourcemanager.hostname.rm1'];
+if (rm1) {
+  ret.rm1 = rm1;
+}
+var rm2 = configs['yarn-site']['yarn.resourcemanager.hostname.rm2'];
+if (rm2) {
+  ret.rm2 = rm2;
 }
 return ret;
   },
@@ -700,6 +711,31 @@ App.ReassignMasterWizardStep4Controller = 
App.HighAvailabilityProgressPageContro
   },
 
   onLoadConfigs: function (data) {
+// Find hawq-site.xml location
+var hawqSiteIndex = -1;
+for(var i = 0; i < data.items.length; i++){
+  if(data.items[i].type == 'hawq-site'){
+hawqSiteIndex = i;
+break;
+  }
+}
+
+// if certain services are deployed, include related site files to 
additionalConfigsMap and relatedServicesMap.
+if(hawqSiteIndex >= 0){ // if HAWQ is deployed
+  var hawqSiteProperties = {
+'hawq_rm_yarn_address': ':8050',
+'hawq_rm_yarn_scheduler_address': ':8030'
+  }
+
+  var rmComponent = 
this.get('additionalConfigsMap').findProperty('componentName', 
"RESOURCEMANAGER");
+  rmComponent.configs["hawq-site"] = hawqSiteProperties;
+
+  
if(data.items[hawqSiteIndex].properties["hawq_global_rm_type"].toLowerCase() 
=== "yarn"){
+this.get('relatedServicesMap')['RESOURCEMANAGER'].append('HAWQ');
+  }
+
+}
+
 var componentName = this.get('content.reassign.component_name');
 var targetHostName = this.get('content.reassignHosts.target');
 var configs = {};

http://git-wip-us.apache.org/repos/asf/ambari/blob/7d0d33a4/ambari-web/app/utils/configs/move_rm_config_initializer.js
--
diff --git a/ambari-web/app/utils/configs/move_rm_config_initializer.js 
b/ambari-web/app/utils/configs/move_rm_config_initializer.js
index f8800de..5388224 100644
--- a/ambari-web/app/utils/configs/move_rm_config_initializer.js
+++ b/ambari-web/app/utils/configs/move_rm_config_initializer.js
@@ -33,6 +33,13 @@ function getRmHaDependedConfig(rmHaShouldBeEnabled) {
   };
 }
 
+function getRmHaHawqConfig(rmHaShouldBeEnabled) {
+  return {
+type: 'rm_ha_hawq',
+rmHaShouldBeEnabled: Boolean(rmHaShouldBeEnabled)
+  };
+}
+
 /**
  * Initializer for configs which should be affected when Resource Manager is 
moved from one host to another
  * If Resource Manager HA-mode is already activated, several configs are also 
updated
@@ -42,13 +49,16 @@ function getRmHaDependedConfig(rmHaShouldBeEnabled) {
 App.MoveRmConfigInitializer = App.MoveComponentConfigInitializerClass.create({
 
   initializerTypes: [
-{name: 'rm_ha_depended', 

ambari git commit: AMBARI-16116. Not able to edit Pig script tab. (Gaurav Nagar via dipayanb)

Repository: ambari
Updated Branches:
  refs/heads/trunk 4342a6b7e -> 15a7ea3d5


AMBARI-16116. Not able to edit Pig script tab. (Gaurav Nagar via dipayanb)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/15a7ea3d
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/15a7ea3d
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/15a7ea3d

Branch: refs/heads/trunk
Commit: 15a7ea3d5f5aa3843dd44cd8032003ef3854e25c
Parents: 4342a6b
Author: Dipayan Bhowmick 
Authored: Tue May 3 23:23:44 2016 +0530
Committer: Dipayan Bhowmick 
Committed: Tue May 3 23:23:44 2016 +0530

--
 .../ambari/view/hive/resources/files/FileService.java | 14 ++
 .../ambari/view/pig/resources/files/FileService.java  | 13 +
 2 files changed, 23 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/15a7ea3d/contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/files/FileService.java
--
diff --git 
a/contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/files/FileService.java
 
b/contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/files/FileService.java
index 3eac2b7..ab2b933 100644
--- 
a/contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/files/FileService.java
+++ 
b/contrib/views/hive/src/main/java/org/apache/ambari/view/hive/resources/files/FileService.java
@@ -99,10 +99,7 @@ public class FileService extends BaseService {
 fillFakeFileObject(filePath, file, content);
   } else  {
 
-if (!filePath.startsWith("/") && !filePath.startsWith(".")) {
-  filePath = "/" + filePath;  // some servers strip double slashes in 
URL
-}
-
+filePath = sanitizeFilePath(filePath);
 FilePaginator paginator = new FilePaginator(filePath, 
getSharedObjectsFactory().getHdfsApi());
 
 fillRealFileObject(filePath, page, file, paginator);
@@ -158,6 +155,7 @@ public class FileService extends BaseService {
   @Path("{filePath:.*}")
   public Response deleteFile(@PathParam("filePath") String filePath) throws 
IOException, InterruptedException {
 try {
+  filePath = sanitizeFilePath(filePath);
   LOG.debug("Deleting file " + filePath);
   if (getSharedObjectsFactory().getHdfsApi().delete(filePath, false)) {
 return Response.status(204).build();
@@ -179,6 +177,7 @@ public class FileService extends BaseService {
   public Response updateFile(FileResourceRequest request,
  @PathParam("filePath") String filePath) throws 
IOException, InterruptedException {
 try {
+  filePath = sanitizeFilePath(filePath);
   LOG.debug("Rewriting file " + filePath);
   FSDataOutputStream output = 
getSharedObjectsFactory().getHdfsApi().create(filePath, true);
   output.writeBytes(request.file.getFileContent());
@@ -241,4 +240,11 @@ public class FileService extends BaseService {
   public static class FileResourceRequest {
 public FileResource file;
   }
+
+  private String sanitizeFilePath(String filePath){
+if (!filePath.startsWith("/") && !filePath.startsWith(".")) {
+  filePath = "/" + filePath;  // some servers strip double slashes in URL
+}
+return filePath;
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/15a7ea3d/contrib/views/pig/src/main/java/org/apache/ambari/view/pig/resources/files/FileService.java
--
diff --git 
a/contrib/views/pig/src/main/java/org/apache/ambari/view/pig/resources/files/FileService.java
 
b/contrib/views/pig/src/main/java/org/apache/ambari/view/pig/resources/files/FileService.java
index 6697160..40bc9a7 100644
--- 
a/contrib/views/pig/src/main/java/org/apache/ambari/view/pig/resources/files/FileService.java
+++ 
b/contrib/views/pig/src/main/java/org/apache/ambari/view/pig/resources/files/FileService.java
@@ -69,6 +69,8 @@ public class FileService extends BaseService {
   @QueryParam("page") Long page,
   @QueryParam("action") String action) throws 
IOException, InterruptedException {
 try {
+
+  filePath = sanitizeFilePath(filePath);
   if (action != null && action.equals("ls")) {
 LOG.debug("List directory " + filePath);
 List ls = new LinkedList();
@@ -113,6 +115,9 @@ public class FileService extends BaseService {
   @Path("{filePath:.*}")
   public Response deleteFile(@PathParam("filePath") String filePath) throws 
IOException, InterruptedException {
 try {
+
+  filePath = sanitizeFilePath(filePath);
+
   LOG.debug("Deleting file " + filePath);
   if (getHdfsApi().delete(filePath, 

[2/2] ambari git commit: AMBARI-16177. Views: User should be able to assign permission of a view instance to cluster roles. (dipayanb)

AMBARI-16177. Views: User should be able to assign permission of a view 
instance to cluster roles. (dipayanb)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/4342a6b7
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/4342a6b7
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/4342a6b7

Branch: refs/heads/trunk
Commit: 4342a6b7eb6eed781d879c46435acc9f0ea8c981
Parents: 7eeab53
Author: Dipayan Bhowmick 
Authored: Tue Apr 26 12:21:18 2016 +0530
Committer: Dipayan Bhowmick 
Committed: Tue May 3 23:12:27 2016 +0530

--
 .../controllers/ambariViews/ViewsEditCtrl.js| 728 ++-
 .../ui/admin-web/app/scripts/i18n.config.js |   9 +
 .../ui/admin-web/app/scripts/services/Group.js  |  12 +-
 .../app/scripts/services/PermissionLoader.js|  10 +-
 .../app/scripts/services/PermissionsSaver.js|  16 +-
 .../ui/admin-web/app/scripts/services/View.js   |   8 +
 .../resources/ui/admin-web/app/styles/main.css  |   6 +
 .../admin-web/app/views/ambariViews/edit.html   |  85 ++-
 .../ambari/server/controller/AmbariServer.java  |   2 +-
 .../server/controller/ControllerModule.java |   2 +
 .../GroupPrivilegeResourceProvider.java |  24 +-
 .../internal/PrivilegeResourceProvider.java |   3 +
 .../internal/UserPrivilegeResourceProvider.java |  37 +-
 .../ambari/server/orm/dao/PrincipalDAO.java |   8 +
 .../server/orm/entities/PrincipalEntity.java|   3 +-
 .../orm/entities/PrincipalTypeEntity.java   |  10 +
 .../authorization/AuthorizationHelper.java  |  73 +-
 .../ClusterInheritedPermissionHelper.java   | 213 ++
 .../server/upgrade/AbstractUpgradeCatalog.java  |  36 +
 .../server/upgrade/UpgradeCatalog240.java   |  27 +
 .../apache/ambari/server/view/ViewRegistry.java |  57 +-
 .../view/configuration/AutoInstanceConfig.java  |  27 +
 .../main/resources/Ambari-DDL-Derby-CREATE.sql  |  28 +-
 .../main/resources/Ambari-DDL-MySQL-CREATE.sql  |  28 +-
 .../main/resources/Ambari-DDL-Oracle-CREATE.sql |  28 +-
 .../resources/Ambari-DDL-Postgres-CREATE.sql|  28 +-
 .../Ambari-DDL-Postgres-EMBEDDED-CREATE.sql |  28 +-
 .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql |  28 +-
 .../resources/Ambari-DDL-SQLServer-CREATE.sql   |  19 +-
 .../AlertDefinitionResourceProviderTest.java|   2 +
 .../AlertGroupResourceProviderTest.java |   2 +
 .../AlertHistoryResourceProviderTest.java   |   2 +
 .../AlertNoticeResourceProviderTest.java|   2 +
 .../internal/AlertResourceProviderTest.java |   2 +
 .../internal/ComponentResourceProviderTest.java |   2 +
 .../GroupPrivilegeResourceProviderTest.java |  19 +-
 .../internal/HostResourceProviderTest.java  |   3 +
 .../internal/RequestResourceProviderTest.java   |   3 +
 .../UserPrivilegeResourceProviderTest.java  | 129 +++-
 .../metrics/JMXPropertyProviderTest.java|   2 +
 .../ganglia/GangliaPropertyProviderTest.java|   2 +
 .../AuthorizationHelperInitializer.java |  47 ++
 .../authorization/AuthorizationHelperTest.java  | 109 ++-
 .../server/upgrade/UpgradeCatalog240Test.java   |  51 ++
 .../configuration/AutoInstanceConfigTest.java   |  10 +
 45 files changed, 1488 insertions(+), 482 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/4342a6b7/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
--
diff --git 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
index 877e230..243a8e4 100644
--- 
a/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
+++ 
b/ambari-admin/src/main/resources/ui/admin-web/app/scripts/controllers/ambariViews/ViewsEditCtrl.js
@@ -18,402 +18,412 @@
 'use strict';
 
 angular.module('ambariAdminConsole')
-.controller('ViewsEditCtrl', ['$scope', '$routeParams' , 'Cluster', 'View', 
'Alert', 'PermissionLoader', 'PermissionSaver', 'ConfirmationModal', 
'$location', 'UnsavedDialog', '$translate', function($scope, $routeParams, 
Cluster, View, Alert, PermissionLoader, PermissionSaver, ConfirmationModal, 
$location, UnsavedDialog, $translate) {
-  var $t = $translate.instant;
-  $scope.identity = angular.identity;
-  $scope.isConfigurationEmpty = true;
-  $scope.isSettingsEmpty = true;
-  $scope.constants = {
-instance: $t('views.instance'),
-props: $t('views.properties'),
-perms: $t('views.permissions').toLowerCase()
-  };
-
-  function reloadViewInfo(section){
-// Load instance data, after View permissions meta loaded
-

[1/2] ambari git commit: AMBARI-16177. Views: User should be able to assign permission of a view instance to cluster roles. (dipayanb)

Repository: ambari
Updated Branches:
  refs/heads/trunk 7eeab53c7 -> 4342a6b7e


http://git-wip-us.apache.org/repos/asf/ambari/blob/4342a6b7/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java 
b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
index a312e6a..d2d48a9 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/view/ViewRegistry.java
@@ -18,7 +18,7 @@
 
 package org.apache.ambari.server.view;
 
-import com.google.common.base.Strings;
+import com.google.common.collect.FluentIterable;
 import com.google.common.collect.Sets;
 import com.google.common.eventbus.AllowConcurrentEvents;
 import com.google.common.eventbus.Subscribe;
@@ -42,6 +42,8 @@ import 
org.apache.ambari.server.controller.spi.ResourceProvider;
 import org.apache.ambari.server.events.ServiceInstalledEvent;
 import org.apache.ambari.server.events.publishers.AmbariEventPublisher;
 import org.apache.ambari.server.orm.dao.MemberDAO;
+import org.apache.ambari.server.orm.dao.PermissionDAO;
+import org.apache.ambari.server.orm.dao.PrincipalDAO;
 import org.apache.ambari.server.orm.dao.PrivilegeDAO;
 import org.apache.ambari.server.orm.dao.ResourceDAO;
 import org.apache.ambari.server.orm.dao.ResourceTypeDAO;
@@ -64,6 +66,7 @@ import 
org.apache.ambari.server.orm.entities.ViewParameterEntity;
 import org.apache.ambari.server.orm.entities.ViewResourceEntity;
 import org.apache.ambari.server.security.SecurityHelper;
 import org.apache.ambari.server.security.authorization.AuthorizationHelper;
+import 
org.apache.ambari.server.security.authorization.ClusterInheritedPermissionHelper;
 import org.apache.ambari.server.security.authorization.ResourceType;
 import org.apache.ambari.server.security.authorization.RoleAuthorization;
 import org.apache.ambari.server.state.Clusters;
@@ -225,6 +228,18 @@ public class ViewRegistry {
   ResourceTypeDAO resourceTypeDAO;
 
   /**
+   * Principal data access object.
+   */
+  @Inject
+  PrincipalDAO principalDAO;
+
+  /**
+   * Permission data access objects
+   */
+  @Inject
+  PermissionDAO permissionDAO;
+
+  /**
* The Ambari managed clusters.
*/
   @Inject
@@ -1640,6 +1655,7 @@ public class ViewRegistry {
 }
 
 List services = autoInstanceConfig.getServices();
+List permissions = autoInstanceConfig.getPermissions();
 
 Map allClusters = 
clustersProvider.get().getClusters();
 for (org.apache.ambari.server.state.Cluster cluster : 
allClusters.values()) {
@@ -1656,6 +1672,7 @@ public class ViewRegistry {
 ViewInstanceEntity viewInstanceEntity = 
createViewInstanceEntity(viewEntity, viewConfig, autoInstanceConfig);
 viewInstanceEntity.setClusterHandle(clusterName);
 installViewInstance(viewInstanceEntity);
+addClusterInheritedPermissions(viewInstanceEntity, permissions);
   }
 } catch (Exception e) {
   LOG.error("Can't auto create instance of view " + viewName + " for 
cluster " + clusterName +
@@ -1666,6 +1683,44 @@ public class ViewRegistry {
   }
 
   /**
+   * Validates principalTypes and creates privilege entities for each 
permission type for the view instance entity
+   * resource.
+   * @param viewInstanceEntity - view instance entity for which permission has 
to be set.
+   * @param principalTypes - list of cluster inherited principal types
+   */
+  @Transactional
+  private void addClusterInheritedPermissions(ViewInstanceEntity 
viewInstanceEntity, List principalTypes) {
+List validPermissions = FluentIterable.from(principalTypes)
+  .filter(ClusterInheritedPermissionHelper.validPrincipalTypePredicate)
+  .toList();
+
+for(String permission: validPermissions) {
+  addClusterInheritedPermission(viewInstanceEntity, permission);
+}
+  }
+
+  private void addClusterInheritedPermission(ViewInstanceEntity 
viewInstanceEntity, String principalType) {
+ResourceEntity resource = viewInstanceEntity.getResource();
+List principals = 
principalDAO.findByPrincipalType(principalType);
+if (principals.size() == 0) {
+  LOG.error("Failed to find principal for principal type '{}'", 
principalType);
+  return;
+}
+
+PrincipalEntity principal = principals.get(0); // There will be only one 
principal associated with the principal type
+PermissionEntity permission = permissionDAO.findViewUsePermission();
+
+if (!privilegeDAO.exists(principal, resource, permission)) {
+  PrivilegeEntity privilege = new PrivilegeEntity();
+  privilege.setPrincipal(principal);
+  privilege.setResource(resource);
+  privilege.setPermission(permission);
+
+  privilegeDAO.create(privilege);
+}
+  }
+
+  /**
* 

ambari git commit: AMBARI-16192: 'Restart All' for HAWQ should follow role_command_order (Lav Jain via mithmatt)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.2 35f2302ad -> 1c43db082


AMBARI-16192: 'Restart All' for HAWQ should follow role_command_order (Lav Jain 
via mithmatt)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1c43db08
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1c43db08
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1c43db08

Branch: refs/heads/branch-2.2
Commit: 1c43db082daa1d814b5a0673f3e82cfdfa48d9b3
Parents: 35f2302
Author: Matt 
Authored: Tue May 3 10:38:49 2016 -0700
Committer: Matt 
Committed: Tue May 3 10:38:49 2016 -0700

--
 .../src/main/resources/stacks/HDP/2.3/role_command_order.json  | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/1c43db08/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json 
b/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
index d9f130e..1658325 100755
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
@@ -12,7 +12,9 @@
 "SPARK_THRIFTSERVER-START" : ["NAMENODE-START", "HIVE_METASTORE-START"],
 "HAWQMASTER-START" : ["NAMENODE-START", "DATANODE-START", 
"NODEMANAGER-START"],
 "HAWQSTANDBY-START" : ["HAWQMASTER-START"],
+"HAWQSTANDBY-RESTART" : ["HAWQMASTER-RESTART"],
 "HAWQSEGMENT-START" : ["HAWQMASTER-START", "HAWQSTANDBY-START"],
+"HAWQSEGMENT-RESTART" : ["HAWQMASTER-RESTART", "HAWQSTANDBY-RESTART"],
 "HAWQ_SERVICE_CHECK-SERVICE_CHECK" : ["HAWQSEGMENT-START", 
"HDFS_SERVICE_CHECK-SERVICE_CHECK", "YARN_SERVICE_CHECK-SERVICE_CHECK", 
"PXF_SERVICE_CHECK-SERVICE_CHECK"],
 "PXF-START" : ["NAMENODE-START", "DATANODE-START"],
 "PXF_SERVICE_CHECK-SERVICE_CHECK" : ["PXF-START", 
"HDFS_SERVICE_CHECK-SERVICE_CHECK", "HBASE_SERVICE_CHECK-SERVICE_CHECK", 
"HIVE_SERVICE_CHECK-SERVICE_CHECK"],



ambari git commit: AMBARI-16192: 'Restart All' for HAWQ should follow role_command_order (Lav Jain via mithmatt)

Repository: ambari
Updated Branches:
  refs/heads/trunk 46d1d7b18 -> 7eeab53c7


AMBARI-16192: 'Restart All' for HAWQ should follow role_command_order (Lav Jain 
via mithmatt)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/7eeab53c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/7eeab53c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/7eeab53c

Branch: refs/heads/trunk
Commit: 7eeab53c715f4667afed0217721841eabadeea76
Parents: 46d1d7b
Author: Matt 
Authored: Tue May 3 10:36:50 2016 -0700
Committer: Matt 
Committed: Tue May 3 10:36:50 2016 -0700

--
 .../src/main/resources/stacks/HDP/2.3/role_command_order.json  | 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/7eeab53c/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
--
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json 
b/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
index da4146a..ce2528b 100755
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/role_command_order.json
@@ -13,7 +13,9 @@
 "SPARK_THRIFTSERVER-START" : ["NAMENODE-START", "HIVE_METASTORE-START"],
 "HAWQMASTER-START" : ["NAMENODE-START", "DATANODE-START", 
"NODEMANAGER-START"],
 "HAWQSTANDBY-START" : ["HAWQMASTER-START"],
+"HAWQSTANDBY-RESTART" : ["HAWQMASTER-RESTART"],
 "HAWQSEGMENT-START" : ["HAWQMASTER-START", "HAWQSTANDBY-START"],
+"HAWQSEGMENT-RESTART" : ["HAWQMASTER-RESTART", "HAWQSTANDBY-RESTART"],
 "HAWQ_SERVICE_CHECK-SERVICE_CHECK" : ["HAWQSEGMENT-START", 
"HDFS_SERVICE_CHECK-SERVICE_CHECK", "YARN_SERVICE_CHECK-SERVICE_CHECK", 
"PXF_SERVICE_CHECK-SERVICE_CHECK"],
 "PXF-START" : ["NAMENODE-START", "DATANODE-START"],
 "PXF_SERVICE_CHECK-SERVICE_CHECK" : ["PXF-START", 
"HDFS_SERVICE_CHECK-SERVICE_CHECK", "HBASE_SERVICE_CHECK-SERVICE_CHECK", 
"HIVE_SERVICE_CHECK-SERVICE_CHECK"],



ambari git commit: AMBARI-16209. Write out new log property files under /etc/hive2/conf (smohanty)

Repository: ambari
Updated Branches:
  refs/heads/trunk 51c0cb4ff -> 46d1d7b18


AMBARI-16209. Write out new log property files under /etc/hive2/conf (smohanty)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/46d1d7b1
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/46d1d7b1
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/46d1d7b1

Branch: refs/heads/trunk
Commit: 46d1d7b188d3f8c020f992c91406d994bac5eebc
Parents: 51c0cb4
Author: Sumit Mohanty 
Authored: Tue May 3 07:30:40 2016 -0700
Committer: Sumit Mohanty 
Committed: Tue May 3 07:30:40 2016 -0700

--
 .../package/scripts/hive_interactive.py |  29 +++--
 .../0.12.0.2.0/package/scripts/params_linux.py  |   5 +
 .../HIVE/configuration/llap-cli-log4j2.xml  | 108 +++
 .../HIVE/configuration/llap-daemon-log4j.xml|  21 +++-
 .../stacks/2.5/HIVE/test_hive_server_int.py |  12 +++
 .../python/stacks/2.5/configs/hsi_default.json  |   6 ++
 6 files changed, 167 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/46d1d7b1/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_interactive.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_interactive.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_interactive.py
index 24047ff..e8532da 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_interactive.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/hive_interactive.py
@@ -126,34 +126,43 @@ def hive_interactive(name=None):
   File(format("{hive_server_interactive_conf_dir}/hive-env.sh"),
owner=params.hive_user,
group=params.user_group,
-   content=InlineTemplate(params.hive_interactive_env_sh_template)
-   )
+   content=InlineTemplate(params.hive_interactive_env_sh_template))
+
+  llap_daemon_log4j_filename = 'llap-daemon-log4j2.properties'
+  
File(format("{hive_server_interactive_conf_dir}/{llap_daemon_log4j_filename}"),
+   mode=0644,
+   group=params.user_group,
+   owner=params.hive_user,
+   content=params.llap_daemon_log4j)
+
+  llap_cli_log4j2_filename = 'llap-cli-log4j2.properties'
+  File(format("{hive_server_interactive_conf_dir}/{llap_cli_log4j2_filename}"),
+   mode=0644,
+   group=params.user_group,
+   owner=params.hive_user,
+   content=params.llap_cli_log4j2)
 
   # On some OS this folder could be not exists, so we will create it before 
pushing there files
   Directory(params.limits_conf_dir,
 create_parents = True,
 owner='root',
-group='root'
-  )
+group='root')
 
   File(os.path.join(params.limits_conf_dir, 'hive.conf'),
owner='root',
group='root',
mode=0644,
-   content=Template("hive.conf.j2")
-  )
+   content=Template("hive.conf.j2"))
 
   if not os.path.exists(params.target_hive_interactive):
 jdbc_connector(params.target_hive_interactive)
 
   File(format("/usr/lib/ambari-agent/{check_db_connection_jar_name}"),
content = 
DownloadSource(format("{jdk_location}{check_db_connection_jar_name}")),
-   mode = 0644,
-   )
+   mode = 0644)
   File(params.start_hiveserver2_interactive_path,
mode=0755,
-   content=Template(format('{start_hiveserver2_interactive_script}'))
-   )
+   content=Template(format('{start_hiveserver2_interactive_script}')))
 
   Directory(params.hive_pid_dir,
 create_parents=True,

http://git-wip-us.apache.org/repos/asf/ambari/blob/46d1d7b1/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
--
diff --git 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
index 2e1a2af..cef2cbc 100644
--- 
a/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
+++ 
b/ambari-server/src/main/resources/common-services/HIVE/0.12.0.2.0/package/scripts/params_linux.py
@@ -538,12 +538,16 @@ HdfsResource = functools.partial(
 hive_interactive_hosts = 
default('/clusterHostInfo/hive_server_interactive_hosts', [])
 has_hive_interactive = len(hive_interactive_hosts) > 0
 if has_hive_interactive:
+  llap_daemon_log4j = config['configurations']['llap-daemon-log4j']['content']
+  llap_cli_log4j2 = 

ambari git commit: AMBARI-16207 - Provide Ability To Pass JPA / EclipseLink Properties to the DataSource (jonathanhurley)

Repository: ambari
Updated Branches:
  refs/heads/trunk 61a3ac44d -> 51c0cb4ff


AMBARI-16207 - Provide Ability To Pass JPA / EclipseLink Properties to the 
DataSource (jonathanhurley)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/51c0cb4f
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/51c0cb4f
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/51c0cb4f

Branch: refs/heads/trunk
Commit: 51c0cb4ff1d56704265014e890275dd6284bdb8c
Parents: 61a3ac4
Author: Jonathan Hurley 
Authored: Mon May 2 14:15:31 2016 -0400
Committer: Jonathan Hurley 
Committed: Tue May 3 09:43:22 2016 -0400

--
 .../server/configuration/Configuration.java | 53 ++--
 .../server/controller/ControllerModule.java | 16 +++---
 .../server/configuration/ConfigurationTest.java | 26 ++
 3 files changed, 81 insertions(+), 14 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/51c0cb4f/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index 51ada16..bf11bf6 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -235,6 +235,7 @@ public class Configuration {
   public static final String SERVER_JDBC_DRIVER_KEY = "server.jdbc.driver";
   public static final String SERVER_JDBC_URL_KEY = "server.jdbc.url";
   public static final String SERVER_JDBC_PROPERTIES_PREFIX = 
"server.jdbc.properties.";
+  public static final String SERVER_PERSISTENCE_PROPERTIES_PREFIX = 
"server.persistence.properties.";
 
   public static final String SERVER_HTTP_REQUEST_HEADER_SIZE = 
"server.http.request.header.size";
   public static final String SERVER_HTTP_RESPONSE_HEADER_SIZE = 
"server.http.response.header.size";
@@ -726,7 +727,8 @@ public class Configuration {
   private Map agentConfigsMap;
   private CredentialProvider credentialProvider = null;
   private volatile boolean credentialProviderInitialized = false;
-  private Map customDbProperties = null;
+  private Properties customDbProperties = null;
+  private Properties customPersistenceProperties = null;
   private Long configLastModifiedDate = 0L;
   private Map databaseConnectorNames = new HashMap<>();
 
@@ -2004,20 +2006,33 @@ public class Configuration {
   }
 
   /**
+   * Gets all properties that begin with {@value 
#SERVER_JDBC_PROPERTIES_PREFIX}
+   * , removing the prefix. The properties are then pre-pending with
+   * {@code eclipselink.jdbc.property.} before being returned.
+   * 
+   * These properties are used to pass JDBC driver-specific connection
+   * properties to EclipseLink.
+   * 
+   * server.jdbc.properties.loginTimeout ->
+   * eclipselink.jdbc.property.loginTimeout 
+   * server.jdbc.properties.oraclecustomname ->
+   * eclipselink.jdbc.property.oraclecustomname
+   *
* @return custom properties for database connections
*/
-  public Map getDatabaseCustomProperties() {
+  public Properties getDatabaseCustomProperties() {
 if (null != customDbProperties) {
   return customDbProperties;
 }
 
-customDbProperties = new HashMap();
+customDbProperties = new Properties();
 
 for (Entry entry : properties.entrySet()) {
   String key = entry.getKey().toString();
   String val = entry.getValue().toString();
   if (key.startsWith(SERVER_JDBC_PROPERTIES_PREFIX)) {
-
customDbProperties.put(key.substring(SERVER_JDBC_PROPERTIES_PREFIX.length()), 
val);
+key = "eclipselink.jdbc.property." + 
key.substring(SERVER_JDBC_PROPERTIES_PREFIX.length());
+customDbProperties.put(key, val);
   }
 }
 
@@ -2025,6 +2040,36 @@ public class Configuration {
   }
 
   /**
+   * Gets all properties that begin with
+   * {@value #SERVER_PERSISTENCE_PROPERTIES_PREFIX} , removing the prefix. 
These
+   * properties are used to pass JPA-specific properties to the persistence
+   * provider (such as EclipseLink).
+   * 
+   * server.persistence.properties.eclipselink.jdbc.batch-writing.size=25 ->
+   * eclipselink.jdbc.batch-writing.size=25
+   *
+   * @return custom properties for database connections
+   */
+  public Properties getPersistenceCustomProperties() {
+if (null != customPersistenceProperties) {
+  return customPersistenceProperties;
+}
+
+customPersistenceProperties = new 

ambari git commit: AMBARI-16136. Make temp filenames unique when creating files. (magyari_sandor)

Repository: ambari
Updated Branches:
  refs/heads/branch-2.2 e540e5c60 -> 35f2302ad


AMBARI-16136. Make temp filenames unique when creating files. (magyari_sandor)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/35f2302a
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/35f2302a
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/35f2302a

Branch: refs/heads/branch-2.2
Commit: 35f2302adf86691d8ef98b07f7ad7e0ff5e8fe20
Parents: e540e5c
Author: Sandor Magyari 
Authored: Mon May 2 17:44:02 2016 +0200
Committer: Sandor Magyari 
Committed: Tue May 3 15:29:50 2016 +0200

--
 .../python/resource_management/core/sudo.py | 46 
 1 file changed, 28 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/35f2302a/ambari-common/src/main/python/resource_management/core/sudo.py
--
diff --git a/ambari-common/src/main/python/resource_management/core/sudo.py 
b/ambari-common/src/main/python/resource_management/core/sudo.py
index 46fa9d0..9fb06d0 100644
--- a/ambari-common/src/main/python/resource_management/core/sudo.py
+++ b/ambari-common/src/main/python/resource_management/core/sudo.py
@@ -24,12 +24,12 @@ import os
 import tempfile
 import shutil
 import stat
+import random
 from resource_management.core import shell
-from resource_management.core.logger import Logger
 from resource_management.core.exceptions import Fail
-from ambari_commons.os_check import OSCheck
 import subprocess
 
+
 if os.geteuid() == 0:
   def chown(path, owner, group):
 uid = owner.pw_uid if owner else -1
@@ -155,21 +155,7 @@ else:
 
   # fp.write replacement
   def create_file(filename, content, encoding=None):
-"""
-if content is None, create empty file
-"""
-content = content if content else ""
-content = content.encode(encoding) if encoding else content
-
-tmpf_name = tempfile.gettempdir() + os.sep + tempfile.template + 
str(time.time())
-
-try:
-  with open(tmpf_name, "wb") as fp:
-fp.write(content)
-
-  shell.checked_call(["cp", "-f", tmpf_name, filename], sudo=True)
-finally:
-  os.unlink(tmpf_name)
+return _create_file(filename, content, True, encoding)
   
   # fp.read replacement
   def read_file(filename, encoding=None):
@@ -226,4 +212,28 @@ else:
 
   # shutil.copy replacement
   def copy(src, dst):
-shell.checked_call(["sudo", "cp", "-r", src, dst], sudo=True)
\ No newline at end of file
+shell.checked_call(["sudo", "cp", "-r", src, dst], sudo=True)
+
+def chmod_recursive(path, recursive_mode_flags, recursion_follow_links):
+  find_flags = []
+  if recursion_follow_links:
+find_flags.append('-L')
+
+  for key, flags in recursive_mode_flags.iteritems():
+shell.checked_call(["find"] + find_flags + [path, "-type", key, "-exec" , 
"chmod", flags ,"{}" ,";"])
+
+# fp.write replacement
+def _create_file(filename, content, withSudo, encoding=None):
+  """
+  if content is None, create empty file
+  """
+  content = content if content else ""
+  content = content.encode(encoding) if encoding else content
+
+  tmpf_name = tempfile.gettempdir() + os.sep + tempfile.template + 
str(time.time()) + "_" + str(random.randint(0, 1000))
+  try:
+  with open(tmpf_name, "wb") as fp:
+  fp.write(content)
+  shell.checked_call(["cp", "-f", tmpf_name, filename], sudo=withSudo)
+  finally:
+  os.unlink(tmpf_name)



ambari git commit: AMBARI-16136. Make temp filenames unique when creating files. (magyari_sandor)

Repository: ambari
Updated Branches:
  refs/heads/trunk 3d3f06ad8 -> 61a3ac44d


AMBARI-16136. Make temp filenames unique when creating files. (magyari_sandor)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/61a3ac44
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/61a3ac44
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/61a3ac44

Branch: refs/heads/trunk
Commit: 61a3ac44330dd4cf1b60ca1f40d8b7613dcc
Parents: 3d3f06a
Author: Sandor Magyari 
Authored: Mon May 2 17:44:02 2016 +0200
Committer: Sandor Magyari 
Committed: Tue May 3 15:15:35 2016 +0200

--
 .../python/resource_management/core/sudo.py | 36 +++-
 1 file changed, 20 insertions(+), 16 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/61a3ac44/ambari-common/src/main/python/resource_management/core/sudo.py
--
diff --git a/ambari-common/src/main/python/resource_management/core/sudo.py 
b/ambari-common/src/main/python/resource_management/core/sudo.py
index 5dbcddd..4ea44bc 100644
--- a/ambari-common/src/main/python/resource_management/core/sudo.py
+++ b/ambari-common/src/main/python/resource_management/core/sudo.py
@@ -25,12 +25,14 @@ import tempfile
 import shutil
 import stat
 import errno
+import random
 from resource_management.core import shell
 from resource_management.core.logger import Logger
 from resource_management.core.exceptions import Fail
 from ambari_commons.os_check import OSCheck
 import subprocess
 
+
 if os.geteuid() == 0:
   def chown(path, owner, group):
 uid = owner.pw_uid if owner else -1
@@ -195,21 +197,7 @@ else:
 
   # fp.write replacement
   def create_file(filename, content, encoding=None):
-"""
-if content is None, create empty file
-"""
-content = content if content else ""
-content = content.encode(encoding) if encoding else content
-
-tmpf_name = tempfile.gettempdir() + os.sep + tempfile.template + 
str(time.time())
-
-try:
-  with open(tmpf_name, "wb") as fp:
-fp.write(content)
-
-  shell.checked_call(["cp", "-f", tmpf_name, filename], sudo=True)
-finally:
-  os.unlink(tmpf_name)
+return _create_file(filename, content, True, encoding)
   
   # fp.read replacement
   def read_file(filename, encoding=None):
@@ -274,4 +262,20 @@ def chmod_recursive(path, recursive_mode_flags, 
recursion_follow_links):
 find_flags.append('-L')
 
   for key, flags in recursive_mode_flags.iteritems():
-shell.checked_call(["find"] + find_flags + [path, "-type", key, "-exec" , 
"chmod", flags ,"{}" ,";"])
\ No newline at end of file
+shell.checked_call(["find"] + find_flags + [path, "-type", key, "-exec" , 
"chmod", flags ,"{}" ,";"])
+
+# fp.write replacement
+def _create_file(filename, content, withSudo, encoding=None):
+  """
+  if content is None, create empty file
+  """
+  content = content if content else ""
+  content = content.encode(encoding) if encoding else content
+
+  tmpf_name = tempfile.gettempdir() + os.sep + tempfile.template + 
str(time.time()) + "_" + str(random.randint(0, 1000))
+  try:
+  with open(tmpf_name, "wb") as fp:
+  fp.write(content)
+  shell.checked_call(["cp", "-f", tmpf_name, filename], sudo=withSudo)
+  finally:
+  os.unlink(tmpf_name)
\ No newline at end of file



ambari git commit: AMBARI-16205. Disable alternate user search functionality by default. (stoader)

Repository: ambari
Updated Branches:
  refs/heads/trunk b571e4a0b -> 3d3f06ad8


AMBARI-16205. Disable alternate user search functionality by default. (stoader)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3d3f06ad
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3d3f06ad
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3d3f06ad

Branch: refs/heads/trunk
Commit: 3d3f06ad83188e086564a60b687e35a1956258b0
Parents: b571e4a
Author: Toader, Sebastian 
Authored: Tue May 3 14:53:44 2016 +0200
Committer: Toader, Sebastian 
Committed: Tue May 3 14:53:44 2016 +0200

--
 .../server/configuration/Configuration.java | 24 
 .../AmbariLdapAuthenticationProvider.java   |  8 +++-
 .../server/configuration/ConfigurationTest.java | 41 
 ...henticationProviderForDuplicateUserTest.java | 31 ++-
 .../AmbariLdapAuthenticationProviderTest.java   | 11 --
 5 files changed, 107 insertions(+), 8 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/3d3f06ad/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index 87f40d5..51ada16 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -198,6 +198,13 @@ public class Configuration {
   public static final String LDAP_USER_SEARCH_FILTER_KEY = 
"authentication.ldap.userSearchFilter";
 
   /**
+   * This configuration controls whether the use of alternate user search 
filter is enabled.
+   *
+   * If it is not set then the default
+   */
+  public static final String LDAP_ALT_USER_SEARCH_ENABLED_KEY = 
"authentication.ldap.alternateUserSearchEnabled";
+
+  /**
* When authentication through LDAP is enabled there might be cases when 
{@link #LDAP_USER_SEARCH_FILTER_KEY}
* may match multiple users in LDAP. In such cases the user is prompted to 
provide additional info, e.g. the domain
* he or she wants ot log in upon login beside the username. This filter 
will be used by Ambari Server to lookup
@@ -488,6 +495,19 @@ public class Configuration {
   private static final String LDAP_GROUP_NAMING_ATTR_DEFAULT = "cn";
   private static final String LDAP_GROUP_MEMBERSHIP_ATTR_DEFAULT = "member";
   private static final String LDAP_ADMIN_GROUP_MAPPING_RULES_DEFAULT = "Ambari 
Administrators";
+
+  /**
+   * If the default LDAP user search filter is not able to find the 
authenticating user
+   * in LDAP than Ambari can fall back an alternative user search filter if 
this
+   * functionality is enabled. Whether this functionality is enabled or 
disabled
+   * can be controlled via {@link #LDAP_ALT_USER_SEARCH_ENABLED_KEY}.
+   *
+   * If {@link #LDAP_ALT_USER_SEARCH_ENABLED_KEY} not provided in ambari 
properties
+   * than the functionality is disabled by default.
+   *
+   */
+  protected static final String LDAP_ALT_USER_SEARCH_ENABLED_DEFAULT = "false";
+
   /**
* When authentication through LDAP is enabled then Ambari Server uses this 
filter by default to lookup
* the user in LDAP if one not provided in the config via {@link 
#LDAP_USER_SEARCH_FILTER_KEY}.
@@ -2933,4 +2953,8 @@ public class Configuration {
 String udpPort = properties.getProperty(ALERTS_SNMP_DISPATCH_UDP_PORT);
 return StringUtils.isEmpty(udpPort) ? null : Integer.parseInt(udpPort);
   }
+
+  public boolean isLdapAlternateUserSearchEnabled() {
+return 
Boolean.parseBoolean(properties.getProperty(LDAP_ALT_USER_SEARCH_ENABLED_KEY, 
LDAP_ALT_USER_SEARCH_ENABLED_DEFAULT));
+  }
 }

http://git-wip-us.apache.org/repos/asf/ambari/blob/3d3f06ad/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProvider.java
--
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProvider.java
index 7b2a95c..da47407 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/security/authorization/AmbariLdapAuthenticationProvider.java
@@ -80,7 +80,11 @@ public class AmbariLdapAuthenticationProvider implements 

ambari git commit: AMBARI-16204 - Atlas Integration : Atlas start failed after removing old version of the atlas and installing new one

Repository: ambari
Updated Branches:
  refs/heads/trunk 1fce0cabb -> b571e4a0b


AMBARI-16204 - Atlas Integration : Atlas start failed after removing old 
version of the atlas and installing new one


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b571e4a0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b571e4a0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b571e4a0

Branch: refs/heads/trunk
Commit: b571e4a0b05d813adfcbbfe7f90563555844ca28
Parents: 1fce0ca
Author: tbeerbower 
Authored: Tue May 3 06:03:56 2016 -0400
Committer: tbeerbower 
Committed: Tue May 3 06:04:28 2016 -0400

--
 .../configuration/application-properties.xml|  6 ++---
 .../ATLAS/0.1.0.2.3/metainfo.xml|  6 ++---
 .../package/files/users-credentials.properties  | 21 +
 .../ATLAS/0.1.0.2.3/package/scripts/metadata.py | 24 +---
 .../package/scripts/metadata_server.py  |  9 
 .../ATLAS/0.1.0.2.3/package/scripts/params.py   |  2 ++
 .../configuration/application-properties.xml| 10 
 .../services/ATLAS/configuration/atlas-env.xml  | 10 
 .../stacks/HDP/2.5/services/ATLAS/metainfo.xml  |  4 ++--
 .../stacks/2.3/ATLAS/test_metadata_server.py|  6 +
 .../test/python/stacks/2.3/configs/default.json |  3 ++-
 .../test/python/stacks/2.3/configs/secure.json  |  3 ++-
 .../stacks/2.5/ATLAS/test_atlas_server.py   |  6 +
 .../test/python/stacks/2.5/configs/default.json |  3 ++-
 14 files changed, 94 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/b571e4a0/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
--
diff --git 
a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
 
b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
index f3ea36f..bf0467e 100644
--- 
a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
+++ 
b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/configuration/application-properties.xml
@@ -21,12 +21,12 @@
 
   
 atlas.graph.storage.backend
-hbase
+berkeleyje
 
   
   
-atlas.graph.storage.hostname
-localhost:{{atlas_hbase_zk_port}}
+atlas.graph.storage.directory
+/var/lib/atlas/data/berkeley
 
   
   

http://git-wip-us.apache.org/repos/asf/ambari/blob/b571e4a0/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
--
diff --git 
a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml 
b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
index 5d7766b..f4115f7 100644
--- 
a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
+++ 
b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/metainfo.xml
@@ -46,7 +46,7 @@
   
   
 properties
-application.properties.xml
+application.properties
 application-properties
   
   
@@ -61,7 +61,7 @@
   
   
 xml
-atlas-hbase-site.xml
+hbase-site.xml
 atlas-hbase-site
   
 
@@ -80,7 +80,7 @@
   
   
 properties
-application.properties.xml
+application.properties
 application-properties
   
   

http://git-wip-us.apache.org/repos/asf/ambari/blob/b571e4a0/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/files/users-credentials.properties
--
diff --git 
a/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/files/users-credentials.properties
 
b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/files/users-credentials.properties
new file mode 100644
index 000..4d264a0
--- /dev/null
+++ 
b/ambari-server/src/main/resources/common-services/ATLAS/0.1.0.2.3/package/files/users-credentials.properties
@@ -0,0 +1,21 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may 

ambari git commit: AMBARI-14605: '[RAM_DISK]' configured in dfs.datanode.data.dir validates failed (yaolei via mithmatt)

Repository: ambari
Updated Branches:
  refs/heads/trunk f57185fbf -> 1fce0cabb


AMBARI-14605: '[RAM_DISK]' configured in dfs.datanode.data.dir validates failed 
(yaolei via mithmatt)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1fce0cab
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1fce0cab
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1fce0cab

Branch: refs/heads/trunk
Commit: 1fce0cabb96da233a283dcb428a3abd93fc8cd4c
Parents: f57185f
Author: Matt 
Authored: Mon May 2 23:16:52 2016 -0700
Committer: Matt 
Committed: Mon May 2 23:16:52 2016 -0700

--
 ambari-web/app/utils/validator.js   | 6 +++---
 ambari-web/test/utils/validator_test.js | 5 -
 2 files changed, 7 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/1fce0cab/ambari-web/app/utils/validator.js
--
diff --git a/ambari-web/app/utils/validator.js 
b/ambari-web/app/utils/validator.js
index 9d11746..2906749 100644
--- a/ambari-web/app/utils/validator.js
+++ b/ambari-web/app/utils/validator.js
@@ -76,9 +76,9 @@ module.exports = {
* @returns {boolean}
*/
   isValidDataNodeDir: function(value) {
-var dirRegex = /^(\[[0-9a-zA-Z]+\])?(file:\/\/)?(\/[0-9a-z]*)/;
-var winRegex = /^(\[[0-9a-zA-Z]+\])?[a-zA-Z]:\\[0-9a-zA-Z]*/;
-var winUrlRegex = /^(\[[0-9a-zA-Z]+\])?file:\/\/\/[a-zA-Z]:\/[0-9a-zA-Z]*/;
+var dirRegex = 
/^(\[[0-9a-zA-Z]+_?[0-9a-zA-Z]+\])?(file:\/\/)?(\/[0-9a-z]*)/;
+var winRegex = /^(\[[0-9a-zA-Z]+_?[0-9a-zA-Z]+\])?[a-zA-Z]:\\[0-9a-zA-Z]*/;
+var winUrlRegex = 
/^(\[[0-9a-zA-Z]+_?[0-9a-zA-Z]+\])?file:\/\/\/[a-zA-Z]:\/[0-9a-zA-Z]*/;
 var dirs = value.split(',');
 if (dirs.some(function (i) {return i.startsWith(' '); })) {
   return false;

http://git-wip-us.apache.org/repos/asf/ambari/blob/1fce0cab/ambari-web/test/utils/validator_test.js
--
diff --git a/ambari-web/test/utils/validator_test.js 
b/ambari-web/test/utils/validator_test.js
index ef90561..f70d1ba 100644
--- a/ambari-web/test/utils/validator_test.js
+++ b/ambari-web/test/utils/validator_test.js
@@ -332,7 +332,10 @@ describe('validator', function () {
   {m:'"[ssd] /1a2b3c" - invalid',i:'[ssd] /1a2b3c',e:false},
   {m:'"[/1a2b3c]" - invalid',i:'[/1a2b3c]',e:false},
   {m:'"[s]ss /sd" - invalid',i:'[s]ss /sd',e:false},
-  {m:'" [s]ss/sd" - invalid',i:' [s]ss/sd',e:false}
+  {m:'" [s]ss/sd" - invalid',i:' [s]ss/sd',e:false},
+  {m:'"[RAM_DISK]/1a2b3c" - valid',i:'[RAM_DISK]/1a2b3c',e:true},
+  {m:'"[RAMDISK_]/1a2b3c" - invalid',i:'[RAMDISK_]/1a2b3c',e:false},
+  {m:'"[_RAMDISK]/1a2b3c" - invalid',i:'[_RAMDISK]/1a2b3c',e:false}
 ];
 tests.forEach(function(test) {
   it(test.m + ' ', function () {