KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > jmx > server > StructuralInfoTest


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

4 package org.oddjob.jmx.server;
5
6 import javax.management.MBeanServer JavaDoc;
7 import javax.management.MBeanServerFactory JavaDoc;
8 import javax.management.Notification JavaDoc;
9
10 import junit.framework.TestCase;
11
12 import org.oddjob.Structural;
13 import org.oddjob.structural.StructuralEvent;
14 import org.oddjob.structural.StructuralListener;
15 import org.oddjob.util.ThreadManager;
16
17 public class StructuralInfoTest extends TestCase {
18
19     public void test1() {
20         class MyStructural implements Structural {
21             StructuralListener l;
22             public void addStructuralListener(StructuralListener listener) {
23                 l = listener;
24             }
25             public void removeStructuralListener(StructuralListener listener) {
26                 l = null;
27             }
28         }
29         MyStructural s = new MyStructural();
30         
31         ServerModel sm = new ServerModel("//test/",
32                 new ThreadManager(),
33                 new InterfaceManagerFactory());
34         sm.setRoot(s);
35         
36         MBeanServer JavaDoc mbs = MBeanServerFactory.createMBeanServer();
37         OddjobMBeanFactory f = new OddjobMBeanFactory(mbs);
38         
39         OddjobMBean ojmb = new OddjobMBean(s, f,
40                 new ServerContext(sm));
41         
42         StructuralInfo si = new StructuralInfo();
43         InterfaceHandler h = si.attach(s, ojmb);
44         
45         s.l.childAdded(new StructuralEvent(s, new MyStructural(), 0));
46         Notification JavaDoc n = h.getLastNotifications()[0];
47         assertEquals(StructuralInfo.CHILD_ADDED_NOTIF_TYPE, n.getType());
48         
49         s.l.childRemoved(new StructuralEvent(s, new MyStructural(), 0));
50         assertEquals(0, h.getLastNotifications().length);
51     }
52 }
53
Popular Tags