tez-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From s...@apache.org
Subject [25/31] tez git commit: TEZ-3227. Tez UI: Replace UI1 with UI2 (sree)
Date Tue, 26 Apr 2016 10:18:56 GMT
http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/components/dag-view/tip.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/components/dag-view/tip.js b/tez-ui/src/main/webapp/app/scripts/components/dag-view/tip.js
deleted file mode 100644
index 44c8bb5..0000000
--- a/tez-ui/src/main/webapp/app/scripts/components/dag-view/tip.js
+++ /dev/null
@@ -1,191 +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.
- */
-
-/**
- * Displays a tooltip over an svg element.
- */
-App.DagViewComponent.tip = (function () {
-
-  var _element = null,  // jQuery tooltip DOM element
-      _bubble = null,   // Tooltip bubble in _element
-      _svg = null,      // HTML svg tag that contains the element
-      _svgPoint = null, // A SVGPoint object
-      _window = $(window),
-
-      _data = null, // Last displayed data, for re-render
-      _node = null; // Last node over which tooltip was displayed
-
-  /**
-   * Converts the provided list object into a tabular form.
-   * @param list {Object} : An object with properties to be displayed as key value pairs
-   *   {
-   *     propertyName1: "property value 1",
-   *     ..
-   *     propertyNameN: "property value N",
-   *   }
-   */
-  function _createList(list) {
-    var listContent = [],
-        properties;
-
-    if(list) {
-      listContent.push("<table>");
-
-      $.each(list, function (property, value) {
-        listContent.push(
-          "<tr><td>",
-          property,
-          "</td><td>",
-          value,
-          "</td></tr>"
-        );
-      });
-      listContent.push("</table>");
-
-      return listContent.join("");
-    }
-  }
-
-  /**
-   * Tip supports 3 visual entities in the tooltip. Title, description text and a list.
-   * _setData sets all these based on the passed data object
-   * @param data {Object} An object of the format
-   * {
-   *   title: "tip title",
-   *   text: "tip description text",
-   *   kvList: {
-   *     propertyName1: "property value 1",
-   *     ..
-   *     propertyNameN: "property value N",
-   *   }
-   * }
-   */
-  function _setData(data) {
-    _element.find('.tip-title').html(data.title || "");
-    _element.find('.tip-text').html(data.text || "");
-    _element.find('.tip-text')[data.text ? 'show' : 'hide']();
-    _element.find('.tip-list').html(_createList(data.kvList) || "");
-  }
-
-  return {
-    /**
-     * Set the tip defaults
-     * @param tipElement {$} jQuery reference to the tooltip DOM element.
-     *    The element must contain 3 children with class tip-title, tip-text & tip-list.
-     * @param svg {$} jQuery reference to svg html element
-     */
-    init: function (tipElement, svg) {
-      _element = tipElement,
-      _bubble = _element.find('.bubble'),
-      _svg = svg,
-      _svgPoint = svg[0].createSVGPoint();
-    },
-    /**
-     * Display a tooltip over an svg element.
-     * @param node {SVG Element} Svg element over which tooltip must be displayed.
-     * @param data {Object} An object of the format
-     * {
-     *   title: "tip title",
-     *   text: "tip description text",
-     *   kvList: {
-     *     propertyName1: "property value 1",
-     *     ..
-     *     propertyNameN: "property value N",
-     *   }
-     * }
-     * @param event {MouseEvent} Event that triggered the tooltip.
-     */
-    show: function (node, data, event) {
-      var point = data.position || (node.getScreenCTM ? _svgPoint.matrixTransform(
-            node.getScreenCTM()
-          ) : {
-            x: event.x,
-            y: event.y
-          }),
-
-          windMid = _window.height() >> 1,
-          winWidth = _window.width(),
-
-          showAbove = point.y < windMid,
-          offsetX = 0,
-          width = 0,
-
-          svgLeft = _svg.offset().left;
-
-      if(_data !== data) {
-        _data = data,
-        _node = node;
-
-        _setData(data);
-      }
-
-      if(point.x > svgLeft && point.x < svgLeft + _svg.width()) {
-        if(showAbove) {
-          _element.removeClass('below');
-          _element.addClass('above');
-        }
-        else {
-          _element.removeClass('above');
-          _element.addClass('below');
-
-          point.y -= _element.height();
-        }
-
-        width = _element.width();
-        offsetX = (width - 11) >> 1;
-
-        if(point.x - offsetX < 0) {
-          offsetX = point.x - 20;
-        }
-        else if(point.x + offsetX > winWidth) {
-          offsetX = point.x - (winWidth - 10 - width);
-        }
-
-        _bubble.css({
-          left: -offsetX
-        });
-
-        _element.addClass('show');
-
-        _element.css({
-          left: point.x,
-          top: point.y
-        });
-      }
-      else {
-        _element.removeClass('show');
-      }
-    },
-    /**
-     * Reposition the tooltip based on last passed data & node.
-     */
-    reposition: function () {
-      if(_data) {
-        this.show(_node, _data);
-      }
-    },
-    /**
-     * Hide the tooltip.
-     */
-    hide: function () {
-      _data = _node = null;
-      _element.removeClass('show');
-    }
-  };
-
-})();

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/components/extended-table.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/components/extended-table.js b/tez-ui/src/main/webapp/app/scripts/components/extended-table.js
deleted file mode 100644
index dd72935..0000000
--- a/tez-ui/src/main/webapp/app/scripts/components/extended-table.js
+++ /dev/null
@@ -1,297 +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.
- */
-
-App.ExTable = Ember.Namespace.create();
-
-Ember.Table.BodyTableContainer.reopen({
-  width: Ember.computed.alias('tableComponent._tableContainerWidth'),
-  didInsertElement: function () {
-    this._super();
-    this.$().unbind();
-  }
-});
-
-App.ExTable.FilterTextField = Em.TextField.extend({
-	classNames: ['filter'],
-  classNameBindings: ['isPopulated','isInputDirty:input-dirty'],
-  type: 'search',
-  results: 1,
-  attributeBindings: ['autofocus', 'results'],
-  valueBinding: Em.Binding.oneWay('filterValue'),
-  isPopulated: function() {
-  	return !Em.isEmpty(this.get('value'));
-  }.property('value'),
-
-  insertNewline: function(event) {
-    if (this.get('isInputDirty')) {
-      this.set('filterValue', this.get('value'));
-      this.get('parentView.controller').send('filterUpdated', 
-        this.get('parentView.content'), this.get('value'));
-    }
-  },
-  cancel: function() {
-    // cancel is ignored. user needs to press enter. This is done in order to avoid 
-    // two requests when user wants to clear the current input and enter new value.
-  },
-  isInputDirty: function() {
-  	return $.trim(this.get('value')) != $.trim(this.get('filterValue'));
-  }.property('value', 'filterValue')
-});
-
-App.ExTable.FilterDropdownField = Em.Select.extend({
-  valueBinding: Em.Binding.oneWay('filterValue'),
-  change: function(key) {
-    if (this.get('isInputDirty')) {
-      this.set('filterValue', this.get('value'));
-      this.get('parentView.controller')
-        .send('filterUpdated', this.get('parentView.content'), this.get('value'));
-    }
-  },
-  isInputDirty: function() {
-    return $.trim(this.get('value')) != $.trim(this.get('filterValue'));
-  }.property('value', 'filterValue')
-});
-
-App.ExTable.FilterRow = Ember.View.extend(Ember.AddeparMixins.StyleBindingsMixin, {
-  templateName: 'components/extended-table/filter-row',
-  classNames: ['ember-table-table-row', 'ember-table-header-row'],
-  styleBindings: ['width'],
-  columns: Ember.computed.alias('content'),
-  width: Ember.computed.alias('controller._rowWidth'),
-  scrollLeft: Ember.computed.alias('controller._tableScrollLeft'),
-  onScrollLeftDidChange: function() {
-    return this.$().scrollLeft(this.get('scrollLeft'));
-  }.observes('scrollLeft'),
-  onScroll: function(event) {
-    this.set('scrollLeft', event.target.scrollLeft);
-    return event.preventDefault();
-  }
-});
-
-App.ExTable.FilterBlock = Ember.Table.TableBlock.extend({
-  classNames: ['ember-table-header-block'],
-  itemViewClass: 'App.ExTable.FilterRow',
-  content: function() {
-    return [this.get('columns')];
-  }.property('columns')
-});
-
-App.ExTable.FilterTableContainer = Ember.Table.TableContainer.extend(
-    Ember.Table.ShowHorizontalScrollMixin, {
-  templateName: 'components/extended-table/filter-container',
-  classNames: [
-    'ember-table-table-container', 
-    'ember-table-fixed-table-container', 
-    'ember-table-header-container'
-  ],
-  height: Ember.computed.alias('controller._filterHeight'),
-  width: Ember.computed.alias('controller._tableContainerWidth')
-});
-
-App.ExTable.FilterCell = Ember.View.extend(Ember.AddeparMixins.StyleBindingsMixin, {
-  init: function() {
-    var inputFieldView = null;
-    if (this.get('content.isFilterable')) {
-      var filterType = this.get('content.filterType');
-      switch (filterType) {
-        case 'dropdown':
-          inputFieldView = App.ExTable.FilterDropdownField.create({
-            content: this.get('content.dropdownValues'),
-            optionValuePath: 'content.id',
-            optionLabelPath: 'content.label',
-            classNames: 'inline-display',
-            filterValueBinding: '_parentView.content.columnFilterValue'
-          });
-        break;
-        case 'textbox':
-          inputFieldView = App.ExTable.FilterTextField.create({
-            classNames: 'inline-display',
-            filterValueBinding: '_parentView.content.columnFilterValue'
-          });
-        break;
-        default:
-          console.log('Unknown filter type ' + filterType + ' defined on column ' + 
-            this.get('content.headerCellName') + '.Will be ignored');
-        break;
-      }
-    }
-    if (!inputFieldView) {
-      // if no filter is specified or type is unknown, use empty view.
-      inputFieldView = Em.View.create();
-    }
-    this.set('inputFieldView', inputFieldView);
-    this._super();
-  },
-  templateName: 'components/extended-table/filter-cell',
-  classNames: ['ember-table-cell', 'ember-table-header-cell'],
-  classNameBindings: ['column.textAlign'],
-  styleBindings: ['width', 'height'],
-  column: Ember.computed.alias('content'),
-  width: Ember.computed.alias('column.columnWidth'),
-  height: function() {
-    return this.get('controller._filterHeight');
-  }.property('controller._filterHeight'),
-  // Currently resizing is not handled automatically. if required will need to do here.
-});
-
-App.ExTable.ColumnDefinition = Ember.Table.ColumnDefinition.extend({
-  init: function() {
-    if (!!this.filterID) {
-      var columnFilterValueBinding = Em.Binding
-        .oneWay('controller._parentView.context.' + this.filterID)
-        .to('columnFilterValue');
-      columnFilterValueBinding.connect(this);
-    }
-    this._super();
-  },
-  filterType: 'textbox', // default is textbox
-  textAlign: 'text-align-left',
-  filterCellView: 'App.ExTable.FilterCell',
-  filterCellViewClass: Ember.computed.alias('filterCellView'),
-  filterID: null,
-});
-
-App.ExTable.TableComponent = Ember.Table.EmberTableComponent.extend({
-	layoutName: 'components/extended-table/extable',
-	filters: {},
-	styleBindings: ['height', 'width'],
-	hasFilter: true,
-	minFilterHeight: 30, //TODO: less changes
-
-  enableContentSelection: false,
-  selectionMode: 'none',
-
-  width: function () {
-    return Math.max(this.get('_width'), this._getTotalWidth(this.get('tableColumns')));
-  }.property('tableColumns', '_tableColumnsWidth', '_width'),
-
-  _tableContainerWidth: Ember.computed.alias('width'),
-
-  actions: {
-    filterUpdated: function(columnDef, value) {
-      var filterID = columnDef.get('filterID');
-      filterID = filterID || columnDef.get('headerCellName').underscore();
-      if (this.get('onFilterUpdated')) {
-      	this.sendAction('onFilterUpdated', filterID, value);
-      }
-    },
-  },
-
-  updateLayout: function () {
-    if ((this.get('_state') || this.get('state')) !== 'inDOM') {
-      return;
-    }
-    return this.doForceFillColumns();
-  },
-
-  doForceFillColumns: function() {
-    var additionWidthPerColumn, availableContentWidth, columnsToResize, contentWidth, fixedColumnsWidth, remainingWidth, tableColumns, totalWidth;
-    totalWidth = this.get('_width');
-
-    fixedColumnsWidth = this.get('_fixedColumnsWidth');
-    tableColumns = this.get('tableColumns');
-    contentWidth = this._getTotalWidth(tableColumns);
-
-    availableContentWidth = totalWidth - fixedColumnsWidth;
-    remainingWidth = availableContentWidth - contentWidth;
-    columnsToResize = tableColumns.filterProperty('canAutoResize');
-
-    if(totalWidth < contentWidth) {
-      return [];
-    }
-    additionWidthPerColumn = Math.floor(remainingWidth / columnsToResize.length);
-    if(availableContentWidth <= this._getTotalWidth(tableColumns, 'minWidth')) {
-      return columnsToResize;
-    }
-    return columnsToResize.forEach(function(column) {
-      var columnWidth = column.get('columnWidth') + additionWidthPerColumn;
-      return column.set('columnWidth', columnWidth);
-    });
-  },
-
-	// private variables
-	// Dynamic filter height that adjusts according to the filter content height
-	_contentFilterHeight: null,
-
-  _onColumnsChange: Ember.observer(function() {
-    return Ember.run.next(this, function() {
-      return Ember.run.once(this, this.updateLayout);
-    });
-  }, 'columns.length', '_tableContentHeight'),
-
-  _filterHeight: function() {
-    var minHeight = this.get('minFilterHeight');
-    var contentFilterHeight = this.get('_contentFilterHeight');
-    if (contentFilterHeight < minHeight) {
-      return minHeight;
-    } else {
-      return contentFilterHeight;
-    }
-  }.property('_contentFilterHeight', 'minFilterHeight'),
-
-	// some of these below are private functions extend. however to add the filterrow we need them.
-	// tables-container height adjusts to the content height
-	_tablesContainerHeight: function() {
-    var contentHeight, height;
-    height = this.get('_height');
-    contentHeight = this.get('_tableContentHeight') + this.get('_headerHeight') + this.get('_footerHeight') 
-    	+ this.get('_filterHeight');
-    return height && contentHeight;
-  }.property('_height', '_tableContentHeight', '_headerHeight', '_footerHeight', '_filterHeight'),
-
-  _bodyHeight: function() {
-    var bodyHeight;
-    bodyHeight = this.get('_tablesContainerHeight');
-    if (this.get('hasHeader')) {
-      bodyHeight -= this.get('_headerHeight');
-    }
-    if (this.get('hasFilter')) { 
-      bodyHeight -= this.get('_filterHeight');
-    }
-    if (this.get('hasFooter')) {
-      bodyHeight -= this.get('footerHeight');
-    }
-    return bodyHeight;
-  }.property('_tablesContainerHeight', '_hasHorizontalScrollbar', '_headerHeight', 'footerHeight', '_filterHeight',
-  	'hasHeader', 'hasFooter', 'hasFilter'), 
-
-  _hasVerticalScrollbar: function() {
-    var contentHeight, height;
-    height = this.get('_height');
-    contentHeight = this.get('_tableContentHeight') + this.get('_headerHeight') + this.get('_footerHeight') 
-    	+ this.get('_filterHeight');
-    if (height < contentHeight) {
-      return true;
-    } else {
-      return false;
-    }
-  }.property('_height', '_tableContentHeight', '_headerHeight', '_footerHeight', '_filterHeight'),
-
-  _tableContentHeight: function() {
-    return this.get('rowHeight') * this.get('bodyContent.length');
-  }.property('rowHeight', 'bodyContent.length')
-});
-
-App.ExTable.FilterColumnMixin = Ember.Mixin.create({
-		isFilterable: true,
-		filterPresent: function() {
-			return !Em.isEmpty(this.get('columnFilterValue'));
-		}.property('columnFilterValue'),
-});
-
-Ember.Handlebars.helper('extended-table-component', App.ExTable.TableComponent);

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/components/kv-table.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/components/kv-table.js b/tez-ui/src/main/webapp/app/scripts/components/kv-table.js
deleted file mode 100644
index 5e433ea..0000000
--- a/tez-ui/src/main/webapp/app/scripts/components/kv-table.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.
- */
-
-App.KvTableComponent = Em.Component.extend({
-  layoutName: 'components/kv-table',
-  filterExp: null,
-  showAllButtonClass: '',
-  errorMsgClass: '',
-
-  actions: {
-    showAllButtonClicked: function() {
-      this.set('filterExp', null);
-    }
-  },
-
-  showError: function(show) {
-    this.set('errorMsgClass', show ? '' : 'no-display');
-  },
-
-  filteredKVs: function() {
-    var filterExp = this.get('filterExp');
-    var kvList = this.get('data') || [],
-        filteredKvs = [],
-        filterStringRegex;
-
-    if (filterExp) {
-      this.set('showAllButtonClass', '');
-    } else {
-      this.set('showAllButtonClass', 'hidden');
-    }
-
-    try {
-      filterStringRegex = new RegExp(filterExp, 'i');
-    } catch(e) {
-      this.showError(true);
-      Em.Logger.debug("Invalid regex " + e);
-      return;
-    }
-
-    this.showError(false);
-    if (Em.isEmpty(filterExp)) {
-      return kvList;
-    }
-
-    kvList.forEach(function (kv) {
-      if (filterStringRegex.test(kv.get('key')) || filterStringRegex.test(kv.get('value'))) {
-        filteredKvs.push(kv);
-      }
-    });
-
-    return filteredKvs;
-  }.property('data', 'filterExp')
-});
-
-Em.Handlebars.helper('kv-table-component', App.KvTableComponent);

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/components/load-time-component.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/components/load-time-component.js b/tez-ui/src/main/webapp/app/scripts/components/load-time-component.js
deleted file mode 100644
index 648a395..0000000
--- a/tez-ui/src/main/webapp/app/scripts/components/load-time-component.js
+++ /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.
- */
-
-App.LoadTimeComponent = Em.Component.extend({
-  layoutName: 'components/load-time',
-
-  actions: {
-    refresh: function() {
-      this.sendAction('refresh');
-    }
-  },
-
-  displayTime: function() {
-    var time = this.get('time');
-    return time ? App.Helpers.date.dateFormat(time.getTime(), true) : null;
-  }.property('time')
-});
-
-Em.Handlebars.helper('load-time-component', App.LoadTimeComponent);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/components/page-nav.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/components/page-nav.js b/tez-ui/src/main/webapp/app/scripts/components/page-nav.js
deleted file mode 100644
index c6d302c..0000000
--- a/tez-ui/src/main/webapp/app/scripts/components/page-nav.js
+++ /dev/null
@@ -1,37 +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.
- */
-
-App.PageNavComponent = Em.Component.extend({
-	layoutName: 'components/page-nav',
-	
-	classNames: ['inline-block', 'page-nav-link'],
-
-	actions: {
-		gotoNext: function() {
-			this.sendAction('navNext');
-		},
-		gotoPrev: function() {
-			this.sendAction('navPrev');
-		},
-		gotoFirst: function() {
-			this.sendAction('navFirst');
-		}
-	}
-});
-
-Em.Handlebars.helper('page-nav-component', App.PageNavComponent);
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/configs.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/configs.js b/tez-ui/src/main/webapp/app/scripts/configs.js
deleted file mode 100644
index 49046a5..0000000
--- a/tez-ui/src/main/webapp/app/scripts/configs.js
+++ /dev/null
@@ -1,91 +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.
- */
-
-App.setConfigs({
-
-  /* Environment configurations */
-  envDefaults: {
-    version: "${version}",
-    /*
-     * By default TEZ UI looks for timeline server at http://localhost:8188, uncomment and change
-     * the following value for pointing to a different domain.
-     */
-    // timelineBaseUrl: 'http://localhost:8188',
-
-    /*
-     * By default RM web interface is expected to be at http://localhost:8088, uncomment and change
-     * the following value to point to a different domain.
-     */
-    // RMWebUrl: 'http://localhost:8088',
-
-    /*
-     * Ensures that some of the UI features work with old versions of Tez
-     */
-    compatibilityMode: false,
-
-    /*
-     * Default time zone for UI display. Set to undefined for local timezone
-     * For configuration see http://momentjs.com/timezone/docs/
-     */
-    //timezone: "UTC",
-
-    /*
-     * yarnProtocol:
-     * If specified, this protocol would be used to construct node manager log links.
-     * Possible values: http, https
-     * Default value: If not specified, protocol of RMWebUrl will be used
-     */
-    //yarnProtocol: "<value>",
-  },
-
-  /*
-   * Visibility of table columns can be controlled using the column selector. Also an optional set of
-   * file system counters can be enabled as columns for most of the tables. For adding more counters
-   * as columns edit the following 'tables' object. Counters must be added as configuration objects
-   * of the following format.
-   *    {
-   *      counterName: '<Counter ID>',
-   *      counterGroupName: '<Group ID>',
-   *    }
-   *
-   * Note: Till 0.6.0 the properties were counterId and groupId, their use is deprecated now.
-   */
-  tables: {
-    /*
-     * Entity specific columns must be added into the respective array.
-     */
-    entity: {
-      dag: [
-        // { // Following is a sample configuration object.
-        //   counterName: 'FILE_BYTES_READ',
-        //   counterGroupName: 'org.apache.tez.common.counters.FileSystemCounter',
-        // }
-      ],
-      vertex: [],
-      task: [],
-      taskAttempt: [],
-      tezApp: [],
-    },
-    /*
-     * User sharedColumns to add counters that must be displayed in all tables.
-     */
-    sharedColumns:[]
-  }
-
-});
-

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/base-controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/base-controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/base-controller.js
deleted file mode 100644
index e0461dc..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/base-controller.js
+++ /dev/null
@@ -1,49 +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.
- */
-
-App.BaseController = Em.ObjectController.extend({
-  controllerName: null, // Must be set by the respective controllers
-
-  isActive: false,
-
-  setup: function () {
-    this.set('isActive', true);
-  },
-  reset: function () {
-    this.set('isActive', false);
-  },
-
-  getStoreKey: function (subKey) {
-    return "%@:%@".fmt(this.get('controllerName'), subKey);
-  },
-  storeConfig: function (key, value) {
-    try {
-      localStorage.setItem(this.getStoreKey(key) , JSON.stringify(value));
-    }catch(e){
-      return e;
-    }
-    return value;
-  },
-  fetchConfig: function (key) {
-    try {
-      return JSON.parse(localStorage.getItem(this.getStoreKey(key)));
-    }catch(e){}
-    return undefined;
-  },
-
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag-task-attempts-controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag-task-attempts-controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag-task-attempts-controller.js
deleted file mode 100644
index 7a7af91..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag-task-attempts-controller.js
+++ /dev/null
@@ -1,275 +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.
- */
-
-App.DagTaskAttemptsController = App.TablePageController.extend({
-
-  controllerName: 'DagTaskAttemptsController',
-  needs: "dag",
-
-  entityType: 'dagTaskAttempt',
-  filterEntityType: 'dag',
-  filterEntityId: Ember.computed.alias('controllers.dag.id'),
-
-  cacheDomain: Ember.computed.alias('controllers.dag.id'),
-
-  pollingType: 'attemptInfo',
-
-  pollsterControl: function () {
-    if(this.get('status') == 'RUNNING' &&
-        this.get('amWebServiceVersion') != '1' &&
-        !this.get('loading') &&
-        this.get('isActive') &&
-        this.get('pollingEnabled') &&
-        this. get('rowsDisplayed.length') > 0) {
-      this.get('pollster').start();
-    }
-    else {
-      this.get('pollster').stop();
-    }
-  }.observes('status', 'amWebServiceVersion', 'rowsDisplayed', 'loading', 'isActive', 'pollingEnabled'),
-
-  pollsterOptionsObserver: function () {
-    this.set('pollster.options', {
-      appID: this.get('applicationId'),
-      dagID: this.get('idx'),
-      counters: this.get('countersDisplayed'),
-      attemptID: this.get('rowsDisplayed').map(function (row) {
-          var attemptIndex = App.Helpers.misc.getIndexFromId(row.get('id')),
-              taskIndex = App.Helpers.misc.getIndexFromId(row.get('taskID')),
-              vertexIndex = App.Helpers.misc.getIndexFromId(row.get('vertexID'));
-          return '%@_%@_%@'.fmt(vertexIndex, taskIndex, attemptIndex);
-        }).join(',')
-    });
-  }.observes('applicationId', 'idx', 'rowsDisplayed'),
-
-  countersDisplayed: function () {
-    return App.Helpers.misc.getCounterQueryParam(this.get('columns'));
-  }.property('columns'),
-
-  beforeLoad: function () {
-    var dagController = this.get('controllers.dag'),
-        model = dagController.get('model');
-    return model.reload().then(function () {
-      return dagController.loadAdditional(model);
-    });
-  },
-
-  afterLoad: function () {
-    var data = this.get('data'),
-        isUnsuccessfulDag = App.Helpers.misc.isStatusInUnsuccessful(
-          this.get('controllers.dag.status')
-        );
-
-    data.forEach(function (attempt) {
-      var attemptStatus = App.Helpers.misc
-        .getFixedupDisplayStatus(attempt.get('status'));
-      if (attemptStatus == 'RUNNING' && isUnsuccessfulDag) {
-        attemptStatus = 'KILLED'
-      }
-      if (attemptStatus != attempt.get('status')) {
-        attempt.set('status', attemptStatus);
-      }
-    });
-
-    return this._super();
-  },
-
-  defaultColumnConfigs: function() {
-    var that = this,
-        vertexIdToNameMap = this.get('controllers.dag.vertexIdToNameMap') || {};
-    return [
-      {
-        id: 'taskId',
-        headerCellName: 'Task Index',
-        templateName: 'components/basic-table/linked-cell',
-        contentPath: 'taskID',
-        getCellContent: function (row) {
-          var taskId = row.get('taskID'),
-              idPrefix = 'task_%@_'.fmt(row.get('dagID').substr(4));
-          return {
-            linkTo: 'task',
-            entityId: taskId,
-            displayText: taskId.indexOf(idPrefix) == 0 ? taskId.substr(idPrefix.length) : taskId
-          };
-        },
-        getSearchValue: function (row) {
-          var id = row.get('taskID'),
-              idPrefix = 'task_%@_'.fmt(row.get('dagID').substr(4));
-          return id.indexOf(idPrefix) == 0 ? id.substr(idPrefix.length) : id;
-        }
-      },
-      {
-        id: 'attemptNo',
-        headerCellName: 'Attempt No',
-        templateName: 'components/basic-table/linked-cell',
-        contentPath: 'id',
-        getCellContent: function(row) {
-          var attemptID = row.get('id') || '';
-          return {
-            linkTo: 'taskAttempt',
-            displayText: attemptID.split(/[_]+/).pop(),
-            entityId: attemptID
-          };
-        },
-        getSearchValue: function (row) {
-          var attemptID = row.get('id') || '';
-          return attemptID.split(/[_]+/).pop();
-        },
-        getSortValue: function (row) {
-          var attemptID = row.get('id') || '';
-          return attemptID.split(/[_]+/).pop();
-        }
-      },
-      {
-        id: 'status',
-        headerCellName: 'Status',
-        templateName: 'components/basic-table/status-cell',
-        contentPath: 'status',
-        observePath: true,
-        onSort: this.onInProgressColumnSort.bind(this),
-        getCellContent: function(row) {
-          var status = App.Helpers.misc.getFixedupDisplayStatus(row.get('status'));
-          return {
-            status: status,
-            statusIcon: App.Helpers.misc.getStatusClassForEntity(status)
-          };
-        }
-      },
-      {
-        id: 'progress',
-        headerCellName: 'Progress',
-        contentPath: 'progress',
-        observePath: true,
-        onSort: this.onInProgressColumnSort.bind(this),
-        templateName: 'components/basic-table/progress-cell'
-      },
-      {
-        id: 'vertexName',
-        headerCellName: 'Vertex Name',
-        templateName: 'components/basic-table/linked-cell',
-        contentPath: 'vertexID',
-        getCellContent: function(row) {
-          var vertexId = row.get('vertexID') || '';
-          return {
-            linkTo: 'vertex',
-            displayText: vertexIdToNameMap[vertexId] || vertexId,
-            entityId: vertexId
-          };
-        },
-        getSearchValue: function (row) {
-          var vertexId = row.get('vertexID');
-          return vertexIdToNameMap[vertexId] || vertexId;
-        },
-        getSortValue: function (row) {
-          var vertexId = row.get('vertexID');
-          return vertexIdToNameMap[vertexId] || vertexId;
-        }
-      },
-      {
-        id: 'startTime',
-        headerCellName: 'Start Time',
-        contentPath: 'startTime',
-        getCellContent: function(row) {
-          return App.Helpers.date.dateFormat(row.get('startTime'));
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.dateFormat(row.get('startTime'));
-        }
-      },
-      {
-        id: 'endTime',
-        headerCellName: 'End Time',
-        contentPath: 'endTime',
-        getCellContent: function(row) {
-          return App.Helpers.date.dateFormat(row.get('endTime'));
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.dateFormat(row.get('endTime'));
-        },
-      },
-      {
-        id: 'duration',
-        headerCellName: 'Duration',
-        contentPath: 'duration',
-        getCellContent: function(row) {
-          return App.Helpers.date.timingFormat(row.get('duration'), 1);
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.timingFormat(row.get('duration'), 1);
-        },
-      },
-      {
-        id: 'containerId',
-        headerCellName: 'Container',
-        contentPath: 'containerId'
-      },
-      {
-        id: 'nodeId',
-        headerCellName: 'Node',
-        contentPath: 'nodeId'
-      },
-      {
-        id: 'actions',
-        headerCellName: 'Actions',
-        templateName: 'components/basic-table/linked-cell',
-        searchAndSortable: false,
-        contentPath: 'id',
-        getCellContent: function(row) {
-          var attemptID = row.get('id') || '';
-          return {
-            linkTo: 'taskAttempt.counters',
-            displayText: 'counters',
-            entityId: attemptID
-          };
-        }
-      },
-      {
-        id: 'logs',
-        headerCellName: 'Logs',
-        templateName: 'components/basic-table/logs-cell',
-        searchAndSortable: false,
-        getCellContent: function(row) {
-          var cellContent = App.Helpers.misc.constructLogLinks(
-                row,
-                that.get('controllers.dag.yarnAppState'),
-                that.get('controllers.dag.tezApp.user')
-              );
-
-          cellContent.notAvailable = cellContent.viewUrl || cellContent.downloadUrl;
-          return cellContent;
-        }
-      }
-    ];
-  }.property(
-    'controllers.dag.vertexIdToNameMap',
-    'controllers.dag.yarnAppState',
-    'controllers.dag.tezApp.user'
-  ),
-
-  columnConfigs: function() {
-    return this.get('defaultColumnConfigs').concat(
-      App.Helpers.misc.normalizeCounterConfigs(
-        App.get('Configs.defaultCounters').concat(
-          App.get('Configs.tables.entity.taskAttempt') || [],
-          App.get('Configs.tables.sharedColumns') || []
-        )
-      , this)
-    );
-  }.property('defaultColumnConfigs'),
-
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag-view-controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag-view-controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag-view-controller.js
deleted file mode 100644
index 9456fb7..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag-view-controller.js
+++ /dev/null
@@ -1,147 +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.
- */
-
-App.DagViewController = App.TablePageController.extend({
-  controllerName: 'DagViewController',
-  needs: ["dag", "dagVertices"],
-
-  entityType: 'dagVertex',
-  filterEntityType: 'dag',
-  filterEntityId: Ember.computed.alias('controllers.dag.id'),
-
-  cacheDomain: Ember.computed.alias('controllers.dag.id'),
-
-  showAutoUpdate: false,
-
-  columnSelectorTitle: 'Customize vertex tooltip',
-
-  beforeLoad: function () {
-    var dagController = this.get('controllers.dag'),
-        model = dagController.get('model');
-    return model.reload().then(function () {
-      return dagController.loadAdditional(model);
-    });
-  },
-
-  afterLoad: function () {
-    var data = this.get('data'),
-        runningVerticesIdx,
-        isUnsuccessfulDag = App.Helpers.misc.isStatusInUnsuccessful(
-          this.get('controllers.dag.status')
-        );
-
-    if(isUnsuccessfulDag) {
-      data.filterBy('status', 'RUNNING').forEach(function (vertex) {
-        vertex.set('status', 'KILLED');
-      });
-    }
-
-    return this._super();
-  },
-
-  redirect: function (details) {
-    switch(details.type) {
-      case 'vertex':
-        this.transitionToRoute('vertex', details.d.get('data.id'));
-      break;
-      case 'task':
-        this.transitionToRoute('vertex.tasks', details.d.get('data.id'));
-      break;
-      case 'io':
-        this.transitionToRoute('vertex.additionals', details.d.get('data.id'));
-      break;
-      case 'input':
-        this.transitionToRoute('input.configs', details.d.get('parent.data.id'), details.d.entity);
-      break;
-      case 'output':
-        this.transitionToRoute('output.configs', details.d.get('vertex.data.id'), details.d.entity);
-      break;
-    }
-  },
-
-  actions: {
-    modalConfirmed: function () {
-      this.redirect(this.get('redirectionDetails'));
-    },
-    modalCanceled: function () {
-    },
-    entityClicked: function (details) {
-
-      /**
-       * In IE 11 under Windows 7, mouse events are not delivered to the page
-       * anymore at all after a SVG use element that was under the mouse is
-       * removed from the DOM in the event listener in response to a mouse click.
-       * See https://connect.microsoft.com/IE/feedback/details/796745
-       *
-       * This condition and related actions must be removed once the bug is fixed
-       * in all supported IE versions
-       */
-      if(App.env.isIE) {
-        this.set('redirectionDetails', details);
-        Bootstrap.ModalManager.confirm(
-          this,
-          'Confirmation Required!',
-          'You will be redirected to %@ page'.fmt(
-            details.type == "io" ? "additionals" : details.type
-          )
-        );
-      }
-      else {
-        this.redirect(details);
-      }
-    }
-  },
-
-  defaultColumnConfigs: function() {
-    return this.get('controllers.dagVertices.defaultColumnConfigs');
-  }.property(),
-
-  columnConfigs: function() {
-    var configs = this.get('controllers.dagVertices.columnConfigs');
-    return configs.filter(function (config) {
-      return (config.contentPath) ||
-          (config.getCellContent && config.searchAndSortable != false);
-    });
-  }.property(),
-
-  viewData: function () {
-    var vertices = this.get('controllers.dag.vertices') || [],
-        entities = this.get('data') || [],
-        finalVertex,
-        dagStatus = this.get('controllers.dag.status'),
-        needsStatusFixup = App.Helpers.misc.isStatusInUnsuccessful(dagStatus);
-
-    entities = entities.reduce(function (obj, vertexData) {
-      obj[vertexData.get('name')] = vertexData;
-      return obj;
-    }, {});
-
-    vertices.forEach(function (vertex) {
-      vertex.data = entities[vertex.vertexName];
-      if (needsStatusFixup && vertex.data && vertex.data.get('status') == 'RUNNING') {
-        vertex.data.set('status', 'KILLED');
-      }
-    });
-
-    return {
-      vertices: vertices,
-      edges: this.get('controllers.dag.edges'),
-      vertexGroups: this.get('controllers.dag.vertexGroups')
-    };
-  }.property('data', 'controllers.dag.vertices', 'controllers.dag')
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js
deleted file mode 100644
index ddf6221..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_controller.js
+++ /dev/null
@@ -1,147 +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.
- */
-
-App.DagController = App.PollingController.extend(App.Helpers.DisplayHelper, {
-  controllerName: 'DagController',
-  pageTitle: 'Dag',
-
-  loading: true,
-
-  pollingType: 'dagInfo',
-  persistConfigs: false,
-
-  pollsterControl: function () {
-    if(this.get('status') == 'RUNNING' &&
-        this.get('amWebServiceVersion') != '1' &&
-        this.get('pollingEnabled') &&
-        this.get('isActive')) {
-      this.get('pollster').start();
-    }
-    else {
-      this.get('pollster').stop();
-    }
-  }.observes('status', 'amWebServiceVersion', 'isActive', 'pollingEnabled'),
-
-  pollsterOptionsObserver: function () {
-    var model = this.get('model');
-
-    this.get('pollster').setProperties( (model && model.get('status') != 'SUCCEEDED') ? {
-      targetRecords: [model],
-      options: {
-        appID: this.get('applicationId'),
-        dagID: App.Helpers.misc.getIndexFromId(this.get('id')),
-      }
-    } : {
-      targetRecords: [],
-      options: null
-    });
-  }.observes('applicationId', 'model', 'model.status', 'id'),
-
-  loadAdditional: function(dag) {
-    var that = this;
-    var loaders = [];
-    var applicationId = dag.get('applicationId');
-
-    var appDetailLoader = App.Helpers.misc.loadApp(this.store, applicationId)
-      .then(function(app){
-        dag.set('appDetail', app);
-        var status = app.get('status');
-        if (status) {
-          dag.set('yarnAppState', status);
-        }
-        dag.set('status', App.Helpers.misc.getRealStatus(dag.get('status'), app.get('status'), app.get('finalStatus')));
-      }).catch(function(){});
-    App.Helpers.misc.removeRecord(this.store, 'tezApp', 'tez_' + applicationId);
-    var tezAppLoader = this.store.find('tezApp', 'tez_' + applicationId)
-      .then(function(app){
-        dag.set('tezApp', app);
-      }).catch(function(){});
-
-    loaders.push(appDetailLoader);
-    loaders.push(tezAppLoader);
-
-    Em.RSVP.allSettled(loaders).then(function(){
-      that.set('loading', false);
-    });
-
-    if (!dag.get('appContextInfo.info') && App.get('env.compatibilityMode')) {
-      var dagName = dag.getWithDefault('name', '');
-      var hiveQueryId = dagName.replace(/([^:]*):.*/, '$1');
-      if (dagName !=  hiveQueryId && !!hiveQueryId) {
-        this.store.find('hiveQuery', hiveQueryId).then(function (hiveQueryData) {
-          var queryInfoStr = Em.get(hiveQueryData || {}, 'query') || '{}';
-          var queryInfo = $.parseJSON(queryInfoStr);
-          dag.set('appContextInfo', {
-            appType: 'Hive',
-            info: queryInfo['queryText']
-          });
-        }).catch(function (e) {
-          // ignore.
-        });
-      }
-    }
-
-    var allLoaders = Em.RSVP.all(loaders);
-    allLoaders.then(function(){
-      if (dag.get('status') === 'RUNNING') {
-        // update the progress info if available. this need not block the UI
-        if (dag.get('amWebServiceVersion') == '1' || !that.get('pollingEnabled')) {
-          that.updateInfoFromAM(dag);
-        }
-      }
-      else if(dag.get('status') == 'SUCCEEDED') {
-        dag.set('progress', 1);
-      }
-    });
-
-    return allLoaders;
-  },
-
-  // called only for v1 version of am api.
-  updateInfoFromAM: function(dag) {
-    var that = this;
-    App.Helpers.misc.removeRecord(this.get('store'), 'dagProgress', dag.get('id'));
-    var aminfoLoader = this.store.find('dagProgress', dag.get('id'), {
-      appId: dag.get('applicationId'),
-      dagIdx: dag.get('idx')
-    }).then(function(dagProgressInfo) {
-      that.set('progress', dagProgressInfo.get('progress'));
-    }).catch(function (error) {
-      error.message = "Failed to fetch dagProgress. Application Master (AM) is out of reach. Either it's down, or CORS is not enabled for YARN ResourceManager.";
-      Em.Logger.error(error);
-      var err = App.Helpers.misc.formatError(error);
-      var msg = 'Error code: %@, message: %@'.fmt(err.errCode, err.msg);
-      App.Helpers.ErrorBar.getInstance().show(msg, err.details);
-    });
-  },
-
-  enableAppIdLink: function() {
-    return !!this.get('tezApp');
-  }.property('applicationId', 'tezApp'),
-
-  childDisplayViews: [
-    Ember.Object.create({title: 'DAG Details', linkTo: 'dag.index'}),
-    Ember.Object.create({title: 'DAG Counters', linkTo: 'dag.counters'}),
-    Ember.Object.create({title: 'Graphical View', linkTo: 'dag.view'}),
-    Ember.Object.create({title: 'All Vertices', linkTo: 'dag.vertices'}),
-    Ember.Object.create({title: 'All Tasks', linkTo: 'dag.tasks'}),
-    Ember.Object.create({title: 'All TaskAttempts', linkTo: 'dag.taskAttempts'}),
-    Ember.Object.create({title: 'Swimlane', linkTo: 'dag.swimlane'})
-  ],
-
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag_counters_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_counters_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_counters_controller.js
deleted file mode 100644
index 59c21d5..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_counters_controller.js
+++ /dev/null
@@ -1,56 +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.
- */
-
-App.DagCountersController = App.PollingController.extend(App.Helpers.DisplayHelper, App.ModelRefreshMixin, {
-  controllerName: 'DagCountersController',
-
-  pollingType: 'dagInfo',
-
-  pollsterControl: function () {
-    if(this.get('status') == 'RUNNING' &&
-        this.get('amWebServiceVersion') != '1' &&
-        this.get('pollingEnabled') &&
-        this.get('isActive')) {
-      this.get('pollster').start();
-    }
-    else {
-      this.get('pollster').stop();
-    }
-  }.observes('status', 'amWebServiceVersion', 'isActive', 'pollingEnabled'),
-
-  pollsterOptionsObserver: function () {
-    var model = this.get('model');
-
-    this.get('pollster').setProperties( (model && model.get('status') != 'SUCCEEDED') ? {
-      targetRecords: [model],
-      options: {
-        appID: this.get('applicationId'),
-        dagID: App.Helpers.misc.getIndexFromId(this.get('id')),
-        counters: '*'
-      }
-    } : {
-      targetRecords: [],
-      options: null
-    });
-  }.observes('applicationId', 'model', 'model.status', 'id'),
-
-  applicationComplete: function () {
-    this.get('pollster').stop();
-    this.set('pollster.polledRecords', null);
-  }
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js
deleted file mode 100644
index 847b6a6..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js
+++ /dev/null
@@ -1,390 +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.
- */
-
-App.DagIndexController = App.TablePageController.extend({
-  controllerName: 'DagIndexController',
-  needs: "dag",
-
-  entityType: 'dagVertex',
-  filterEntityType: 'dag',
-  filterEntityId: Ember.computed.alias('controllers.dag.id'),
-
-  cacheDomain: Ember.computed.alias('controllers.dag.id'),
-
-  pollingType: 'vertexInfo',
-
-  _isRunning: false,
-  _autoReloaded: false,
-
-  init: function () {
-    this._super();
-    this.set('pollster.mergeProperties', ['progress', 'status', 'runningTasks', 'pendingTasks',
-      'sucessfulTasks', 'failedTaskAttempts', 'killedTaskAttempts']);
-  },
-
-  reset: function () {
-    this._super();
-    this.set('data', null);
-    this.set('_autoReloaded', false);
-  },
-
-  _statusObserver: function () {
-    var rowsDisplayed,
-        isRunning = false;
-
-    if(this.get('status') == 'RUNNING') {
-      isRunning = true;
-    }
-    else if(rowsDisplayed = this.get('rowsDisplayed')){
-      rowsDisplayed.forEach(function (row) {
-        if(row.get('status') == 'RUNNING') {
-          isRunning = true;
-        }
-      });
-    }
-
-    this.set('_isRunning', isRunning);
-  }.observes('status', 'rowsDisplayed.@each.status'),
-
-  pollingObserver: function () {
-    if(this.get('pollingEnabled')) {
-      this.set('_autoReloaded', false);
-    }
-  }.observes('pollingEnabled'),
-
-  pollsterControl: function () {
-    if(this.get('_isRunning') &&
-        this.get('amWebServiceVersion') != '1' &&
-        !this.get('loading') &&
-        this.get('isActive') &&
-        this.get('pollingEnabled') &&
-        this.get('rowsDisplayed.length') > 0) {
-      this.get('pollster').start(!this.get('_autoReloaded'));
-    }
-    else {
-      this.get('pollster').stop();
-    }
-  }.observes('_isRunning', 'amWebServiceVersion', 'loading', 'isActive', 'pollingEnabled', 'rowsDisplayed'),
-
-  parentStatusObserver: function () {
-    var parentStatus = this.get('status'),
-        previousStatus = this.get('parentStatus');
-
-    if(parentStatus != previousStatus && previousStatus == 'RUNNING' && this.get('pollingEnabled')) {
-      this.get('pollster').stop();
-      this.set('_autoReloaded', true);
-      this.loadData(true);
-    }
-    this.set('parentStatus', parentStatus);
-  }.observes('status'),
-
-  applicationComplete: function () {
-    this.set('_autoReloaded', true);
-    this._super();
-    if(this.get('controllers.dag.status') == 'SUCCEEDED') {
-      this.set('controllers.dag.progress', 1);
-    }
-  },
-
-  pollsterOptionsObserver: function () {
-    this.set('pollster.options', {
-      appID: this.get('applicationId'),
-      dagID: this.get('idx')
-    });
-  }.observes('applicationId', 'idx').on('init'),
-
-  progressDetails: null,
-
-  progressObserver: function () {
-    var vertexInfoContent = this.get('pollster.polledRecords.content'),
-        progressDetails = null,
-        succeededTasks = null,
-        totalTasks = null,
-        completedVertices = null;
-
-    if(vertexInfoContent && vertexInfoContent.length) {
-      liveData = vertexInfoContent,
-      succeededTasks = 0,
-      totalTasks = 0,
-      completedVertices = 0;
-
-      liveData.forEach(function (vertex) {
-        succeededTasks += parseInt(vertex.get('sucessfulTasks'));
-        totalTasks += parseInt(vertex.get('numTasks'));
-        if(vertex.get('progress') >= 1) {
-          completedVertices++;
-        }
-      });
-
-      progressDetails = {
-        succeededTasks: succeededTasks,
-        completedVertices: completedVertices,
-        totalTasks: totalTasks
-      };
-    }
-
-    this.set('progressDetails', progressDetails);
-  }.observes('pollster.polledRecords'),
-
-  dataObserver: function () {
-    var data = this.get('data.content');
-    this.set('rowsDisplayed', data ? data.slice(0) : null);
-  }.observes('data'),
-
-  beforeLoad: function () {
-    var dagController = this.get('controllers.dag'),
-        model = dagController.get('model');
-    return model.reload().then(function () {
-      return dagController.loadAdditional(model);
-    });
-  },
-
-  afterLoad: function () {
-    var data = this.get('data'),
-        runningVerticesIdx,
-        isUnsuccessfulDag = App.Helpers.misc.isStatusInUnsuccessful(
-          this.get('controllers.dag.status')
-        );
-
-    if(isUnsuccessfulDag) {
-      data.filterBy('status', 'RUNNING').forEach(function (vertex) {
-        vertex.set('status', 'KILLED');
-      });
-    }
-
-    if (this.get('controllers.dag.amWebServiceVersion') == '1') {
-      this._loadProgress(data);
-    }
-
-    return this._super();
-  },
-
-  // Load progress in parallel for v1 version of the api
-  _loadProgress: function (vertices) {
-    var that = this,
-        runningVerticesIdx = vertices
-      .filterBy('status', 'RUNNING')
-      .map(function(item) {
-        return item.get('id').split('_').splice(-1).pop();
-      });
-
-    if (runningVerticesIdx.length > 0) {
-      this.store.unloadAll('vertexProgress');
-      this.store.findQuery('vertexProgress', {
-        metadata: {
-          appId: that.get('applicationId'),
-          dagIdx: that.get('idx'),
-          vertexIds: runningVerticesIdx.join(',')
-        }
-      }).then(function(vertexProgressInfo) {
-          App.Helpers.emData.mergeRecords(
-            that.get('rowsDisplayed'),
-            vertexProgressInfo,
-            ['progress']
-          );
-      }).catch(function(error) {
-        error.message = "Failed to fetch vertexProgress. Application Master (AM) is out of reach. Either it's down, or CORS is not enabled for YARN ResourceManager.";
-        Em.Logger.error(error);
-        var err = App.Helpers.misc.formatError(error);
-        var msg = 'Error code: %@, message: %@'.fmt(err.errCode, err.msg);
-        App.Helpers.ErrorBar.getInstance().show(msg, err.details);
-      });
-    }
-  },
-
-  defaultColumnConfigs: function() {
-    var vertexIdToNameMap = this.get('vertexIdToNameMap');
-
-    return App.Helpers.misc.createColumnDescription([
-      {
-        id: 'vertexName',
-        headerCellName: 'Vertex Name',
-        templateName: 'components/basic-table/linked-cell',
-        contentPath: 'name',
-        getCellContent: function(row) {
-          return {
-            linkTo: 'vertex',
-            entityId: row.get('id'),
-            displayText: vertexIdToNameMap[row.get('id')]
-          };
-        }
-      },
-      {
-        id: 'status',
-        headerCellName: 'Status',
-        templateName: 'components/basic-table/status-cell',
-        contentPath: 'status',
-        observePath: true,
-        getCellContent: function(row) {
-          var status = row.get('status');
-          return {
-            status: status,
-            statusIcon: App.Helpers.misc.getStatusClassForEntity(status,
-              row.get('hasFailedTaskAttempts'))
-          };
-        }
-      },
-      {
-        id: 'progress',
-        headerCellName: 'Progress',
-        contentPath: 'progress',
-        observePath: true,
-        templateName: 'components/basic-table/progress-cell'
-      },
-      {
-        id: 'totalTasks',
-        headerCellName: 'Total Tasks',
-        contentPath: 'numTasks',
-        observePath: true,
-      },
-      {
-        id: 'succeededTasks',
-        headerCellName: 'Succeeded Tasks',
-        contentPath: 'sucessfulTasks',
-        observePath: true,
-      },
-      {
-        id: 'runningTasks',
-        headerCellName: 'Running Tasks',
-        contentPath: 'runningTasks',
-        observePath: true,
-      },
-      {
-        id: 'pendingTasks',
-        headerCellName: 'Pending Tasks',
-        contentPath: 'pendingTasks',
-        observePath: true,
-      },
-      {
-        id: 'failedTasks',
-        headerCellName: 'Failed Task Attempts',
-        contentPath: 'failedTaskAttempts',
-        observePath: true,
-      },
-      {
-        id: 'killedTasks',
-        headerCellName: 'Killed Task Attempts',
-        contentPath: 'killedTaskAttempts',
-        observePath: true,
-      }
-    ]);
-  }.property('vertexIdToNameMap'),
-
-  actions: {
-    downloadDagJson: function() {
-      var dagID = this.get('id');
-      var downloader = App.Helpers.misc.downloadDAG(this.get('id'), {
-        batchSize: 500,
-        onSuccess: function() {
-          Bootstrap.ModalManager.close('downloadModal');
-        },
-        onFailure: function() {
-          $('#modalMessage').html('<i class="fa fa-lg fa-exclamation-circle margin-small-horizontal" ' +
-          'style="color:red"></i>&nbsp;Error downloading data');
-        }
-      });
-      this.set('tmpDownloader', downloader);
-      var modalDialogView = Ember.View.extend({
-        template: Em.Handlebars.compile(
-          '<p id="modalMessage"><i class="fa fa-lg fa-spinner fa-spin margin-small-horizontal" ' +
-          'style="color:green"></i>Downloading data for dag %@</p>'.fmt(dagID)
-        )
-      });
-      var buttons = [
-        Ember.Object.create({title: 'Cancel', dismiss: 'modal', clicked: 'cancelDownload'})
-      ];
-      Bootstrap.ModalManager.open('downloadModal', 'Download data',
-        modalDialogView, buttons, this);
-    },
-
-    cancelDownload: function() {
-      var currentDownloader = this.get('tmpDownloader');
-      if (!!currentDownloader) {
-        currentDownloader.cancel();
-      }
-      this.set('tmpDownloader', undefined);
-    }
-  },
-
-  dagRunning: function () {
-    var progress = this.get('dagProgress');
-    return progress != null && progress < 1;
-  }.property('dagProgress'),
-
-  taskIconStatus: function() {
-    return App.Helpers.misc.getStatusClassForEntity(this.get('model.status'),
-      this.get('hasFailedTaskAttempts'));
-  }.property('id', 'model.status', 'hasFailedTaskAttempts'),
-
-  progressStr: function() {
-    var pct;
-    if (Ember.typeOf(this.get('progress')) === 'number' && this.get('status') == 'RUNNING') {
-      pct = App.Helpers.number.fractionToPercentage(this.get('progress'));
-    }
-    return pct;
-  }.property('id', 'status', 'progress'),
-
-  totalTasks: function() {
-    return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'),
-      this.get('id'), 'org.apache.tez.common.counters.DAGCounter', 'TOTAL_LAUNCHED_TASKS')
-  }.property('id', 'counterGroups'),
-
-  sucessfulTasks: function() {
-    return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'), this.get('id'),
-      'org.apache.tez.common.counters.DAGCounter', 'NUM_SUCCEEDED_TASKS')
-  }.property('id', 'counterGroups'),
-
-  failedTasks: function() {
-    return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'), this.get('id'),
-      'org.apache.tez.common.counters.DAGCounter', 'NUM_FAILED_TASKS')
-  }.property('id', 'counterGroups'),
-
-  killedTasks: function() {
-    return App.Helpers.misc.getCounterValueForDag(this.get('counterGroups'), this.get('id'),
-      'org.apache.tez.common.counters.DAGCounter', 'NUM_KILLED_TASKS')
-  }.property('id', 'counterGroups'),
-
-  failedTasksLink: function() {
-    return '#/dag/%@/tasks?searchText=Status%3AFAILED'.fmt(this.get('id'));
-  }.property('id'),
-
-  failedTaskAttemptsLink: function() {
-    return '#/dag/%@/taskAttempts?searchText=Status%3AFAILED'.fmt(this.get('id'));
-  }.property('id'),
-
-  appContext: function() {
-    return this.get('appContextInfo.info')
-  }.property('appContextInfo.info'),
-
-  appContextHeading: function() {
-    var appContextType = this.get('appContextInfo.appType');
-    return 'Additional Info' + (!!appContextType ? ' from ' + appContextType : '');
-  }.property('appContextInfo.appType'),
-
-  appInfoContextType: function() {
-    switch (this.get('appContextInfo.appType')) {
-      case 'Hive':
-        return 'text/x-hive';
-      case 'Pig':
-        return 'text/x-pig';
-      default:
-        return 'text/x-sql';
-    }
-  }.property('appContextInfo.appType'),
-
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag_swimlane_controller.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_swimlane_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_swimlane_controller.js
deleted file mode 100644
index 9edb5dd..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_swimlane_controller.js
+++ /dev/null
@@ -1,41 +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.
- */
-
-App.DagSwimlaneController = Em.ArrayController.extend({
-  needs: "dag",
-  controllerName: "DagSwimlaneController",
-  pageTitle: "Task Attempts",
-  pageSubTitle: "All Task Attempts",
-  dag_id: Em.computed.alias('controllers.dag.id'),
-
-  getFilterParams: function(params) {
-    var dag_id = this.get('dag_id');
-    var filterParams = {};
-    if (dag_id) {
-      filterParams['primaryFilter'] = 'TEZ_DAG_ID:' + dag_id;
-    }
-
-    return filterParams;
-  },
-
-  actions: {
-    taskAttemptClicked: function (id) {
-      this.transitionToRoute('taskAttempt', id);
-    },
-  },
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js
deleted file mode 100644
index 2413a24..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js
+++ /dev/null
@@ -1,244 +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.
- */
-
-App.DagTasksController = App.TablePageController.extend({
-  controllerName: 'DagTasksController',
-  needs: "dag",
-
-  entityType: 'dagTask',
-  filterEntityType: 'dag',
-  filterEntityId: Ember.computed.alias('controllers.dag.id'),
-
-  cacheDomain: Ember.computed.alias('controllers.dag.id'),
-
-  pollingType: 'taskInfo',
-
-  pollsterControl: function () {
-    if(this.get('status') == 'RUNNING' &&
-        this.get('amWebServiceVersion') != '1' &&
-        !this.get('loading') &&
-        this.get('isActive') &&
-        this.get('pollingEnabled') &&
-        this. get('rowsDisplayed.length') > 0) {
-      this.get('pollster').start();
-    }
-    else {
-      this.get('pollster').stop();
-    }
-  }.observes('status', 'amWebServiceVersion', 'rowsDisplayed', 'loading', 'isActive', 'pollingEnabled'),
-
-  pollsterOptionsObserver: function () {
-    this.set('pollster.options', {
-      appID: this.get('applicationId'),
-      dagID: this.get('idx'),
-      counters: this.get('countersDisplayed'),
-      taskID: this.get('rowsDisplayed').map(function (row) {
-          var taskIndex = App.Helpers.misc.getIndexFromId(row.get('id')),
-          vertexIndex = App.Helpers.misc.getIndexFromId(row.get('vertexID'));
-          return '%@_%@'.fmt(vertexIndex, taskIndex);
-        }).join(',')
-    });
-  }.observes('applicationId', 'idx', 'rowsDisplayed'),
-
-  countersDisplayed: function () {
-    return App.Helpers.misc.getCounterQueryParam(this.get('columns'));
-  }.property('columns'),
-
-  beforeLoad: function () {
-    var dagController = this.get('controllers.dag'),
-        model = dagController.get('model');
-    return model.reload().then(function () {
-      return dagController.loadAdditional(model);
-    });
-  },
-
-  afterLoad: function () {
-    var data = this.get('data'),
-        isUnsuccessfulDag = App.Helpers.misc.isStatusInUnsuccessful(
-          this.get('controllers.dag.status')
-        );
-
-    data.forEach(function (task) {
-      var taskStatus = App.Helpers.misc.getFixedupDisplayStatus(task.get('status'));
-
-      if (taskStatus == 'RUNNING' && isUnsuccessfulDag) {
-        taskStatus = 'KILLED'
-      }
-      if (taskStatus != task.get('status')) {
-        task.set('status', taskStatus);
-      }
-    });
-
-    return this._super();
-  },
-
-  defaultColumnConfigs: function() {
-    var that = this,
-        vertexIdToNameMap = this.get('controllers.dag.vertexIdToNameMap') || {};
-
-    function getLogContent(attempt) {
-      var cellContent = App.Helpers.misc.constructLogLinks(
-            attempt,
-            that.get('controllers.dag.yarnAppState'),
-            that.get('controllers.dag.tezApp.user')
-          );
-
-      cellContent.notAvailable = cellContent.viewUrl || cellContent.downloadUrl;
-      return cellContent;
-    }
-
-    return [
-      {
-        id: 'id',
-        headerCellName: 'Task Index',
-        templateName: 'components/basic-table/linked-cell',
-        contentPath: 'id',
-        getCellContent: function (row) {
-          var id = row.get('id'),
-              idPrefix = 'task_%@_'.fmt(row.get('dagID').substr(4));
-          return {
-            linkTo: 'task',
-            entityId: id,
-            displayText: id.indexOf(idPrefix) == 0 ? id.substr(idPrefix.length) : id
-          };
-        },
-        getSearchValue: function (row) {
-          var id = row.get('id'),
-              idPrefix = 'task_%@_'.fmt(row.get('dagID').substr(4));
-          return id.indexOf(idPrefix) == 0 ? id.substr(idPrefix.length) : id;
-        }
-      },
-      {
-        id: 'vertexName',
-        headerCellName: 'Vertex Name',
-        templateName: 'components/basic-table/linked-cell',
-        contentPath: 'vertexID',
-        getCellContent: function(row) {
-          var vertexId = row.get('vertexID') || '';
-          return {
-            linkTo: 'vertex',
-            displayText: vertexIdToNameMap[vertexId] || vertexId,
-            entityId: vertexId
-          };
-        },
-        getSearchValue: function(row) {
-          var vertexId = row.get('vertexID');
-          return vertexIdToNameMap[vertexId] || vertexId;
-        },
-        getSortValue: function(row) {
-          var vertexId = row.get('vertexID');
-          return vertexIdToNameMap[vertexId] || vertexId;
-        }
-      },
-      {
-        id: 'status',
-        headerCellName: 'Status',
-        templateName: 'components/basic-table/status-cell',
-        contentPath: 'status',
-        observePath: true,
-        onSort: this.onInProgressColumnSort.bind(this),
-        getCellContent: function(row) {
-          var status = row.get('status');
-          return {
-            status: status,
-            statusIcon: App.Helpers.misc.getStatusClassForEntity(status,
-              row.get('hasFailedTaskAttempts'))
-          };
-        }
-      },
-      {
-        id: 'progress',
-        headerCellName: 'Progress',
-        contentPath: 'progress',
-        observePath: true,
-        onSort: this.onInProgressColumnSort.bind(this),
-        templateName: 'components/basic-table/progress-cell'
-      },
-      {
-        id: 'startTime',
-        headerCellName: 'Start Time',
-        contentPath: 'startTime',
-        getCellContent: function(row) {
-          return App.Helpers.date.dateFormat(row.get('startTime'));
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.dateFormat(row.get('startTime'));
-        }
-      },
-      {
-        id: 'endTime',
-        headerCellName: 'End Time',
-        contentPath: 'endTime',
-        getCellContent: function(row) {
-          return App.Helpers.date.dateFormat(row.get('endTime'));
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.dateFormat(row.get('endTime'));
-        },
-      },
-      {
-        id: 'duration',
-        headerCellName: 'Duration',
-        contentPath: 'duration',
-        getCellContent: function(row) {
-          return App.Helpers.date.timingFormat(row.get('duration'), 1);
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.timingFormat(row.get('duration'), 1);
-        },
-      },
-      {
-        id: 'actions',
-        headerCellName: 'Actions',
-        templateName: 'components/basic-table/task-actions-cell',
-        contentPath: 'id',
-        searchAndSortable: false
-      },
-      {
-        id: 'logs',
-        headerCellName: 'Logs',
-        templateName: 'components/basic-table/logs-cell',
-        searchAndSortable: false,
-        getCellContent: function(row) {
-          var taskAttemptId = row.get('successfulAttemptId') || row.get('attempts.lastObject'),
-              store = that.get('store');
-
-          if (taskAttemptId) {
-            return store.find('taskAttempt', taskAttemptId).then(getLogContent);
-          }
-        }
-      }
-    ];
-  }.property(
-    'controllers.dag.vertexIdToNameMap',
-    'controllers.dag.yarnAppState',
-    'controllers.dag.tezApp.user'
-  ),
-
-  columnConfigs: function() {
-    return this.get('defaultColumnConfigs').concat(
-      App.Helpers.misc.normalizeCounterConfigs(
-        App.get('Configs.defaultCounters').concat(
-          App.get('Configs.tables.entity.task') || [],
-          App.get('Configs.tables.sharedColumns') || []
-        )
-      , this)
-    );
-  }.property('defaultColumnConfigs'),
-
-});

http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/app/scripts/controllers/dag_vertices.js
----------------------------------------------------------------------
diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_vertices.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_vertices.js
deleted file mode 100644
index 2f5e8e3..0000000
--- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_vertices.js
+++ /dev/null
@@ -1,265 +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.
- */
-
-App.DagVerticesController = App.TablePageController.extend({
-  controllerName: 'DagVerticesController',
-  needs: "dag",
-
-  entityType: 'dagVertex',
-  filterEntityType: 'dag',
-  filterEntityId: Ember.computed.alias('controllers.dag.id'),
-
-  cacheDomain: Ember.computed.alias('controllers.dag.id'),
-
-  pollingType: 'vertexInfo',
-
-  pollsterControl: function () {
-
-    if(this.get('status') == 'RUNNING' &&
-        this.get('amWebServiceVersion') != '1' &&
-        !this.get('loading') &&
-        this.get('isActive') &&
-        this.get('pollingEnabled') &&
-        this. get('rowsDisplayed.length') > 0) {
-      this.get('pollster').start();
-    }
-    else {
-      this.get('pollster').stop();
-    }
-  }.observes('status', 'amWebServiceVersion', 'rowsDisplayed', 'loading', 'isActive', 'pollingEnabled'),
-
-  pollsterOptionsObserver: function () {
-    this.set('pollster.options', {
-      appID: this.get('applicationId'),
-      dagID: this.get('idx'),
-      counters: this.get('countersDisplayed'),
-      vertexID: this.get('rowsDisplayed').map(function (row) {
-          return App.Helpers.misc.getIndexFromId(row.get('id'));
-        }).join(',')
-    });
-  }.observes('applicationId', 'idx', 'rowsDisplayed'),
-
-  countersDisplayed: function () {
-    return App.Helpers.misc.getCounterQueryParam(this.get('columns'));
-  }.property('columns'),
-
-  beforeLoad: function () {
-    var dagController = this.get('controllers.dag'),
-        model = dagController.get('model');
-    return model.reload().then(function () {
-      return dagController.loadAdditional(model);
-    });
-  },
-
-  afterLoad: function () {
-    var data = this.get('data'),
-        runningVerticesIdx,
-        isUnsuccessfulDag = App.Helpers.misc.isStatusInUnsuccessful(
-          this.get('controllers.dag.status')
-        );
-
-    if(isUnsuccessfulDag) {
-      data.filterBy('status', 'RUNNING').forEach(function (vertex) {
-        vertex.set('status', 'KILLED');
-      });
-    }
-
-    if (this.get('controllers.dag.amWebServiceVersion') == '1') {
-      this._loadProgress(data);
-    }
-
-    return this._super();
-  },
-
-  // Load progress in parallel for v1 version of the api
-  _loadProgress: function (vertices) {
-    var that = this,
-        runningVerticesIdx = vertices
-      .filterBy('status', 'RUNNING')
-      .map(function(item) {
-        return item.get('id').split('_').splice(-1).pop();
-      });
-
-    if (runningVerticesIdx.length > 0) {
-      this.store.unloadAll('vertexProgress');
-      this.store.findQuery('vertexProgress', {
-        metadata: {
-          appId: that.get('applicationId'),
-          dagIdx: that.get('idx'),
-          vertexIds: runningVerticesIdx.join(',')
-        }
-      }).then(function(vertexProgressInfo) {
-          App.Helpers.emData.mergeRecords(
-            that.get('rowsDisplayed'),
-            vertexProgressInfo,
-            ['progress']
-          );
-      }).catch(function(error) {
-        error.message = "Failed to fetch vertexProgress. Application Master (AM) is out of reach. Either it's down, or CORS is not enabled for YARN ResourceManager.";
-        Em.Logger.error(error);
-        var err = App.Helpers.misc.formatError(error);
-        var msg = 'Error code: %@, message: %@'.fmt(err.errCode, err.msg);
-        App.Helpers.ErrorBar.getInstance().show(msg, err.details);
-      });
-    }
-  },
-
-  defaultColumnConfigs: function() {
-    function onProgressChange() {
-      var progress = this.get('vertex.progress'),
-          pct,
-          status;
-      status = this.get('vertex.status');
-      if (Ember.typeOf(progress) === 'number' && status == 'RUNNING') {
-        pct = App.Helpers.number.fractionToPercentage(progress);
-      }
-      this.setProperties({
-        progress: pct,
-        status: status,
-        statusIcon: App.Helpers.misc.getStatusClassForEntity(status,
-          this.get('vertex.hasFailedTaskAttempts'))
-      });
-    }
-
-    return [
-      {
-        id: 'vertexName',
-        headerCellName: 'Vertex Name',
-        templateName: 'components/basic-table/linked-cell',
-        contentPath: 'name',
-        getCellContent: function(row) {
-          return {
-            linkTo: 'vertex',
-            entityId: row.get('id'),
-            displayText: row.get('name')
-          };
-        }
-      },
-      {
-        id: 'id',
-        headerCellName: 'Vertex ID',
-        contentPath: 'id',
-      },
-      {
-        id: 'status',
-        headerCellName: 'Status',
-        templateName: 'components/basic-table/status-cell',
-        contentPath: 'status',
-        observePath: true,
-        getCellContent: function(row) {
-          var status = row.get('status');
-          return {
-            status: status,
-            statusIcon: App.Helpers.misc.getStatusClassForEntity(status)
-          };
-        }
-      },
-      {
-        id: 'progress',
-        headerCellName: 'Progress',
-        contentPath: 'progress',
-        observePath: true,
-        templateName: 'components/basic-table/progress-cell'
-      },
-      {
-        id: 'startTime',
-        headerCellName: 'Start Time',
-        contentPath: 'startTime',
-        getCellContent: function(row) {
-          return App.Helpers.date.dateFormat(row.get('startTime'));
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.dateFormat(row.get('startTime'));
-        }
-      },
-      {
-        id: 'endTime',
-        headerCellName: 'End Time',
-        contentPath: 'endTime',
-        getCellContent: function(row) {
-          return App.Helpers.date.dateFormat(row.get('endTime'));
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.dateFormat(row.get('endTime'));
-        },
-      },
-      {
-        id: 'duration',
-        headerCellName: 'Duration',
-        contentPath: 'duration',
-        getCellContent: function(row) {
-          return App.Helpers.date.timingFormat(row.get('duration'), 1);
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.timingFormat(row.get('duration'), 1);
-        }
-      },
-      {
-        id: 'firstTaskStartTime',
-        headerCellName: 'First Task Start Time',
-        contentPath: 'firstTaskStartTime',
-        getCellContent: function(row) {
-          return App.Helpers.date.dateFormat(row.get('firstTaskStartTime'));
-        },
-        getSearchValue: function(row) {
-          return App.Helpers.date.dateFormat(row.get('firstTaskStartTime'));
-        }
-      },
-      {
-        id: 'tasks',
-        headerCellName: 'Tasks',
-        contentPath: 'numTasks'
-      },
-      {
-        id: 'processorClass',
-        headerCellName: 'Processor Class',
-        contentPath: 'processorClassName'
-      },
-      {
-        id: 'configurations',
-        headerCellName: 'Source/Sink Configs',
-        templateName: 'components/basic-table/vertex-configurations-cell',
-        searchAndSortable: false,
-        getCellContent: function(row) {
-          var firstInputId = row.get('inputs.content.0.id'),
-              firstOutputId = row.get('outputs.content.0.id');
-          return {
-            linkToAdditionals: row.get('inputs.content.length') > 1 ||
-                row.get('outputs.content.length') > 1 ||
-                (firstInputId != undefined && firstOutputId != undefined),
-            inputId: firstInputId,
-            outputId: firstOutputId,
-            vertexId: row.get('id')
-          };
-        }
-      }
-    ];
-  }.property(),
-
-  columnConfigs: function() {
-    return this.get('defaultColumnConfigs').concat(
-      App.Helpers.misc.normalizeCounterConfigs(
-        App.get('Configs.defaultCounters').concat(
-          App.get('Configs.tables.entity.vertex') || [],
-          App.get('Configs.tables.sharedColumns') || []
-        )
-      )
-    );
-  }.property('defaultColumnConfigs'),
-
-});


Mime
View raw message