Repository: ambari Updated Branches: refs/heads/trunk 0f8bdd7c9 -> 08d73372e
AMBARI-8926 After restarting ambari-server, I was redirected to /main/admin/versions/null page. (ababiichuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/08d73372 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/08d73372 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/08d73372 Branch: refs/heads/trunk Commit: 08d73372ef0e4e01e320afcc0bdf0624468263ee Parents: 0f8bdd7 Author: aBabiichuk <[email protected]> Authored: Fri Dec 26 18:23:41 2014 +0200 Committer: aBabiichuk <[email protected]> Committed: Fri Dec 26 18:50:32 2014 +0200 ---------------------------------------------------------------------- .../app/mappers/repository_version_mapper.js | 2 +- .../models/stack_version/repository_version.js | 1 - ambari-web/app/models/stack_version/version.js | 1 - ambari-web/app/routes/main.js | 21 ++++++++++---------- .../stack_version_details_view.js | 3 +++ .../stack_version/stack_version_details_test.js | 17 ++++++++++++++++ 6 files changed, 32 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/08d73372/ambari-web/app/mappers/repository_version_mapper.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/mappers/repository_version_mapper.js b/ambari-web/app/mappers/repository_version_mapper.js index 13b2869..99436f1 100644 --- a/ambari-web/app/mappers/repository_version_mapper.js +++ b/ambari-web/app/mappers/repository_version_mapper.js @@ -75,7 +75,7 @@ App.repoVersionMapper = App.QuickDataMapper.create({ if (json && json.items) { json.items.forEach(function (item) { - if (loadAll || (item.RepositoryVersions && !App.StackVersion.find().someProperty('repositoryVersion.id', item.RepositoryVersions.id.toString()))) { + if (loadAll || (item.RepositoryVersions && !App.StackVersion.find().someProperty('repositoryVersion.id', item.RepositoryVersions.id))) { var repo = item; var osArray = []; //TODO leave onr property name after api will be fixed http://git-wip-us.apache.org/repos/asf/ambari/blob/08d73372/ambari-web/app/models/stack_version/repository_version.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/stack_version/repository_version.js b/ambari-web/app/models/stack_version/repository_version.js index dea609c..e8a3407 100644 --- a/ambari-web/app/models/stack_version/repository_version.js +++ b/ambari-web/app/models/stack_version/repository_version.js @@ -19,7 +19,6 @@ var App = require('app'); App.RepositoryVersion = DS.Model.extend({ - id: DS.attr('string'), displayName : DS.attr('string'), repositoryVersion : DS.attr('string'), upgradePack : DS.attr('string'), http://git-wip-us.apache.org/repos/asf/ambari/blob/08d73372/ambari-web/app/models/stack_version/version.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/models/stack_version/version.js b/ambari-web/app/models/stack_version/version.js index ec5920b..e702569 100644 --- a/ambari-web/app/models/stack_version/version.js +++ b/ambari-web/app/models/stack_version/version.js @@ -19,7 +19,6 @@ var App = require('app'); App.StackVersion = DS.Model.extend({ - id: DS.attr('string'), clusterName: DS.attr('string'), stack: DS.attr('string'), version: DS.attr('string'), http://git-wip-us.apache.org/repos/asf/ambari/blob/08d73372/ambari-web/app/routes/main.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js index 17ad1c9..8b96b79 100644 --- a/ambari-web/app/routes/main.js +++ b/ambari-web/app/routes/main.js @@ -509,28 +509,29 @@ module.exports = Em.Route.extend({ adminStackVersions: Em.Route.extend({ route: '/versions', + enter: function (router) { + if (App.get('supports.stackUpgrade')) { + router.set('mainAdminController.category', "stackVersions"); + } else { + router.transitionTo('admin.stackAndUpgrade'); + } + }, index: Em.Route.extend({ route: '/', connectOutlets: function (router) { - if (App.get('supports.stackUpgrade')) { - router.set('mainAdminController.category', "stackVersions"); - router.get('mainAdminController').connectOutlet('mainStackVersions'); - } + router.get('mainAdminController').connectOutlet('mainStackVersions'); } }), version: Em.Route.extend({ route: '/:repository_version_id', - connectOutlets: function (router, stackVersion) { - router.get('mainAdminController').connectOutlet('mainStackVersionsDetails', stackVersion); + connectOutlets: function (router, repoVersion) { + router.get('mainAdminController').connectOutlet('mainStackVersionsDetails', repoVersion); } }), update: Em.Route.extend({ route: '/updates', connectOutlets: function (router) { - if (App.get('supports.stackUpgrade')) { - router.set('mainAdminController.category', "stackVersions"); - router.get('mainAdminController').connectOutlet('repoVersions'); - } + router.get('mainAdminController').connectOutlet('repoVersions'); } }) }), http://git-wip-us.apache.org/repos/asf/ambari/blob/08d73372/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js b/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js index 944a8ff..f07ab24 100644 --- a/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js +++ b/ambari-web/app/views/main/admin/stack_versions/stack_version_details_view.js @@ -121,6 +121,9 @@ App.MainStackVersionsDetailsView = Em.View.extend({ didInsertElement: function() { App.get('router.mainStackVersionsController').set('isPolling', true); + if (!App.RepositoryVersion.find().findProperty('id', this.get('content.id'))) { + App.get('router.mainStackVersionsController').load(); + } App.get('router.mainStackVersionsController').doPolling(); this.get('controller').doPolling(); }, http://git-wip-us.apache.org/repos/asf/ambari/blob/08d73372/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js b/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js index 02afe51..e574958 100644 --- a/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js +++ b/ambari-web/test/views/main/admin/stack_version/stack_version_details_test.js @@ -85,17 +85,34 @@ describe('App.MainStackVersionsDetailsView', function () { describe('#didInsertElement', function () { beforeEach(function() { sinon.stub(App.get('router.mainStackVersionsController'), 'set', Em.K); + sinon.stub(App.get('router.mainStackVersionsController'), 'load', Em.K); sinon.stub(App.get('router.mainStackVersionsController'), 'doPolling', Em.K); sinon.stub(view.get('controller'), 'doPolling', Em.K); + sinon.stub(App.RepositoryVersion, 'find', function() { + return [{id: 1}] + }); }); afterEach(function() { App.get('router.mainStackVersionsController').set.restore(); + App.get('router.mainStackVersionsController').load.restore(); App.get('router.mainStackVersionsController').doPolling.restore(); view.get('controller').doPolling.restore(); + App.RepositoryVersion.find.restore(); }); + it("runs polling and load when view is in dom" , function() { + view.set('content.id', 2); + view.didInsertElement(); + expect(App.get('router.mainStackVersionsController').set.calledWith('isPolling', true)).to.be.true; + expect(App.get('router.mainStackVersionsController').load.calledOnce).to.be.true; + expect(App.get('router.mainStackVersionsController').doPolling.calledOnce).to.be.true; + expect(view.get('controller').doPolling.calledOnce).to.be.true; + }); + it("runs polling when view is in dom" , function() { + view.set('content.id', 1); view.didInsertElement(); expect(App.get('router.mainStackVersionsController').set.calledWith('isPolling', true)).to.be.true; + expect(App.get('router.mainStackVersionsController').load.calledOnce).to.be.false; expect(App.get('router.mainStackVersionsController').doPolling.calledOnce).to.be.true; expect(view.get('controller').doPolling.calledOnce).to.be.true; });
