Explorar el Código

HUE-1389 [oozie] Fetch Hive queries and display there name and description in workflow

Romain Rigaux hace 9 años
padre
commit
bdabc38dde

+ 1 - 1
apps/oozie/src/oozie/models2.py

@@ -640,7 +640,7 @@ class Node():
     if workflow_mapping is None:
       workflow_mapping = {}
 
-    if self.data['type'] == 'hive2' and not self.data['properties']['jdbc_url']:
+    if self.data['type'] in ('hive2', 'hive-document') and not self.data['properties']['jdbc_url']:
       self.data['properties']['jdbc_url'] = _get_hiveserver2_url()
 
     if self.data['type'] == 'fork':

+ 11 - 1
apps/oozie/src/oozie/static/oozie/js/workflow-editor.ko.js

@@ -492,7 +492,7 @@ var WorkflowEditorViewModel = function (layout_json, workflow_json, credentials_
     loadLayout(self, layout_json);
     self.workflow.loadNodes(workflow_json);
 
-    $.get('/desktop/api2/docs/?type=query-hive&page=1&limit=25', function(data) {
+    $.get('/desktop/api2/docs/?type=query-hive&limit=50', function(data) {
       $.each(data.documents, function(index, query) {
         self.hiveQueries.push(ko.mapping.fromJS(query));
       });
@@ -525,6 +525,16 @@ var WorkflowEditorViewModel = function (layout_json, workflow_json, credentials_
   self.hiveQueries = ko.observableArray();
   self.history = ko.mapping.fromJS(history_json);
 
+  self.getHiveQueryById = function (uuid) {
+    var _query = null;
+    $.each(self.hiveQueries(), function (index, query) {
+      if (query.uuid() == uuid) {
+        _query = query;
+        return false;
+      }
+    });
+    return _query;
+  };
 
   self.getSubWorkflow = function (uuid) {
     var wf = $.grep(self.subworkflows(), function (wf, i) {

+ 14 - 2
apps/oozie/src/oozie/templates/editor2/common_workflow.mako

@@ -937,12 +937,24 @@
 
     <div data-bind="visible: ! $root.isEditing()">
       <span data-bind="template: { name: 'logs-icon' }"></span>
-      <span data-bind='text: properties.uuid'></span>
+      <!-- ko if: $root.getHiveQueryById(properties.uuid()) -->
+      <!-- ko with: $root.getHiveQueryById(properties.uuid()) -->
+        <span data-bind='text: name'></span>
+        </br>
+        <span data-bind='text: description'></span>
+      <!-- /ko -->
+      <!-- /ko -->
     </div>
 
     <div data-bind="visible: $root.isEditing">
       <div data-bind="visible: ! $parent.ooziePropertiesExpanded()" class="nowrap">
-        <span data-bind='text: properties.uuid'></span>
+        <!-- ko if: $root.getHiveQueryById(properties.uuid()) -->
+        <!-- ko with: $root.getHiveQueryById(properties.uuid()) -->
+          <span data-bind='text: name'></span>
+          </br>
+          <span data-bind='text: description'></span>
+        <!-- /ko -->
+        <!-- /ko -->
 
         <div class="row-fluid">
           <div class="span6" data-bind="template: { name: 'common-properties-parameters' }"></div>

+ 1 - 1
apps/oozie/src/oozie/templates/editor2/gen/workflow-hive-document.xml.mako

@@ -32,7 +32,7 @@
             % if node['properties']['password']:
             <password>${ node['properties']['password'] }</password>
             % endif
-            <script>${'${'}oozie.wf.application.path}/${ node['name'] }.sql</script>
+            <script>${'${wf:appPath()}'}/${ node['name'] }.sql</script>
 
             % for param in node['properties']['parameters']:
               <param>${ param['value'] }</param>