KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > quartz > WebworkJob


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 package net.killingar.quartz;
27
28 import org.quartz.Job;
29 import org.quartz.JobExecutionContext;
30 import org.quartz.JobExecutionException;
31 import webwork.action.ActionContext;
32 import webwork.dispatcher.GenericDispatcher;
33
34 /**
35  * Webwork-Quartz integration job class.
36  * Inversion of control works like this: <ol><li>The name of your job is the name of the WW action to execute (no ".action" suffix).</li>
37  * <li>Put all the parameters you want to send to the WW action into the quartz JobDataMap.</li><li>Done!</li></ol>
38  */

39
40 public class WebworkJob implements Job
41 {
42     public void execute(JobExecutionContext context) throws JobExecutionException
43     {
44         try
45         {
46             ActionContext.setParameters(context.getJobDetail().getJobDataMap());
47             GenericDispatcher dispatcher = new GenericDispatcher(context.getJobDetail().getName());
48             dispatcher.prepareValueStack();
49             dispatcher.executeAction();
50             dispatcher.finish();
51             dispatcher.finalizeContext();
52         }
53         catch (Exception JavaDoc e)
54         {
55             throw new JobExecutionException(e);
56         }
57     }
58 }
59
Popular Tags