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

michi at wyona.com michi at wyona.com
Sat Jan 16 00:04:18 CET 2010


Author: michi
Date: 2010-01-16 00:04:17 +0100 (Sat, 16 Jan 2010)
New Revision: 47078

Modified:
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java
Log:
parse start and end date

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 22:53:14 UTC (rev 47077)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java	2010-01-15 23:04:17 UTC (rev 47078)
@@ -41,10 +41,33 @@
         for (int i = 0; i < jobElements.getLength(); i++) {
             Element jobE = (Element) jobElements.item(i);
             log.info("Add job with class: " + jobE.getAttribute("class"));
-            JobDetail jobDetail = new JobDetail(jobE.getAttribute("name"), groupName, Class.forName(jobE.getAttribute("class")));
+            String jobName = jobE.getAttribute("name");
+            JobDetail jobDetail = new JobDetail(jobName, groupName, Class.forName(jobE.getAttribute("class")));
+
+            Element triggerElement = (Element) jobE.getElementsByTagName("trigger").item(0);
+
             Date startDate = new Date();
+            String startDateA = triggerElement.getAttribute("startDate");
+            if (startDateA != null && startDateA.length() > 0) {
+                try {
+                    startDate = new java.text.SimpleDateFormat("yyyy.MM.dd'T'HH:mm:ss").parse(startDateA);
+                } catch(java.text.ParseException e) {
+                    log.error("Could not parse startDate: " + e.getMessage());
+                }
+            }
+
             Date endDate = null;
-            Trigger trigger = new SimpleTrigger("heartbeatTrigger", groupName, startDate, endDate, SimpleTrigger.REPEAT_INDEFINITELY, 60L * 1000L);
+            String endDateA = triggerElement.getAttribute("endDate");
+            if (endDateA != null && endDateA.length() > 0) {
+                try {
+                    endDate = new java.text.SimpleDateFormat("yyyy.MM.dd'T'HH:mm:ss").parse(endDateA);
+                } catch(java.text.ParseException e) {
+                    log.error("Could not parse endDate: " + e.getMessage());
+                }
+            }
+
+            // TODO: Implement repeat count and interval
+            Trigger trigger = new SimpleTrigger(jobName + "Trigger", groupName, startDate, endDate, SimpleTrigger.REPEAT_INDEFINITELY, 60L * 1000L);
             scheduler.scheduleJob(jobDetail, trigger);
         }
     }



More information about the Yanel-commits mailing list