1 4 package org.oddjob.jmx.server; 5 6 import javax.management.MBeanServer ; 7 import javax.management.MBeanServerFactory ; 8 import javax.management.Notification ; 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 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 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 |