1 21 22 package org.jacorb.test.notification.filter; 23 24 import junit.framework.Test; 25 26 import org.apache.avalon.framework.configuration.Configuration; 27 import org.easymock.MockControl; 28 import org.jacorb.notification.IContainer; 29 import org.jacorb.notification.conf.Attributes; 30 import org.jacorb.notification.conf.Default; 31 import org.jacorb.notification.filter.DefaultFilterFactoryDelegate; 32 import org.jacorb.notification.filter.FilterFactoryImpl; 33 import org.jacorb.notification.util.WeakCacheWildcardMap; 34 import org.jacorb.test.notification.NotificationTestCase; 35 import org.jacorb.test.notification.NotificationTestCaseSetup; 36 import org.omg.CORBA.Any ; 37 import org.omg.CORBA.OBJECT_NOT_EXIST ; 38 import org.omg.CosNotifyFilter.Filter; 39 import org.omg.CosNotifyFilter.FilterFactory; 40 import org.omg.CosNotifyFilter.FilterFactoryHelper; 41 import org.picocontainer.MutablePicoContainer; 42 43 47 public class GarbageCollectTest extends NotificationTestCase 48 { 49 private MockControl controlConfiguration_; 50 51 private Configuration mockConfiguration_; 52 53 private IContainer iContainerForTest_; 54 55 60 public GarbageCollectTest(String name, NotificationTestCaseSetup setup) 61 { 62 super(name, setup); 63 } 64 65 protected void setUpTest() throws Exception 66 { 67 super.setUpTest(); 68 69 controlConfiguration_ = MockControl.createControl(Configuration.class); 70 71 72 iContainerForTest_ = new IContainer() 73 { 74 public MutablePicoContainer getContainer() 75 { 76 return getPicoContainer(); 77 } 78 79 public void destroy() 80 { 81 } 83 }; 84 85 mockConfiguration_ = (Configuration) controlConfiguration_.getMock(); 86 87 mockConfiguration_.getAttributeNames(); 89 controlConfiguration_.setReturnValue(new String [0]); 90 91 mockConfiguration_.getAttribute(Attributes.WILDCARDMAP_CLASS, WeakCacheWildcardMap.class 92 .getName()); 93 controlConfiguration_.setReturnValue(WeakCacheWildcardMap.class.getName()); 94 } 95 96 public void testGCFilter() throws Exception 97 { 98 mockConfiguration_.getAttributeAsBoolean(Attributes.USE_GC, Default.DEFAULT_USE_GC); 100 controlConfiguration_.setReturnValue(true); 101 102 mockConfiguration_.getAttributeAsLong(Attributes.DEAD_FILTER_INTERVAL, 104 Default.DEFAULT_DEAD_FILTER_INTERVAL); 105 controlConfiguration_.setReturnValue(100); 106 107 getPicoContainer().registerComponentInstance(Configuration.class, mockConfiguration_); 111 112 controlConfiguration_.replay(); 113 114 FilterFactoryImpl factoryServant_ = new FilterFactoryImpl(getORB(), getPOA(), 116 mockConfiguration_, new DefaultFilterFactoryDelegate(iContainerForTest_, mockConfiguration_)); 117 118 String _factoryRef = getORB().object_to_string(factoryServant_.activate()); 119 120 FilterFactory _factory = FilterFactoryHelper.narrow(getClientORB().string_to_object(_factoryRef)); 121 122 Filter _filter = _factory.create_filter("EXTENDED_TCL"); 123 124 assertFalse(_filter._non_existent()); 125 126 Thread.sleep(10000); 128 129 try 130 { 131 Any any = toAny(5); 132 _filter.match(any); 133 } catch (OBJECT_NOT_EXIST e) 134 { 135 } 137 } 138 139 140 public static Test suite() throws Exception 141 { 142 return NotificationTestCase.suite(GarbageCollectTest.class); 143 } 144 } 145 | Popular Tags |