You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2017/01/10 18:44:29 UTC
ambari git commit: AMBARI-19447 Handle cancelling of add/delete
component by user. (ababiichuk)
Repository: ambari
Updated Branches:
refs/heads/trunk e65996f94 -> 8f8582bb8
AMBARI-19447 Handle cancelling of add/delete component by user. (ababiichuk)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8f8582bb
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8f8582bb
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8f8582bb
Branch: refs/heads/trunk
Commit: 8f8582bb81b18e703c83b7f634ee489fab8f1f71
Parents: e65996f
Author: ababiichuk <ab...@hortonworks.com>
Authored: Tue Jan 10 19:13:32 2017 +0200
Committer: ababiichuk <ab...@hortonworks.com>
Committed: Tue Jan 10 20:52:20 2017 +0200
----------------------------------------------------------------------
ambari-web/app/controllers/main/host/details.js | 25 ++++++++----
.../test/controllers/main/host/details_test.js | 40 +++++++++++++++++++-
2 files changed, 57 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/8f8582bb/ambari-web/app/controllers/main/host/details.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/host/details.js b/ambari-web/app/controllers/main/host/details.js
index e2a2d8e..1fcc14d 100644
--- a/ambari-web/app/controllers/main/host/details.js
+++ b/ambari-web/app/controllers/main/host/details.js
@@ -22,7 +22,7 @@ var hostsManagement = require('utils/hosts');
var stringUtils = require('utils/string_utils');
require('utils/configs/add_component_config_initializer');
-App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDownload, App.InstallComponent, App.InstallNewVersion, App.CheckHostMixin, {
+App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDownload, App.InstallComponent, App.InstallNewVersion, App.CheckHostMixin, App.TrackRequestMixin, {
name: 'mainHostDetailsController',
@@ -194,6 +194,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
clearConfigsChanges: function () {
var arrayNames = ['allPropertiesToChange', 'recommendedPropertiesToChange', 'requiredPropertiesToChange', 'groupedPropertiesToChange'];
+ this.abortRequests();
arrayNames.forEach(function (arrayName) {
this.get(arrayName).clear();
}, this);
@@ -462,6 +463,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
if (componentsMapItem.deletePropertyName) {
this.set(componentsMapItem.deletePropertyName, true);
}
+ this.clearConfigsChanges();
this.set('isReconfigureRequired', true);
returnFunc = this.showDeleteComponentPopup(component, componentsMapItem.configsCallbackName);
} else if (componentName === 'JOURNALNODE') {
@@ -738,6 +740,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
this.set(componentsMapItem.addPropertyName, false);
};
}
+ this.clearConfigsChanges();
this.set('isReconfigureRequired', true);
returnFunc = self.showAddComponentPopup(component, hostName, null, componentsMapItem.configsCallbackName, primary);
} else if (componentName === 'JOURNALNODE') {
@@ -870,7 +873,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
* @method loadStormConfigs
*/
loadStormConfigs: function (data) {
- App.ajax.send({
+ var request = App.ajax.send({
name: 'admin.get.all_configurations',
sender: this,
data: {
@@ -878,6 +881,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
},
success: 'onLoadStormConfigs'
});
+ this.trackRequest(request);
},
/**
@@ -1014,7 +1018,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
* @method loadWebHCatConfigs
*/
loadWebHCatConfigs: function (data) {
- return App.ajax.send({
+ var request = App.ajax.send({
name: 'admin.get.all_configurations',
sender: this,
data: {
@@ -1028,6 +1032,8 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
},
success: 'onLoadHiveConfigs'
});
+ this.trackRequest(request);
+ return request;
},
/**
@@ -1038,7 +1044,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
* @method loadHiveConfigs
*/
loadHiveConfigs: function (data) {
- return App.ajax.send({
+ var request = App.ajax.send({
name: 'admin.get.all_configurations',
sender: this,
data: {
@@ -1051,6 +1057,8 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
},
success: 'onLoadHiveConfigs'
});
+ this.trackRequest(request);
+ return request;
},
/**
@@ -1270,7 +1278,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
* @method loadRangerConfigs
*/
loadRangerConfigs: function (data) {
- App.ajax.send({
+ var request = App.ajax.send({
name: 'admin.get.all_configurations',
sender: this,
data: {
@@ -1278,6 +1286,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
},
success: 'onLoadRangerConfigs'
});
+ this.trackRequest(request);
},
/**
@@ -1445,12 +1454,13 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
* @method loadConfigs
*/
loadConfigs: function (callback) {
- App.ajax.send({
+ var request = App.ajax.send({
name: 'config.tags',
sender: this,
success: callback ? callback : 'loadConfigsSuccessCallback',
error: 'onLoadConfigsErrorCallback'
});
+ this.trackRequest(request);
},
/**
@@ -1469,7 +1479,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
loadConfigsSuccessCallback: function (data) {
var urlParams = this.constructConfigUrlParams(data);
if (urlParams.length > 0) {
- App.ajax.send({
+ var request = App.ajax.send({
name: 'reassign.load_configs',
sender: this,
data: {
@@ -1477,6 +1487,7 @@ App.MainHostDetailsController = Em.Controller.extend(App.SupportClientConfigsDow
},
success: 'saveZkConfigs'
});
+ this.trackRequest(request);
return true;
}
return false;
http://git-wip-us.apache.org/repos/asf/ambari/blob/8f8582bb/ambari-web/test/controllers/main/host/details_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/host/details_test.js b/ambari-web/test/controllers/main/host/details_test.js
index f047f15..ff5887c 100644
--- a/ambari-web/test/controllers/main/host/details_test.js
+++ b/ambari-web/test/controllers/main/host/details_test.js
@@ -525,6 +525,7 @@ describe('App.MainHostDetailsController', function () {
beforeEach(function () {
sinon.stub(controller, "checkComponentDependencies", Em.K);
sinon.stub(controller, "showAddComponentPopup", Em.K);
+ sinon.stub(controller, "clearConfigsChanges", Em.K);
sinon.stub(App, "showConfirmationPopup", Em.K);
controller.set('content', {
hostComponents: [Em.Object.create({
@@ -536,6 +537,7 @@ describe('App.MainHostDetailsController', function () {
afterEach(function () {
controller.checkComponentDependencies.restore();
controller.showAddComponentPopup.restore();
+ controller.clearConfigsChanges.restore();
App.showConfirmationPopup.restore();
});
@@ -618,7 +620,7 @@ describe('App.MainHostDetailsController', function () {
sinon.stub(controller, 'updateZkConfigs', Em.K);
sinon.stub(controller, 'saveConfigsBatch', Em.K);
controller.set('nimbusHost', 'host2');
- controller.onLoadStormConfigs(data, null, {});
+ controller.onLoadStormConfigs(data);
});
afterEach(function () {
controller.getStormNimbusHosts.restore();
@@ -3948,4 +3950,40 @@ describe('App.MainHostDetailsController', function () {
});
});
+
+ describe('#clearConfigsChanges', function () {
+
+ beforeEach(function () {
+ sinon.stub(controller, 'abortRequests', Em.K);
+ controller.setProperties({
+ allPropertiesToChange: [{}],
+ recommendedPropertiesToChange: [{}],
+ requiredPropertiesToChange: [{}],
+ groupedPropertiesToChange: [{}],
+ isReconfigureRequired: true
+ });
+ controller.clearConfigsChanges();
+ });
+
+ afterEach(function () {
+ controller.abortRequests.restore();
+ });
+
+ it('allPropertiesToChange', function () {
+ expect(controller.get('allPropertiesToChange')).to.have.length(0);
+ });
+
+ it('recommendedPropertiesToChange', function () {
+ expect(controller.get('recommendedPropertiesToChange')).to.have.length(0);
+ });
+
+ it('groupedPropertiesToChange', function () {
+ expect(controller.get('groupedPropertiesToChange')).to.have.length(0);
+ });
+
+ it('isReconfigureRequired', function () {
+ expect(controller.get('isReconfigureRequired')).to.be.false;
+ });
+
+ });
});