Browse Source

AMBARI-15012. Set default database as selected db when hive view loads. (Gaurav Nagar via dipayanb)

Dipayan Bhowmick 9 years ago
parent
commit
4c8d75df6f

+ 8 - 3
contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/databases.js

@@ -26,6 +26,7 @@ export default Ember.Controller.extend({
 
   pageCount: 10,
 
+  previousSelectedDatabaseName : "" ,
   selectedDatabase: Ember.computed.alias('databaseService.selectedDatabase'),
   databases: Ember.computed.alias('databaseService.databases'),
 
@@ -99,8 +100,12 @@ export default Ember.Controller.extend({
 
     this.get('databaseService').getAllTables().then(function () {
       self.set('isLoading', false);
-    }, function (err) {
-      self._handleError(err);
+      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'),
 
@@ -150,7 +155,7 @@ export default Ember.Controller.extend({
 
   getDatabases: function () {
     var self = this;
-    var selectedDatabase = this.get('selectedDatabase.name');
+    var selectedDatabase = this.get('selectedDatabase.name') || 'default';
 
     this.set('isLoading', true);
 

+ 4 - 0
contrib/views/hive/src/main/resources/ui/hive-web/app/services/notify.js

@@ -47,6 +47,10 @@ export default Ember.Service.extend({
     this.add(this.types.WARN, message, body);
   },
 
+  pushError: function (message, body) {
+    this.add(this.types.ERROR, message, body);
+  },
+
   error: function (error) {
     var message,
         body;