KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > adventnet > jmx > NotificationThread


1 /**
2 * The XMOJO Project 5
3 * Copyright © 2003 XMOJO.org. All rights reserved.
4
5 * NO WARRANTY
6
7 * BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR
8 * THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
9 * OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
10 * PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
11 * OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
12 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
13 * TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE
14 * LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
15 * REPAIR OR CORRECTION.
16
17 * IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL
18 * ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE
19 * THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
20 * GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
21 * USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF
22 * DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
23 * PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE),
24 * EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
25 * SUCH DAMAGES.
26 **/

27
28 package com.adventnet.jmx;
29
30 import java.util.ArrayList JavaDoc;
31 import java.util.Hashtable JavaDoc;
32 import java.util.Vector JavaDoc;
33 import javax.management.monitor.Monitor JavaDoc;
34
35 public class NotificationThread implements Runnable JavaDoc
36 {
37     public Vector JavaDoc notifList = null;
38     public Hashtable JavaDoc info = null;
39
40     public NotificationThread(Vector JavaDoc notifList, Hashtable JavaDoc info)
41     {
42         this.notifList = notifList;
43         this.info = info;
44     }
45
46     public void run()
47     {
48         try{
49             if(notifList.size() == 0)
50                 Thread.sleep(100);
51             else
52             {
53                 NotificationHandler hdlr = (NotificationHandler)notifList.elementAt(0);
54
55
56                 if( (hdlr.nf == null) || hdlr.nf.isNotificationEnabled(hdlr.notif) )
57                 {
58                     hdlr.nl.handleNotification(hdlr.notif, hdlr.handback);
59
60                     String JavaDoc name = hdlr.notif.getClass().getName();
61                     ArrayList JavaDoc alist = (ArrayList JavaDoc)info.get(name);
62
63                     if(alist == null)
64                     {
65                         alist = new ArrayList JavaDoc();
66                         alist.add(hdlr.notif.getType());
67
68                         info.put(name, alist);
69                     }
70                     else
71                         alist.add(hdlr.notif.getType());
72                 }
73                 notifList.removeElementAt(0);
74             }
75         }
76         catch(Exception JavaDoc e)
77         {
78             //e.printStackTrace();
79
}
80
81         this.notifList = null;
82         this.info = null;
83     }
84 }
85
Popular Tags