瀏覽代碼

HUE-1657 [oozie] Basic SLA parsing for workflows

Bump workflows to 0.5
SLA fields are not imported yet
Romain Rigaux 12 年之前
父節點
當前提交
bb0b460870
共有 53 個文件被更改,包括 1146 次插入2 次删除
  1. 1 1
      apps/oozie/src/oozie/importlib/workflows.py
  2. 39 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/action.xslt
  3. 30 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/control.xslt
  4. 37 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/distcp.0.1.xslt
  5. 30 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/email.0.1.xslt
  6. 30 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/hive.0.1.xslt
  7. 30 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/hive.0.2.xslt
  8. 32 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/shell.0.1.xslt
  9. 30 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/sqoop.0.1.xslt
  10. 31 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/sqoop.0.2.xslt
  11. 26 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/ssh.0.1.xslt
  12. 13 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/decision.xslt
  13. 13 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/end.xslt
  14. 20 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/archives.xslt
  15. 24 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/arg_params.xslt
  16. 18 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/args.xslt
  17. 24 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/arguments.xslt
  18. 21 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/capture_output.xslt
  19. 39 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/chmods.xslt
  20. 15 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/command.xslt
  21. 25 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/deletes.xslt
  22. 20 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/files.xslt
  23. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/host.xslt
  24. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/jar_path.xslt
  25. 13 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/java_opts.xslt
  26. 24 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/job_properties.xslt
  27. 13 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/job_xml.xslt
  28. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/main_class.xslt
  29. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/mapper.xslt
  30. 23 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/mkdirs.xslt
  31. 35 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/moves.xslt
  32. 24 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/params.xslt
  33. 26 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/prepares.xslt
  34. 21 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/propagate_configuration.xslt
  35. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/reducer.xslt
  36. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/script_path.xslt
  37. 23 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/touchzs.xslt
  38. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/user.xslt
  39. 28 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/xml.xslt
  40. 13 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fork.xslt
  41. 26 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fs.xslt
  42. 18 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/generic.xslt
  43. 36 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/java.xslt
  44. 13 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/join.xslt
  45. 13 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/kill.xslt
  46. 28 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/mapreduce.xslt
  47. 30 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/pig.xslt
  48. 11 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/sla.xslt
  49. 14 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/start.xslt
  50. 26 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/streaming.xslt
  51. 20 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/subworkflow.xslt
  52. 20 0
      apps/oozie/src/oozie/importlib/xslt/workflows/0.5/workflow.xslt
  53. 2 1
      apps/oozie/src/oozie/importlib/xslt/workflows/workflow.xslt

+ 1 - 1
apps/oozie/src/oozie/importlib/workflows.py

@@ -48,7 +48,7 @@ from oozie.models import Workflow, Node, Link, Start, End,\
 
 LOG = logging.getLogger(__name__)
 
-OOZIE_NAMESPACES = ['uri:oozie:workflow:0.1', 'uri:oozie:workflow:0.2', 'uri:oozie:workflow:0.3', 'uri:oozie:workflow:0.4']
+OOZIE_NAMESPACES = ['uri:oozie:workflow:0.1', 'uri:oozie:workflow:0.2', 'uri:oozie:workflow:0.3', 'uri:oozie:workflow:0.4', 'uri:oozie:workflow:0.5']
 
 LINKS = ('ok', 'error', 'path')
 

+ 39 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/action.xslt

@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="extensions/distcp.0.1.xslt"/>
+<xsl:import href="extensions/email.0.1.xslt"/>
+<xsl:import href="extensions/hive.0.1.xslt"/>
+<xsl:import href="extensions/hive.0.2.xslt"/>
+<xsl:import href="extensions/shell.0.1.xslt"/>
+<xsl:import href="extensions/sqoop.0.1.xslt"/>
+<xsl:import href="extensions/sqoop.0.2.xslt"/>
+<xsl:import href="extensions/ssh.0.1.xslt"/>
+<xsl:import href="nodes/fs.xslt"/>
+<xsl:import href="nodes/java.xslt"/>
+<xsl:import href="nodes/mapreduce.xslt"/>
+<xsl:import href="nodes/pig.xslt"/>
+<xsl:import href="nodes/streaming.xslt"/>
+<xsl:import href="nodes/generic.xslt"/>
+<xsl:import href="nodes/subworkflow.xslt"/>
+
+<xsl:template match="workflow:action" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.node" pk="0">
+
+    <field name="name" type="CharField">
+      <xsl:value-of select="@name"/>
+    </field>
+    <field name="node_type" type="CharField">
+      <xsl:value-of select="name(*)"/>
+    </field>
+
+  </object>
+
+  <xsl:apply-templates select="*"/>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 30 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/control.xslt

@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="nodes/decision.xslt"/>
+<xsl:import href="nodes/end.xslt"/>
+<xsl:import href="nodes/fork.xslt"/>
+<xsl:import href="nodes/join.xslt"/>
+<xsl:import href="nodes/kill.xslt"/>
+<xsl:import href="nodes/start.xslt"/>
+
+<xsl:template match="workflow:start | workflow:end | workflow:decision | workflow:fork | workflow:join | workflow:kill">
+
+  <object model="oozie.node" pk="0">
+
+    <field name="name" type="CharField">
+      <xsl:value-of select="@name"/>
+    </field>
+    <field name="node_type" type="CharField">
+      <xsl:value-of select="name(.)"/>
+    </field>
+
+  </object>
+
+  <xsl:apply-imports/>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 37 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/distcp.0.1.xslt

@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:distcp="uri:oozie:distcp-action:0.1" exclude-result-prefixes="workflow distcp">
+
+<xsl:import href="../nodes/fields/job_properties.xslt"/>
+<xsl:import href="../nodes/fields/job_xml.xslt"/>
+<xsl:import href="../nodes/fields/params.xslt"/>
+<xsl:import href="../nodes/fields/prepares.xslt"/>
+
+<xsl:template match="distcp:distcp">
+
+  <object model="oozie.distcp" pk="0">
+
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <field name="params" type="CharField">
+      <xsl:text>[</xsl:text>
+      <xsl:for-each select="*[local-name()='arg']">
+        <xsl:choose>
+          <xsl:when test="position() &lt; last()">
+            <xsl:text><![CDATA[{"type":"arg","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["},]]></xsl:text>
+          </xsl:when>
+          <xsl:otherwise>
+            <xsl:text><![CDATA[{"type":"arg","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
+          </xsl:otherwise>
+        </xsl:choose>
+      </xsl:for-each>
+      <xsl:text>]</xsl:text>
+    </field>
+    <xsl:call-template name="prepares"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 30 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/email.0.1.xslt

@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:email="uri:oozie:email-action:0.1" exclude-result-prefixes="workflow email">
+
+<xsl:template match="email:email">
+
+  <object model="oozie.email" pk="0">
+
+    <field name="to" type="CharField">
+      <xsl:value-of select="*[local-name()='to']"/>
+    </field>
+
+    <field name="cc" type="CharField">
+      <xsl:value-of select="*[local-name()='cc']"/>
+    </field>
+
+    <field name="subject" type="CharField">
+      <xsl:value-of select="*[local-name()='subject']"/>
+    </field>
+
+    <field name="body" type="CharField">
+      <xsl:value-of select="*[local-name()='body']"/>
+    </field>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 30 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/hive.0.1.xslt

@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:hive="uri:oozie:hive-action:0.1" exclude-result-prefixes="workflow hive">
+
+<xsl:import href="../nodes/fields/archives.xslt"/>
+<xsl:import href="../nodes/fields/files.xslt"/>
+<xsl:import href="../nodes/fields/job_properties.xslt"/>
+<xsl:import href="../nodes/fields/job_xml.xslt"/>
+<xsl:import href="../nodes/fields/params.xslt"/>
+<xsl:import href="../nodes/fields/prepares.xslt"/>
+<xsl:import href="../nodes/fields/script_path.xslt"/>
+
+<xsl:template match="hive:hive">
+
+  <object model="oozie.hive" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="params"/>
+    <xsl:call-template name="prepares"/>
+    <xsl:call-template name="script_path"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 30 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/hive.0.2.xslt

@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:hive="uri:oozie:hive-action:0.2" exclude-result-prefixes="workflow hive">
+
+<xsl:import href="../nodes/fields/archives.xslt"/>
+<xsl:import href="../nodes/fields/files.xslt"/>
+<xsl:import href="../nodes/fields/job_properties.xslt"/>
+<xsl:import href="../nodes/fields/job_xml.xslt"/>
+<xsl:import href="../nodes/fields/params.xslt"/>
+<xsl:import href="../nodes/fields/prepares.xslt"/>
+<xsl:import href="../nodes/fields/script_path.xslt"/>
+
+<xsl:template match="hive:hive">
+
+  <object model="oozie.hive" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="params"/>
+    <xsl:call-template name="prepares"/>
+    <xsl:call-template name="script_path"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 32 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/shell.0.1.xslt

@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:shell="uri:oozie:shell-action:0.1" exclude-result-prefixes="workflow shell">
+
+<xsl:import href="../nodes/fields/archives.xslt"/>
+<xsl:import href="../nodes/fields/capture_output.xslt"/>
+<xsl:import href="../nodes/fields/command.xslt"/>
+<xsl:import href="../nodes/fields/files.xslt"/>
+<xsl:import href="../nodes/fields/job_properties.xslt"/>
+<xsl:import href="../nodes/fields/job_xml.xslt"/>
+<xsl:import href="../nodes/fields/arguments.xslt"/>
+<xsl:import href="../nodes/fields/prepares.xslt"/>
+
+<xsl:template match="shell:shell">
+
+  <object model="oozie.shell" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="capture_output"/>
+    <xsl:call-template name="command"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="arguments"/>
+    <xsl:call-template name="prepares"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 30 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/sqoop.0.1.xslt

@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:sqoop="uri:oozie:sqoop-action:0.1" exclude-result-prefixes="workflow sqoop">
+
+<xsl:import href="../nodes/fields/archives.xslt"/>
+<xsl:import href="../nodes/fields/files.xslt"/>
+<xsl:import href="../nodes/fields/job_properties.xslt"/>
+<xsl:import href="../nodes/fields/job_xml.xslt"/>
+<xsl:import href="../nodes/fields/arg_params.xslt"/>
+<xsl:import href="../nodes/fields/prepares.xslt"/>
+<xsl:import href="../nodes/fields/script_path.xslt"/>
+
+<xsl:template match="sqoop:sqoop">
+
+  <object model="oozie.sqoop" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="arg_params"/>
+    <xsl:call-template name="prepares"/>
+    <xsl:call-template name="script_path"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 31 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/sqoop.0.2.xslt

@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:sqoop="uri:oozie:sqoop-action:0.2" exclude-result-prefixes="workflow sqoop">
+
+<xsl:import href="../nodes/fields/archives.xslt"/>
+<xsl:import href="../nodes/fields/files.xslt"/>
+<xsl:import href="../nodes/fields/job_properties.xslt"/>
+<xsl:import href="../nodes/fields/job_xml.xslt"/>
+<xsl:import href="../nodes/fields/arg_params.xslt"/>
+<xsl:import href="../nodes/fields/prepares.xslt"/>
+
+<xsl:template match="sqoop:sqoop">
+
+  <object model="oozie.sqoop" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="arg_params"/>
+    <xsl:call-template name="prepares"/>
+    <field name="script_path" type="CharField">
+      <xsl:value-of select="*[local-name()='command']"/>
+    </field>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 26 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/extensions/ssh.0.1.xslt

@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:ssh="uri:oozie:ssh-action:0.1" exclude-result-prefixes="workflow ssh">
+
+<xsl:import href="../nodes/fields/capture_output.xslt"/>
+<xsl:import href="../nodes/fields/command.xslt"/>
+<xsl:import href="../nodes/fields/host.xslt"/>
+<xsl:import href="../nodes/fields/params.xslt"/>
+<xsl:import href="../nodes/fields/user.xslt"/>
+
+<xsl:template match="ssh:ssh">
+
+  <object model="oozie.ssh" pk="0">
+
+    <xsl:call-template name="capture_output"/>
+    <xsl:call-template name="command"/>
+    <xsl:call-template name="host"/>
+    <xsl:call-template name="params"/>
+    <xsl:call-template name="user"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 13 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/decision.xslt

@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template match="workflow:decision" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.decision" pk="0">
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 13 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/end.xslt

@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template match="workflow:end" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.end" pk="0">
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 20 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/archives.xslt

@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="archives">
+
+  <field name="archives" type="TextField">
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='archive']">
+      <xsl:text><![CDATA[{"dummy":"","name":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
+      <xsl:if  test="position() &lt; last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 24 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/arg_params.xslt

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="arg_params">
+
+  <field name="params" type="TextField">
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='arg']">
+      <xsl:choose>
+        <xsl:when test="position() &lt; last()">
+          <xsl:text><![CDATA[{"type":"arg","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["},]]></xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text><![CDATA[{"type":"arg","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 18 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/args.xslt

@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="args">
+
+  <field name="args" type="CharField">
+    <xsl:for-each select="*[local-name()='arg']">
+      <xsl:value-of select="." />
+      <xsl:if  test="position() &lt; last()">
+        <xsl:text> </xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 24 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/arguments.xslt

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="arguments">
+
+  <field name="params" type="TextField">
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='argument']">
+      <xsl:choose>
+        <xsl:when test="position() &lt; last()">
+          <xsl:text><![CDATA[{"type":"]]></xsl:text><xsl:value-of select="local-name()" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["},]]></xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text><![CDATA[{"type":"]]></xsl:text><xsl:value-of select="local-name()" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 21 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/capture_output.xslt

@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="capture_output">
+
+  <field name="capture_output" type="BooleanField">
+    <xsl:choose>
+      <xsl:when test="*[local-name()='capture-output']">
+        True
+      </xsl:when>
+      <xsl:otherwise>
+        False
+      </xsl:otherwise>
+    </xsl:choose>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 39 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/chmods.xslt

@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="chmods">
+
+  <field name="chmods" type="TextField">
+
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='chmod']">
+      <xsl:choose>
+        <xsl:when test="position() &lt; last()">
+          <xsl:text><![CDATA[{"path":"]]></xsl:text>
+          <xsl:value-of select="@path" />
+          <xsl:text><![CDATA[","permissions":"]]></xsl:text>
+          <xsl:value-of select="@permissions" />
+          <xsl:text><![CDATA[","recursive":"]]></xsl:text>
+          <xsl:value-of select="@dir-files" />
+          <xsl:text><![CDATA["},]]></xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text><![CDATA[{"path":"]]></xsl:text>
+          <xsl:value-of select="@path" />
+          <xsl:text><![CDATA[","permissions":"]]></xsl:text>
+          <xsl:value-of select="@permissions" />
+          <xsl:text><![CDATA[","recursive":"]]></xsl:text>
+          <xsl:value-of select="@dir-files" />
+          <xsl:text><![CDATA["}]]></xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 15 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/command.xslt

@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="command">
+
+  <field name="command" type="CharField">
+    <xsl:value-of select="*[local-name()='command']"/>
+    <xsl:value-of select="*[local-name()='exec']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 25 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/deletes.xslt

@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="deletes">
+
+  <field name="deletes" type="TextField">
+
+      <xsl:text>[</xsl:text>
+      <xsl:for-each select="*[local-name()='delete']">
+        <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>
+      </xsl:for-each>
+      <xsl:text>]</xsl:text>
+
+    </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 20 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/files.xslt

@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="files">
+
+  <field name="files" type="TextField">
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='file']">
+      <xsl:text><![CDATA["]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["]]></xsl:text>
+      <xsl:if  test="position() &lt; last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/host.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="host">
+
+  <field name="host" type="CharField">
+    <xsl:value-of select="*[local-name()='host']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/jar_path.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="jar_path">
+
+  <field name="jar_path" type="CharField">
+    <xsl:value-of select="*[local-name()='jar-path']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 13 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/java_opts.xslt

@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="java_opts">
+
+  <field name="java_opts" type="CharField">
+    <xsl:value-of select="*[local-name()='java-opts']"/>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 24 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/job_properties.xslt

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="job_properties">
+
+  <field name="job_properties" type="TextField">
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='configuration']/*[local-name()='property']">
+      <xsl:choose>
+        <xsl:when test="position() &lt; last()">
+          <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="*[local-name()='name']" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="*[local-name()='value']" /><xsl:text><![CDATA["},]]></xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text><![CDATA[{"name":"]]></xsl:text><xsl:value-of select="*[local-name()='name']" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="*[local-name() ='value']" /><xsl:text><![CDATA["}]]></xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 13 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/job_xml.xslt

@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="job_xml">
+
+  <field name="job_xml" type="CharField">
+    <xsl:value-of select="*[local-name()='job-xml']"/>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/main_class.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="main_class">
+
+  <field name="main_class" type="CharField">
+    <xsl:value-of select="*[local-name()='main-class']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/mapper.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="mapper">
+
+  <field name="mapper" type="CharField">
+    <xsl:value-of select="*[local-name()='streaming']/*[local-name()='mapper']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

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

@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="mkdirs">
+
+  <field name="mkdirs" type="TextField">
+
+    <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:if  test="position() &lt; last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 35 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/moves.xslt

@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="moves">
+
+  <field name="moves" type="TextField">
+
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='move']">
+      <xsl:choose>
+        <xsl:when test="position() &lt; last()">
+          <xsl:text><![CDATA[{"source":"]]></xsl:text>
+          <xsl:value-of select="@source" />
+          <xsl:text><![CDATA[","destination":"]]></xsl:text>
+          <xsl:value-of select="@target" />
+          <xsl:text><![CDATA["},]]></xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text><![CDATA[{"source":"]]></xsl:text>
+          <xsl:value-of select="@source" />
+          <xsl:text><![CDATA[","destination":"]]></xsl:text>
+          <xsl:value-of select="@target" />
+          <xsl:text><![CDATA["}]]></xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 24 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/params.xslt

@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="params">
+
+  <field name="params" type="TextField">
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='param']">
+      <xsl:choose>
+        <xsl:when test="position() &lt; last()">
+          <xsl:text><![CDATA[{"type":"]]></xsl:text><xsl:value-of select="local-name()" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["},]]></xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text><![CDATA[{"type":"]]></xsl:text><xsl:value-of select="local-name()" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="." /><xsl:text><![CDATA["}]]></xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 26 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/prepares.xslt

@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="prepares">
+
+  <field name="prepares" type="TextField">
+
+    <xsl:text>[</xsl:text>
+    <xsl:for-each select="*[local-name()='prepare']/*">
+      <xsl:choose>
+        <xsl:when test="position() &lt; last()">
+          <xsl:text><![CDATA[{"type":"]]></xsl:text><xsl:value-of select="local-name()" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["},]]></xsl:text>
+        </xsl:when>
+        <xsl:otherwise>
+          <xsl:text><![CDATA[{"type":"]]></xsl:text><xsl:value-of select="local-name()" /><xsl:text><![CDATA[","value":"]]></xsl:text><xsl:value-of select="@path" /><xsl:text><![CDATA["}]]></xsl:text>
+        </xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+
+  </field>
+
+</xsl:template>
+
+</xsl:stylesheet>

+ 21 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/propagate_configuration.xslt

@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="propagate_configuration">
+
+  <field name="propagate_configuration" type="BooleanField">
+    <xsl:choose>
+      <xsl:when test="*[local-name()='propagate-configuration']">
+        <xsl:text>True</xsl:text>
+      </xsl:when>
+      <xsl:otherwise>
+        <xsl:text>False</xsl:text>
+      </xsl:otherwise>
+    </xsl:choose>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/reducer.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="reducer">
+
+  <field name="reducer" type="CharField">
+    <xsl:value-of select="*[local-name()='streaming']/*[local-name()='reducer']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/script_path.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="script_path">
+
+  <field name="script_path" type="CharField">
+    <xsl:value-of select="*[local-name()='script']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

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

@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="touchzs">
+
+  <field name="touchzs" type="TextField">
+
+    <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:if  test="position() &lt; last()">
+        <xsl:text>,</xsl:text>
+      </xsl:if>
+    </xsl:for-each>
+    <xsl:text>]</xsl:text>
+
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/user.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template name="user">
+
+  <field name="user" type="CharField">
+    <xsl:value-of select="*[local-name()='user']"/>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 28 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fields/xml.xslt

@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+
+<xsl:template match="*" mode="copy-no-namespaces">
+    <xsl:element name="{local-name()}">
+        <xsl:copy-of select="@*"/>
+        <xsl:apply-templates select="node()" mode="copy-no-namespaces"/>
+    </xsl:element>
+</xsl:template>
+
+<xsl:template match="comment()| processing-instruction()" mode="copy-no-namespaces">
+    <xsl:copy/>
+</xsl:template>
+
+<xsl:template name="xml">
+
+  <field name="xml" type="TextField">
+    <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
+    <xsl:apply-templates  select="current()" mode="copy-no-namespaces"/>
+    <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
+  </field>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 13 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fork.xslt

@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template match="workflow:fork" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.fork" pk="0">
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 26 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/fs.xslt

@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="fields/chmods.xslt"/>
+<xsl:import href="fields/deletes.xslt"/>
+<xsl:import href="fields/mkdirs.xslt"/>
+<xsl:import href="fields/moves.xslt"/>
+<xsl:import href="fields/touchzs.xslt"/>
+
+<xsl:template match="workflow:fs" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.fs" pk="0">
+
+    <xsl:call-template name="chmods"/>
+    <xsl:call-template name="deletes"/>
+    <xsl:call-template name="mkdirs"/>
+    <xsl:call-template name="moves"/>
+    <xsl:call-template name="touchzs"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 18 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/generic.xslt

@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="fields/xml.xslt"/>
+
+<xsl:template match="workflow:*[local-name()!='decision' and local-name()!='end' and local-name()!='fork' and local-name()!='fs' and local-name()!='java' and local-name()!='join' and local-name()!='kill' and local-name()!='map-reduce' and local-name()!='pig' and local-name()!='start' and local-name()!='streaming' and local-name()!='subworkflow' and local-name()!='distcp' and local-name()!='email' and local-name()!='hive' and local-name()!='shell' and local-name()!='sqoop' and local-name()!='ssh' and local-name()!='ok' and local-name()!='error']" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.generic" pk="0">
+
+    <xsl:call-template name="xml"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 36 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/java.xslt

@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="fields/archives.xslt"/>
+<xsl:import href="fields/args.xslt"/>
+<xsl:import href="fields/files.xslt"/>
+<xsl:import href="fields/job_xml.xslt"/>
+<xsl:import href="fields/java_opts.xslt"/>
+<xsl:import href="fields/jar_path.xslt"/>
+<xsl:import href="fields/job_properties.xslt"/>
+<xsl:import href="fields/main_class.xslt"/>
+<xsl:import href="fields/prepares.xslt"/>
+<xsl:import href="fields/capture_output.xslt"/>
+
+<xsl:template match="workflow:java" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.java" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="args"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="jar_path"/>
+    <xsl:call-template name="java_opts"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="main_class"/>
+    <xsl:call-template name="prepares"/>
+    <xsl:call-template name="capture_output"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 13 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/join.xslt

@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template match="workflow:join" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.join" pk="0">
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 13 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/kill.xslt

@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template match="workflow:kill" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.kill" pk="0">
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 28 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/mapreduce.xslt

@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="fields/archives.xslt"/>
+<xsl:import href="fields/files.xslt"/>
+<xsl:import href="fields/jar_path.xslt"/>
+<xsl:import href="fields/job_properties.xslt"/>
+<xsl:import href="fields/job_xml.xslt"/>
+<xsl:import href="fields/prepares.xslt"/>
+
+<xsl:template match="workflow:map-reduce" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.mapreduce" pk="0">
+
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="jar_path"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="prepares"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 30 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/pig.xslt

@@ -0,0 +1,30 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="fields/archives.xslt"/>
+<xsl:import href="fields/arguments.xslt"/>
+<xsl:import href="fields/files.xslt"/>
+<xsl:import href="fields/job_properties.xslt"/>
+<xsl:import href="fields/job_xml.xslt"/>
+<xsl:import href="fields/prepares.xslt"/>
+<xsl:import href="fields/script_path.xslt"/>
+
+<xsl:template match="workflow:pig" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.pig" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="arguments"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="job_xml"/>
+    <xsl:call-template name="prepares"/>
+    <xsl:call-template name="script_path"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 11 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/sla.xslt

@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+
+<xsl:template match="workflow:sla" xmlns:workflow="uri:oozie:workflow:0.5">
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 14 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/start.xslt

@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:template match="workflow:start">
+
+  <object model="oozie.start" pk="0">
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 26 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/streaming.xslt

@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="fields/archives.xslt"/>
+<xsl:import href="fields/files.xslt"/>
+<xsl:import href="fields/job_properties.xslt"/>
+<xsl:import href="fields/mapper.xslt"/>
+<xsl:import href="fields/reducer.xslt"/>
+
+<xsl:template match="workflow:streaming" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.streaming" pk="0">
+
+    <xsl:call-template name="archives"/>
+    <xsl:call-template name="files"/>
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="mapper"/>
+    <xsl:call-template name="reducer"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 20 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/nodes/subworkflow.xslt

@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
+
+<xsl:import href="fields/job_properties.xslt"/>
+<xsl:import href="fields/propagate_configuration.xslt"/>
+
+<xsl:template match="workflow:sub-workflow" xmlns:workflow="uri:oozie:workflow:0.5">
+
+  <object model="oozie.subworkflow" pk="0">
+
+    <xsl:call-template name="job_properties"/>
+    <xsl:call-template name="propagate_configuration"/>
+
+  </object>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 20 - 0
apps/oozie/src/oozie/importlib/xslt/workflows/0.5/workflow.xslt

@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" xmlns:sla="uri:oozie:sla:0.2" exclude-result-prefixes="workflow">
+
+<xsl:include href="action.xslt"/>
+<xsl:include href="control.xslt"/>
+
+<xsl:template match="/workflow:workflow-app">
+
+  <django-objects version="1.0">
+
+    <xsl:apply-templates select="workflow:action"/>
+    <xsl:apply-templates select="workflow:start | workflow:end | workflow:decision | workflow:fork | workflow:join | workflow:kill"/>
+
+  </django-objects>
+
+</xsl:template>
+
+<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
+</xsl:stylesheet>

+ 2 - 1
apps/oozie/src/oozie/importlib/xslt/workflows/workflow.xslt

@@ -1,12 +1,13 @@
 <?xml version="1.0"?>
 
-<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.4" exclude-result-prefixes="workflow">
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:workflow="uri:oozie:workflow:0.5" exclude-result-prefixes="workflow">
 
 <xsl:include href="0.1/workflow.xslt"/>
 <xsl:include href="0.2/workflow.xslt"/>
 <xsl:include href="0.2.5/workflow.xslt"/>
 <xsl:include href="0.3/workflow.xslt"/>
 <xsl:include href="0.4/workflow.xslt"/>
+<xsl:include href="0.5/workflow.xslt"/>
 
 <xsl:template match="/">