ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ababiic...@apache.org
Subject [02/19] ambari git commit: AMBARI-8918 Remove support for HDP 1.3 Stack in Ambari 2.0.0. (ababiichuk)
Date Thu, 25 Dec 2014 15:46:06 GMT
http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/mappers/jobs_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/jobs_mapper.js b/ambari-web/app/mappers/jobs_mapper.js
deleted file mode 100644
index 9e9896b..0000000
--- a/ambari-web/app/mappers/jobs_mapper.js
+++ /dev/null
@@ -1,142 +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.
- */
-
-var App = require('app');
-var fillEmptyValues = function(self, obj) {
-  $.each(self.config, function(field, value) {
-    if (obj[value].length == 0) {
-      obj[value].push({x: 0, y: 0});
-    };
-  });
-};
-
-App.jobsMapper = App.QuickDataMapper.create({
-  model:App.Job,
-  map:function (json) {
-    if (!this.get('model')) {
-      return;
-    }
-    if (json.jobs) {
-      var result = [];
-      json.jobs.forEach(function (item) {
-        result.push(this.parseIt(item, this.config));
-      }, this);
-
-      var r = Ember.ArrayProxy.create({"content":[]});
-      result.forEach(function(item){
-        r.content.push(App.Job2.create(item));
-      });
-
-      this.set('controller.content.jobs', r.content);
-    }
-  },
-  config:{
-    id:'jobId',
-    run_id:'workflowId',
-    job_name:'jobName',
-    workflow_entity_name:'workflowEntityName',
-    user_name:'userName',
-    submit_time:'submitTime',
-    maps:'maps',
-    reduces:'reduces',
-    status:'status',
-    input:'inputBytes',
-    output:'outputBytes',
-    elapsed_time:'elapsedTime'
-  }
-});
-
-App.jobTimeLineMapper = App.QuickDataMapper.create({
-  model: null, //model will be set outside of mapper
-  config:{
-    map:'map',
-    shuffle:'shuffle',
-    reduce:'reduce'
-  },
-  map:function (json) {
-    var job = this.get('model'); // @model App.MainAppsItemBarView
-    var parseResult = this.parseIt(json, this.config);
-    var self = this;
-    $.each(parseResult, function (field, value) {
-      var d = self.coordinatesModify(value);
-      d.reverse();
-      d = self.coordinatesModify(d);
-      d.reverse();
-      job.set(field, d);
-    });
-    fillEmptyValues(this, job);
-  },
-
-  coordinatesModify: function(data) {
-    var d = this.zeroAdding(data);
-    d.reverse();
-    d = this.zeroAdding(d);
-    d.reverse();
-    return d;
-  },
-
-  zeroAdding: function(data) {
-    var d = [];
-    var last_y = 0;
-    data.forEach(function(coordinates) {
-      if (coordinates.y != 0 && last_y == 0) {
-        d.push({x: coordinates.x, y: 0});
-      }
-      d.push(coordinates);
-      last_y = coordinates.y;
-    });
-    return d;
-  }
-});
-
-App.taskTimeLineMapper = App.QuickDataMapper.create({
-  model: null, //model will be set outside of mapper
-  config:{
-    allmap:'map',
-    allshuffle:'shuffle',
-    allreduce:'reduce'
-  },
-  map:function (json) {
-    var job = this.get('model'); // @model App.MainAppsItemBarView
-    var parseResult = this.parseIt(json, this.config);
-
-    $.each(parseResult, function (field, value) {
-      job.set(field, value);
-    });
-    fillEmptyValues(this, job);
-  }
-});
-
-App.jobTasksMapper = App.QuickDataMapper.create({
-  model: null, //model will be set outside of mapper
-  config:{
-    mapNodeLocal:'mapNodeLocal',
-    mapRackLocal:'mapRackLocal',
-    mapOffSwitch:'mapOffSwitch',
-    reduceOffSwitch:'reduceOffSwitch',
-    submit:'submitTime',
-    finish:'finishTime'
-  },
-  map:function (json) {
-    var job = this.get('model'); // @model App.MainAppsItemBarView
-    var parseResult = this.parseIt(json, this.config);
-    $.each(parseResult, function (field, value) {
-      job.set(field, value);
-    });
-  }
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/mappers/runs_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/runs_mapper.js b/ambari-web/app/mappers/runs_mapper.js
deleted file mode 100644
index ecf9ae1..0000000
--- a/ambari-web/app/mappers/runs_mapper.js
+++ /dev/null
@@ -1,92 +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.
- */
-
-var App = require('app');
-
-App.runsMapper = App.QuickDataMapper.create({
-  model : App.Run,
-  map : function(json) {
-    if(!this.get('model')) {
-      return;
-    }
-    if(json && json.aaData) {
-      var result = [];
-
-      var pagination_info={
-        iTotalDisplayRecords :json.iTotalDisplayRecords ,
-        iTotalRecords:json.iTotalRecords,
-        startIndex:parseInt(json.startIndex)+1,
-        endIndex:parseInt(json.endIndex)+1
-      };
-
-      json.aaData.forEach(function(item, index) {
-        result.push(this.generateWorkflow(item, index));
-      }, this);
-
-      var r = [];
-      result.forEach(function(item){
-        r.push(App.Run2.create(item));
-      });
-
-      App.router.get('mainAppsController').set('content', r);
-      App.router.get('mainAppsController').set('serverData', json.summary);
-      App.router.get('mainAppsController').set('paginationObject', pagination_info);
-    }
-
-
-  },
-
-  generateWorkflow: function(item, index) {
-    var o = this.parseIt(item, this.config);
-
-    var r = '{dag: {';
-    item.workflowContext.workflowDag.entries.forEach(function(item) {
-      r += '"' + item.source + '": [';
-      // if a standalone MapReduce job, there won't be any targets
-      if (item.targets) {
-        item.targets.forEach(function(target) {
-          r += '"' + target + '",';
-        });
-        if(item.targets.length){
-          r = r.substr(0, r.length - 1);
-        }
-      }
-      else {
-        r += item.source;
-      }
-      r += '],';
-    });
-    r = r.substr(0, r.length - 1);
-    r += '}}';
-    o.workflowContext = r;
-    o.index = index + 1;
-    return o;
-  },
-
-  config : {
-    id: 'workflowId',
-    appName: 'workflowName',
-    numJobsTotal: 'numJobsTotal',
-    numJobsCompleted: 'numJobsCompleted',
-    userName:'userName',
-    startTime: 'startTime',
-    elapsedTime: 'elapsedTime',
-    input: 'inputBytes',
-    output: 'outputBytes'
-  }
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 2f3c8b5..d6243a8 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -2396,18 +2396,6 @@ Em.I18n.translations = {
   'timeRange.presets.1month':'1mo',
   'timeRange.presets.1year':'1yr',
 
-  'apps.item.dag.job': 'Job',
-  'apps.item.dag.jobId': 'Job Id',
-  'apps.item.dag.type': 'Job Type',
-  'apps.item.dag.status': 'Status',
-  'apps.item.dag.num_stages': 'Total Stages',
-  'apps.item.dag.stages': 'Tasks per Stage',
-  'apps.item.dag.maps': 'Maps',
-  'apps.item.dag.reduces': 'Reduces',
-  'apps.item.dag.input': 'Input',
-  'apps.item.dag.output': 'Output',
-  'apps.item.dag.duration': 'Duration',
-
   'tableView.filters.all': 'All',
   'tableView.filters.filtered': 'Filtered',
   'tableView.filters.clearFilters': 'Clear filters',
@@ -2428,27 +2416,6 @@ Em.I18n.translations = {
   'jobs.column.duration':'Duration',
   'jobs.new_jobs.info':'New jobs available on server.',
 
-  'apps.table.column.appId':'App ID',
-  'apps.table.column.runDate': 'Run Date',
-  'apps.avgTable.avg': 'Avg',
-  'apps.avgTable.min': 'Min',
-  'apps.avgTable.max': 'Max',
-  'apps.avgTable.jobs': 'Jobs',
-  'apps.avgTable.input': 'Input',
-  'apps.avgTable.output': 'Output',
-  'apps.avgTable.duration': 'Duration',
-  'apps.avgTable.oldest': 'Oldest',
-  'apps.avgTable.mostRecent': 'Most Recent',
-  'apps.filters.customRunDate':'Run Date custom filter',
-  'apps.filters.nothingToShow': 'No jobs to display',
-  'apps.filters.filterComponents': 'Filter by <strong>Component</strong>',
-  'apps.dagCharts.popup':'Job Charts',
-  'apps.dagCharts.popup.job': 'Job',
-  'apps.dagCharts.popup.dag':'Job Timeline',
-  'apps.dagCharts.popup.tasks':'Job Tasks',
-  'apps.isRunning.popup.title':'Is running',
-  'apps.isRunning.popup.content':'Job is running now',
-
   'mirroring.dataset.dataSets':'Datasets',
   'mirroring.dataset.createDataset':'Create Dataset',
   'mirroring.dataset.editDataset':'Edit Dataset',

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/mixins/wizard/addSecurityConfigs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/wizard/addSecurityConfigs.js b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
index c93570c..7567e21 100644
--- a/ambari-web/app/mixins/wizard/addSecurityConfigs.js
+++ b/ambari-web/app/mixins/wizard/addSecurityConfigs.js
@@ -27,17 +27,9 @@ App.AddSecurityConfigs = Em.Mixin.create({
 
   kerberosDescriptor: {},
 
-  secureProperties: function () {
-    if (App.get('isHadoop2Stack')) {
-      return require('data/HDP2/secure_properties').configProperties;
-    } else {
-      return require('data/secure_properties').configProperties;
-    }
-  }.property('App.isHadoop2Stack'),
+  secureProperties: require('data/HDP2/secure_properties').configProperties,
 
-  secureMapping: function () {
-    return (App.get('isHadoop2Stack')) ? require('data/HDP2/secure_mapping') : require('data/secure_mapping');
-  }.property('App.isHadoop2Stack'),
+  secureMapping: require('data/HDP2/secure_mapping'),
 
   serviceUsersBinding: 'App.router.mainAdminSecurityController.serviceUsers',
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/models.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models.js b/ambari-web/app/models.js
index 787dcfb..2ee85df 100644
--- a/ambari-web/app/models.js
+++ b/ambari-web/app/models.js
@@ -53,16 +53,11 @@ require('models/alert_group');
 require('models/user');
 require('models/host');
 require('models/rack');
-require('models/job');
-require('models/run');
-require('models/app');
 require('models/background_operation');
 require('models/client_component');
 require('models/host_component');
 require('models/target_cluster');
 require('models/slave_component');
-require('classes/run_class');
-require('classes/job_class');
 require('models/config_group');
 require('models/service_config_version');
 require('models/host_stack_version');

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/models/app.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/app.js b/ambari-web/app/models/app.js
deleted file mode 100644
index 7952e83..0000000
--- a/ambari-web/app/models/app.js
+++ /dev/null
@@ -1,68 +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.
- */
-
-
-var App = require('app');
-
-App.App = DS.Model.extend({
-  appName: DS.attr('string'),
-  type: DS.attr('string'),
-  numJobsTotal: DS.attr('number'),
-  userName: DS.attr('string'),
-  executionTime: DS.attr('string'),
-  runs: DS.hasMany('App.Run')
-});
-
-App.App.FIXTURES = [
-  {
-    id: 1,
-    app_name: 'pigs.sh',
-    type: 'Hive',
-    num_jobs_total: 5,
-    user_name: 'root',
-    execution_time: '1347629541543',
-    runs: [1, 2, 3]
-  },
-  {
-    id: 2,
-    app_name: 'pigsm.sh',
-    type: 'pig',
-    num_jobs_total: 3,
-    user_name: 'user1',
-    execution_time: '1347656741515',
-    runs: [6, 4, 5]
-  },
-  {
-    id: 3,
-    app_name: 'pigsmo.sh',
-    type: 'pig',
-    num_jobs_total: 4,
-    user_name: 'user3',
-    execution_time: '1347629587687',
-    runs: [7, 8, 9, 10, 11]
-  },
-  {
-    id: 4,
-    app_name: 'pigsmok.sh',
-    type: 'MapReduce',
-    num_jobs_total: 0,
-    user_name: 'root',
-    execution_time: '134762957834',
-    runs: []
-  }
-];

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/models/job.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/job.js b/ambari-web/app/models/job.js
deleted file mode 100644
index e26ca84..0000000
--- a/ambari-web/app/models/job.js
+++ /dev/null
@@ -1,61 +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.
- */
-
-
-var App = require('app');
-var date = require('utils/date');
-var misc = require('utils/misc');
-
-App.Job = DS.Model.extend({
-
-  run: DS.belongsTo('App.Run'),
-
-  jobName: DS.attr('string'),
-  workflowEntityName: DS.attr('string'),
-  userName: DS.attr('string'),
-  confPath: DS.attr('string'),
-  submitTime: DS.attr('number'),
-  maps: DS.attr('number'),
-  reduces: DS.attr('number'),
-  status: DS.attr('string'),
-  input: DS.attr('number'),
-  output: DS.attr('number'),
-  elapsedTime: DS.attr('number'),
-  duration: function () {
-    return date.timingFormat(parseInt(this.get('elapsedTime')));
-  }.property('elapsedTime'),
-  jobTimeLine: DS.attr('string'),
-  jobTaskView: DS.attr('string'),
-  /**
-   *  Sum of input bandwidth for all jobs with appropriate measure
-   */
-  inputFormatted: function () {
-    var input = this.get('input');
-    return misc.formatBandwidth(input);
-  }.property('input'),
-  /**
-   *  Sum of output bandwidth for all jobs with appropriate measure
-   */
-  outputFormatted: function () {
-    var output = this.get('output');
-    return misc.formatBandwidth(output);
-  }.property('output')
-
-});
-
-App.Job.FIXTURES = [];

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/models/run.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/run.js b/ambari-web/app/models/run.js
deleted file mode 100644
index ef54ee0..0000000
--- a/ambari-web/app/models/run.js
+++ /dev/null
@@ -1,116 +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.
- */
-
-
-var App = require('app');
-var date = require('utils/date');
-var misc = require('utils/misc');
-
-App.Run = DS.Model.extend({
-  appName: DS.attr('string'),
-  userName:DS.attr('string'),
-  numJobsTotal: DS.attr('number'),
-  numJobsCompleted: DS.attr('number'),
-  startTime:DS.attr('string'),
-  elapsedTime:DS.attr('string'),
-  workflowContext:DS.attr('string'),
-  input: DS.attr('number'),
-  output: DS.attr('number'),
-
-  loadAllJobs : false,
-
-  isStared: false,
-  isFiltered: false,
-
-  /**
-   * runId  short part
-   */
-  idFormatted: function() {
-    return this.get('id').substr(0, 20);
-  }.property('id'),
-
-  /**
-   * Jobs in the current run
-   */
-  jobs: function() {
-    return App.Job.find().filterProperty('run.id', this.get('id'));
-  }.property('loadAllJobs'),
-
-  /**
-   * Run duration
-   */
-  duration: function() {
-    return date.timingFormat(parseInt(this.get('elapsedTime')));
-  }.property('elapsedTime'),
-  /**
-   * Status of running jobs
-   */
-  isRunning: function () {
-    return !this.get('numJobsTotal') == this.get('numJobsCompleted');
-  }.property('numJobsTotal', 'numJobsCompleted'),
-  /**
-   * Sum of input bandwidth for all jobs with appropriate measure
-   */
-  inputFormatted: function () {
-    var input = this.get('input');
-    input = misc.formatBandwidth(input);
-    return input;
-  }.property('input'),
-
-  /**
-   *  Sum of output bandwidth for all jobs with appropriate measure
-   */
-  outputFormatted: function () {
-    var output = this.get('output');
-    output = misc.formatBandwidth(output);
-    return output;
-  }.property('output'),
-
-  /**
-   *
-   */
-  lastUpdateTime: function() {
-    return parseInt(this.get('startTime')) + parseInt(this.get('elapsedTime'));
-  }.property('elapsedTime', 'startTime'),
-  /**
-   *
-   */
-  lastUpdateTimeFormatted: function() {
-    return date.dateFormat(this.get('lastUpdateTime'));
-  }.property('lastUpdateTime'),
-  lastUpdateTimeFormattedShort: function(){
-    return date.dateFormatShort(this.get('lastUpdateTime'));
-  }.property('lastUpdateTime'),
-  /**
-   * Type value based on first part of id
-   */
-  type: function() {
-    if (this.get('id').indexOf('pig_') === 0) {
-      return 'Pig';
-    }
-    if (this.get('id').indexOf('hive_') === 0) {
-      return 'Hive';
-    }
-    if (this.get('id').indexOf('mr_') === 0) {
-      return 'MapReduce';
-    }
-    return '';
-  }.property('id')
-});
-
-App.Run.FIXTURES = [];

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/routes/main.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js
index 49060e4..17ad1c9 100644
--- a/ambari-web/app/routes/main.js
+++ b/ambari-web/app/routes/main.js
@@ -154,19 +154,6 @@ module.exports = Em.Route.extend({
     }
   }),
 
-  apps: Em.Route.extend({
-    route: '/apps',
-    connectOutlets: function (router) {
-      if (App.get('isHadoop2Stack')) {
-        Em.run.next(function () {
-          router.transitionTo('main.dashboard.index');
-        });
-      } else {
-        router.get('mainAppsController').loadRuns();
-        router.get('mainController').connectOutlet('mainApps');
-      }
-    }
-  }),
 
   mirroring: Em.Route.extend({
     route: '/mirroring',

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/templates/main/apps.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/apps.hbs b/ambari-web/app/templates/main/apps.hbs
deleted file mode 100644
index efcfc98..0000000
--- a/ambari-web/app/templates/main/apps.hbs
+++ /dev/null
@@ -1,113 +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.
-}}
-
-<div id="apps">
-  <table class="table table-bordered avg-table">
-    <tbody>
-    <tr>
-      <td></td>
-      <td>{{t apps.avgTable.jobs}}</td>
-      <td>{{t apps.avgTable.input}}</td>
-      <td>{{t apps.avgTable.output}}</td>
-      <td>{{t apps.avgTable.duration}}</td>
-      <td>{{t apps.avgTable.oldest}}</td>
-      <td>{{t apps.avgTable.mostRecent}}</td>
-    </tr>
-    <tr class="avg-info">
-      <td>{{t apps.avgTable.avg}}</td>
-      <td>{{summary.jobs.avg}}</td>
-      <td>{{summary.input.avg}}</td>
-      <td>{{summary.output.avg}}</td>
-      <td>{{summary.duration.avg}}</td>
-      <td>{{summary.times.oldest}}</td>
-      <td>{{summary.times.youngest}}</td>
-
-    </tr>
-    <tr class="compare-info">
-      <td>{{t apps.avgTable.min}} / {{t apps.avgTable.max}}</td>
-      <td>{{summary.jobs.min}} / {{summary.jobs.max}}</td>
-      <td>{{summary.input.min}} / {{summary.input.max}}</td>
-      <td>{{summary.output.min}} / {{summary.output.max}}</td>
-      <td>{{summary.duration.min}} / {{summary.duration.max}}</td>
-      <td></td>
-      <td></td>
-    </tr>
-    </tbody>
-  </table>
-
-  <div class="filter_info">
-
-    <div class="span4" id="filter_buttons">{{t common.show}}:
-      <a class="all" {{action "clickViewType" target="view"}} data-view-type="all">{{t tableView.filters.all}}
-        ({{controller.paginationObject.iTotalRecords}})</a> &#124;
-      <a class="filtered" {{action "clickViewType" target="view"}} data-view-type="filtered">{{t tableView.filters.filtered}}
-        ({{controller.filterObject.filteredDisplayRecords}})</a>
-    </div>
-    <div class="span2 clear_filter">
-        <a {{action "clearFilters" target="controller"}}>{{t tableView.filters.clearFilters}}</a>
-    </div>
-    <div class="search-bar">
-        {{view view.appSearchThrough valueBinding="controller.filterObject.sSearch"}}
-    </div>
-  </div>
-
-  <table class="table table-striped runsList">
-    <thead>
-    {{#view view.wrapSorting}}
-      {{#each controller.columnsName}}
-        {{#view view.parentView.sortingColumns contentBinding="this"}}
-          {{name}}
-        {{/view}}
-      {{/each}}
-    {{/view}}
-    <tr>
-      <th>{{view view.appIdFilterView}}</th>
-      <th>{{view view.nameFilterView}}</th>
-      <th>{{view view.typeFilterView}}</th>
-      <th>{{view view.userFilterView}}</th>
-      <th>{{view view.jobsFilterView}}</th>
-      <th>{{view view.inputFilterView}}</th>
-      <th>{{view view.outputFilterView}}</th>
-      <th>{{view view.durationFilterView}}</th>
-      <th>{{view view.runDateFilterView}}</th>
-    </tr>
-    </thead>
-    <tbody>
-       {{#if  view.emptyData}}
-         <tr>
-           <td class="no-data" {{bindAttr colspan="controller.columnsName.content.length"}}>{{t apps.filters.nothingToShow}}</td>
-         </tr>
-       {{else}}
-         {{#each run in content}}
-           {{view view.containerRow runBinding="run" currentViewBinding="view.appTableRow"}}
-         {{/each}}
-       {{/if}}
-    </tbody>
-  </table>
-
-  <div class="page-bar">
-      <div class="items-on-page">
-          <label>{{t common.show}}: {{view view.runPerPageSelectView viewName="runPerPageSelectView" selectionBinding="controller.filterObject.iDisplayLength"}}</label>
-      </div>
-      <div class="info">{{view.paginationInfo}}</div>
-      <div class="paging_two_button">
-          {{view view.paginationLeft}}
-          {{view view.paginationRight}}
-      </div>
-  </div>
-</div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/templates/main/apps/item.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/apps/item.hbs b/ambari-web/app/templates/main/apps/item.hbs
deleted file mode 100644
index c6f1c6d..0000000
--- a/ambari-web/app/templates/main/apps/item.hbs
+++ /dev/null
@@ -1,34 +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.
-}}
-
-<td colspan="10">
-  <ul class="nav nav-tabs">
-    {{#each tab in view.menuTabs}}
-    <li {{bindAttr class="tab.active"}} {{action "switchTab" tab target="view" }}>
-      <a href="javascript:void(0)">{{tab.label}}</a>
-    </li>
-    {{/each}}
-  </ul>
-  <div class="content">
-    {{view view.containerView}}
-  </div>
- </td>
-
-
-
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/templates/main/apps/item/bar.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/apps/item/bar.hbs b/ambari-web/app/templates/main/apps/item/bar.hbs
deleted file mode 100644
index d9b388e..0000000
--- a/ambari-web/app/templates/main/apps/item/bar.hbs
+++ /dev/null
@@ -1,20 +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.
-}}
-
-<div id="job_tasks"></div>
-<div class="clearfix"></div>

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/templates/main/apps/item/dag.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/apps/item/dag.hbs b/ambari-web/app/templates/main/apps/item/dag.hbs
deleted file mode 100644
index 457d566..0000000
--- a/ambari-web/app/templates/main/apps/item/dag.hbs
+++ /dev/null
@@ -1,64 +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.
-}}
-    <div id="dag_viewer"></div>
-
-    <div id="dag_viewer_legend">
-      <ul>
-        <li><span id="job"></span>Unfinished Job</li>
-        <li><span id="allmap"></span>All Maps on Cluster</li>
-        <li><span id="allshuffle"></span>All Shuffles on Cluster</li>
-        <li><span id="allreduce"></span>All Reduces on Cluster</li>
-        <li><span id="jobdone"></span>Finished Job</li>
-        <li><span id="map"></span>Maps for this App</li>
-        <li><span id="shuffle"></span>Shuffles for this App</li>
-        <li><span id="reduce"></span>Reduces for this App</li>
-      </ul>
-    </div>
-
-    <table class="table table-bordered table-striped" id="innerTable">
-      <thead>
-      <tr>
-        {{#view view.sortView contentBinding="controller.content.jobs"}}
-          {{#if view.parentView.hasManyJobs}}{{view view.parentView.nameSort}}{{/if}}
-          {{view view.parentView.idSort}}
-          {{view view.parentView.statusSort}}
-          {{view view.parentView.mapsSort}}
-          {{view view.parentView.reducesSort}}
-          {{view view.parentView.inputSort}}
-          {{view view.parentView.outputSort}}
-          {{view view.parentView.durationSort}}
-        {{/view}}
-      </tr>
-      </thead>
-      <tbody>
-      {{#each job in controller.content.jobs}}
-      <tr>
-        {{#if view.hasManyJobs}}<td>{{job.workflow_entity_name}}</td>{{/if}}
-        <td>{{job.id}}</td>
-        <td>{{job.status}}</td>
-        <td>{{job.maps}}</td>
-        <td>{{job.reduces}}</td>
-        <td>{{job.inputFormatted}}</td>
-        <td>{{job.outputFormatted}}</td>
-        <td>{{job.duration}}</td>
-      </tr>
-      {{/each}}
-      </tbody>
-    </table>
-
-

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/templates/main/apps/list_row.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/apps/list_row.hbs b/ambari-web/app/templates/main/apps/list_row.hbs
deleted file mode 100644
index a926248..0000000
--- a/ambari-web/app/templates/main/apps/list_row.hbs
+++ /dev/null
@@ -1,35 +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.
-}}
-
-<td class="appId" title="{{unbound run.id}}">{{unbound run.idFormatted}}</td>
-<td>{{unbound run.appName}}</td>
-<td>{{unbound run.type}}</td>
-<td>{{unbound run.userName}}</td>
-<td>{{unbound run.numJobsTotal}}</td>
-<td>{{unbound run.inputFormatted}}</td>
-<td>{{unbound run.outputFormatted}}</td>
-<td>{{unbound run.duration}}</td>
-{{#if run.isRunning}}
-<td rel="popover" {{translateAttr title="apps.isRunning.popup.title" data-content="apps.isRunning.popup.content"}}>
-    <span title="{{unbound run.lastUpdateTimeFormatted}}">{{unbound run.lastUpdateTimeFormattedShort}}</span>
-    <b class='red'>*</b></td>
-{{else}}
-<td>
-    <span title="{{unbound run.lastUpdateTimeFormatted}}">{{unbound run.lastUpdateTimeFormattedShort}}</span>
-</td>
-{{/if}}

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/templates/main/apps/user_filter.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/apps/user_filter.hbs b/ambari-web/app/templates/main/apps/user_filter.hbs
deleted file mode 100644
index 16f6046..0000000
--- a/ambari-web/app/templates/main/apps/user_filter.hbs
+++ /dev/null
@@ -1,31 +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.
-}}
-<button class="btn btn-info single-btn-group" {{action "clickFilterButton" target="view"}}>
-  {{t common.user}}&nbsp;<span class="caret"></span>
-</button>
-<ul class="dropdown-menu filter-components">
-  {{#each user in view.users}}
-    <li>
-      <label class="checkbox">{{view Ember.Checkbox checkedBinding="user.checked"}} {{user.name}}</label>
-    </li>
-  {{/each}}
-  <li>
-    <button class="btn" {{action "closeFilter" target="view"}}>{{t common.cancel}}</button>
-    <button class="btn btn-primary" {{action "applyFilter" target="view"}}>{{t common.apply}}</button>
-  </li>
-</ul>

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/utils/config.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/config.js b/ambari-web/app/utils/config.js
index ddb50e2..a6bac39 100644
--- a/ambari-web/app/utils/config.js
+++ b/ambari-web/app/utils/config.js
@@ -108,12 +108,7 @@ App.config = Em.Object.create({
     this.set('preDefinedServiceConfigs', services);
   },
 
-  configMapping: function () {
-    if (App.get('isHadoop2Stack')) {
-      return require('data/HDP2/config_mapping');
-    }
-    return require('data/config_mapping');
-  }.property('App.isHadoop2Stack'),
+  configMapping: require('data/HDP2/config_mapping'),
 
   preDefinedSiteProperties: function () {
     var sitePropertiesForCurrentStack = this.preDefinedConfigFile('site_properties');
@@ -123,18 +118,11 @@ App.config = Em.Object.create({
 
     if (App.get('isHadoop22Stack')) {
       return require('data/HDP2.2/site_properties').configProperties;
-    } else if (App.get('isHadoop2Stack')) {
-      return require('data/HDP2/site_properties').configProperties;
     }
-    return require('data/site_properties').configProperties;
-  }.property('App.isHadoop2Stack', 'App.isHadoop22Stack', 'App.currentStackName'),
+    return require('data/HDP2/site_properties').configProperties;
+  }.property('App.isHadoop22Stack', 'App.currentStackName'),
 
-  preDefinedCustomConfigs: function () {
-    if (App.get('isHadoop2Stack')) {
-      return require('data/HDP2/custom_configs');
-    }
-    return require('data/custom_configs');
-  }.property('App.isHadoop2Stack'),
+  preDefinedCustomConfigs: require('data/HDP2/custom_configs'),
 
   preDefinedConfigFile: function(file) {
     try {
@@ -186,10 +174,7 @@ App.config = Em.Object.create({
   },
 
   //configs with these filenames go to appropriate category not in Advanced
-  customFileNames: function () {
-    var customFiles = ['flume-conf.xml'];
-    return customFiles;
-  }.property('App.isHadoop2Stack'),
+  customFileNames: ['flume-conf.xml'],
 
   /**
    * Function should be used post-install as precondition check should not be done only after installer wizard
@@ -301,17 +286,10 @@ App.config = Em.Object.create({
 
   capacitySchedulerFilter: function () {
     var yarnRegex = /^yarn\.scheduler\.capacity\.root\.([a-z]([\_\-a-z0-9]{0,50}))\.(acl_administer_jobs|acl_submit_jobs|state|user-limit-factor|maximum-capacity|capacity)$/i;
-    if (App.get('isHadoop2Stack')) {
-      return function (_config) {
-        return (yarnRegex.test(_config.name));
-      }
-    } else {
-      return function (_config) {
-        return (_config.name.indexOf('mapred.capacity-scheduler.queue.') !== -1) ||
-          (/^mapred\.queue\.[a-z]([\_\-a-z0-9]{0,50})\.(acl-administer-jobs|acl-submit-job)$/i.test(_config.name));
-      }
+    return function (_config) {
+      return (yarnRegex.test(_config.name));
     }
-  }.property('App.isHadoop2Stack'),
+  }.property(),
   /**
    * return:
    *   configs,
@@ -952,13 +930,12 @@ App.config = Em.Object.create({
   createAdvancedPropertyObject: function(item) {
     var serviceName = item.service_name;
     var fileName = item.type;
-    var isHDP2 = App.get('isHadoop2Stack');
     /**
      * Properties from mapred-queue-acls.xml are ignored
      * Properties from capacity-scheduler.xml are ignored unless HDP stack version is 2.x or
      * HDP stack version is 1.x
      */
-    if (fileName == 'mapred-queue-acls.xml' || (fileName == 'capacity-scheduler.xml' && !isHDP2)) return false;
+    if (fileName == 'mapred-queue-acls.xml') return false;
     item.isVisible = true;
     var property = {
       serviceName: serviceName,
@@ -984,7 +961,7 @@ App.config = Em.Object.create({
    */
   advancedConfigIdentityData: function(config) {
     var propertyData = {};
-    var proxyUserGroupServices = App.get('isHadoop2Stack') ? ['HIVE', 'OOZIE', 'FALCON'] : ['HIVE', 'OOZIE'];
+    var proxyUserGroupServices = ['HIVE', 'OOZIE', 'FALCON'];
 
     if (config.property_type.contains('USER') || config.property_type.contains('GROUP')) {
       propertyData.id = "puppet var";

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views.js b/ambari-web/app/views.js
index 7dc70a9..79c3774 100644
--- a/ambari-web/app/views.js
+++ b/ambari-web/app/views.js
@@ -289,10 +289,6 @@ require('views/main/charts/heatmap');
 require('views/main/charts/heatmap/heatmap_rack');
 require('views/main/charts/heatmap/heatmap_host');
 require('views/main/charts/heatmap/heatmap_host_detail');
-require('views/main/apps_view');
-require('views/main/apps/item_view');
-require('views/main/apps/item/bar_view');
-require('views/main/apps/item/dag_view');
 
 require('views/main/views_view');
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/common/configs/service_configs_by_category_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/service_configs_by_category_view.js b/ambari-web/app/views/common/configs/service_configs_by_category_view.js
index 2d64452..2edbc89 100644
--- a/ambari-web/app/views/common/configs/service_configs_by_category_view.js
+++ b/ambari-web/app/views/common/configs/service_configs_by_category_view.js
@@ -133,7 +133,7 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, {
       var stepConfigs = this.get("controller.stepConfigs");
       this.affectedProperties = [];
       var curConfigs = "";
-      var affectedPropertyName = App.get('isHadoop2Stack') ? "dfs.permissions.superusergroup" : "dfs.permissions.supergroup";
+      var affectedPropertyName = "dfs.permissions.superusergroup";
       if (changedProperty.get("name") == "hdfs_user") {
         curConfigs = stepConfigs.findProperty("serviceName", "HDFS").get("configs");
         if (newValue != curConfigs.findProperty("name", affectedPropertyName).get("value")) {
@@ -161,34 +161,6 @@ App.ServiceConfigsByCategoryView = Em.View.extend(App.UserPref, {
           );
         }
       }
-      else if (changedProperty.get("name") == "hbase_user" && !App.get('isHadoop2Stack')) {
-        curConfigs = stepConfigs.findProperty("serviceName", "HDFS").get("configs");
-        if (newValue != curConfigs.findProperty("name", "dfs.block.local-path-access.user").get("value")) {
-          this.affectedProperties.push(
-            {
-              serviceName: "HDFS",
-              propertyName: "dfs.block.local-path-access.user",
-              propertyDisplayName: "dfs.block.local-path-access.user",
-              newValue: newValue,
-              curValue: curConfigs.findProperty("name", "dfs.block.local-path-access.user").get("value"),
-              changedPropertyName: "hbase_user"
-            }
-          );
-        }
-        var hbaseCurConfigs = stepConfigs.findProperty("serviceName", "HBASE").get("configs");
-        if (newValue != hbaseCurConfigs.findProperty("name", "hbase.superuser").get("value")) {
-          this.affectedProperties.push(
-            {
-              serviceName: "HBASE",
-              propertyName: "hbase.superuser",
-              propertyDisplayName: "hbase.superuser",
-              newValue: newValue,
-              curValue: hbaseCurConfigs.findProperty("name", "hbase.superuser").get("value"),
-              changedPropertyName: "hbase_user"
-            }
-          );
-        }
-      }
       else if (changedProperty.get("name") == "user_group") {
         if (!((this.get("controller.selectedServiceNames").indexOf("MAPREDUCE") >= 0) || (this.get("controller.selectedServiceNames").indexOf("YARN") >= 0))) {
           return;

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/common/quick_view_link_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/quick_view_link_view.js b/ambari-web/app/views/common/quick_view_link_view.js
index 75bf691..c4265af 100644
--- a/ambari-web/app/views/common/quick_view_link_view.js
+++ b/ambari-web/app/views/common/quick_view_link_view.js
@@ -281,7 +281,8 @@ App.QuickViewLinks = Em.View.extend({
         hosts[0] = this.findComponentHost(response.items, "STORM_UI_SERVER");
         break;
       default:
-        if (App.StackService.find().findProperty('serviceName', serviceName).get('hasMaster')) {
+        var service = App.StackService.find().findProperty('serviceName', serviceName);
+        if (service && service.get('hasMaster')) {
           hosts[0] = this.findComponentHost(response.items, this.get('content.hostComponents') && this.get('content.hostComponents').findProperty('isMaster', true).get('componentName'));
         }
         break;
@@ -308,13 +309,8 @@ App.QuickViewLinks = Em.View.extend({
   setProtocol: function (service_id, configProperties, ambariProperties) {
     var hadoopSslEnabled = false;
     if (configProperties && configProperties.length > 0) {
-      var coreSite = configProperties.findProperty('type', 'core-site');
       var hdfsSite = configProperties.findProperty('type', 'hdfs-site');
-      if (App.get('isHadoop2Stack')) {
-        hadoopSslEnabled = (Em.get(hdfsSite, 'properties') && hdfsSite.properties['dfs.http.policy'] === 'HTTPS_ONLY');
-      } else {
-        hadoopSslEnabled = (Em.get(coreSite, 'properties') && coreSite.properties['hadoop.ssl.enabled'] == true);
-      }
+      hadoopSslEnabled = (hdfsSite && Em.get(hdfsSite, 'properties') && hdfsSite.properties['dfs.http.policy'] === 'HTTPS_ONLY');
     }
     switch (service_id) {
       case "GANGLIA":
@@ -324,7 +320,7 @@ App.QuickViewLinks = Em.View.extend({
         return (ambariProperties && ambariProperties['nagios.https'] == true) ? "https" : "http";
         break;
       case "YARN":
-        var yarnProperties = configProperties.findProperty('type', 'yarn-site');
+        var yarnProperties = configProperties && configProperties.findProperty('type', 'yarn-site');
         if (yarnProperties && yarnProperties.properties) {
           if (yarnProperties.properties['yarn.http.policy'] === 'HTTPS_ONLY') {
             return "https";
@@ -335,7 +331,7 @@ App.QuickViewLinks = Em.View.extend({
         return hadoopSslEnabled ? "https" : "http";
         break;
       case "MAPREDUCE2":
-        var mapred2Properties = configProperties.findProperty('type', 'mapred-site');
+        var mapred2Properties = configProperties && configProperties.findProperty('type', 'mapred-site');
         if (mapred2Properties && mapred2Properties.properties) {
           if (mapred2Properties.properties['mapreduce.jobhistory.http.policy'] === 'HTTPS_ONLY') {
             return "https";

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/main/apps/item/bar_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/apps/item/bar_view.js b/ambari-web/app/views/main/apps/item/bar_view.js
deleted file mode 100644
index 939d8c8..0000000
--- a/ambari-web/app/views/main/apps/item/bar_view.js
+++ /dev/null
@@ -1,68 +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.
- */
-
-var App = require('app');
-var graph = require('utils/graph');
-
-App.MainAppsItemBarView = Em.View.extend({
-  elementId:'bars',
-  templateName:require('templates/main/apps/item/bar'),
-  content:function () {
-    return this.get('controller.content.jobs');
-  }.property('controller.content.jobs'),
-  onLoad:function () {
-    if (!this.get('controller.content.loadAllJobs') || this.get('activeJob')) {
-      return;
-    }
-
-    var self = this;
-    Ember.run.next(function(){
-      self.updateTasksView();
-    });
-  }.observes('controller.content.loadAllJobs'),
-  didInsertElement:function () {
-    this.onLoad();
-  },
-  draw:function () {
-  },
-
-  mapNodeLocal:false,
-  mapRackLocal:false,
-  mapOffSwitch:false,
-  reduceOffSwitch:false,
-  submit:false,
-  finish:false,
-
-  updateTasksView:function () {
-    var url = App.get('testMode') ? '/data/apps/jobs/taskview.json' : App.get('apiPrefix') + "/jobhistory/tasklocality?workflowId=" + this.get('controller.content.id');
-    var mapper = App.jobTasksMapper;
-    mapper.set('model', this);
-    var self = this;
-    App.HttpClient.get(url, mapper,{
-      complete:function(jqXHR, textStatus) {
-        self.set('loadJobTasks', true);
-      }
-    });
-  },
-
-  drawJobTasks:function () {
-    if (!this.get('mapNodeLocal') || !this.get('mapRackLocal') || !this.get('mapOffSwitch') || !this.get('reduceOffSwitch')) {return;}
-    graph.drawJobTasks(this.get('mapNodeLocal'), this.get('mapRackLocal'), this.get('mapOffSwitch'), this.get('reduceOffSwitch'), this.get('controller.content.startTime'), this.get('controller.content.startTime')+this.get('controller.content.elapsedTime'), this.$().width(), 300, 'job_tasks');
-  }.observes('loadJobTasks')
-
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/main/apps/item/dag_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/apps/item/dag_view.js b/ambari-web/app/views/main/apps/item/dag_view.js
deleted file mode 100644
index 6be2715..0000000
--- a/ambari-web/app/views/main/apps/item/dag_view.js
+++ /dev/null
@@ -1,184 +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.
- */
-
-var App = require('app');
-var sort = require('views/common/sort_view');
-
-App.MainAppsItemDagView = Em.View.extend({
-  templateName: require('templates/main/apps/item/dag'),
-  elementId : 'jobs',
-  content:function(){
-    return this.get('controller.content.jobs');
-  }.property('controller.content.jobs'),
-
-  classNames:['table','dataTable'],
-  /**
-   * convert content to special jobs object for DagViewer
-   */
-  jobs: function(){
-    var c = this.get('content');
-    var result = [];
-    c.forEach(function(item, index){
-      result[index] = new Object({
-        'name' : item.get('id'),
-        'entityName' : item.get('workflow_entity_name'),
-        'status' : item.get('status'),
-        'input' : item.get('input'),
-        'output' : item.get('output'),
-        'submitTime' : item.get('submit_time'),
-        'elapsedTime' : item.get('elapsed_time')
-      })
-    });
-    return result;
-  }.property('content'),
-
-  loaded : false,
-
-  hasManyJobs: function(){
-    return (this.get('content') && this.get('content').length > 1);
-  }.property('content'),
-
-  onLoad:function (){
-    if(!this.get('controller.content.loadAllJobs') || this.get('loaded')){
-      return;
-    }
-
-    this.set('loaded', true);
-
-    var self = this;
-
-    Ember.run.next(function(){
-      self.draw();
-      self.updateTimeline();
-    });
-
-  }.observes('controller.content.loadAllJobs'),
-
-  resizeModal: function () {
-    var modal = $('.modal');
-    var body = $('body');
-    modal.find('.modal-body').first().css('max-height', 'none');
-    var modalHeight = modal.height() + 300;
-    var bodyHeight = body.height();
-    if (modalHeight > bodyHeight) {
-      modal.css('top', '20px');
-      $('.modal-body').height(bodyHeight - 180);
-    } else {
-      modal.css('top', (bodyHeight - modalHeight) / 2 + 'px');
-    }
-
-    var modalWidth = modal.width();
-    var bodyWidth = body.width();
-    if (modalWidth > bodyWidth) {
-      modal.css('left', '10px');
-      modal.width(bodyWidth - 20);
-    } else {
-      modal.css('left', (bodyWidth - modalWidth) / 2 + 'px');
-    }
-  },
-
-  didInsertElement: function(){
-    this.onLoad();
-  },
-
-  loadTaskTimeline:false,
-  loadJobTimeline:false,
-  map:false,
-  shuffle:false,
-  reduce:false,
-  allmap:false,
-  allshuffle:false,
-  allreduce:false,
-
-  updateTimeline:function () {
-    var url = App.get('testMode') ? '/data/apps/jobs/timeline.json' : App.get('apiPrefix') + "/jobhistory/task?workflowId=" + this.get('controller.content.id') + "&width=" + Math.ceil(this.$().width()) + "&startTime=" + this.get('controller.content.startTime') + "&endTime=" + (this.get('controller.content.startTime')+this.get('controller.content.elapsedTime'));
-    var mapper = App.jobTimeLineMapper;
-    mapper.set('model', this);
-    var self = this;
-    App.HttpClient.get(url, mapper,{
-      complete:function(jqXHR, textStatus) {
-        self.set('loadJobTimeline', true);
-      }
-    });
-    url = App.get('testMode') ? '/data/apps/jobs/timeline.json' : App.get('apiPrefix') + "/jobhistory/task?width=" + Math.ceil(this.$().width()) + "&startTime=" + this.get('controller.content.startTime') + "&endTime=" + (this.get('controller.content.startTime')+this.get('controller.content.elapsedTime'));
-    var mapper = App.taskTimeLineMapper;
-    mapper.set('model', this);
-    var self = this;
-    App.HttpClient.get(url, mapper,{
-      complete:function(jqXHR, textStatus) {
-        self.set('loadTaskTimeline', true);
-      }
-    });
-  },
-
-  drawJobTimeline:function () {
-    if (this.get('loadJobTimeline') && this.get('loadTaskTimeline')) {
-      this.daggraph.addTimeSeries([{"name":"allmap","color":"green","values":this.get('allmap')},
-        {"name":"map","color":"green","values":this.get('map')}], 0, "Maps");
-      this.daggraph.addTimeSeries([
-        {"name":"allshuffle","color":"lightblue","values":this.get('allshuffle')},
-        {"name":"allreduce","color":"steelblue","values":this.get("allreduce")},
-        {"name":"shuffle","color":"lightblue","values":this.get('shuffle')},
-        {"name":"reduce","color":"steelblue","values":this.get("reduce")}], 1, "Reduces");
-    }
-  }.observes('loadJobTimeline', 'loadTaskTimeline'),
-
-  daggraph:false,
-
-  draw: function(){
-    var dagSchema = this.get('controller.content.workflowContext');
-    var jobs = this.get('jobs');
-    this.resizeModal();
-    this.daggraph = new DagViewer('dag_viewer')
-        .setData(dagSchema, jobs)
-        .drawDag(this.$().width(), 300, 20);
-  },
-  sortView: sort.wrapperView,
-  nameSort: sort.fieldView.extend({
-    name:'workflow_entity_name',
-    displayName: Em.I18n.t('apps.item.dag.job')
-  }),
-  idSort: sort.fieldView.extend({
-    name:'id',
-    displayName: Em.I18n.t('apps.item.dag.jobId')
-  }),
-  statusSort: sort.fieldView.extend({
-    name:'status',
-    displayName: Em.I18n.t('apps.item.dag.status')
-  }),
-  mapsSort: sort.fieldView.extend({
-    name:'maps',
-    displayName: Em.I18n.t('apps.item.dag.maps')
-  }),
-  reducesSort: sort.fieldView.extend({
-    name:'reduces',
-    displayName: Em.I18n.t('apps.item.dag.reduces')
-  }),
-  inputSort: sort.fieldView.extend({
-    name:'input',
-    displayName: Em.I18n.t('apps.item.dag.input')
-  }),
-  outputSort: sort.fieldView.extend({
-    name:'output',
-    displayName: Em.I18n.t('apps.item.dag.output')
-  }),
-  durationSort: sort.fieldView.extend({
-    name:'elapsed_time',
-    displayName: Em.I18n.t('apps.item.dag.duration')
-  })
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/main/apps/item_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/apps/item_view.js b/ambari-web/app/views/main/apps/item_view.js
deleted file mode 100644
index 29300d1..0000000
--- a/ambari-web/app/views/main/apps/item_view.js
+++ /dev/null
@@ -1,70 +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.
- */
-
-var App = require('app');
-
-App.MainAppsItemView = Em.View.extend({
-  tagName: 'tr',
-  classNames : ['containerRow'],
-  templateName:require('templates/main/apps/item'),
-  menuTabs:[
-    Em.Object.create({
-      label:Em.I18n.t('apps.dagCharts.popup.dag'),
-      active:'active',
-      content:'App.MainAppsItemDagView'
-    }),
-    Em.Object.create({
-      label:Em.I18n.t('apps.dagCharts.popup.tasks'),
-      active:'',
-      content:'App.MainAppsItemBarView'
-    })
-  ],
-  activeTab:null,
-  switchTab:function(event){
-    var tabs = this.get('menuTabs');
-    for(var i = 0; i < tabs.length; i++){
-      if(tabs[i] === event.context){
-        tabs[i].set('active', 'active');
-      }
-      else {
-        tabs[i].set('active', '');
-      }
-    }
-    this.set('activeTab', event.context);
-  },
-  didInsertElement: function(){
-    var tabs = this.get('menuTabs');
-    tabs[0].set('active', 'active');
-    tabs[1].set('active', '');
-    this.set('activeTab', tabs[0]);
-  },
-  containerView: Em.ContainerView.extend({
-    onchange:function(){
-
-      if(this.get('childViews').length){
-        this.get('childViews').get('firstObject').destroy();
-      }
-
-      var view = this.get('parentView.activeTab.content').split('.')[1];
-      view = App[view].create({
-        controllerBinding: 'App.router.mainAppsItemController'
-      });
-      this.get('childViews').pushObject(view);
-    }.observes('parentView.activeTab')
-  })
-});

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/main/apps_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/apps_view.js b/ambari-web/app/views/main/apps_view.js
deleted file mode 100644
index 68241a1..0000000
--- a/ambari-web/app/views/main/apps_view.js
+++ /dev/null
@@ -1,400 +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.
- */
-
-var App = require('app');
-var filters = require('views/common/filter_view');
-
-App.MainAppsView = Em.View.extend({
-  templateName: require('templates/main/apps'),
-  paginationInfo: function() {
-    return this.t('tableView.filters.paginationInfo').format(this.get('controller.paginationObject.startIndex'), this.get('controller.paginationObject.endIndex'), this.get('controller.paginationObject.iTotalDisplayRecords'));
-  }.property('controller.paginationObject.startIndex', 'controller.paginationObject.endIndex', 'controller.paginationObject.iTotalDisplayRecords'),
-  //Pagination left/right buttons css class
-  paginationLeft: Ember.View.extend({
-    tagName: 'a',
-    template: Ember.Handlebars.compile('<i class="icon-arrow-left"></i>'),
-    classNameBindings: ['class'],
-    class: function () {
-      if (parseInt(this.get("controller.paginationObject.startIndex")) > 1) {
-        return "paginate_previous";
-      } else {
-        return "paginate_disabled_previous";
-      }
-    }.property("controller.paginationObject.startIndex"),
-    click: function (event) {
-      if (this.get('class') == "paginate_previous") {
-        var startIndex = parseInt(this.get("controller.paginationObject.startIndex")) - 1;
-        var showRows = parseInt(this.get("controller.filterObject.iDisplayLength"));
-        var startDisplayValue = Math.max(0, startIndex - showRows);
-        this.set("controller.filterObject.iDisplayStart", startDisplayValue);
-      }
-    }
-  }),
-  paginationRight: Ember.View.extend({
-    tagName: 'a',
-    template: Ember.Handlebars.compile('<i class="icon-arrow-right"></i>'),
-    classNameBindings: ['class'],
-    class: function () {
-      if ((parseInt(this.get("controller.paginationObject.endIndex"))) < parseInt(this.get("controller.paginationObject.iTotalDisplayRecords"))) {
-        return "paginate_next";
-      } else {
-        return "paginate_disabled_next";
-      }
-    }.property("controller.paginationObject.endIndex"),
-    click: function (event) {
-      if (this.get('class') == "paginate_next") {
-        var startDisplayValue = parseInt(this.get("controller.paginationObject.endIndex"));
-        this.set("controller.filterObject.iDisplayStart", startDisplayValue);
-      }
-    }
-  }),
-
-  /**
-   * If there are table rows with runs.
-   */
-  emptyData:true,
-
-  /*
-   If no runs to display set emptyData to true and reset Avg table data, else to set emptyData to false.
-   */
-  emptyDataObserver:function(){
-    if(this.get("controller.paginationObject.iTotalRecords") != null && this.get("controller.paginationObject.iTotalDisplayRecords")>0){
-      this.set("emptyData",false);
-    }else{
-      this.set("emptyData",true);
-      this.set("controller.serverData",null);
-    }
-  }.observes("controller.paginationObject.iTotalDisplayRecords","controller.paginationObject.iTotalRecords"),
-
-
-  /**
-   * View for RunPerPage select component
-   */
-  runPerPageSelectView: Em.Select.extend({
-    selected: '10',
-    content: ['10', '25', '50', '100']
-  }),
-
-  wrapSorting: Ember.View.extend({
-    tagName: 'tr'
-  }),
-
-  sortingColumns: Ember.View.extend({
-    tagName: 'th',
-    classNameBindings: ['class', 'widthClass'],
-    class: "sorting",
-    widthClass: "",
-    content: null,
-    defaultColumn: 8,
-
-    didInsertElement: function () {
-      this.set("widthClass", "col" + this.get('content.index'));
-      if (this.get('content.index') == this.get('defaultColumn')) {
-        this.setControllerObj(this.content.index, "DESC");
-        this.set("class", "sorting_desc");
-      }
-    },
-    click: function (event) {
-      console.log(this.get('class'));
-      if (this.get('class') == "sorting") {
-        this.resetSortClass();
-        this.setControllerObj(this.get('content.index'), "ASC");
-        this.set("class", "sorting_asc");
-      } else if (this.get('class') == "sorting_asc") {
-        this.setControllerObj(this.get('content.index'), "DESC");
-        this.set("class", "sorting_desc");
-      } else if (this.get('class') == "sorting_desc") {
-        this.setControllerObj(this.get('content.index'), "ASC");
-        this.set("class", "sorting_asc");
-      }
-    },
-    resetSortClass: function () {
-      this.get("parentView.childViews").map(function (a, e) {
-        a.get("childViews")[0].set("class", "sorting")
-      });
-    },
-    setControllerObj: function (col, dir) {
-      this.set("controller.filterObject.iSortCol_0", col);
-      this.set("controller.filterObject.sSortDir_0", dir);
-    }
-  }),
-
-  /**
-   * Filter-field for Search
-   */
-  appSearchThrough: Em.TextField.extend({
-    classNames: ['input-medium'],
-    type: 'text',
-    placeholder: Em.I18n.t('common.search')
-  }),
-  /**
-   * Filter-field for App ID.
-   * Based on <code>filters</code> library
-   */
-  appIdFilterView: filters.createTextView({
-    valueBinding: "controller.filterObject.sSearch_0"
-  }),
-  /**
-   * Filter-field for name.
-   * Based on <code>filters</code> library
-   */
-  nameFilterView: filters.createTextView({
-    valueBinding: "controller.filterObject.sSearch_1",
-    fieldType: 'input-small'
-  }),
-  /**
-   * Filter-field for type.
-   * Based on <code>filters</code> library
-   */
-  typeFilterView: filters.createSelectView({
-    fieldType: 'input-small',
-    valueBinding: "controller.filterObject.runType",
-    content: [
-      {
-        value: 'Any',
-        label: 'Any'
-      },
-      {
-        value: 'Pig',
-        label: 'Pig'
-      },
-      {
-        value: 'Hive',
-        label: 'Hive'
-      },
-      {
-        value: 'MapReduce',
-        label: 'MapReduce'
-      }
-    ],
-    emptyValue: 'Any'
-  }),
-
-  /**
-   * Filter-list for User.
-   * Based on <code>filters</code> library
-   */
-  userFilterView: filters.createComponentView({
-    /**
-     * Inner FilterView. Used just to render component. Value bind to <code>mainview.value</code> property
-     * Base methods was implemented in <code>filters.componentFieldView</code>
-     */
-    filterView: filters.componentFieldView.extend({
-      templateName:require('templates/main/apps/user_filter'),
-
-      usersBinding: 'controller.users',
-
-      allComponentsChecked:false,
-      toggleAllComponents:function () {
-        var checked = this.get('allComponentsChecked');
-        this.get('users').setEach('checked', checked);
-      }.observes('allComponentsChecked'),
-
-      clearFilter:function() {
-        this.set('allComponentsChecked', false);
-
-        this.get('users').setEach('checked', false);
-
-        this._super();
-      },
-
-      applyFilter:function() {
-        this._super();
-
-        var chosenUsers = this.get('users').filterProperty('checked', true).mapProperty('name');
-        this.set('value', chosenUsers.toString());
-      }
-    }),
-
-    valueBinding: 'controller.filterObject.sSearch_3'
-  }),
-  /**
-   * Filter-field for jobs.
-   * Based on <code>filters</code> library
-   */
-  jobsFilterView: filters.createTextView({
-    fieldType: 'input-super-mini',
-    valueBinding: "controller.filterObject.jobs"
-  }),
-  /**
-   * Filter-field for Input.
-   * Based on <code>filters</code> library
-   */
-  inputFilterView: filters.createTextView({
-    fieldType: 'input-super-mini',
-    valueBinding: "controller.filterObject.input"
-  }),
-  /**
-   * Filter-field for Output.
-   * Based on <code>filters</code> library
-   */
-  outputFilterView: filters.createTextView({
-    fieldType: 'input-super-mini',
-    valueBinding: "controller.filterObject.output"
-  }),
-  /**
-   * Filter-field for Duration.
-   * Based on <code>filters</code> library
-   */
-  durationFilterView: filters.createTextView({
-    fieldType: 'input-super-mini',
-    valueBinding: "controller.filterObject.duration"
-  }),
-  /**
-   * Filter-field for RunDate.
-   * Based on <code>filters</code> library
-   */
-  runDateFilterView: filters.createSelectView({
-    fieldType: 'input-medium',
-    valueBinding: "controller.filterObject.runDate",
-    content: [
-      {
-        value: 'Any',
-        label: Em.I18n.t('any')
-      },
-      {
-        value: 'Past 1 hour',
-        label: 'Past 1 hour'
-      },
-      {
-        value: 'Past 1 Day',
-        label: 'Past 1 Day'
-      },
-      {
-        value: 'Past 2 Days',
-        label: 'Past 2 Days'
-      },
-      {
-        value: 'Past 7 Days',
-        label: 'Past 7 Days'
-      },
-      {
-        value: 'Past 14 Days',
-        label: 'Past 14 Days'
-      },
-      {
-        value: 'Past 30 Days',
-        label: 'Past 30 Days'
-      }
-    ],
-    emptyValue: 'Any'
-  }),
-
-  /**
-   * Onclick handler for Show All/Filtered buttons
-   */
-  clickViewType: function (event) {
-    this.set("controller.filterObject.viewTypeClickEvent", true);
-    if ($(event.target).hasClass("filtered") || $(event.target.parentNode).hasClass("filtered")) {
-      this.set("controller.filterObject.viewType", "filtered");
-    } else {
-      this.set("controller.filterObject.allFilterActivated", true);
-      this.set("controller.filterObject.viewType", "all");
-    }
-  },
-  /**
-   * Clears up last job ID when coming in fresh to page.
-   * Not doing this will result in failure to load job
-   * data, and subsequently the popup dialog.
-   */
-  didInsertElement: function(){
-    var self = this;
-    Em.run.next(function() {
-      self.get('_childViews').forEach(function(childView) {
-        if(childView['showClearFilter']) {
-          childView.showClearFilter();
-        }
-      });
-    });
-    this.get('controller').set('lastJobId', null);
-    this.onChangeViewType();
-  },
-  /**
-   *
-   */
-  onChangeViewType: function () {
-    var tmpViewType = this.get('controller.filterObject.viewType');
-    var filterButtons = $("#filter_buttons").children();
-    filterButtons.each(function (index, element) {
-      $(element).removeClass('selected');
-      if (tmpViewType == $(element).data('view-type')) {
-        $(element).addClass('selected');
-      }
-    });
-    this.set("controller.filterObject.viewTypeClickEvent", false);
-  }.observes("controller.filterObject.viewType"),
-
-  /**
-   * This Container View is used to render static table row(appTableRow) and additional dynamic content
-   */
-  containerRow: Em.ContainerView.extend({
-
-    /**
-     * Unique row id
-     */
-    id: function () {
-      return this.get('run.id');
-    }.property("run.id"),
-
-    /**
-     * Show/hide additional content appropriated for this row
-     */
-    expandToggle: function () {
-      //App.router.get('mainAppsItemController').set('jobsLoaded', false);
-      App.router.get('mainAppsItemController').set('content', this.get('run'));
-      App.ModalPopup.show({
-        classNames: ['big-modal'],
-        header: Em.I18n.t('apps.dagCharts.popup'),
-        bodyClass: App.MainAppsItemView.extend({
-          controllerBinding: 'App.router.mainAppsItemController'
-        }),
-        secondary: null
-      });
-    }
-  }),
-  /**
-   * Table-row view
-   */
-  appTableRow: Em.View.extend({
-    templateName: require('templates/main/apps/list_row'),
-    classNames: ['app-table-row'],
-    tagName: "tr",
-    onLoad: function() {
-      var run = this.get('parentView.run');
-      if (run.index) {
-        var strip = (run.index % 2) ? 'even' : 'odd';
-        this.$().addClass(strip);
-      }
-    }.observes('parentView.run'),
-
-    didInsertElement: function() {
-      this.onLoad();
-    },
-    mouseEnter: function (event, view) {
-      $(event.currentTarget).addClass("hover")
-    },
-    mouseLeave: function (event, view) {
-      $(event.currentTarget).removeClass("hover");
-    },
-    click: function (event, view) {
-      this.get('parentView').expandToggle();
-    }
-
-  })
-
-});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/main/host/details/host_component_views/datanode_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/host/details/host_component_views/datanode_view.js b/ambari-web/app/views/main/host/details/host_component_views/datanode_view.js
index 0ccaa21..b8f3c7d 100644
--- a/ambari-web/app/views/main/host/details/host_component_views/datanode_view.js
+++ b/ambari-web/app/views/main/host/details/host_component_views/datanode_view.js
@@ -86,36 +86,21 @@ App.DataNodeComponentView = App.HostComponentView.extend(App.Decommissionable, {
     if (curObj) {
       var liveNodesJson = App.parseJSON(curObj.LiveNodes);
       // HDP-2 stack
-      if (App.get('isHadoop2Stack')) {
-        if (liveNodesJson && liveNodesJson[hostName]) {
-          switch (liveNodesJson[hostName].adminState) {
-            case "In Service":
-              this.setStatusAs('INSERVICE');
-              break;
-            case "Decommission In Progress":
-              this.setStatusAs('DECOMMISSIONING');
-              break;
-            case "Decommissioned":
-              this.setStatusAs('DECOMMISSIONED');
-              break;
-          }
-        } else {
-          // if namenode is down, get desired_admin_state to decide if the user had issued a decommission
-          this.getDesiredAdminState();
+      if (liveNodesJson && liveNodesJson[hostName]) {
+        switch (liveNodesJson[hostName].adminState) {
+          case "In Service":
+            this.setStatusAs('INSERVICE');
+            break;
+          case "Decommission In Progress":
+            this.setStatusAs('DECOMMISSIONING');
+            break;
+          case "Decommissioned":
+            this.setStatusAs('DECOMMISSIONED');
+            break;
         }
       } else {
-        var decomNodesJson = App.parseJSON(curObj.DecomNodes);
-        var deadNodesJson = App.parseJSON(curObj.DeadNodes);
-        if (decomNodesJson && decomNodesJson[hostName]) {
-          this.setStatusAs('DECOMMISSIONING');
-        } else if (deadNodesJson && deadNodesJson[hostName]) {
-          this.setStatusAs('DECOMMISSIONED');
-        } else if (liveNodesJson && liveNodesJson[hostName]) {
-          this.setStatusAs('INSERVICE');
-        } else {
-          // if namenode is down, get desired_admin_state to decide if the user had issued a decommission
-          this.getDesiredAdminState();
-        }
+        // if namenode is down, get desired_admin_state to decide if the user had issued a decommission
+        this.getDesiredAdminState();
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/main/menu.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/menu.js b/ambari-web/app/views/main/menu.js
index 4030f5e..5f318da 100644
--- a/ambari-web/app/views/main/menu.js
+++ b/ambari-web/app/views/main/menu.js
@@ -42,11 +42,6 @@ App.MainMenuView = Em.CollectionView.extend({
           { label: Em.I18n.t('menu.item.hosts'), routing: 'hosts', hasAlertsLabel: true},
           { label: Em.I18n.t('menu.item.alerts'), routing: 'alerts'}
         );
-
-        if (!App.get('isHadoop2Stack')) {
-          result.push({ label: Em.I18n.t('menu.item.jobs'), routing: 'apps'});
-        }
-
         if (App.isAccessible('upgrade_ADMIN')) {
           result.push({ label: Em.I18n.t('menu.item.admin'), routing: 'admin'});
         }

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js b/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js
index 8f159cf..7df350c 100644
--- a/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js
+++ b/ambari-web/app/views/main/service/info/metrics/hbase/regionserver_rw_requests.js
@@ -32,11 +32,7 @@ App.ChartServiceMetricsHBASE_RegionServerReadWriteRequests = App.ChartLinearTime
   ajaxIndex: 'service.metrics.hbase.regionserver_rw_requests',
   yAxisFormatter: App.ChartLinearTimeView.CreateRateFormatter('req', 
       App.ChartLinearTimeView.DefaultFormatter),
-  title: function () {
-    return App.get('isHadoop2Stack') ? 
-        Em.I18n.t('services.service.info.metrics.hbase.regionServerRequests.2') : 
-          Em.I18n.t('services.service.info.metrics.hbase.regionServerRequests');
-  }.property('App.isHadoop2Stack'),
+  title: Em.I18n.t('services.service.info.metrics.hbase.regionServerRequests.2'),
 
   transformToSeries: function (jsonData) {
     var seriesArray = [];

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/test/app_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/app_test.js b/ambari-web/test/app_test.js
index a62424e..2b4e8db 100644
--- a/ambari-web/test/app_test.js
+++ b/ambari-web/test/app_test.js
@@ -150,64 +150,6 @@ describe('App', function () {
     });
   });
 
-  describe('#isHadoop2Stack', function () {
-    before(function () {
-      App.set('defaultStackVersion', '');
-    });
-    after(function () {
-      App.set('defaultStackVersion', 'HDP-2.0.5');
-    });
-    var testCasesWithoutHDFSDefined = [
-      {
-        title: 'if currentStackVersion is empty then isHadoop2Stack should be false',
-        currentStackVersion: '',
-        result: false
-      },
-      {
-        title: 'if currentStackVersion is "HDP-1.9.9" then isHadoop2Stack should be false',
-        currentStackVersion: 'HDP-1.9.9',
-        result: false
-      },
-      {
-        title: 'if currentStackVersion is "HDP-2.0.0" then isHadoop2Stack should be true',
-        currentStackVersion: 'HDP-2.0.0',
-        result: true
-      },
-      {
-        title: 'if currentStackVersion is "HDP-2.0.1" then isHadoop2Stack should be true',
-        currentStackVersion: 'HDP-2.0.1',
-        result: true
-      }
-    ];
-
-    testCasesWithoutHDFSDefined.forEach(function (test) {
-      it(test.title, function () {
-        App.set('currentStackVersion', test.currentStackVersion);
-        expect(App.get('isHadoop2Stack')).to.equal(test.result);
-        App.set('currentStackVersion', "HDP-1.2.2");
-      });
-    });
-
-
-    it('HDFS service version should get priority when defined', function () {
-      var stackServices = [
-        Em.Object.create({
-          serviceName: 'HDFS',
-          serviceVersion: '2.1'
-        })
-      ];
-      sinon.stub(App.StackService, 'find', function () {
-        return stackServices;
-      });
-      App.set('currentStackVersion', '0.8');
-      App.set('isStackServicesLoaded', true);
-      expect(App.get('isHadoop2Stack')).to.equal(true);
-      App.set('isStackServicesLoaded', false);
-      App.set('currentStackVersion', "HDP-1.2.2");
-      App.StackService.find.restore();
-    });
-  });
-
   describe('#isHaEnabled when HDFS is installed:', function () {
 
     beforeEach(function () {
@@ -225,24 +167,17 @@ describe('App', function () {
       App.Service.find.restore();
     });
 
-    it('if hadoop stack version less than 2 then isHaEnabled should be false', function () {
-      App.set('currentStackVersion', 'HDP-1.3.1');
-      expect(App.get('isHaEnabled')).to.equal(false);
-      App.set('currentStackVersion', "HDP-1.2.2");
-    });
     it('if hadoop stack version higher than 2 then isHaEnabled should be true', function () {
-      App.set('currentStackVersion', 'HDP-2.0.1');
+      App.set('isStackServicesLoaded', true);
       expect(App.get('isHaEnabled')).to.equal(true);
-      App.set('currentStackVersion', "HDP-1.2.2");
+      App.set('isStackServicesLoaded', false);
     });
     it('if cluster has SECONDARY_NAMENODE then isHaEnabled should be false', function () {
       App.store.load(App.HostComponent, {
         id: 'SECONDARY_NAMENODE',
         component_name: 'SECONDARY_NAMENODE'
       });
-      App.set('currentStackVersion', 'HDP-2.0.1');
       expect(App.get('isHaEnabled')).to.equal(false);
-      App.set('currentStackVersion', "HDP-1.2.2");
     });
   });
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/test/controllers/main/admin/security/add/addSecurity_controller_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/security/add/addSecurity_controller_test.js b/ambari-web/test/controllers/main/admin/security/add/addSecurity_controller_test.js
index 5b38194..c48760d 100644
--- a/ambari-web/test/controllers/main/admin/security/add/addSecurity_controller_test.js
+++ b/ambari-web/test/controllers/main/admin/security/add/addSecurity_controller_test.js
@@ -57,52 +57,6 @@ describe('App.AddSecurityController', function () {
     });
   });
 
-  describe('#secureServices', function () {
-
-    afterEach(function () {
-      App.get.restore();
-    });
-
-    it('App.isHadoop2Stack = false', function () {
-      var result = [
-        "GENERAL",
-        "HDFS",
-        "MAPREDUCE",
-        "HIVE",
-        "HBASE",
-        "ZOOKEEPER",
-        "OOZIE",
-        "NAGIOS"
-      ];
-      sinon.stub(App, 'get', function () {
-        return false;
-      });
-      Em.propertyDidChange(App, 'isHadoop2Stack');
-      expect(controller.get('secureServices').mapProperty('serviceName')).to.eql(result);
-    });
-    it('App.isHadoop2Stack = true', function () {
-      var result = [
-        "GENERAL",
-        "HDFS",
-        "MAPREDUCE2",
-        "YARN",
-        "HIVE",
-        "HBASE",
-        "ZOOKEEPER",
-        "OOZIE",
-        "NAGIOS",
-        "STORM",
-        "FALCON",
-        "KNOX"
-      ];
-      sinon.stub(App, 'get', function () {
-        return true;
-      });
-      Em.propertyDidChange(App, 'isHadoop2Stack');
-      expect(controller.get('secureServices').mapProperty('serviceName')).to.eql(result);
-    });
-  });
-
   describe('#loadAllPriorSteps()', function () {
 
     beforeEach(function () {

http://git-wip-us.apache.org/repos/asf/ambari/blob/3ae9a5c4/ambari-web/test/controllers/main/admin/security/add/step3_test.js
----------------------------------------------------------------------
diff --git a/ambari-web/test/controllers/main/admin/security/add/step3_test.js b/ambari-web/test/controllers/main/admin/security/add/step3_test.js
index e84f649..8324fda 100644
--- a/ambari-web/test/controllers/main/admin/security/add/step3_test.js
+++ b/ambari-web/test/controllers/main/admin/security/add/step3_test.js
@@ -159,29 +159,7 @@ describe('App.MainAdminSecurityAddStep3Controller', function () {
       controller.setComponentsConfig(result, Em.Object.create({hostName: 'c6401',hostComponents: []}), 'hadoopGroupId');
       expect(result).to.be.empty;
     });
-    it('isHadoop2Stack = false, when component from stack2', function() {
-      sinon.stub(App, 'get', function () {
-        return false;
-      });
-      controller.reopen({
-        componentToConfigMap: [{
-          componentName: 'DATANODE',
-          principal: 'principal1',
-          keytab: 'keytab1',
-          displayName: 'displayName1',
-          isHadoop2Stack: true
-        }]
-      });
-      var host = Em.Object.create({
-        hostComponents: [{componentName: 'DATANODE'}],
-        hostName: 'host1'
-      });
-      var result = [];
-      controller.setComponentsConfig(result, host, 'hadoopGroupId');
-      expect(result).to.be.empty;
-      App.get.restore();
-    });
-    it('isHadoop2Stack = true, when component from stack2', function() {
+    it('when component from stack2', function() {
       sinon.stub(App, 'get', function () {
         return true;
       });
@@ -190,8 +168,7 @@ describe('App.MainAdminSecurityAddStep3Controller', function () {
           componentName: 'DATANODE',
           principal: 'principal1',
           keytab: 'keytab1',
-          displayName: 'displayName1',
-          isHadoop2Stack: true
+          displayName: 'displayName1'
         }]
       });
       var host = Em.Object.create({


Mime
View raw message