[Yanel-commits] rev 47099 - in public/yanel/trunk/src: impl/java/org/wyona/yanel/impl/scheduler webapp/src/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Sun Jan 17 14:35:04 CET 2010


Author: michi
Date: 2010-01-17 14:35:03 +0100 (Sun, 17 Jan 2010)
New Revision: 47099

Modified:
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
add realm to job context such that job can access realm

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-17 12:05:08 UTC (rev 47098)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/scheduler/QuartzSchedulerUtil.java	2010-01-17 13:35:03 UTC (rev 47099)
@@ -13,6 +13,8 @@
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
 
+import org.wyona.yanel.core.map.Realm;
+
 /**
  *
  */
@@ -24,10 +26,11 @@
      * Schedule jobs based on XML configuration
      * @param scheduler Scheduler
      * @param doc XML document containing jobs configuration
-     * @param groupName Group name, e.g. realm ID
+     * @param realm Realm
      */
-    public static void schedule(Scheduler scheduler, Document doc, String groupName) throws Exception {
-        log.info("Add jobs for group '" + groupName + "' to scheduler.");
+    public static void schedule(Scheduler scheduler, Document doc, Realm realm) throws Exception {
+        String groupName = realm.getID();
+        log.info("Add jobs for group/realm '" + groupName + "' to scheduler.");
 
         Element jobsElement = (Element) doc.getDocumentElement().getElementsByTagName("jobs").item(0);
         String enabled = jobsElement.getAttribute("enabled");
@@ -43,6 +46,7 @@
             log.info("Add job with class: " + jobE.getAttribute("class"));
             String jobName = jobE.getAttribute("name");
             JobDetail jobDetail = new JobDetail(jobName, groupName, Class.forName(jobE.getAttribute("class")));
+            jobDetail.getJobDataMap().put("realm", realm);
 
             Element triggerElement = (Element) jobE.getElementsByTagName("trigger").item(0);
 

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2010-01-17 12:05:08 UTC (rev 47098)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2010-01-17 13:35:03 UTC (rev 47099)
@@ -193,7 +193,7 @@
                         if (realms[i].getRepository().existsNode(schedulerJobsPath)) {
                             log.debug("Scheduler jobs config found for realm: " + realms[i].getRepository().getID());
                             try {
-                                org.wyona.yanel.impl.scheduler.QuartzSchedulerUtil.schedule(scheduler, XMLHelper.readDocument(realms[i].getRepository().getNode(schedulerJobsPath).getInputStream()), realms[i].getRepository().getID());
+                                org.wyona.yanel.impl.scheduler.QuartzSchedulerUtil.schedule(scheduler, XMLHelper.readDocument(realms[i].getRepository().getNode(schedulerJobsPath).getInputStream()), realms[i]);
                             } catch(Exception e) {
                                 log.error(e, e); // INFO: Log error, but otherwise ignore and keep going ...
                             }



More information about the Yanel-commits mailing list