Browse Source

HUE-8208 [importer] SFDC connector skeleton

Romain Rigaux 7 years ago
parent
commit
6fe56e94f4
1 changed files with 55 additions and 8 deletions
  1. 55 8
      desktop/libs/indexer/src/indexer/templates/importer.mako

+ 55 - 8
desktop/libs/indexer/src/indexer/templates/importer.mako

@@ -323,12 +323,6 @@ ${ assist.assistPanel() }
           <!-- /ko -->
 
           <!-- ko if: createWizard.source.inputFormat() == 'kafka' -->
-            ##<div class="control-group">
-            ##  <label for="rdbmsHostname" class="control-label"><div>${ _('Brokers') }</div>
-            ##    <input type="text" class="input-xxlarge" data-bind="value: createWizard.source.kafkaBrokers" placeholder="${ _('Enter a csv list of brokers, e.g.brokers1:9092,brokers2:9092') }">
-            ##  </label>
-            ##</div>
-
             <div class="control-group">
               <label class="control-label"><div>${ _('Topics') }</div>
                 ##<input type="text" class="input-xxlarge" data-bind="value: createWizard.source.kafkaTopics">
@@ -341,6 +335,38 @@ ${ assist.assistPanel() }
             </div>
           <!-- /ko -->
 
+          <!-- ko if: createWizard.source.inputFormat() == 'streams' -->
+            <div class="control-group">
+              <label class="control-label"><div>${ _('List') }</div>
+                <select data-bind="selectize: createWizard.source.publicStreams, value: createWizard.source.publicStreamsSelection" placeholder="${ _('The list of streams to consume, e.g. SFDC, Jiras...') }"></select>
+              </label>
+            </div>
+
+            <!-- ko if: createWizard.source.publicStreamsSelection() == 'SFDC' -->
+              <div class="control-group">
+                <label class="control-label"><div>${ _('Username') }</div>
+                  <input type="text" class="input-xxlarge" data-bind="value: createWizard.source.publicStreamsUsername">
+                </label>
+  
+                <label class="control-label"><div>${ _('Password') }</div>
+                  <input type="text" class="input-xxlarge" data-bind="value: createWizard.source.publicStreamsPassword">
+                </label>
+  
+                <label class="control-label"><div>${ _('Token') }</div>
+                  <input type="text" class="input-xxlarge" data-bind="value: createWizard.source.publicStreamsToken">
+                </label>
+  
+                <label class="control-label"><div>${ _('Username') }</div>
+                  <input type="text" class="input-xxlarge" data-bind="value: createWizard.source.publicStreamsEndpointUrl">
+                </label>
+
+                <label class="control-label"><div>${ _('Object') }</div>
+                  <input type="text" class="input-xxlarge" data-bind="value: createWizard.source.publicStreamsObject">
+                </label>
+              </div>
+            <!-- /ko -->
+          <!-- /ko -->
+
           <div class="control-group" data-bind="visible: createWizard.source.inputFormat() == 'table'">
             <label for="path" class="control-label"><div>${ _('Table') }</div>
               <input type="text" class="input-xlarge" data-bind="value: createWizard.source.table, hivechooser: createWizard.source.table, skipColumns: true, apiHelperUser: '${ user }', apiHelperType: createWizard.source.apiHelperType, mainScrollable: $(MAIN_SCROLLABLE)" placeholder="${ _('Table name or <database>.<table>') }">
@@ -1302,6 +1328,7 @@ ${ assist.assistPanel() }
           % endif
           % if ENABLE_KAFKA.get():
           {'value': 'kafka', 'name': 'Internal Stream'},
+          {'value': 'streams', 'name': 'External Stream'},
           % endif
           % if ENABLE_SQL_INDEXER.get():
           {'value': 'query', 'name': 'SQL Query'},
@@ -1497,7 +1524,6 @@ ${ assist.assistPanel() }
       self.draggedQuery = ko.observable();
 
       // Kafka
-      self.kafkaBrokers = ko.observable('brokers1:9092,brokers2:9092'); // Unused
       self.kafkaTopics = ko.observable([]);
       self.kafkaSelectedTopics = ko.observable('');
       self.kafkaSelectedTopics.subscribe(function(newValue) {
@@ -1506,6 +1532,19 @@ ${ assist.assistPanel() }
         }
       });
 
+      // Public streams
+      self.publicStreams = ko.observable([
+        'SFDC',
+        'Jira'
+      ]);
+      self.publicStreamsSelection = ko.observable('');
+      self.publicStreamsUsername = ko.observable('');
+      self.publicStreamsPassword = ko.observable('');
+      self.publicStreamsToken = ko.observable('');
+      self.publicStreamsEndpointUrl = ko.observable('');
+      self.publicStreamsObject = ko.observable('');
+
+
       self.format = ko.observable();
       self.format.subscribe(function(newVal) {
         if (typeof newVal.hasHeader !== 'undefined') {
@@ -1536,7 +1575,15 @@ ${ assist.assistPanel() }
         } else if (self.inputFormat() == 'manual') {
           return true;
         } else if (self.inputFormat() == 'kafka') {
-          return self.kafkaBrokers().length > 0 && self.kafkaSelectedTopics().length > 0;
+          return self.kafkaSelectedTopics().length > 0;
+        } else if (self.inputFormat() == 'streams') {
+          return self.publicStreamsSelection() == 'SFDC' ? (
+              self.publicStreamsUsername().length > 0
+              && self.publicStreamsPassword().length > 0
+              && self.publicStreamsToken().length > 0
+              && self.publicStreamsEndpointUrl().length > 0
+              && self.publicStreamsObject().length > 0
+          ) : false;
         } else if (self.inputFormat() == 'rdbms') {
           return self.rdbmsDatabaseName().length > 0 && (self.rdbmsTableName().length > 0 || self.rdbmsAllTablesSelected());
         }