فهرست منبع

HUE-8758 [assist] Switch to connectors in the get assist database event

Johan Ahlen 5 سال پیش
والد
کامیت
777b8eae72

+ 1 - 1
apps/beeswax/src/beeswax/templates/execute.mako

@@ -2814,7 +2814,7 @@ huePubSub.subscribe("assist.database.set", handleAssistSelection);
 huePubSub.subscribe("assist.database.selected", handleAssistSelection);
 
 if (! snippet.database()) {
-  huePubSub.publish("assist.get.database", { source: snippetType, callback: handleAssistSelection });
+  huePubSub.publish("assist.get.database", { connector: { type: snippetType }, callback: handleAssistSelection });
 }
 
 shareViewModel = initSharing("#documentShareModal");

+ 3 - 3
desktop/core/src/desktop/js/apps/notebook/snippet.js

@@ -472,9 +472,9 @@ class Snippet {
 
     if (!self.database()) {
       huePubSub.publish(ASSIST_GET_DATABASE_EVENT, {
-        source: self.type(),
-        callback: databaseDef => {
-          self.handleAssistSelection(databaseDef);
+        connector: self.connector(),
+        callback: entry => {
+          self.handleAssistSelection(entry);
         }
       });
     }

+ 1 - 1
desktop/core/src/desktop/js/apps/notebook2/snippet.js

@@ -300,7 +300,7 @@ export default class Snippet {
 
     if (!this.database()) {
       huePubSub.publish(ASSIST_GET_DATABASE_EVENT, {
-        source: this.dialect(),
+        connector: this.connector(),
         callback: databaseDef => {
           this.handleAssistSelection(databaseDef);
         }

+ 26 - 19
desktop/core/src/desktop/js/ko/components/assist/ko.assistDbPanel.js

@@ -664,40 +664,47 @@ class AssistDbPanel {
         this.setDatabaseWhenLoaded(databaseDef.namespace, databaseDef.name);
       });
 
-      const getSelectedDatabase = source => {
+      const getSelectedDatabase = connector => {
         const deferred = $.Deferred();
-        const assistDbSource = this.sourceIndex[source];
+        const assistDbSource = this.sourceIndex[connector.type];
         if (assistDbSource) {
           assistDbSource.loadedDeferred.done(() => {
             if (assistDbSource.selectedNamespace()) {
               assistDbSource.selectedNamespace().loadedDeferred.done(() => {
                 if (assistDbSource.selectedNamespace().selectedDatabase()) {
-                  deferred.resolve({
-                    sourceType: source,
-                    namespace: assistDbSource.selectedNamespace().namespace,
-                    name: assistDbSource.selectedNamespace().selectedDatabase().name
-                  });
+                  deferred.resolve(
+                    assistDbSource.selectedNamespace().selectedDatabase().catalogEntry
+                  );
                 } else {
                   let lastSelectedDb = apiHelper.getFromTotalStorage(
-                    'assist_' + source + '_' + assistDbSource.selectedNamespace().namespace.id,
+                    'assist_' +
+                      connector.type +
+                      '_' +
+                      assistDbSource.selectedNamespace().namespace.id,
                     'lastSelectedDb'
                   );
                   if (!lastSelectedDb && lastSelectedDb !== '') {
                     lastSelectedDb = 'default';
                   }
-                  deferred.resolve({
-                    sourceType: source,
-                    namespace: assistDbSource.selectedNamespace().namespace,
-                    name: lastSelectedDb
-                  });
+                  dataCatalog
+                    .getEntry({
+                      connector: connector,
+                      namespace: assistDbSource.selectedNamespace().namespace,
+                      compute: assistDbSource.selectedNamespace().compute,
+                      path: [lastSelectedDb]
+                    })
+                    .then(deferred.resolve);
                 }
               });
             } else {
-              deferred.resolve({
-                sourceType: source,
-                namespace: { id: 'default' },
-                name: 'default'
-              });
+              dataCatalog
+                .getEntry({
+                  connector: connector,
+                  namespace: { id: 'default' },
+                  compute: { id: 'default' },
+                  path: ['default']
+                })
+                .then(deferred.resolve);
             }
           });
         } else {
@@ -708,7 +715,7 @@ class AssistDbPanel {
       };
 
       huePubSub.subscribe(ASSIST_GET_DATABASE_EVENT, options => {
-        getSelectedDatabase(options.source).done(options.callback);
+        getSelectedDatabase(options.connector).done(options.callback);
       });
 
       huePubSub.subscribe(ASSIST_GET_SOURCE_EVENT, callback => {