[Yanel-commits] rev 47081 - public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler

michi at wyona.com michi at wyona.com
Sat Jan 16 12:45:01 CET 2010


Author: michi
Date: 2010-01-16 12:45:00 +0100 (Sat, 16 Jan 2010)
New Revision: 47081

Modified:
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java
Log:
read repeat count and interval

Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java	2010-01-15 23:09:40 UTC (rev 47080)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java	2010-01-16 11:45:00 UTC (rev 47081)
@@ -71,7 +71,33 @@
             }
 
             // TODO: Implement repeat count and interval
-            Trigger trigger = new SimpleTrigger(jobName + "Trigger", groupName, startDate, endDate, SimpleTrigger.REPEAT_INDEFINITELY, 60L * 1000L);
+            Element repeatElement = (Element) triggerElement.getElementsByTagName("repeat").item(0);
+
+            int count = SimpleTrigger.REPEAT_INDEFINITELY;
+            long interval = 60000; // INFO: 60 seconds
+            if (repeatElement != null) {
+                String countA = repeatElement.getAttribute("count");
+                if (countA.equals("REPEAT_INDEFINITELY")) {
+                    count = SimpleTrigger.REPEAT_INDEFINITELY;
+                } else {
+                    try {
+                        count = Integer.parseInt(countA);
+                    } catch(NumberFormatException e) {
+                        log.error("Could not parse count: " + e.getMessage() + " (repeat indefinitely)");
+                        count = SimpleTrigger.REPEAT_INDEFINITELY;
+                    }
+                }
+
+                String intervalA = repeatElement.getAttribute("interval");
+                try {
+                    interval = Long.parseLong(intervalA);
+                } catch(NumberFormatException e) {
+                    log.error("Could not parse interval: " + e.getMessage() + " (60 seconds)");
+                    interval = 60000;
+                }
+            }
+
+            Trigger trigger = new SimpleTrigger(jobName + "Trigger", groupName, startDate, endDate, count, interval);
             scheduler.scheduleJob(jobDetail, trigger);
         }
     }



More information about the Yanel-commits mailing list