Repository: oozie
Updated Branches:
  refs/heads/master f9176a01b -> daba7f4b2


OOZIE-1748 When using cron-like syntax, the "Time Unit" field says "MINUTE" 
(bzhang)


Project: http://git-wip-us.apache.org/repos/asf/oozie/repo
Commit: http://git-wip-us.apache.org/repos/asf/oozie/commit/daba7f4b
Tree: http://git-wip-us.apache.org/repos/asf/oozie/tree/daba7f4b
Diff: http://git-wip-us.apache.org/repos/asf/oozie/diff/daba7f4b

Branch: refs/heads/master
Commit: daba7f4b249c1479c471a6bd865e9e2e1f889ada
Parents: f9176a0
Author: Bowen Zhang <[email protected]>
Authored: Thu Apr 24 17:31:17 2014 -0700
Committer: Bowen Zhang <[email protected]>
Committed: Thu Apr 24 17:32:17 2014 -0700

----------------------------------------------------------------------
 .../org/apache/oozie/client/CoordinatorJob.java |  2 +-
 .../command/coord/CoordSubmitXCommand.java      |  7 +++++++
 .../java/org/apache/oozie/coord/TimeUnit.java   |  2 +-
 .../command/coord/TestCoordSubmitXCommand.java  | 20 ++++++++++++++++++++
 release-log.txt                                 |  1 +
 5 files changed, 30 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oozie/blob/daba7f4b/client/src/main/java/org/apache/oozie/client/CoordinatorJob.java
----------------------------------------------------------------------
diff --git a/client/src/main/java/org/apache/oozie/client/CoordinatorJob.java 
b/client/src/main/java/org/apache/oozie/client/CoordinatorJob.java
index 73ef954..6a60d13 100644
--- a/client/src/main/java/org/apache/oozie/client/CoordinatorJob.java
+++ b/client/src/main/java/org/apache/oozie/client/CoordinatorJob.java
@@ -36,7 +36,7 @@ public interface CoordinatorJob extends Job {
      * Defines the possible frequency unit of an Oozie application.
      */
     public static enum Timeunit {
-        MINUTE, HOUR, DAY, WEEK, MONTH, END_OF_DAY, END_OF_MONTH, NONE
+        MINUTE, HOUR, DAY, WEEK, MONTH, END_OF_DAY, END_OF_MONTH, CRON, NONE
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/oozie/blob/daba7f4b/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java 
b/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java
index 654e9b8..91fb5da 100644
--- a/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java
+++ b/core/src/main/java/org/apache/oozie/command/coord/CoordSubmitXCommand.java
@@ -682,6 +682,13 @@ public class CoordSubmitXCommand extends 
SubmitTransitionXCommand {
         coordJob.setFrequency(val);
         TimeUnit tmp = (evalFreq.getVariable("timeunit") == null) ? 
TimeUnit.MINUTE : ((TimeUnit) evalFreq
                 .getVariable("timeunit"));
+        try {
+            Integer.parseInt(val);
+        }
+        catch (NumberFormatException ex) {
+            tmp=TimeUnit.CRON;
+        }
+
         addAnAttribute("freq_timeunit", eAppXml, tmp.toString());
         // TimeUnit
         coordJob.setTimeUnit(CoordinatorJob.Timeunit.valueOf(tmp.toString()));

http://git-wip-us.apache.org/repos/asf/oozie/blob/daba7f4b/core/src/main/java/org/apache/oozie/coord/TimeUnit.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/oozie/coord/TimeUnit.java 
b/core/src/main/java/org/apache/oozie/coord/TimeUnit.java
index 72e9ba6..49fed70 100644
--- a/core/src/main/java/org/apache/oozie/coord/TimeUnit.java
+++ b/core/src/main/java/org/apache/oozie/coord/TimeUnit.java
@@ -21,7 +21,7 @@ import java.util.Calendar;
 
 public enum TimeUnit {
     MINUTE(Calendar.MINUTE), HOUR(Calendar.HOUR), DAY(Calendar.DATE), 
MONTH(Calendar.MONTH), YEAR(Calendar.YEAR), END_OF_DAY(Calendar.DATE), 
END_OF_MONTH(
-        Calendar.MONTH), NONE(-1);
+        Calendar.MONTH), CRON(0), NONE(-1);
 
     private int calendarUnit;
 

http://git-wip-us.apache.org/repos/asf/oozie/blob/daba7f4b/core/src/test/java/org/apache/oozie/command/coord/TestCoordSubmitXCommand.java
----------------------------------------------------------------------
diff --git 
a/core/src/test/java/org/apache/oozie/command/coord/TestCoordSubmitXCommand.java
 
b/core/src/test/java/org/apache/oozie/command/coord/TestCoordSubmitXCommand.java
index 019c12c..fedf4a8 100644
--- 
a/core/src/test/java/org/apache/oozie/command/coord/TestCoordSubmitXCommand.java
+++ 
b/core/src/test/java/org/apache/oozie/command/coord/TestCoordSubmitXCommand.java
@@ -136,6 +136,26 @@ public class TestCoordSubmitXCommand extends XDataTestCase 
{
         }
     }
 
+    public void testBasicSubmitWithCronFrequency() throws Exception {
+        Configuration conf = new XConfiguration();
+        File appPathFile = new File(getTestCaseDir(), "coordinator.xml");
+        String appXml = "<coordinator-app name=\"NAME\" frequency=\"0 10 * * 
*\" start=\"2009-02-01T01:00Z\" "
+                + "end=\"2009-02-03T23:59Z\" timezone=\"UTC\" "
+                + "xmlns=\"uri:oozie:coordinator:0.2\"> <controls> "
+                + "<execution>LIFO</execution> </controls>  <action> "
+                + "<workflow> <app-path>hdfs:///tmp/workflows/</app-path> "
+                + "</workflow> </action> </coordinator-app>";
+        writeToFile(appXml, appPathFile);
+        conf.set(OozieClient.COORDINATOR_APP_PATH, 
appPathFile.toURI().toString());
+        conf.set(OozieClient.USER_NAME, getTestUser());
+        CoordSubmitXCommand sc = new CoordSubmitXCommand(conf);
+
+        String jobId = sc.call();
+        assertEquals(jobId.substring(jobId.length() - 2), "-C");
+        CoordinatorJobBean job = (CoordinatorJobBean) sc.getJob();
+        assertEquals(job.getTimeUnitStr(), "CRON");
+    }
+
     public void testBasicSubmitWithIdenticalStartAndEndTime() throws Exception 
{
         Configuration conf = new XConfiguration();
         File appPathFile = new File(getTestCaseDir(), "coordinator.xml");

http://git-wip-us.apache.org/repos/asf/oozie/blob/daba7f4b/release-log.txt
----------------------------------------------------------------------
diff --git a/release-log.txt b/release-log.txt
index eff6224..3c9ae84 100644
--- a/release-log.txt
+++ b/release-log.txt
@@ -1,5 +1,6 @@
 -- Oozie 4.1.0 release (trunk - unreleased)
 
+OOZIE-1748 When using cron-like syntax, the "Time Unit" field says "MINUTE"
 OOZIE-1737 Oozie log streaming is slow (puru via rohini)
 OOZIE-1794 java-opts and java-opt in the Java action don't always work 
properly in YARN (rkanter)
 OOZIE-1799 Document hcatalog integration steps for Oozie in a secure cluster 
(venkatnrangan via bzhang)

Reply via email to