Repository: ambari Updated Branches: refs/heads/trunk 9bbb43e57 -> 23c73e67a
AMBARI-6792. FE work for download client configurations. additional (alexantonenko) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/23c73e67 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/23c73e67 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/23c73e67 Branch: refs/heads/trunk Commit: 23c73e67a986cb97658ae56e502368529f6e1712 Parents: 9bbb43e Author: Alex Antonenko <hiv...@gmail.com> Authored: Tue Aug 12 19:32:33 2014 +0300 Committer: Alex Antonenko <hiv...@gmail.com> Committed: Tue Aug 12 19:36:50 2014 +0300 ---------------------------------------------------------------------- .../internal/ClientConfigResourceProvider.java | 2 +- ambari-web/app/messages.js | 4 ++- ambari-web/app/utils/components.js | 27 +++++++++++++++----- 3 files changed, 24 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/23c73e67/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java index a948012..a4817a8 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClientConfigResourceProvider.java @@ -143,7 +143,7 @@ public class ClientConfigResourceProvider extends AbstractControllerResourceProv List<ClientConfigFileDefinition> clientConfigFiles = componentInfo.getClientConfigFiles(); if (clientConfigFiles == null) { - throw new SystemException("No cofiguration files defined for the component"); + throw new SystemException("No configuration files defined for the component " + componentInfo.getName()); } String stackRoot = managementController.getAmbariMetaInfo().getStackRoot().getAbsolutePath(); http://git-wip-us.apache.org/repos/asf/ambari/blob/23c73e67/ambari-web/app/messages.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js index a4052ca..eb2d0d2 100644 --- a/ambari-web/app/messages.js +++ b/ambari-web/app/messages.js @@ -1179,7 +1179,9 @@ Em.I18n.translations = { 'services.service.summary.clientCount': '{0} Client Hosts', 'services.service.summary.historyServer': 'History Server Web UI', 'services.service.actions.downloadClientConfigs':'Download Client Configs', - 'services.service.actions.downloadClientConfigs.fail.popup.body':'Generation of {0} configurations file has failed. Do you want to try again?', + 'services.service.actions.downloadClientConfigs.fail.noConfigFile':'No configuration files defined for the component', + 'services.service.actions.downloadClientConfigs.fail.popup.header':'{0} Configs', + 'services.service.actions.downloadClientConfigs.fail.popup.body':'Generation of {0} configurations file has failed with {1} error: <br /><pre><span class="text-error">{2}</span></pre>Do you want to try again?', 'services.service.actions.run.rebalancer':'Run Rebalancer', 'services.service.actions.run.rebalanceHdfsNodes':'Rebalance HDFS', 'services.service.actions.run.rebalanceHdfsNodes.title':'HDFS Rebalance', http://git-wip-us.apache.org/repos/asf/ambari/blob/23c73e67/ambari-web/app/utils/components.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/utils/components.js b/ambari-web/app/utils/components.js index 11c2eec..3fb8d87 100644 --- a/ambari-web/app/utils/components.js +++ b/ambari-web/app/utils/components.js @@ -96,13 +96,26 @@ module.exports = { (isForHost ? 'hosts/' + data.hostName + '/host_components/' : 'services/' + data.serviceName + '/components/') + data.componentName + '?format=client_config_tar'; var self = this; - $.fileDownload(url).fail(function () { - var popup = App.showConfirmationPopup(function () { - popup.hide(); - self.downloadClientConfigs({ - context: Em.Object.create(data) - }); - }, Em.I18n.t('services.service.actions.downloadClientConfigs.fail.popup.body').format(data.displayName)) + $.fileDownload(url).fail(function (error) { + var errorObj = JSON.parse($(error).text()); + var isNoConfigs = errorObj.message.contains(Em.I18n.t('services.service.actions.downloadClientConfigs.fail.noConfigFile')); + var errorMessage = isNoConfigs ? Em.I18n.t('services.service.actions.downloadClientConfigs.fail.noConfigFile') : + Em.I18n.t('services.service.actions.downloadClientConfigs.fail.popup.body').format(data.displayName, errorObj.status, errorObj.message); + App.ModalPopup.show({ + header: Em.I18n.t('services.service.actions.downloadClientConfigs.fail.popup.header').format(data.displayName), + bodyClass: Ember.View.extend({ + template: Em.Handlebars.compile(errorMessage) + }), + secondary: isNoConfigs ? false : Em.I18n.t('common.cancel'), + onPrimary: function () { + this.hide(); + if (!isNoConfigs) { + self.downloadClientConfigs({ + context: Em.Object.create(data) + }) + } + } + }); }); }