Эх сурвалжийг харах

[oozie] Fix coordinator dataset input/output XML generation

Replace back fnDraw() by fnFilter()
Romain Rigaux 13 жил өмнө
parent
commit
6dc5559

+ 2 - 2
apps/oozie/src/oozie/models.py

@@ -1110,10 +1110,10 @@ class Coordinator(Job):
           params[param] = ''
 
     for ds in self.datainput_set.all():
-      params[ds.name] = '%s [dataset]' % ds.dataset
+      params.pop(ds.name, None)
 
     for ds in self.dataoutput_set.all():
-      params[ds.name] = '%s [dataset]' % ds.dataset
+      params.pop(ds.name, None)
 
     return params
 

+ 3 - 3
apps/oozie/src/oozie/templates/dashboard/list_oozie_coordinators.mako

@@ -216,13 +216,13 @@ ${layout.menubar(section='dashboard')}
     $('#filterInput').keydown(function(e) {
       if (e.which == 13) {
         e.preventDefault();
-        return False;
+        return false;
       }
     });
 
     $("#filterInput").keyup(function() {
-      runningTable.fnDraw();
-      completedTable.fnDraw();
+      runningTable.fnFilter($(this).val());
+      completedTable.fnFilter($(this).val());    
 
       hash = "#";
 

+ 3 - 3
apps/oozie/src/oozie/templates/dashboard/list_oozie_workflows.mako

@@ -217,13 +217,13 @@ ${ layout.menubar(section='dashboard') }
     $('#filterInput').keydown(function(e) {
       if (e.which == 13) {
         e.preventDefault();
-        return False;
+        return false;
       }
     });
 
     $("#filterInput").keyup(function() {
-      runningTable.fnDraw();
-      completedTable.fnDraw();
+      runningTable.fnFilter($(this).val());
+      completedTable.fnFilter($(this).val());
 
       hash = "#";
 

+ 1 - 1
apps/oozie/src/oozie/templates/editor/gen/coordinator.xml.mako

@@ -71,7 +71,7 @@
   <action>
     <workflow>
       <app-path>${'${'}wf_application_path}</app-path>
-      % if coord.datainput_set.exists() and coord.dataoutput_set.exists():
+      % if coord.datainput_set.exists() or coord.dataoutput_set.exists():
       <configuration>
         % for input in coord.datainput_set.all():
           <property>

+ 1 - 1
apps/oozie/src/oozie/templates/editor/list_coordinators.mako

@@ -238,7 +238,7 @@ ${ layout.menubar(section='coordinators') }
     $('#filterInput').keydown(function(e) {
       if (e.which == 13) {
         e.preventDefault();
-        return False;
+        return false;
       }
     });
 

+ 1 - 1
apps/oozie/src/oozie/templates/editor/list_workflows.mako

@@ -248,7 +248,7 @@ ${ layout.menubar(section='workflows') }
     $('#filterInput').keydown(function(e) {
       if (e.which == 13) {
         e.preventDefault();
-        return False;
+        return false;
       }
     });
 

+ 41 - 2
apps/oozie/src/oozie/tests.py

@@ -871,6 +871,46 @@ class TestEditor:
         '</coordinator-app>\n'.split(), coord.to_xml().split())
 
 
+  def test_coordinator_with_data_input_gen_xml(self):
+    coord = create_coordinator(self.wf)
+    create_dataset(coord)
+    create_coordinator_data(coord)
+
+    assert_equal(
+        ['<coordinator-app', 'name="MyCoord"', 'frequency="${coord:days(1)}"', 'start="2012-07-01T00:00Z"', 'end="2012-07-04T00:00Z"',
+         'timezone="America/Los_Angeles"',
+         'xmlns="uri:oozie:coordinator:0.1">',
+         '<controls>',
+         '<timeout>100</timeout>',
+         '<concurrency>3</concurrency>',
+         '<execution>FIFO</execution>',
+         '<throttle>10</throttle>',
+         '</controls>',
+         '<datasets>',
+         '<dataset', 'name="MyDataset"', 'frequency="${coord:days(1)}"', 'initial-instance="2012-07-01T00:00Z"', 'timezone="America/Los_Angeles">',
+         '<uri-template>/data/${YEAR}${MONTH}${DAY}</uri-template>',
+         '<done-flag></done-flag>',
+         '</dataset>',
+         '</datasets>',
+         '<input-events>',
+         '<data-in', 'name="input_dir"', 'dataset="MyDataset">',
+         '<instance>${coord:current(0)}</instance>',
+         '</data-in>',
+         '</input-events>',
+         '<action>',
+         '<workflow>',
+         '<app-path>${wf_application_path}</app-path>',
+         '<configuration>',
+         '<property>',
+         '<name>input_dir</name>',
+         "<value>${coord:dataIn('input_dir')}</value>",
+         '</property>',
+         '</configuration>',
+         '</workflow>',
+         '</action>',
+         '</coordinator-app>'], coord.to_xml().split())
+
+
   def test_create_coordinator_dataset(self):
     coord = create_coordinator(self.wf)
     create_dataset(coord)
@@ -898,8 +938,7 @@ class TestEditor:
     create_dataset(coord)
     create_coordinator_data(coord)
 
-    assert_equal([{'name': u'output', 'value': ''}, {'name': u'SLEEP', 'value': ''}, {'name': u'market', 'value': u'US,France'},
-                  {'name': u'input_dir', 'value': 'MyDataset [dataset]'}],
+    assert_equal([{'name': u'output', 'value': ''}, {'name': u'SLEEP', 'value': ''}, {'name': u'market', 'value': u'US,France'}],
                  coord.find_all_parameters())