You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ni...@apache.org on 2016/12/28 09:33:15 UTC
[15/23] ambari git commit: AMBARI-19302 : removed contrib/views/hive
folder and made necessary changes in pom.xml files (nitirajrathore)
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/input-header.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/input-header.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/input-header.js
deleted file mode 100644
index 7ff5bf7..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/input-header.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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: '',
- dataTypes: null,
- column: null,
- precisionChanged: Ember.observer('column.precision', function () {
- var col = this.get('column');
- if( typeof col.precision !== 'number') {
- Ember.set(col, 'precision', Number(col.precision));
- }
- }),
-
- scaleChanged: Ember.observer('column.scale', function () {
- var col = this.get('column');
- if( typeof col.scale !== 'number'){
- Ember.set(col,'scale',Number(col.scale));
- }
- }),
-
- typeChanged: Ember.observer('column.type', function () {
- var col = this.get('column');
-
- var type = col.type;
- if( type != "DECIMAL" ){
- Ember.set(col,'scale');
- }
-
- if(type != "VARCHAR" && type != "CHAR" && type != "DECIMAL" ){
- Ember.set(col,'precision');
- }
- }),
-
- noPrecision: Ember.computed('column.type', function () {
- var type = this.get('column').type;
- return (type == "VARCHAR" || type == "CHAR" || type == "DECIMAL" ) ? false : true;
- }),
-
- noScale: Ember.computed('column.type', function () {
- return this.get('column').type == "DECIMAL" ? false : true;
- })
-
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/job-tr-view.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/job-tr-view.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/job-tr-view.js
deleted file mode 100644
index f439ca2..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/job-tr-view.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.
- */
-
-import Ember from 'ember';
-import constants from 'hive/utils/constants';
-import utils from 'hive/utils/functions';
-
-export default Ember.Component.extend({
- tagName: '',
-
- canStop: function () {
- return utils.insensitiveCompare(this.get('job.status'), constants.statuses.running, constants.statuses.initialized, constants.statuses.pending);
- }.property('job.status'),
-
- actions: {
- requestFile: function () {
- this.toggleProperty('expanded');
-
- this.sendAction('onFileRequested', this.get('job'));
- },
-
- stopJob: function () {
- this.sendAction('onStopJob', this.get('job'));
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/modal-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/modal-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/modal-widget.js
deleted file mode 100644
index ce25bf1..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/modal-widget.js
+++ /dev/null
@@ -1,58 +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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend(Ember.I18n.TranslateableProperties, {
- show: function () {
- var self = this;
-
- this.$('.modal').modal().on('hidden.bs.modal', function () {
- self.sendAction('close');
- });
- }.on('didInsertElement'),
-
- keyPress: function (e) {
- Ember.run.debounce(this, function () {
- if (e.which === 13) {
- this.send('ok');
- } else if (e.which === 27) {
- this.send('close');
- }
- }, 200);
- },
-
- setupEvents: function () {
- this.$(document).on('keyup', Ember.$.proxy(this.keyPress, this));
- }.on('didInsertElement'),
-
- destroyEvents: function () {
- this.$(document).off('keyup', Ember.$.proxy(this.keyPress, this));
- }.on('willDestroyElement'),
-
- actions: {
- ok: function () {
- this.$('.modal').modal('hide');
- this.sendAction('ok');
- },
- close: function () {
- this.$('.modal').modal('hide');
- this.sendAction('close');
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/navbar-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/navbar-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/navbar-widget.js
deleted file mode 100644
index 11333d0..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/navbar-widget.js
+++ /dev/null
@@ -1,42 +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.
- */
-
-import Ember from 'ember';
-import constants from 'hive/utils/constants';
-
-export default Ember.Component.extend({
- tagName: 'navigation-bar',
- title: constants.appTitle,
-
- items: Ember.A([
- Ember.Object.create({text: 'menus.query',
- path: constants.namingConventions.routes.index}),
-
- Ember.Object.create({text: 'menus.savedQueries',
- path: constants.namingConventions.routes.queries}),
-
- Ember.Object.create({text: 'menus.history',
- path: constants.namingConventions.routes.history}),
-
- Ember.Object.create({text: 'menus.udfs',
- path: constants.namingConventions.routes.udfs}),
-
- Ember.Object.create({text: 'menus.uploadTable',
- path: constants.namingConventions.routes.uploadTable})
- ])
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/no-bubbling.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/no-bubbling.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/no-bubbling.js
deleted file mode 100644
index 4b723b1..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/no-bubbling.js
+++ /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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- didInsertElement: function () {
- var self = this;
-
- this.$().click(function (e) {
- e.stopPropagation();
-
- self.sendAction('click', self.get('data'));
- });
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/notify-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/notify-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/notify-widget.js
deleted file mode 100644
index ba0f080..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/notify-widget.js
+++ /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.
-*/
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: 'notifications',
- classNames: [ 'notifications-container' ],
- removeNotificationAction: 'removeNotification',
-
- actions: {
- removeNotification: function (notification) {
- this.sendAction('removeNotificationAction', notification);
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/number-range-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/number-range-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/number-range-widget.js
deleted file mode 100644
index 3b340ad..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/number-range-widget.js
+++ /dev/null
@@ -1,79 +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.
- */
-
-import Ember from 'ember';
-import utils from 'hive/utils/functions';
-
-export default Ember.Component.extend({
- didInsertElement: function () {
- var self = this;
- var numberRange = this.get('numberRange');
-
- if (!numberRange.get('from') && !numberRange.get('to')) {
- numberRange.set('from', numberRange.get('min'));
- numberRange.set('to', numberRange.get('max'));
- }
-
- this.$('.slider').slider({
- range: true,
- min: numberRange.get('min'),
- max: numberRange.get('max'),
- units: numberRange.get('units'),
- values: [numberRange.get('from'), numberRange.get('to')],
-
- slide: function (event, ui) {
- numberRange.set('from', ui.values[0]);
- numberRange.set('to', ui.values[1]);
- self.updateRangeLables();
- },
-
- change: function () {
- self.sendAction('rangeChanged', numberRange);
- }
- });
- this.updateRangeLables();
- this.set('rendered', true);
- },
- updateRangeLables: function () {
- var numberRange = this.get('numberRange');
- numberRange.set('fromDuration', utils.secondsToHHMMSS(numberRange.get('from')));
- numberRange.set('toDuration', utils.secondsToHHMMSS(numberRange.get('to')));
- },
- updateFrom: function () {
- if (this.get('rendered')) {
- this.$('.slider').slider('values', 0, this.get('numberRange.from'));
- this.updateRangeLables();
- }
- }.observes('numberRange.from'),
-
- updateTo: function () {
- if (this.get('rendered')) {
- this.$('.slider').slider('values', 1, this.get('numberRange.to'));
- this.updateRangeLables();
- }
- }.observes('numberRange.to'),
-
- updateMin: function(){
- this.$( ".slider" ).slider( "option", "min", this.get('numberRange.min') );
- }.observes('numberRange.min'),
-
- updateMax: function(){
- this.$( ".slider" ).slider( "option", "max", this.get('numberRange.max') );
- }.observes('numberRange.max')
-
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/panel-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/panel-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/panel-widget.js
deleted file mode 100644
index e2b4ae8..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/panel-widget.js
+++ /dev/null
@@ -1,30 +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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend(Ember.I18n.TranslateableProperties, {
- tagName: 'panel',
-
- actions: {
- sendMenuItemAction: function (action) {
- this.set('menuItemAction', action);
- this.sendAction('menuItemAction');
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/popover-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/popover-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/popover-widget.js
deleted file mode 100644
index cfb0c31..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/popover-widget.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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend(Ember.I18n.TranslateableProperties, {
- tagName: 'popover',
- attributeBindings: [ 'title', 'content:data-content' ],
-
- didInsertElement: function () {
- this.$().popover({
- html: true,
- placement: 'left',
- trigger: 'hover'
- });
-
- this.$().attr('data-content', this.$('.hide').html());
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/progress-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/progress-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/progress-widget.js
deleted file mode 100644
index 9a459c3..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/progress-widget.js
+++ /dev/null
@@ -1,30 +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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: 'progress-bar',
-
- updateValue: function () {
- var progress = this.get('value') ? this.get('value').toFixed() : 0;
-
- this.set('style', 'width: %@%'.fmt(progress));
- this.set('percentage', '%@%'.fmt(progress));
- }.observes('value').on('didInsertElement')
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/query-editor.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/query-editor.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/query-editor.js
deleted file mode 100644
index 34b293c..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/query-editor.js
+++ /dev/null
@@ -1,129 +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.
- */
-
-/* global CodeMirror */
-
-/**
-/* Copyright (C) 2014 by Marijn Haverbeke <ma...@gmail.com> and others
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
-
- * The above copyright notice and this permission notice shal l be included in
- * all copies or substantial portions of the Software.
-*/
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: 'query-editor',
-
- tablesChanged: function () {
- //Format hintOptions object as needed by the CodeMirror
- //http://stackoverflow.com/questions/20023381/codemirror-how-add-tables-to-sql-hint
- this.set('editor.options.hintOptions', { tables: this.get('tables') });
- }.observes('tables'),
-
- getColumnsHint: function (cm, tableName) {
- var callback = function () {
- CodeMirror.showHint(cm);
- };
-
- this.sendAction('columnsNeeded', tableName, callback);
- },
-
- initEditor: function () {
- var editor,
- updateSize,
- self = this;
-
- updateSize = function () {
- editor.setSize(self.$(this).width(), self.$(this).height());
- editor.refresh();
- };
-
- this.set('editor', CodeMirror.fromTextArea(document.getElementById('code-mirror'), {
- mode: 'text/x-hive',
- hint: CodeMirror.hint.sql,
- indentWithTabs: true,
- smartIndent: true,
- lineNumbers: true,
- matchBrackets : true,
- autofocus: true,
- extraKeys: {'Ctrl-Space': 'autocomplete'}
- }));
-
- CodeMirror.commands.autocomplete = function (cm) {
- var lastWord = cm.getValue().split(' ').pop();
-
- //if user wants to fill in a column
- if (lastWord.indexOf('.') > -1) {
- lastWord = lastWord.split('.')[0];
-
- self.getColumnsHint(cm, lastWord);
- } else {
- CodeMirror.showHint(cm);
- }
- };
-
- editor = this.get('editor');
-
- editor.on('cursorActivity', function () {
- self.set('highlightedText', editor.getSelections());
- });
-
- editor.setValue(this.get('query') || '');
-
- editor.on('change', function (instance) {
- Ember.run(function () {
- self.set('query', instance.getValue());
- });
- });
-
- this.$('.CodeMirror').resizable({
- handles: 's',
-
- resize: function () {
- Ember.run.debounce(this, updateSize, 150);
- }
- }).find('.ui-resizable-s').addClass('grip fa fa-reorder');
-
- this.tablesChanged();
- }.on('didInsertElement'),
-
- updateValue: function () {
- var query = this.get('query');
- var editor = this.get('editor');
-
- var isFinalExplainQuery = (query.toUpperCase().trim().indexOf('EXPLAIN') > -1);
- var editorQuery = editor.getValue();
-
- if (editor.getValue() !== query) {
- if(isFinalExplainQuery){
- editor.setValue(editorQuery || '')
- }else {
- editor.setValue(query || '');
- }
- }
-
- }.observes('query')
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/radio-button.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/radio-button.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/radio-button.js
deleted file mode 100644
index a07caaf..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/radio-button.js
+++ /dev/null
@@ -1,39 +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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: 'input',
- type: 'radio',
- attributeBindings: ['type', 'htmlChecked:checked', 'value', 'name', 'disabled'],
-
- htmlChecked: function() {
- return this.get('value') === this.get('checked');
- }.property('value', 'checked'),
-
- change: function() {
- this.set('checked', this.get('value'));
- },
-
- _updateElementValue: function() {
- Ember.run.next(this, function() {
- this.$().prop('checked', this.get('htmlChecked'));
- });
- }.observes('htmlChecked')
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/select-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/select-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/select-widget.js
deleted file mode 100644
index 8bd7a22..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/select-widget.js
+++ /dev/null
@@ -1,66 +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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend(Ember.I18n.TranslateableProperties, {
- tagName: 'dropdown',
-
- selectedLabel: function () {
- var value;
-
- //if there's an item selected, retrieve the property to be displayed as a label
- if (this.get('selectedValue') && this.get('labelPath')) {
- value = this.get('selectedValue').get(this.get('labelPath'));
-
- if (value) {
- return value;
- }
- }
-
- //else if a default label has been provided, use it as the selected label.
- if (this.get('defaultLabel')) {
- return this.get('defaultLabel');
- }
- }.property('selectedValue'),
-
- didInsertElement: function () {
- //if no selected item nor defaultLabel, set the selected value
- if (!this.get('selectedValue') && !this.get('defaultLabel') && this.get('items')) {
- this.set('selectedValue', this.get('items').objectAt(0));
- }
- },
-
- actions: {
- select: function (item){
- this.set('selectedValue', item);
- },
-
- add: function () {
- this.sendAction('itemAdded');
- },
-
- edit: function (item) {
- this.sendAction('itemEdited', item);
- },
-
- remove: function (item) {
- this.sendAction('itemRemoved', item);
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tabs-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tabs-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tabs-widget.js
deleted file mode 100644
index abb1337..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tabs-widget.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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: 'tabs',
-
- didInsertElement: function () {
- var tabToActivate,
- tabs = this.get('tabs');
-
- if (tabs.get('length')) {
- tabToActivate = tabs.find(function (tab) {
- return tab.get('active');
- });
-
- if (tabToActivate) {
- this.set('selectedTab', tabToActivate);
- } else {
- this.set('selectedTab', tabs.objectAt(0));
- }
- }
- },
-
- activateTab: function () {
- var selectedTab = this.get('selectedTab');
-
- selectedTab.set('active', true);
-
- this.get('tabs').without(selectedTab).forEach(function (tab) {
- tab.set('active', false);
- });
- }.observes('selectedTab'),
-
- removeEnabled: function () {
- return this.get('canRemove') && this.get('tabs.length') > 1;
- }.property('tabs.@each'),
-
- actions: {
- remove: function (tab) {
- this.sendAction('removeClicked', tab);
- },
-
- selectTab: function (tab) {
- this.set('selectedTab', tab);
- },
-
- titleClick: function(tab) {
- this.sendAction('onActiveTitleClick', tab);
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tree-view.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tree-view.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tree-view.js
deleted file mode 100644
index cd63f52..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/tree-view.js
+++ /dev/null
@@ -1,23 +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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: 'tree-view'
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/typeahead-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/typeahead-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/typeahead-widget.js
deleted file mode 100644
index 5bc0bda..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/typeahead-widget.js
+++ /dev/null
@@ -1,108 +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.
- */
-
-import Typeahead from 'ember-cli-selectize/components/ember-selectize';
-import Ember from 'ember';
-
-export default Typeahead.extend(Ember.I18n.TranslateableProperties, {
- didInsertElement: function () {
- this._super();
-
- if (!this.get('selection') && this.get('content.firstObject')) {
- this.set('selection', this.get('content.firstObject'));
- }
-
- this.selectize.on('dropdown_close', Ember.$.proxy(this.onClose, this));
-
- if($('.selectize-input')) {$('.selectize-input').addClass( "mozBoxSizeFix" );}
-
- var currentKeyName = this.get('safeValue');
- var currentTypehead = $('*[keyname="' + currentKeyName +'"]');
-
- if (currentTypehead.find($('.selectize-input')).has('.item').length == 0) {
- currentTypehead.find($('.selectize-input')).addClass("has-options has-items ");
-
- currentTypehead.find($('.selectized option:selected')).val(currentKeyName);
- currentTypehead.find($('.selectized option:selected')).text(currentKeyName);
-
- currentTypehead.find($('.selectize-input input')).css({'opacity': 0 , 'position': 'absolute' , 'left': '-10000px'});
-
- var itemHtml = '<div data-value=' + currentKeyName + ' class=item >' + currentKeyName + '</div>';
- currentTypehead.find($('.selectize-input')).append( itemHtml );
-
- }
- },
-
- removeExcludedObserver: function () {
- var options = this.get('content');
-
- if (!options) {
- options = this.removeExcluded(true);
- this.set('content', options);
- } else {
- this.removeExcluded();
- }
- }.observes('excluded.@each.key').on('init'),
-
- removeExcluded: function (shouldReturn) {
- var excluded = this.get('excluded') || [];
- var options = this.get('options');
- var selection = this.get('selection');
- var objectToModify = this.get('content');
- var objectsToRemove = [];
- var objectsToAdd = [];
-
- if (!options) {
- return;
- }
-
- if (shouldReturn) {
- objectToModify = Ember.copy(options);
- }
-
- var valuePath = this.get('optionValuePath');
- var selectionName = selection ? selection[valuePath] : selection;
-
- if (options) {
- options.forEach(function (option) {
- if (excluded.contains(option) && option.name !== selectionName) {
- objectsToRemove.push(option);
- } else if (!objectToModify.contains(option)) {
- objectsToAdd.push(option);
- }
- });
- }
-
- objectToModify.removeObjects(objectsToRemove);
- objectToModify.pushObjects(objectsToAdd);
-
- return objectToModify;
- },
-
- onClose: function () {
- if (!this.get('selection') && this.get('prevSelection')) {
- this.set('selection', this.get('prevSelection'));
- }
- },
-
- _onItemAdd: function (value) {
- this._super(value);
-
- this.set('prevSelection', this.get('selection'));
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/udf-tr-view.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/udf-tr-view.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/udf-tr-view.js
deleted file mode 100644
index f019578..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/udf-tr-view.js
+++ /dev/null
@@ -1,81 +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.
- */
-
-import Ember from 'ember';
-import constants from 'hive/utils/constants';
-
-export default Ember.Component.extend({
- tagName: 'tr',
-
- didInsertElement: function () {
- this._super();
-
- if (this.get('udf.isNew')) {
- this.set('udf.isEditing', true);
- }
- },
-
- setfileBackup: function () {
- if (!this.get('udf.isDirty')) {
- this.set('fileBackup', this.get('udf.fileResource'));
- }
- }.observes('udf.isDirty').on('didInsertElement'),
-
- actions: {
- editUdf: function () {
- this.set('udf.isEditing', true);
- },
-
- deleteUdf: function () {
- this.sendAction('onDeleteUdf', this.get('udf'));
- },
-
- addFileResource: function () {
- this.sendAction('onAddFileResource', this.get('udf'));
- },
-
- editFileResource: function (file) {
- this.set('udf.fileResource', file);
- this.set('udf.isEditingResource', true);
- },
-
- deleteFileResource: function (file) {
- this.sendAction('onDeleteFileResource', file);
- },
-
- save: function () {
- this.sendAction('onSaveUdf', this.get('udf'));
- },
-
- cancel: function () {
- var self = this;
-
- this.set('udf.isEditing', false);
- this.set('udf.isEditingResource', false);
-
- this.udf.get('fileResource').then(function (file) {
- if (file) {
- file.rollback();
- }
-
- self.udf.rollback();
- self.udf.set('fileResource', self.get('fileBackup'));
- });
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/upload-query.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/upload-query.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/upload-query.js
deleted file mode 100644
index e9a7ffa..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/upload-query.js
+++ /dev/null
@@ -1,32 +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.
- */
-
-import EmberUploader from 'ember-uploader';
-
-export default EmberUploader.FileField.extend({
-
- attributeBindings: ['id', 'style'],
- id: 'upload',
- style: 'display:none',
- initialize: function() {
- this.$().on('change', function(e) {
- this.sendAction('filesUploaded', e.currentTarget.files);
- }.bind(this));
- }.on('didInsertElement')
- });
-
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/validated-text-field.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/validated-text-field.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/validated-text-field.js
deleted file mode 100644
index 2379a15..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/validated-text-field.js
+++ /dev/null
@@ -1,62 +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.
- */
-
-
-import Ember from 'ember';
-
-/** Example :
- * {{#validated-text-field
- * inputValue=bindedTextValue invalidClass='form-control red-border' validClass='form-control' regex="^[a-z]+$"
- * allowEmpty=false tooltip="Enter valid word" errorMessage="Please enter valid word" placeholder="Enter Word"}}
- * {{/validated-text-field}}
- */
-export default Ember.Component.extend({
- classNameBindings: ['tagClassName'],
- tagClassName : false, // set it to non false value if you want a specific class to be assigned
- allowEmpty: true,
- valid: true,
- setValid: function () {
- this.set("valid", true);
- this.set("inputClass", this.get("validClass"));
- this.set("message", this.get("tooltip"));
- },
- setInvalid: function () {
- this.set("valid", false);
- this.set("inputClass", this.get("invalidClass"));
- this.set("message", this.get("errorMessage"));
- },
- onChangeInputValue: function () {
- var regStr = this.get("regex");
- var regExp = new RegExp(regStr, "g");
- if (this.get("inputValue")) {
- var arr = this.get("inputValue").match(regExp);
- if (arr != null && arr.length == 1) {
- this.setValid();
- }
- else {
- this.setInvalid();
- }
- } else {
- if (this.get("allowEmpty")) {
- this.setValid();
- } else {
- this.setInvalid();
- }
- }
- }.observes("inputValue").on('init')
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/components/visualization-tabs-widget.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/visualization-tabs-widget.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/components/visualization-tabs-widget.js
deleted file mode 100644
index 4980b7a..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/components/visualization-tabs-widget.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.
- */
-
-import Ember from 'ember';
-
-export default Ember.Component.extend({
- tagName: 'tabs',
-
- didInsertElement: function () {
- var tabToActivate,
- tabs = this.get('tabs');
-
- if (tabs.get('length')) {
- tabToActivate = tabs.find(function (tab) {
- return tab.get('active');
- });
-
- if (tabToActivate) {
- this.set('selectedTab', tabToActivate);
- } else {
- this.set('selectedTab', tabs.objectAt(0));
- }
- }
- },
-
- activateTab: function () {
- var selectedTab = this.get('selectedTab');
-
- selectedTab.set('active', true);
-
- this.get('tabs').without(selectedTab).forEach(function (tab) {
- tab.set('active', false);
- });
- }.observes('selectedTab'),
-
- actions: {
- selectTab: function (tab) {
- this.set('selectedTab', tab);
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/.gitkeep
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/.gitkeep b/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/.gitkeep
deleted file mode 100644
index e69de29..0000000
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/application.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/application.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/application.js
deleted file mode 100644
index 9a01d53..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/application.js
+++ /dev/null
@@ -1,26 +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.
- */
-
-import Ember from 'ember';
-import constants from 'hive/utils/constants';
-
-export default Ember.Controller.extend({
- notifyService: Ember.inject.service(constants.namingConventions.notify),
-
- notifications: Ember.computed.alias('notifyService.notifications'),
-});
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/databases.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/databases.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/databases.js
deleted file mode 100644
index fbd726c..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/databases.js
+++ /dev/null
@@ -1,465 +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.
- */
-
-import Ember from 'ember';
-import constants from 'hive/utils/constants';
-import ENV from '../config/environment';
-
-export default Ember.Controller.extend({
- databaseService: Ember.inject.service(constants.namingConventions.database),
- notifyService: Ember.inject.service(constants.namingConventions.notify),
- ldapAuthenticationService: Ember.inject.service(constants.namingConventions.ldapAuthentication),
-
- pageCount: 10,
-
- previousSelectedDatabaseName : "" ,
- selectedDatabase: Ember.computed.alias('databaseService.selectedDatabase'),
- databases: Ember.computed.alias('databaseService.databases'),
-
- tableSearchResults: Ember.Object.create(),
-
- isDatabaseRefreshInProgress: false,
- showColumnsResultAlert: false,
- textColumnSearchTerm:'',
-
- tableControls: [
- {
- icon: 'fa-list',
- action: 'loadSampleData',
- tooltip: Ember.I18n.t('tooltips.loadSample')
- }
- ],
-
- panelIconActions: [
- {
- icon: 'fa-refresh',
- action: 'refreshDatabaseExplorer',
- tooltip: Ember.I18n.t('tooltips.refresh')
- }
- ],
-
- tabs: [
- Ember.Object.create({
- name: Ember.I18n.t('titles.explorer'),
- visible: true,
- view: constants.namingConventions.databaseTree
- }),
- Ember.Object.create({
- name: Ember.I18n.t('titles.results'),
- view: constants.namingConventions.databaseSearch
- })
- ],
-
- _handleError: function (error) {
- this.get('notifyService').error(error);
- this.set('isLoading', false);
- },
-
- setTablePageAvailability: function (database) {
- var result;
-
- if (database.get('hasNext')) {
- result = true;
- } else if (database.tables.length > database.get('visibleTables.length')) {
- //if there are hidden tables
- result = true;
- }
-
- database.set('canGetNextPage', result);
- },
-
- setColumnPageAvailability: function (table) {
- var result;
-
- if (table.get('hasNext')) {
- result = true;
- } else if (table.columns.length > table.get('visibleColumns.length')) {
- //if there are hidden columns
- result = true;
- }
-
- table.set('canGetNextPage', result);
- },
-
- selectedDatabaseChanged: function () {
- var self = this;
-
- this.resetSearch();
-
- this.set('isLoading', true);
-
- this.get('databaseService').getAllTables().then(function () {
- self.set('isLoading', false);
- self.set('previousSelectedDatabaseName',self.get('selectedDatabase').get('name'));
- self.get('notifyService').info("Selected database : "+self.get('selectedDatabase').get('name'));
- }, function (error) {
- self.get('notifyService').pushError("Error while selecting database : "+self.get('selectedDatabase').get('name'),error.responseJSON.message+"\n"+error.responseJSON.trace);
- self.get('databaseService').setDatabaseByName(self.get('previousSelectedDatabaseName'));
- self.set('isLoading', false);
- });
- }.observes('selectedDatabase'),
-
- getNextColumnPage: function (database, table) {
- var self = this;
-
- this.set('isLoading', true);
-
- if (!table.columns) {
- table.columns = [];
- table.set('visibleColumns', []);
- }
-
- this.get('databaseService').getColumnsPage(database.get('name'), table).then(function (result) {
- table.columns.pushObjects(result.columns);
- table.get('visibleColumns').pushObjects(result.columns);
- table.set('hasNext', result.hasNext);
-
- self.setColumnPageAvailability(table);
- self.set('isLoading', false);
- }, function (err) {
- self._handleError(err);
- });
- },
-
- getNextTablePage: function (database) {
- var self = this;
-
- this.set('isLoading', true);
-
- if (!database.tables) {
- database.tables = [];
- database.set('visibleTables', []);
- }
-
- this.get('databaseService').getTablesPage(database).then(function (result) {
- database.tables.pushObjects(result.tables);
- database.get('visibleTables').pushObjects(result.tables);
- database.set('hasNext', result.hasNext);
-
- self.setTablePageAvailability(database);
- self.set('isLoading', false);
- }, function (err) {
- self._handleError(err);
- });
- },
-
- getDatabases: function () {
- var self = this;
- var selectedDatabase = this.get('selectedDatabase.name') || 'default';
-
- this.set('isDatabaseRefreshInProgress', true);
-
- this.set('isLoading', true);
-
- this.get('databaseService').getDatabases().then(function (databases) {
- self.set('isLoading');
- self.get('databaseService').setDatabaseByName(selectedDatabase);
- }).catch(function (error) {
- self._handleError(error);
-
- if(error.status == 401) {
- self.send('openLdapPasswordModal');
- }
- }).finally(function() {
- self.set('isDatabaseRefreshInProgress', false);
- });
- }.on('init'),
-
- syncDatabases: function() {
- this.set('isDatabaseRefreshInProgress', true);
- var oldDatabaseNames = this.store.all('database').mapBy('name');
- var self = this;
- return this.get('databaseService').getDatabasesFromServer().then(function(data) {
- // Remove the databases from store which are not in server
- data.forEach(function(dbName) {
- if(!oldDatabaseNames.contains(dbName)) {
- self.store.createRecord('database', {
- id: dbName,
- name: dbName
- });
- }
- });
- // Add the databases in store which are new in server
- oldDatabaseNames.forEach(function(dbName) {
- if(!data.contains(dbName)) {
- self.store.find('database', dbName).then(function(db) {
- self.store.unloadRecord(db);
- });
- }
- });
- }).finally(function() {
- self.set('isDatabaseRefreshInProgress', false);
- });
- },
-
- initiateDatabaseSync: function() {
- // This was required so that the unit test would not stall
- if(ENV.environment !== "test") {
- Ember.run.later(this, function() {
- if (this.get('isDatabaseRefreshInProgress') === false) {
- this.syncDatabases();
- this.initiateDatabaseSync();
- }
- }, 15000);
- }
- }.on('init'),
-
- resetSearch: function() {
- var resultsTab = this.get('tabs').findBy('view', constants.namingConventions.databaseSearch);
- var databaseExplorerTab = this.get('tabs').findBy('view', constants.namingConventions.databaseTree);
- var tableSearchResults = this.get('tableSearchResults');
- resultsTab.set('visible', false);
- this.set('selectedTab', databaseExplorerTab);
- this.set('tableSearchTerm', '');
- this.set('columnSearchTerm', '');
- tableSearchResults.set('tables', undefined);
- tableSearchResults.set('hasNext', undefined);
- },
-
-
- actions: {
- refreshDatabaseExplorer: function () {
- if (this.get('isDatabaseRefreshInProgress') === false) {
- this.getDatabases();
- this.resetSearch();
- } else {
- console.log("Databases refresh is in progress. Skipping this request.");
- }
- },
-
- openLdapPasswordModal: function(){
-
- var self = this,
- defer = Ember.RSVP.defer();
-
- this.send('openModal', 'modal-save', {
- heading: "modals.authenticationLDAP.heading",
- text:"",
- type: "password",
- defer: defer
- });
-
- defer.promise.then(function (text) {
- var ldapAuthPromise = self.get('ldapAuthenticationService').authenticateLdapPassword(text);
-
- ldapAuthPromise.then(function (data) {
- console.log( "LDAP done: " + data );
- self.getDatabases();
- self.syncDatabases();
- }, function (error) {
- console.log( "LDAP fail: " + error );
- self.get('notifyService').error( "Wrong Credentials." );
- })
- });
-
- },
-
- loadSampleData: function (tableName, database) {
- var self = this;
- this.send('addQuery', Ember.I18n.t('titles.tableSample', { tableName: tableName }));
-
- Ember.run.later(function () {
- var query = constants.sampleDataQuery.fmt(tableName);
-
- self.set('selectedDatabase', database);
- self.send('executeQuery', constants.jobReferrer.sample, query);
- });
- },
-
- getTables: function (dbName) {
- var database = this.get('databases').findBy('name', dbName),
- tables = database.tables,
- pageCount = this.get('pageCount');
-
- if (!tables) {
- this.getNextTablePage(database);
- } else {
- database.set('visibleTables', tables.slice(0, pageCount));
- this.setTablePageAvailability(database);
- }
- },
-
- getColumns: function (tableName, database) {
- var table = database.get('visibleTables').findBy('name', tableName),
- pageCount = this.get('pageCount'),
- columns = table.columns;
-
- if (!columns) {
- this.getNextColumnPage(database, table);
- } else {
- table.set('visibleColumns', columns.slice(0, pageCount));
- this.setColumnPageAvailability(table);
- }
- },
-
- showMoreTables: function (database) {
- var tables = database.tables,
- visibleTables = database.get('visibleTables'),
- visibleCount = visibleTables.length;
-
- if (!tables) {
- this.getNextTablePage(database);
- } else {
- if (tables.length > visibleCount) {
- visibleTables.pushObjects(tables.slice(visibleCount, visibleCount + this.get('pageCount')));
- this.setTablePageAvailability(database);
- } else {
- this.getNextTablePage(database);
- }
- }
- },
-
- showMoreColumns: function (table, database) {
- var columns = table.columns,
- visibleColumns = table.get('visibleColumns'),
- visibleCount = visibleColumns.length;
-
- if (!columns) {
- this.getNextColumnPage(database, table);
- } else {
- if (columns.length > visibleCount) {
- visibleColumns.pushObjects(columns.slice(visibleCount, visibleCount + this.get('pageCount')));
- this.setColumnPageAvailability(table);
- } else {
- this.getNextColumnPage(database, table);
- }
- }
- },
-
- searchTables: function (searchTerm) {
- var self = this,
- resultsTab = this.get('tabs').findBy('view', constants.namingConventions.databaseSearch),
- tableSearchResults = this.get('tableSearchResults');
-
- searchTerm = searchTerm ? searchTerm.toLowerCase() : '';
-
- this.set('showColumnsResultAlert', false);
-
- this.set('tablesSearchTerm', searchTerm);
- resultsTab.set('visible', true);
- this.set('selectedTab', resultsTab);
- this.set('columnSearchTerm', '');
- this.set('isLoading', true);
-
- this.get('databaseService').getTablesPage(this.get('selectedDatabase'), searchTerm, true).then(function (result) {
- tableSearchResults.set('tables', result.tables);
- tableSearchResults.set('hasNext', result.hasNext);
-
- self.set('isLoading', false);
- }, function (err) {
- self._handleError(err);
- });
- },
-
- searchColumns: function (searchTerm) {
- var self = this,
- database = this.get('selectedDatabase'),
- resultsTab = this.get('tabs').findBy('view', constants.namingConventions.databaseSearch),
- tables = this.get('tableSearchResults.tables');
-
- searchTerm = searchTerm ? searchTerm.toLowerCase() : '';
-
- this.set('columnSearchTerm', searchTerm);
- this.set('textColumnSearchTerm', searchTerm);
-
- this.set('selectedTab', resultsTab);
- this.set('isLoading', true);
- this.set('showColumnsResultAlert', false);
-
- var tableCount = tables.length || 0;
- var noColumnMatchTableCount = 0;
-
- tables.forEach(function (table) {
- self.get('databaseService').getColumnsPage(database.get('name'), table, searchTerm, true).then(function (result) {
-
- if(Ember.isEmpty(result.columns)){
- noColumnMatchTableCount = noColumnMatchTableCount + 1;
- }
- table.set('columns', result.columns);
- table.set('hasNext', result.hasNext);
-
- if (tables.indexOf(table) === tables.get('length') -1) {
- self.set('isLoading', false);
- }
-
- // This will execute only in the last interation
- if(noColumnMatchTableCount === tableCount) {
- self.set('showColumnsResultAlert', true);
- }
- }, function (err) {
- self._handleError(err);
- });
- });
- },
-
- showMoreResultTables: function () {
- var self = this,
- database = this.get('selectedDatabase'),
- tableSearchResults = this.get('tableSearchResults'),
- searchTerm = this.get('tableSearchTerm');
-
- this.set('isLoading', true);
-
- this.get('databaseService').getTablesPage(database, searchTerm).then(function (tablesResult) {
- var tables = tableSearchResults.get('tables');
- var shouldGetColumns = tables.any(function (table) {
- return table.get('columns.length') > 0;
- });
-
- tables.pushObjects(tablesResult.tables);
- tableSearchResults.set('hasNext', tablesResult.hasNext);
-
- //if user has already searched for columns for the previously loaded tables,
- //load the columns search results for the newly loaded tables.
- if (shouldGetColumns) {
- tablesResult.tables.forEach(function (table) {
- self.get('databaseService').getColumnsPage(database.get('name'), table, self.get('columnSearchTerm'), true).then(function (result) {
- table.set('columns', result.columns);
- table.set('hasNext', result.hasNext);
-
- if (tablesResult.tables.indexOf(table) === tablesResult.tables.get('length') -1) {
- self.set('isLoading', false);
- }
- }, function (err) {
- self._handleError(err);
- });
- });
- } else {
- self.set('isLoading', false);
- }
- }, function (err) {
- self._handleError(err);
- });
- },
-
- showMoreResultColumns: function (table) {
- var self = this;
-
- this.set('isLoading', true);
-
- this.get('databaseService').getColumnsPage(this.get('selectedDatabase.name'), table, this.get('columnSearchTerm')).then(function (result) {
- table.get('columns').pushObjects(result.columns);
- table.set('hasNext', result.hasNext);
-
- self.set('isLoading', false);
- }, function (err) {
- self._handleError(err);
- });
- }
- }
-});
http://git-wip-us.apache.org/repos/asf/ambari/blob/c0f9621f/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/history.js
----------------------------------------------------------------------
diff --git a/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/history.js b/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/history.js
deleted file mode 100644
index fa12e3f..0000000
--- a/contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/history.js
+++ /dev/null
@@ -1,257 +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.
- */
-
-import Ember from 'ember';
-import FilterableMixin from 'hive/mixins/filterable';
-import constants from 'hive/utils/constants';
-
-export default Ember.ArrayController.extend(FilterableMixin, {
- jobService: Ember.inject.service('job'),
- fileService: Ember.inject.service('file'),
- historyService: Ember.inject.service('history'),
- NUM_OF_DAYS: 5,
- REFRESH_INTERVAL_SEC: 30000,
- sortAscending: false,
- sortProperties: ['dateSubmittedTimestamp'],
-
- refresher: function () {
- var self = this;
- Ember.run.later(function () {
- if (self.get('isShowing')) {
- self.refresh();
- }
- self.refresher();
- }, self.get('REFRESH_INTERVAL_SEC'));
- },
- onLoadRoute: function () {
- this.set('isShowing', true);
- },
- onUnloadRoute: function () {
- this.set('isShowing', false);
- },
- init: function () {
- this._super();
- var self = this;
- var fromTime = moment().subtract(this.get('NUM_OF_DAYS'), 'days').startOf('day');
- var time = moment();
- var toTime = moment({
- years: time.year(),
- months: time.month(),
- date: time.date(),
- hours: 23,
- minutes: 59,
- seconds: 59,
- milliseconds: 999
- }); // next 12AM
-
- this.set('columns', Ember.ArrayProxy.create({
- content: Ember.A([
- Ember.Object.create({
- caption: 'columns.title',
- property: 'title',
- link: constants.namingConventions.subroutes.historyQuery
- }),
- Ember.Object.create({
- caption: 'columns.status',
- property: 'status'
- }),
- Ember.Object.create({
- caption: 'columns.date',
- property: 'dateSubmittedTimestamp',
- dateRange: Ember.Object.create({
- min: fromTime.toDate(),
- max: toTime.toDate()
- })
- }),
- Ember.Object.create({
- caption: 'columns.duration',
- property: 'duration',
- numberRange: Ember.Object.create({
- min: 0,
- max: 10,
- units: 'sec'
- })
- })
- ])
- }));
-
- return this.updateJobs(fromTime, toTime).then(function (data) {
- self.applyDurationFilter();
- self.refresher();
- });
- },
- applyDurationFilter: function () {
- var self = this;
- var durationColumn = this.get('columns').find(function (column) {
- return column.get('caption') === 'columns.duration';
- });
- var from = durationColumn.get('numberRange.from');
- var to = durationColumn.get('numberRange.to');
- self.filterBy("duration", {min: from, max: to});
- },
- updateIntervals: function () {
- var durationColumn;
- var maxDuration;
- var minDuration;
-
- if (this.get('columns')) {
- durationColumn = this.get('columns').find(function (column) {
- return column.get('caption') === 'columns.duration';
- });
-
- var items = this.get('history').map(function (item) {
- return item.get(durationColumn.get('property'));
- });
-
- minDuration = items.length ? Math.min.apply(Math, items) : 0;
- maxDuration = items.length ? Math.max.apply(Math, items) : 60; //Default 1 min
-
- durationColumn.set('numberRange.min', minDuration);
- durationColumn.set('numberRange.max', maxDuration);
- var from = durationColumn.get('numberRange.from');
- var to = durationColumn.get('numberRange.to');
- if (from > maxDuration) {
- durationColumn.set("numberRange.from", maxDuration);
- }
- if (to < minDuration) {
- durationColumn.set("numberRange.to", minDuration);
- }
- }
- }.observes('history'),
-
- model: function () {
- return this.filter(this.get('history'));
- }.property('history', 'filters.@each'),
-
- updateJobs: function (fromDate, toDate) {
- var self = this;
- var fromTime = moment(fromDate).startOf('day').toDate().getTime();
- var time = moment(toDate);
- var toTime = moment({
- years: time.year(),
- months: time.month(),
- date: time.date(),
- hours: 23,
- minutes: 59,
- seconds: 59,
- milliseconds: 999
- }).toDate().getTime(); // next 12AM
- this.set("fromTime", fromTime);
- this.set("toTime", toTime);
- return this.get("historyService").getJobs(fromTime, toTime).then(function (data) {
- self.set('history', data);
- });
- },
-
- filterBy: function (filterProperty, filterValue, exactMatch) {
- var column = this.get('columns').find(function (column) {
- return column.get('property') === filterProperty;
- });
-
- if (column) {
- var isDateColumn = column.get('caption') === 'columns.date';
- column.set('filterValue', filterValue, exactMatch);
- if (isDateColumn) {
- return this.updateJobs(filterValue.min, filterValue.max);
- } else {
- this.updateFilters(filterProperty, filterValue, exactMatch);
- }
- } else {
- this.updateFilters(filterProperty, filterValue, exactMatch);
- }
- },
-
- refresh: function () {
- var self = this;
- this.get('historyService').getUpdatedJobList(this.get('toTime')).then(function (data) {
- self.set('history', data);
- });
- },
-
- actions: {
-
- refreshJobs: function () {
- this.refresh();
- },
-
- filterUpdated: function (filterProperty, filterValue) {
- var self = this;
- var column = this.get('columns').find(function (column) {
- return column.get('property') === filterProperty;
- });
-
- var isDateColumn = (column.get('caption') === 'columns.date');
-
- if (column) {
- column.set('filterValue', filterValue);
- if (isDateColumn) {
- return this.updateJobs(filterValue.min, filterValue.max).then(function (data) {
- self.updateFilters(filterProperty, filterValue);
- });
- } else {
- self.updateFilters(filterProperty, filterValue);
- }
- }
- },
-
- sort: function (property) {
- //if same column has been selected, toggle flag, else default it to true
- if (this.get('sortProperties').objectAt(0) === property) {
- this.set('sortAscending', !this.get('sortAscending'));
- } else {
- this.set('sortAscending', true);
- this.set('sortProperties', [property]);
- }
- },
-
- interruptJob: function (job) {
- this.get('jobService').stopJob(job);
- },
-
- loadFile: function (job) {
- this.get('fileService').loadFile(job.get('queryFile')).then(function (file) {
- job.set('file', file);
- });
- },
-
- clearFilters: function () {
- var columns = this.get('columns');
-
- if (columns) {
- columns.forEach(function (column) {
- var filterValue = column.get('filterValue');
- var rangeFilter;
-
- if (filterValue) {
- if (typeof filterValue === 'string') {
- column.set('filterValue');
- } else {
- rangeFilter = column.get('numberRange') || column.get('dateRange');
-
- rangeFilter.set('from', rangeFilter.get('min'));
- rangeFilter.set('to', rangeFilter.get('max'));
- }
- }
- });
- }
-
- //call clear filters from Filterable mixin
- this.clearFilters();
- }
- }
-});