KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jtheory > jdring > Test


1 /*
2  * com/jtheory/jdring/Test.java
3  * Copyright (C) 1999 - 2004 jtheory creations, Olivier Dedieu et al.
4  *
5  * This library is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU Library General Public License as published
7  * by the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU Library General Public License for more details.
14  *
15  * You should have received a copy of the GNU Library General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  */

19
20 package com.jtheory.jdring;
21 import java.util.Calendar JavaDoc;
22 import java.util.Date JavaDoc;
23 import java.util.List JavaDoc;
24 import java.util.Iterator JavaDoc;
25
26 import com.jtheory.jdring.*;
27
28
29 /**
30   * This class run a bunch of tests.
31   *
32   * @author Olivier Dedieu
33   * @version 1.1, 09/13/1999
34   */

35 public class Test {
36   public static void main(String JavaDoc[] args) throws Exception JavaDoc {
37
38     AlarmManager mgr = new AlarmManager();
39
40     long current = System.currentTimeMillis();
41     System.out.println("Current date is " + new Date JavaDoc(current));
42
43     AlarmListener listener = new AlarmListener() {
44       public void handleAlarm(AlarmEntry entry) {
45         System.out.println("\u0007fixed date alarm : " + entry);
46       }
47     };
48
49     /*
50     // Date alarm
51     mgr.addAlarm(new Date(current + (60 * 1000)), listener);
52     mgr.addAlarm(new Date(current + (30 * 1000)), listener);
53     mgr.addAlarm(new Date(current + (40 * 1000)), listener);
54     mgr.addAlarm(new Date(current + (20 * 1000)), listener);
55     mgr.addAlarm(new Date(current + (10 * 1000)), listener);
56     mgr.addAlarm(new Date(current + (50 * 1000)), listener);
57
58     mgr.addAlarm(new Date(System.currentTimeMillis() + 300000),
59                  new AlarmListener() {
60       public void handleAlarm(AlarmEntry entry) {
61         System.out.println("Fixed date 5 minutes later");
62       }
63     });
64
65     Calendar cal = Calendar.getInstance();
66     cal.add(Calendar.WEEK_OF_YEAR, 1);
67     mgr.addAlarm(cal.getTime(), new AlarmListener() {
68       public void handleAlarm(AlarmEntry entry) {
69         System.out.println("Fixed date one week later");
70       }
71     });
72
73
74     // Elapsed-time alarm
75     mgr.addAlarm(1, true, new AlarmListener() {
76       public void handleAlarm(AlarmEntry entry) {
77         System.out.println("Relative 1 min (" + new Date() + ")");
78       }
79     });
80
81     // Elapsed-time alarm 10,000 minutes
82     mgr.addAlarm(10000, true, new AlarmListener() {
83       public void handleAlarm(AlarmEntry entry) {
84         System.out.println("Relative 10,000 min (" + new Date() + ")");
85       }
86     });
87
88
89     // Cron-like alarm (minute, hour, day of month, month, day of week, year)
90     mgr.addAlarm(-1, -1, -1, -1, -1, -1, new AlarmListener() {
91       public void handleAlarm(AlarmEntry entry) {
92         System.out.println("Cron every minute (" + new Date() + ")");
93       }
94     });
95
96
97     // Cron-like alarm (minute, hour, day of month, month, day of week, year)
98     mgr.addAlarm(new int[]{26,27,29}, new int[]{12}, new int[]{19,27}, new int[]{-1}, new int[]{Calendar.MONDAY}, -1, new AlarmListener() {
99       public void handleAlarm(AlarmEntry entry) {
100         System.out.println("Cron complex1 (" + new Date() + ")");
101       }
102     });
103     */

104
105     // Cron-like alarm (minute, hour, day of month, month, day of week, year)
106
mgr.addAlarm("ComplexCron2",new int[]{16,17,18}, new int[]{16}, new int[]{-1}, new int[]{-1}, new int[]{Calendar.SUNDAY}, -1, new AlarmListener() {
107       public void handleAlarm(AlarmEntry entry) {
108         System.out.println("\u0007Cron complex2 (" + new Date JavaDoc() + ")");
109       }
110     });
111
112     /*
113     mgr.addAlarm(3, -1, -1, -1, -1, -1, new AlarmListener() {
114       public void handleAlarm(AlarmEntry entry) {
115         System.out.println("Every hour at 03' (" + new Date() + ")");
116       }
117     });
118
119     mgr.addAlarm(00, 12, -1, -1, -1, -1, new AlarmListener() {
120       public void handleAlarm(AlarmEntry entry) {
121         System.out.println("Lunch time (" + new Date() + ")");
122       }
123     });
124
125     mgr.addAlarm(24, 15, 11, Calendar.AUGUST, -1, -1, new AlarmListener() {
126       public void handleAlarm(AlarmEntry entry) {
127         System.out.println("Valerie's birthday");
128       }
129     });
130
131     mgr.addAlarm(30, 9, 1, -1, -1, -1, new AlarmListener() {
132       public void handleAlarm(AlarmEntry entry) {
133         System.out.println("On the first of every month at 9:30");
134       }
135     });
136
137     mgr.addAlarm(00, 18, -1, -1, Calendar.FRIDAY, -1, new AlarmListener() {
138       public void handleAlarm(AlarmEntry entry) {
139         System.out.println("On every Friday at 18:00");
140       }
141     });
142
143     mgr.addAlarm(0, 0, 1, Calendar.JANUARY, -1, 2001, new AlarmListener() {
144       public void handleAlarm(AlarmEntry entry) {
145         System.out.println("Does it work ?");
146       }
147     });*/

148
149     System.out.println("Here are the registered alarms: ");
150     System.out.println("----------------------------");
151     List JavaDoc list = mgr.getAllAlarms();
152     for(Iterator JavaDoc it = list.iterator(); it.hasNext();) {
153       System.out.println("- " + it.next());
154     }
155     System.out.println("----------------------------");
156   }
157 }
158
159
Popular Tags