You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oozie.apache.org by tu...@apache.org on 2012/08/13 19:00:24 UTC
svn commit: r1372512 - in /incubator/oozie/trunk:
core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java
core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java
release-log.txt
Author: tucu
Date: Mon Aug 13 17:00:24 2012
New Revision: 1372512
URL: http://svn.apache.org/viewvc?rev=1372512&view=rev
Log:
OOZIE-926 handling of global configuration is not correct (bcyr via tucu)
Modified:
incubator/oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java
incubator/oozie/trunk/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java
incubator/oozie/trunk/release-log.txt
Modified: incubator/oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java?rev=1372512&r1=1372511&r2=1372512&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java (original)
+++ incubator/oozie/trunk/core/src/main/java/org/apache/oozie/workflow/lite/LiteWorkflowAppParser.java Mon Aug 13 17:00:24 2012
@@ -453,6 +453,7 @@ public class LiteWorkflowAppParser {
if (global != null) {
Element globalJobTracker = global.getChild("job-tracker", ns);
Element globalNameNode = global.getChild("name-node", ns);
+ List<Element> globalJobXml = global.getChildren("job-xml", ns);
Element globalConfiguration = global.getChild("configuration", ns);
if (globalJobTracker != null && eActionConf.getChild("job-tracker", actionNs) == null) {
@@ -467,6 +468,25 @@ public class LiteWorkflowAppParser {
eActionConf.addContent(nameNode);
}
+ if (!globalJobXml.isEmpty()) {
+ List<Element> actionJobXml = eActionConf.getChildren("job-xml", actionNs);
+ for(Element jobXml: globalJobXml){
+ boolean alreadyExists = false;
+ for(Element actionXml: actionJobXml){
+ if(jobXml.getText().equals(actionXml.getText())){
+ alreadyExists = true;
+ }
+ }
+
+ if (!alreadyExists){
+ Element ejobXml = new Element("job-xml", actionNs);
+ ejobXml.setText(jobXml.getText());
+ eActionConf.addContent(ejobXml);
+ }
+
+ }
+ }
+
if (globalConfiguration != null) {
Element actionConfiguration = eActionConf.getChild("configuration", actionNs);
if (actionConfiguration == null) {
Modified: incubator/oozie/trunk/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java?rev=1372512&r1=1372511&r2=1372512&view=diff
==============================================================================
--- incubator/oozie/trunk/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java (original)
+++ incubator/oozie/trunk/core/src/test/java/org/apache/oozie/workflow/lite/TestLiteWorkflowAppParser.java Mon Aug 13 17:00:24 2012
@@ -100,6 +100,48 @@ public class TestLiteWorkflowAppParser e
}
+ public void testParserGlobalJobXML() throws Exception {
+ LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null,
+ LiteWorkflowStoreService.LiteControlNodeHandler.class,
+ LiteWorkflowStoreService.LiteDecisionHandler.class,
+ LiteWorkflowStoreService.LiteActionHandler.class);
+
+ LiteWorkflowApp app = parser.validateAndParse(IOUtils.getResourceAsReader("wf-schema-valid-global-jobXml.xml", -1),
+ new Configuration());
+
+ String d = app.getNode("d").getConf();
+ String expectedD =
+ "<map-reduce xmlns=\"uri:oozie:workflow:0.4\">\r\n" +
+ " <prepare>\r\n" +
+ " <delete path=\"/tmp\" />\r\n" +
+ " <mkdir path=\"/tmp\" />\r\n" +
+ " </prepare>\r\n" +
+ " <streaming>\r\n" +
+ " <mapper>/mycat.sh</mapper>\r\n" +
+ " <reducer>/mywc.sh</reducer>\r\n" +
+ " </streaming>\r\n" +
+ " <job-xml>/tmp</job-xml>\r\n" +
+ " <file>/tmp</file>\r\n" +
+ " <archive>/tmp</archive>\r\n" +
+ " <job-tracker>foo</job-tracker>\r\n" +
+ " <name-node>bar</name-node>\r\n" +
+ " <job-xml>/spam1</job-xml>\r\n" +
+ " <job-xml>/spam2</job-xml>\r\n" +
+ " <configuration>\r\n" +
+ " <property>\r\n" +
+ " <name>a</name>\r\n" +
+ " <value>A</value>\r\n" +
+ " </property>\r\n" +
+ " <property>\r\n" +
+ " <name>b</name>\r\n" +
+ " <value>B</value>\r\n" +
+ " </property>\r\n" +
+ " </configuration>\r\n" +
+ "</map-reduce>";
+ assertEquals(expectedD.replaceAll(" ",""), d.replaceAll(" ", ""));
+
+ }
+
public void testParserGlobalLocalAlreadyExists() throws Exception{
LiteWorkflowAppParser parser = new LiteWorkflowAppParser(null,
LiteWorkflowStoreService.LiteControlNodeHandler.class,
Modified: incubator/oozie/trunk/release-log.txt
URL: http://svn.apache.org/viewvc/incubator/oozie/trunk/release-log.txt?rev=1372512&r1=1372511&r2=1372512&view=diff
==============================================================================
--- incubator/oozie/trunk/release-log.txt (original)
+++ incubator/oozie/trunk/release-log.txt Mon Aug 13 17:00:24 2012
@@ -1,5 +1,6 @@
-- Oozie 3.3.0 release (trunk - unreleased)
+OOZIE-926 handling of global configuration is not correct (bcyr via tucu)
OOZIE-921 Changes in global section for the Name Node in FS action (bcyr via virag)
OOZIE-942 Add formal Parameters to bundle XML (rkanter via virag)
OOZIE-239 Add formal parameters to WF & COORD XML (rkanter via tucu)