Ver código fonte

[oozie] Delete an action below a Join

Romain Rigaux 11 anos atrás
pai
commit
9392d9722d

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

@@ -522,14 +522,29 @@ class KillAction():
     return [cls.FIELDS['message']]
 
 
+class JoinAction():
+  TYPE = 'join'
+  FIELDS = {}
+
+  @classmethod
+  def get_fields(cls):
+    return [(f['name'], f['value']) for f in cls.FIELDS.itervalues()]
+  
+  @classmethod
+  def get_mandatory_fields(cls):
+    return []
+
+
 NODES = {
   'pig-widget': PigAction,
   'java-widget': JavaAction,
   'hive-widget': HiveAction,
   'subworkflow-widget': SubWorkflowAction,
-  'kill-widget': KillAction
+  'kill-widget': KillAction,
+  'join-widget': JoinAction,
 }
 
+
 WORKFLOW_NODE_PROPERTIES = {}
 for node in NODES.itervalues():
   WORKFLOW_NODE_PROPERTIES.update(node.FIELDS)

+ 2 - 0
apps/oozie/src/oozie/templates/editor/workflow_editor.mako

@@ -351,7 +351,9 @@ ${ commonheader(_("Workflow Editor"), "Oozie", user) | n,unicode }
     </div>
 
     <div>
+      <!-- ko if: children().length == 1 -->
       Then --> <span data-bind="text: children()[0]['to']" /></span>
+      <!-- /ko -->
     </div>
   </div>
   <!-- /ko -->

+ 6 - 8
apps/oozie/static/js/workflow-editor.ko.js

@@ -299,7 +299,7 @@ var Workflow = function (vm, workflow) {
 	
     var childLink = node.get_link('to');
     var childId = ko.mapping.toJS(childLink)['to'];
-    
+
     parent.remove_link('to', node_id);
     parent.children.unshift({'to': childId});
 
@@ -333,15 +333,13 @@ var Workflow = function (vm, workflow) {
   };
   
   self.moveNode = function(widget) {
-    if (! vm.currentlyCreatingFork) {
-      var node = self.getNodeById(widget.id());
-      self.movedNode = node;
+    var node = self.getNodeById(widget.id());
+    self.movedNode = node;
       
-      self.removeNode(node.id());
-      self.addNode(widget);
+    self.removeNode(node.id());
+    self.addNode(widget);
       
-      self.movedNode = null;
-    }
+    self.movedNode = null;
   };
   
   self.getParents = function(node_id) { // Only one for now