Forráskód Böngészése

[assist] Use the same base signature for all assist helper functions

Using the same option convention for all functions simplifies the code.
Johan Ahlen 10 éve
szülő
commit
ef9933e94b

+ 4 - 1
apps/metastore/src/metastore/static/metastore/js/metastore.ko.js

@@ -449,7 +449,7 @@
       self.loading(true);
       self.assistHelper.loadDatabases({
         sourceType: 'hive',
-        callback: function (databaseNames) {
+        successCallback: function (databaseNames) {
           self.databases($.map(databaseNames, function (name) {
             return new MetastoreDatabase({
               name: name,
@@ -461,6 +461,9 @@
           if (successCallback) {
             successCallback();
           }
+        },
+        errorCallback: function () {
+          self.databases([]);
         }
       });
     };

+ 4 - 1
desktop/core/src/desktop/static/desktop/js/assist/assistDbSource.js

@@ -158,7 +158,10 @@
       self.loading(true);
       self.assistHelper.loadDatabases({
         sourceType: self.type,
-        callback: updateDatabases
+        successCallback: updateDatabases,
+        errorCallback: function() {
+          updateDatabases([]);
+        }
       });
     };
 

+ 4 - 1
desktop/core/src/desktop/static/desktop/js/assist/assistDocuments.js

@@ -85,7 +85,10 @@
       self.loading(false);
     };
 
-    self.assistHelper.fetchDocuments(successCallback, errorCallback);
+    self.assistHelper.fetchDocuments({
+      successCallback: successCallback,
+      errorCallback: errorCallback
+    });
   };
 
   return AssistDocuments;

+ 5 - 1
desktop/core/src/desktop/static/desktop/js/assist/assistHdfsEntry.js

@@ -100,7 +100,11 @@
       }
     };
 
-    self.assistHelper.fetchHdfsPath(self.getHierarchy(), successCallback, errorCallback)
+    self.assistHelper.fetchHdfsPath({
+      pathParts: self.getHierarchy(),
+      successCallback: successCallback,
+      errorCallback: errorCallback
+    })
   };
 
   AssistHdfsEntry.prototype.loadDeep = function(folders, callback) {

+ 52 - 51
desktop/core/src/desktop/static/desktop/js/assist/assistHelper.js

@@ -146,14 +146,16 @@
   };
 
   /**
-   * @param {string[]} pathParts
-   * @param {Function} successCallback
-   * @param {Function} [errorCallback]
-   * @param {Object} [editor] - Ace editor
+   * @param {Object} options
+   * @param {Function} options.successCallback
+   * @param {Function} [options.errorCallback]
+   * @param {Object} [options.editor] - Ace editor
+   *
+   * @param {string[]} options.pathParts
    */
-  AssistHelper.prototype.fetchHdfsPath = function (pathParts, successCallback, errorCallback, editor) {
+  AssistHelper.prototype.fetchHdfsPath = function (options) {
     var self = this;
-    var url = HDFS_API_PREFIX + "/" + pathParts.join("/") + HDFS_PARAMETERS;
+    var url = HDFS_API_PREFIX + "/" + options.pathParts.join("/") + HDFS_PARAMETERS;
 
     var fetchFunction = function (successCallback) {
       $.ajax({
@@ -163,52 +165,43 @@
           if (!data.error && !self.successResponseIsError(data)) {
             successCallback(data);
           } else {
-            self.assistErrorCallback({
-              errorCallback: errorCallback
-            })(data);
+            self.assistErrorCallback(options)(data);
           }
         }
       })
-        .fail(self.assistErrorCallback({
-          errorCallback: errorCallback
-        }))
+        .fail(self.assistErrorCallback(options))
         .always(function () {
-          if (editor) {
-            editor.hideSpinner();
+          if (options.editor) {
+            options.editor.hideSpinner();
           }
         });
     };
 
-    fetchCached.bind(self)({
+    fetchCached.bind(self)($.extend({}, options, {
       sourceType: 'hdfs',
       url: url,
-      fetchFunction: fetchFunction,
-      successCallback: successCallback,
-      editor: editor
-    });
+      fetchFunction: fetchFunction
+    }));
   };
 
   /**
-   * @param {Function} successCallback
-   * @param {Function} [errorCallback]
+   * @param {Object} options
+   * @param {Function} options.successCallback
+   * @param {Function} [options.errorCallback]
    */
-  AssistHelper.prototype.fetchDocuments = function (successCallback, errorCallback) {
+  AssistHelper.prototype.fetchDocuments = function (options) {
     var self = this;
     $.ajax({
       url: DOCUMENTS_API,
       success: function (data) {
         if (! self.successResponseIsError(data)) {
-          successCallback(data);
+          options.successCallback(data);
         } else {
-          self.assistErrorCallback({
-            errorCallback: errorCallback
-          })(data);
+          self.assistErrorCallback(options)(data);
         }
       }
     })
-      .fail(self.assistErrorCallback({
-        errorCallback: errorCallback
-      }));
+      .fail(self.assistErrorCallback(options));
   };
 
   /**
@@ -243,10 +236,9 @@
 
   /**
    * @param {Object} options
-   * @param {string} options.sourceType
-   * @param {Function} options.callback
+   * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
-   */
+   **/
   AssistHelper.prototype.loadDatabases = function (options) {
     var self = this;
 
@@ -258,7 +250,7 @@
         self.lastKnownDatabases = $.grep(databases, function(database) {
           return database !== "_impala_builtins";
         });
-        options.callback(self.lastKnownDatabases);
+        options.successCallback(self.lastKnownDatabases);
       },
       errorCallback: function (response) {
         if (response.status == 401) {
@@ -275,10 +267,11 @@
 
   /**
    * @param {Object} options
-   * @param {string} options.databaseName
-   * @param {string} options.tableName
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
+   *
+   * @param {string} options.databaseName
+   * @param {string} options.tableName
    */
   AssistHelper.prototype.fetchPartitions = function (options) {
     var self = this;
@@ -305,10 +298,11 @@
   /**
    * @param {Object} options
    * @param {string} options.sourceType
-   * @param {string} options.databaseName
-   * @param {string} options.tableName
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
+   *
+   * @param {string} options.databaseName
+   * @param {string} options.tableName
    */
   AssistHelper.prototype.fetchTableDetails = function (options) {
     var self = this;
@@ -335,11 +329,12 @@
   /**
    * @param {Object} options
    * @param {string} options.sourceType
+   * @param {Function} options.successCallback
+   * @param {Function} [options.errorCallback]
+   *
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.dataType - html or json
-   * @param {Function} options.successCallback
-   * @param {Function} [options.errorCallback]
    */
   AssistHelper.prototype.fetchTableSample = function (options) {
     var self = this;
@@ -363,11 +358,12 @@
   /**
    * @param {Object} options
    * @param {string} options.sourceType
+   * @param {Function} options.successCallback
+   * @param {Function} [options.errorCallback]
+   *
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.columnName
-   * @param {Function} options.successCallback
-   * @param {Function} [options.errorCallback]
    */
   AssistHelper.prototype.refreshTableStats = function (options) {
     var self = this;
@@ -399,11 +395,12 @@
   /**
    * @param {Object} options
    * @param {string} options.sourceType
+   * @param {Function} options.successCallback
+   * @param {Function} [options.errorCallback]
+   *
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.columnName
-   * @param {Function} options.successCallback
-   * @param {Function} [options.errorCallback]
    */
   AssistHelper.prototype.fetchStats = function (options) {
     var self = this;
@@ -427,13 +424,14 @@
 
   /**
    * @param {Object} options
-   * @param {Object} [options.prefixFilter]
    * @param {string} options.sourceType
+   * @param {Function} options.successCallback
+   * @param {Function} [options.errorCallback]
+   *
+   * @param {Object} [options.prefixFilter]
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string} options.columnName
-   * @param {Function} options.successCallback
-   * @param {Function} [options.errorCallback]
    */
   AssistHelper.prototype.fetchTerms = function (options) {
     var self = this;
@@ -458,10 +456,11 @@
   /**
    * @param {Object} options
    * @param {string} options.sourceType
-   * @param {string} options.databaseName
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
    * @param {Object} [options.editor] - Ace editor
+   *
+   * @param {string} options.databaseName
    */
   AssistHelper.prototype.fetchTables = function (options) {
     var self = this;
@@ -474,12 +473,13 @@
   /**
    * @param {Object} options
    * @param {string} options.sourceType
+   * @param {Function} options.successCallback
+   * @param {Function} [options.errorCallback]
+   * @param {Object} [options.editor] - Ace editor
+   *
    * @param {string} options.databaseName
    * @param {string} options.tableName
    * @param {string[]} options.fields
-   * @param {Object} [options.editor] - Ace editor
-   * @param {Function} options.successCallback
-   * @param {Function} [options.errorCallback]
    */
   AssistHelper.prototype.fetchFields = function (options) {
     var self = this;
@@ -493,9 +493,10 @@
   /**
    * @param {Object} options
    * @param {string} options.sourceType
-   * @param {string[]} options.hierarchy
    * @param {Function} options.successCallback
    * @param {Function} [options.errorCallback]
+   *
+   * @param {string[]} options.hierarchy
    */
   AssistHelper.prototype.fetchPanelData = function (options) {
     var self = this;

+ 6 - 1
desktop/core/src/desktop/static/desktop/js/hdfsAutocompleter.js

@@ -95,7 +95,12 @@
         }
       };
 
-      self.snippet.getAssistHelper().fetchHdfsPath(parts, successCallback, onFailure, editor);
+      self.snippet.getAssistHelper().fetchHdfsPath({
+        pathParts: parts,
+        successCallback: successCallback,
+        errorCallback: onFailure,
+        editor: editor
+      });
     } else {
       onFailure();
     }

+ 1 - 1
desktop/core/src/desktop/static/desktop/js/sqlAutocompleter.js

@@ -39,7 +39,7 @@
     var initDatabases = function () {
       self.snippet.getAssistHelper().loadDatabases({
         sourceType: self.snippet.type(),
-        callback: $.noop
+        successCallback: $.noop
       });
     };
     self.snippet.type.subscribe(function() {