You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jg...@apache.org on 2018/06/20 19:04:38 UTC

[ambari] branch branch-feature-AMBARI-14714-mpack-advisor updated: [AMBARI-24095] Fixed usages of App.StackService.find(serviceName) since serviceName is no longer used as the value of the StackService model id. (#1581)

This is an automated email from the ASF dual-hosted git repository.

jgolieb pushed a commit to branch branch-feature-AMBARI-14714-mpack-advisor
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to refs/heads/branch-feature-AMBARI-14714-mpack-advisor by this push:
     new da5c87e  [AMBARI-24095] Fixed usages of App.StackService.find(serviceName) since serviceName is no longer used as the value of the StackService model id. (#1581)
da5c87e is described below

commit da5c87e374e43ea0d82cb43422024f0267b25837
Author: Jason Golieb <j...@golieb.net>
AuthorDate: Wed Jun 20 15:04:36 2018 -0400

    [AMBARI-24095] Fixed usages of App.StackService.find(serviceName) since serviceName is no longer used as the value of the StackService model id. (#1581)
    
    * [AMBARI-24095] Fixed usages of App.StackService.find(serviceName) since serviceName is no longer used as the value of the StackService model id.
    
    * Fixed installation issue.
    
    * Fixed a couple instances that were hard-coded.
---
 .../app/controllers/main/service/info/configs.js   |  6 +++---
 ambari-web/app/controllers/main/service/item.js    | 12 ++++++------
 .../service/widgets/create/wizard_controller.js    |  2 +-
 .../wizard/step7/assign_master_controller.js       |  2 +-
 .../app/controllers/wizard/step7_controller.js     |  8 +++++++-
 .../app/mixins/common/configs/configs_saver.js     |  6 +++---
 ambari-web/app/utils/config.js                     |  4 ++--
 .../views/main/dashboard/widgets/hbase_links.js    |  2 +-
 ambari-web/app/views/main/service/item.js          |  2 +-
 .../app/views/main/service/reassign/step5_view.js  |  2 +-
 .../main/service/widgets/create/expression_view.js |  2 +-
 .../controllers/main/host/configs_service_test.js  |  8 ++++++++
 .../controllers/main/service/info/config_test.js   |  6 ++++--
 .../test/controllers/main/service/item_test.js     | 22 +++++++++++++++-------
 .../wizard/step7/assign_master_controller_test.js  |  6 ++++--
 .../mixins/common/configs/configs_saver_test.js    | 21 +++++++++++++++------
 16 files changed, 73 insertions(+), 38 deletions(-)

diff --git a/ambari-web/app/controllers/main/service/info/configs.js b/ambari-web/app/controllers/main/service/info/configs.js
index c0b6b5b..e251f6d 100644
--- a/ambari-web/app/controllers/main/service/info/configs.js
+++ b/ambari-web/app/controllers/main/service/info/configs.js
@@ -324,10 +324,10 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.AddSecurityConfi
    * @returns {String[]}
    */
   getServicesDependencies: function(serviceName) {
-    var dependencies = Em.getWithDefault(App.StackService.find(serviceName), 'dependentServiceNames', []);
+    var dependencies = Em.getWithDefault(App.StackService.find().findProperty('serviceName', serviceName), 'dependentServiceNames', []);
     var loop = function(dependentServices, allDependencies) {
       return dependentServices.reduce(function(all, name) {
-        var service = App.StackService.find(name);
+        var service = App.StackService.find().findProperty('serviceName', name);
         if (!service) {
           return all;
         }
@@ -589,7 +589,7 @@ App.MainServiceInfoConfigsController = Em.Controller.extend(App.AddSecurityConfi
   onLoadOverrides: function (allConfigs) {
     this.get('servicesToLoad').forEach(function(serviceName) {
       var configGroups = serviceName === this.get('content.serviceName') ? this.get('configGroups') : this.get('dependentConfigGroups').filterProperty('serviceName', serviceName);
-      var configTypes = App.StackService.find(serviceName).get('configTypeList');
+      var configTypes = App.StackService.find().findProperty('serviceName', serviceName).get('configTypeList');
       var configsByService = this.get('allConfigs').filter(function (c) {
         return configTypes.contains(App.config.getConfigTagFromFileName(c.get('filename')));
       });
diff --git a/ambari-web/app/controllers/main/service/item.js b/ambari-web/app/controllers/main/service/item.js
index 4e67204..3e2ab88 100644
--- a/ambari-web/app/controllers/main/service/item.js
+++ b/ambari-web/app/controllers/main/service/item.js
@@ -127,8 +127,8 @@ App.MainServiceItemController = Em.Controller.extend(App.SupportClientConfigsDow
    */
   interDependentServices: function() {
     var serviceName = this.get('content.serviceName'), interDependentServices = [];
-    App.StackService.find(serviceName).get('requiredServices').forEach(function(requiredService) {
-      if (App.StackService.find(requiredService).get('requiredServices').contains(serviceName)) {
+    App.StackService.find().findProperty('serviceName', serviceName).get('requiredServices').forEach(function(requiredService) {
+      if (App.StackService.find().findProperty('serviceName', requiredService).get('requiredServices').contains(serviceName)) {
         interDependentServices.push(requiredService);
       }
     });
@@ -149,11 +149,11 @@ App.MainServiceItemController = Em.Controller.extend(App.SupportClientConfigsDow
    */
   dependentServiceNames: function() {
     return App.get('router.clusterController.isConfigsPropertiesLoaded') ?
-      App.StackService.find(this.get('content.serviceName')).get('dependentServiceNames') : [];
+      App.StackService.find().findProperty('serviceName', this.get('content.serviceName')).get('dependentServiceNames') : [];
   }.property('content.serviceName', 'App.router.clusterController.isConfigsPropertiesLoaded'),
 
   configDependentServiceNames: function() {
-    return this.get('dependentServiceNames').concat(App.StackService.find(this.get('content.serviceName')).get('requiredServices'))
+    return this.get('dependentServiceNames').concat(App.StackService.find().findProperty('serviceName', this.get('content.serviceName')).get('requiredServices'))
   }.property('dependentServiceNames'),
 
   /**
@@ -244,7 +244,7 @@ App.MainServiceItemController = Em.Controller.extend(App.SupportClientConfigsDow
         });
 
         self.get('configDependentServiceNames').forEach(function(serviceName) {
-          var configTypes = App.StackService.find(serviceName.name).get('configTypeList');
+          var configTypes = App.StackService.find().findProperty('serviceName', serviceName.name).get('configTypeList');
           if (configTypes) {
             var configsByService = allConfigs.filter(function (c) {
               return configTypes.contains(App.config.getConfigTagFromFileName(c.get('filename')));
@@ -1393,7 +1393,7 @@ App.MainServiceItemController = Em.Controller.extend(App.SupportClientConfigsDow
 
     App.Service.find().forEach(function (service) {
       if (!serviceNamesToDelete.contains(service.get('serviceName'))) {
-        var requiredServices = App.StackService.find(service.get('serviceName')).get('requiredServices');
+        var requiredServices = App.StackService.find().findProperty('serviceName', service.get('serviceName')).get('requiredServices');
         serviceNamesToDelete.forEach(function (dependsOnService) {
           if (requiredServices.contains(dependsOnService)) {
             dependentServices.push(service.get('serviceName'));
diff --git a/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js b/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js
index a46c5e4..79f6be5 100644
--- a/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js
+++ b/ambari-web/app/controllers/main/service/widgets/create/wizard_controller.js
@@ -210,7 +210,7 @@ App.WidgetWizardController = App.WizardController.extend({
       data: {
         stackVersionURL: App.get('stackVersionURL'),
         serviceNames: App.Service.find().filter(function (item) {
-          return App.StackService.find(item.get('id')).get('isServiceWithWidgets');
+          return App.StackService.find().findProperty('serviceName', item.get('id')).get('isServiceWithWidgets');
         }).mapProperty('serviceName').join(',')
       },
       callback: callback,
diff --git a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js
index ac9c33c..2d18586 100644
--- a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js
+++ b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js
@@ -357,7 +357,7 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App
     return dependentServices.filter(function (item) {
       return !App.Service.find().findProperty('serviceName', item);
     }).map(function (item) {
-      return App.StackService.find(item).get('displayName');
+      return App.StackService.find().findProperty('serviceName', item).get('displayName');
     });
   },
 
diff --git a/ambari-web/app/controllers/wizard/step7_controller.js b/ambari-web/app/controllers/wizard/step7_controller.js
index c1f376a..860df8a 100644
--- a/ambari-web/app/controllers/wizard/step7_controller.js
+++ b/ambari-web/app/controllers/wizard/step7_controller.js
@@ -754,7 +754,13 @@ App.WizardStep7Controller = App.WizardStepController.extend(App.ServerValidatorM
       var serviceName = service.get('serviceName');
       if (['MISC'].concat(this.get('allSelectedServiceNames')).contains(serviceName)) {
         var serviceConfig = App.config.createServiceConfig(serviceName);
-        serviceConfig.set('showConfig', App.StackService.find(serviceName).get('isInstallable'));
+        let stackService;
+        if (serviceName === 'MISC') {
+          stackService = App.StackService.find('MISC');
+        } else {
+          stackService = App.StackService.find().findProperty('serviceName', serviceName);
+        }
+        serviceConfig.set('showConfig', stackService.get('isInstallable'));
         if (this.get('wizardController.name') === 'addServiceController') {
           serviceConfig.set('selected', !this.get('installedServiceNames').concat('MISC').contains(serviceName));
           if (serviceName === 'MISC') {
diff --git a/ambari-web/app/mixins/common/configs/configs_saver.js b/ambari-web/app/mixins/common/configs/configs_saver.js
index c700c16..0deac16 100644
--- a/ambari-web/app/mixins/common/configs/configs_saver.js
+++ b/ambari-web/app/mixins/common/configs/configs_saver.js
@@ -75,7 +75,7 @@ App.ConfigsSaverMixin = Em.Mixin.create({
    * @type {App.StackService[]}
    */
   currentServices: function() {
-    return [App.StackService.find(this.get('content.serviceName'))];
+    return [App.StackService.find().findProperty('serviceName', this.get('content.serviceName'))];
   }.property('content.serviceName'),
 
   /**
@@ -327,7 +327,7 @@ App.ConfigsSaverMixin = Em.Mixin.create({
 
     //generates list of properties that was changed
     var modifiedConfigs = this.getModifiedConfigs(configs);
-    var serviceFileNames = Object.keys(App.StackService.find(serviceName).get('configTypes')).map(function (type) {
+    var serviceFileNames = Object.keys(App.StackService.find().findProperty('serviceName', serviceName).get('configTypes')).map(function (type) {
       return App.config.getOriginalFileName(type);
     });
 
@@ -439,7 +439,7 @@ App.ConfigsSaverMixin = Em.Mixin.create({
    *
    * @returns {boolean}
    */
-  allowSaveCoreSite: function() {
+  allowSaveCoreSite: function () {
     return this.get('currentServices').some(function(service) {
       return (this.get('coreSiteServiceNames').contains(service.get('serviceName'))
         || this.get('coreSiteServiceType') === service.get('serviceType'));
diff --git a/ambari-web/app/utils/config.js b/ambari-web/app/utils/config.js
index ee3b6d3..c95b0e6 100644
--- a/ambari-web/app/utils/config.js
+++ b/ambari-web/app/utils/config.js
@@ -1085,7 +1085,7 @@ App.config = Em.Object.create({
     if (!serviceName || unsupportedServiceNames.contains(serviceName) || !filename) {
       return false;
     } else {
-      var stackService = App.StackService.find(serviceName);
+      var stackService = App.StackService.find().findProperty('serviceName', serviceName);
       if (!stackService) {
         return false;
       }
@@ -1104,7 +1104,7 @@ App.config = Em.Object.create({
       if (!stackServiceName) {
         return false;
       }
-      var stackService = App.StackService.find(serviceName);
+      var stackService = App.StackService.find().findProperty('serviceName', serviceName);
       return !!this.getConfigTypesInfoFromService(stackService).supportsAddingForbidden.find(function (configType) {
         return filename.startsWith(configType);
       });
diff --git a/ambari-web/app/views/main/dashboard/widgets/hbase_links.js b/ambari-web/app/views/main/dashboard/widgets/hbase_links.js
index 9600094..f5d4cb0 100644
--- a/ambari-web/app/views/main/dashboard/widgets/hbase_links.js
+++ b/ambari-web/app/views/main/dashboard/widgets/hbase_links.js
@@ -23,7 +23,7 @@ App.HBaseLinksView = App.LinkDashboardWidgetView.extend({
   templateName: require('templates/main/dashboard/widgets/hbase_links'),
 
   port: function() {
-    return App.StackService.find('HBASE').compareCurrentVersion('1.1') > -1 ? '16010' : '60010';
+    return App.StackService.find().findProperty('serviceName', 'HBASE').compareCurrentVersion('1.1') > -1 ? '16010' : '60010';
   }.property(),
 
   componentName: 'HBASE_REGIONSERVER',
diff --git a/ambari-web/app/views/main/service/item.js b/ambari-web/app/views/main/service/item.js
index 1d4e5a6..a3694f0 100644
--- a/ambari-web/app/views/main/service/item.js
+++ b/ambari-web/app/views/main/service/item.js
@@ -353,7 +353,7 @@ App.MainServiceItemView = Em.View.extend({
   hasMetricTab: function() {
     let serviceName = this.get('controller.content.serviceName');
     let graphs = require('data/service_graph_config')[serviceName.toLowerCase()];
-    return graphs || App.StackService.find(serviceName).get('isServiceWithWidgets');
+    return graphs || App.StackService.find().findProperty('serviceName', serviceName).get('isServiceWithWidgets');
   }.property('controller.content.serviceName'),
 
   didInsertElement: function () {
diff --git a/ambari-web/app/views/main/service/reassign/step5_view.js b/ambari-web/app/views/main/service/reassign/step5_view.js
index 9c4f39d..3024a47 100644
--- a/ambari-web/app/views/main/service/reassign/step5_view.js
+++ b/ambari-web/app/views/main/service/reassign/step5_view.js
@@ -29,7 +29,7 @@ App.ReassignMasterWizardStep5View = Em.View.extend({
       return '';
     }
     var
-      atsDir = App.StackService.find('YARN').compareCurrentVersion('2.7') > -1 ? "timeline-state-store.ldb" : "leveldb-timeline-store.ldb",
+      atsDir = App.StackService.find().findProperty('serviceName', 'YARN').compareCurrentVersion('2.7') > -1 ? "timeline-state-store.ldb" : "leveldb-timeline-store.ldb",
       componentDir = this.get('controller.content.componentDir') || '',
       componentDirCmd = componentDir.replace(/,/g, ' '),
       sourceHost = this.get('controller.content.reassignHosts.source'),
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 7d4854f..4e5195c 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
@@ -390,7 +390,7 @@ App.AddMetricExpressionView = Em.View.extend({
         serviceName: serviceName,
         //in order to support panel lists
         href: '#' + serviceName,
-        displayName: App.StackService.find(serviceName).get('displayName'),
+        displayName: App.StackService.find().findProperty('serviceName', serviceName).get('displayName'),
         count: servicesMap[serviceName].count,
         components: components
       }));
diff --git a/ambari-web/test/controllers/main/host/configs_service_test.js b/ambari-web/test/controllers/main/host/configs_service_test.js
index 85f98b3..ac6aef3 100644
--- a/ambari-web/test/controllers/main/host/configs_service_test.js
+++ b/ambari-web/test/controllers/main/host/configs_service_test.js
@@ -108,12 +108,20 @@ describe('App.MainHostServiceConfigsController', function () {
         return { always: Em.K };
       });
       sinon.stub(controller, 'trackRequest');
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: function () {
+          return Em.Object.create({
+            dependentServiceNames: []
+          });
+        }
+      });
     });
     afterEach(function() {
       controller.loadCurrentVersions.restore();
       controller.loadConfigTheme.restore();
       App.themesMapper.generateAdvancedTabs.restore();
       controller.trackRequest.restore();
+      App.StackService.find.restore();
     });
 		it("should set host", function () {
 			controller.set('content', {
diff --git a/ambari-web/test/controllers/main/service/info/config_test.js b/ambari-web/test/controllers/main/service/info/config_test.js
index 857ab6e..96bef9e 100644
--- a/ambari-web/test/controllers/main/service/info/config_test.js
+++ b/ambari-web/test/controllers/main/service/info/config_test.js
@@ -1069,8 +1069,10 @@ describe("App.MainServiceInfoConfigsController", function () {
       createService('YARN', ['HIVE'])
     ];
     beforeEach(function() {
-      sinon.stub(App.StackService, 'find', function(serviceName) {
-        return stackServices.findProperty('serviceName', serviceName);
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: function (prop, serviceName) {
+          return stackServices.findProperty('serviceName', serviceName);
+        }
       });
     });
     afterEach(function() {
diff --git a/ambari-web/test/controllers/main/service/item_test.js b/ambari-web/test/controllers/main/service/item_test.js
index bac09b7..81d553f 100644
--- a/ambari-web/test/controllers/main/service/item_test.js
+++ b/ambari-web/test/controllers/main/service/item_test.js
@@ -1387,8 +1387,10 @@ describe('App.MainServiceItemController', function () {
 
     beforeEach(function() {
       mainServiceItemController = App.MainServiceItemController.create({});
-      sinon.stub(App.StackService, 'find', function (serviceName) {
-        return stackServiceModel[serviceName];
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: function (prop, serviceName) {
+          return stackServiceModel[serviceName];
+        }
       });
       this.mockService = sinon.stub(App.Service, 'find');
     });
@@ -1679,8 +1681,10 @@ describe('App.MainServiceItemController', function () {
     var mainServiceItemController;
 
     beforeEach(function() {
-      sinon.stub(App.StackService, 'find', function (serviceName) {
-        return stackServiceModel[serviceName];
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: function (prop, serviceName) {
+          return stackServiceModel[serviceName];
+        }
       });
       mainServiceItemController = App.MainServiceItemController.create({
         content: {}
@@ -1939,9 +1943,13 @@ describe('App.MainServiceItemController', function () {
           serviceName: serviceName
         }
       });
-      sinon.stub(App.StackService, 'find').returns(Em.Object.create({
-        dependentServiceNames: dependentServiceNames
-      }));
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: function () {
+          return Em.Object.create({
+            dependentServiceNames: dependentServiceNames
+          });
+        }
+      });
     });
 
     afterEach(function () {
diff --git a/ambari-web/test/controllers/wizard/step7/assign_master_controller_test.js b/ambari-web/test/controllers/wizard/step7/assign_master_controller_test.js
index 2e1839a..fb0ebe1 100644
--- a/ambari-web/test/controllers/wizard/step7/assign_master_controller_test.js
+++ b/ambari-web/test/controllers/wizard/step7/assign_master_controller_test.js
@@ -307,8 +307,10 @@ describe('App.AssignMasterOnStep7Controller', function () {
       sinon.stub(App.Service, 'find').returns([
         {serviceName: 'S1'}
       ]);
-      sinon.stub(App.StackService, 'find', function(input) {
-        return Em.Object.create({displayName: input});
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: function (prop, input) {
+          return Em.Object.create({ displayName: input });
+        }
       });
     });
 
diff --git a/ambari-web/test/mixins/common/configs/configs_saver_test.js b/ambari-web/test/mixins/common/configs/configs_saver_test.js
index 22768af..edbaf45 100644
--- a/ambari-web/test/mixins/common/configs/configs_saver_test.js
+++ b/ambari-web/test/mixins/common/configs/configs_saver_test.js
@@ -33,9 +33,12 @@ describe('App.ConfigsSaverMixin', function() {
   });
 
   describe("#currentServices", function () {
+    var findProperty = sinon.stub().returns({});
 
     beforeEach(function() {
-      sinon.stub(App.StackService, 'find').returns({});
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: findProperty
+      });
     });
 
     afterEach(function() {
@@ -45,7 +48,7 @@ describe('App.ConfigsSaverMixin', function() {
     it("should return currentServices", function() {
       mixin.set('content.serviceName', 'S1');
       expect(mixin.get('currentServices')).to.be.eql([{}]);
-      expect(App.StackService.find.calledWith('S1')).to.be.true;
+      expect(findProperty.calledWith('serviceName', 'S1')).to.be.true;
     });
   });
 
@@ -614,7 +617,9 @@ describe('App.ConfigsSaverMixin', function() {
   describe("#allowSaveCoreSite()", function () {
 
     it("empty currentServices", function() {
-      mixin.set('currentServices', []);
+      mixin.reopen({
+        currentServices: []
+      });
       expect(mixin.allowSaveCoreSite()).to.be.false;
     });
 
@@ -1129,9 +1134,13 @@ describe('App.ConfigsSaverMixin', function() {
 
     beforeEach(function() {
       sinon.stub(App.config, 'textareaIntoFileConfigs');
-      sinon.stub(App.StackService, 'find').returns(Em.Object.create({
-        configTypes: {'k1': 't1'}
-      }));
+      sinon.stub(App.StackService, 'find').returns({
+        findProperty: function () {
+          return Em.Object.create({
+            configTypes: { 'k1': 't1' }
+          });
+        }
+      });
       sinon.stub(App.config, 'getOriginalFileName').returns('file1');
       this.mockSave = sinon.stub(mixin, 'saveSiteConfigs');
       this.mockJSON = sinon.stub(mixin, 'generateDesiredConfigsJSON');