KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > jobs > job > TriggerJobTest


1 /*
2  * (c) Rob Gordon 2005
3  */

4 package org.oddjob.jobs.job;
5
6 import java.io.ByteArrayInputStream JavaDoc;
7
8 import junit.framework.TestCase;
9
10 import org.oddjob.Oddjob;
11 import org.oddjob.jobs.WaitJob;
12 import org.oddjob.state.JobState;
13
14 public class TriggerJobTest extends TestCase {
15
16     public void test1() {
17         
18         String JavaDoc xml =
19             "<oddjob id='this'>" +
20             " <sequential>" +
21 // " <rmireg/>" +
22
// " <server url='service:jmx:rmi://ignored/jndi/rmi://localhost/my-oddjob'" +
23
// " root='${this}'/>" +
24
" <scheduler id='sched'>" +
25             " <schedules>" +
26             " <trigger on='${watch}' id='trigger' job='${stop}'/>" +
27             " </schedules>" +
28             " </scheduler>" +
29             " <trigger id='watch' on='${thing1}'/>" +
30             " <echo text='Triggered!' id='thing1'/>" +
31             " <folder>" +
32             " <echo id='stop' text='Now you can stop.'/>" +
33             " </folder>" +
34             " </sequential>" +
35             "</oddjob>";
36
37         Oddjob oj = new Oddjob();
38         oj.setInput(new ByteArrayInputStream JavaDoc(xml.getBytes()));
39         oj.run();
40         
41         assertEquals(JobState.EXECUTING, oj.lastJobStateEvent().getJobState());
42
43         WaitJob wj = new WaitJob();
44         wj.setFor(oj.lookup("stop"));
45         wj.setState("complete");
46         wj.run();
47
48         oj.stop();
49         
50         assertEquals(JobState.COMPLETE, oj.lastJobStateEvent().getJobState());
51     }
52
53 }
54
Popular Tags