Browse Source

[oozie] Import workflow imports mkdirs and touchsz as lists of dictionaries

Instead of list of strings
Abraham Elmahrek 11 years ago
parent
commit
267b2274a9

+ 6 - 0
apps/oozie/examples/managed/fs/workflow/workflow-metadata.json

@@ -0,0 +1,6 @@
+{
+  "attributes": {
+    "description": "Example of Fs action",
+    "deployment_dir": "/user/hue/oozie/workspaces/managed/fs"
+  }
+}

+ 20 - 0
apps/oozie/examples/managed/fs/workflow/workflow.xml

@@ -0,0 +1,20 @@
+
+<workflow-app name="Fs" xmlns="uri:oozie:workflow:0.4">
+    <start to="Fs"/>
+    <action name="Fs">
+        <fs>
+              <delete path='${nameNode}${output}/testfs'/>
+              <mkdir path='${nameNode}${output}/testfs'/>
+              <mkdir path='${nameNode}${output}/testfs/source'/>
+              <move source='${nameNode}${output}/testfs/source' target='${nameNode}${output}/testfs/renamed'/>
+              <chmod path='${nameNode}${output}/testfs/renamed' permissions='700' dir-files='false'/>
+              <touchz path='${nameNode}${output}/testfs/new_file'/>
+        </fs>
+        <ok to="end"/>
+        <error to="kill"/>
+    </action>
+    <kill name="kill">
+        <message>Action failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message>
+    </kill>
+    <end name="end"/>
+</workflow-app>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.1/nodes/fields/mkdirs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='mkdir']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.1/nodes/fields/touchzs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='touchz']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.2.5/nodes/fields/mkdirs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='mkdir']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.2.5/nodes/fields/touchzs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='touchz']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.2/nodes/fields/mkdirs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='mkdir']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.2/nodes/fields/touchzs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='touchz']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.3/nodes/fields/mkdirs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='mkdir']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.3/nodes/fields/touchzs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='touchz']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.4/nodes/fields/mkdirs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='mkdir']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.4/nodes/fields/touchzs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='touchz']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/mkdirs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='mkdir']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

+ 1 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/touchzs.xslt

@@ -8,7 +8,7 @@
 
     <xsl:text>[</xsl:text>
     <xsl:for-each select="*[local-name()='touchz']">
-      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
       <xsl:if  test="position() &lt; last()">
         <xsl:text>,</xsl:text>
       </xsl:if>

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

@@ -2302,9 +2302,9 @@ class TestImportWorkflow04(OozieMockBase):
     node = Node.objects.get(workflow=workflow, node_type='fs').get_full_node()
     assert_equal('[{"path":"${nameNode}${output}/testfs/renamed","permissions":"700","recursive":"false"}]', node.chmods)
     assert_equal('[{"name":"${nameNode}${output}/testfs"}]', node.deletes)
-    assert_equal('["${nameNode}${output}/testfs","${nameNode}${output}/testfs/source"]', node.mkdirs)
+    assert_equal('[{"name":"${nameNode}${output}/testfs"},{"name":"${nameNode}${output}/testfs/source"}]', node.mkdirs)
     assert_equal('[{"source":"${nameNode}${output}/testfs/source","destination":"${nameNode}${output}/testfs/renamed"}]', node.moves)
-    assert_equal('["${nameNode}${output}/testfs/new_file"]', node.touchzs)
+    assert_equal('[{"name":"${nameNode}${output}/testfs/new_file"}]', node.touchzs)
     workflow.delete(skip_trash=True)