[jboss-cvs] JBossAS SVN: r88606 - projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/lazy/test.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon May 11 05:14:52 EDT 2009
Author: alesj
Date: 2009-05-11 05:14:52 -0400 (Mon, 11 May 2009)
New Revision: 88606
Modified:
projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/lazy/test/LazyInstantiationTest.java
Log:
[JBMICROCONT-423]; lazy on demand test.
Modified: projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/lazy/test/LazyInstantiationTest.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/lazy/test/LazyInstantiationTest.java 2009-05-11 08:28:05 UTC (rev 88605)
+++ projects/microcontainer/trunk/kernel/src/test/java/org/jboss/test/kernel/lazy/test/LazyInstantiationTest.java 2009-05-11 09:14:52 UTC (rev 88606)
@@ -65,48 +65,91 @@
{
Kernel kernel = bootstrap();
KernelController controller = kernel.getController();
+ try
+ {
+ AbstractBeanMetaData bean = new AbstractBeanMetaData("bean", RareBean.class.getName());
+ bean.setMode(ControllerMode.MANUAL);
+ DemandMetaData demand = new AbstractDemandMetaData("foobar");
+ ((AbstractDemandMetaData)demand).setWhenRequired(ControllerState.INSTANTIATED);
+ bean.setDemands(Collections.singleton(demand));
- AbstractBeanMetaData bean = new AbstractBeanMetaData("bean", RareBean.class.getName());
- bean.setMode(ControllerMode.MANUAL);
- DemandMetaData demand = new AbstractDemandMetaData("foobar");
- ((AbstractDemandMetaData)demand).setWhenRequired(ControllerState.INSTANTIATED);
- bean.setDemands(Collections.singleton(demand));
+ KernelControllerContext beanContext = controller.install(bean);
+ controller.change(beanContext, ControllerState.NOT_INSTALLED);
- KernelControllerContext beanContext = controller.install(bean);
- controller.change(beanContext, ControllerState.NOT_INSTALLED);
+ ModifiedLazyMetaData lazy = new ModifiedLazyMetaData("bean", getFactoryClassName());
+ lazy.setInterfaces(Collections.singleton(IRare.class.getName()));
+ KernelControllerContext lazyContext = controller.install(lazy);
- ModifiedLazyMetaData lazy = new ModifiedLazyMetaData("bean", getFactoryClassName());
- lazy.setInterfaces(Collections.singleton(IRare.class.getName()));
- KernelControllerContext lazyContext = controller.install(lazy);
+ assertNotNull(lazyContext);
+ assertEquals(ControllerState.INSTALLED, lazyContext.getState());
- assertNotNull(lazyContext);
- assertEquals(ControllerState.INSTALLED, lazyContext.getState());
+ controller.change(beanContext, ControllerState.DESCRIBED);
+ controller.change(lazyContext, ControllerState.INSTALLED);
- controller.change(beanContext, ControllerState.DESCRIBED);
- controller.change(lazyContext, ControllerState.INSTALLED);
+ IRare lazyRare = (IRare)lazyContext.getTarget();
+ assertNotNull(lazyRare);
- IRare lazyRare = (IRare)lazyContext.getTarget();
- assertNotNull(lazyRare);
+ try
+ {
+ lazyRare.getHits();
+ throw new RuntimeException("Should not be here.");
+ }
+ catch(Throwable t)
+ {
+ assertInstanceOf(t, IllegalArgumentException.class);
+ }
- try
- {
- lazyRare.getHits();
- throw new RuntimeException("Should not be here.");
+ controller.install(new AbstractBeanMetaData("foobar", Object.class.getName()));
+ controller.change(beanContext, ControllerState.INSTALLED);
+
+ assertEquals(0, lazyRare.getHits());
+ lazyRare.setHits(10);
+ assertEquals(5, lazyRare.checkHits(15));
+
+ controller.uninstall(beanContext.getName());
+ assertEquals(ControllerState.DESCRIBED, lazyContext.getState());
}
- catch(Throwable t)
+ finally
{
- assertInstanceOf(t, IllegalArgumentException.class);
+ controller.shutdown();
}
+ }
- controller.install(new AbstractBeanMetaData("foobar", Object.class.getName()));
- controller.change(beanContext, ControllerState.INSTALLED);
+ public void testOnDemand() throws Throwable
+ {
+ Kernel kernel = bootstrap();
+ KernelController controller = kernel.getController();
+ try
+ {
+ AbstractBeanMetaData bean = new AbstractBeanMetaData("bean", RareBean.class.getName());
+ bean.setMode(ControllerMode.ON_DEMAND);
+ KernelControllerContext beanContext = controller.install(bean);
- assertEquals(0, lazyRare.getHits());
- lazyRare.setHits(10);
- assertEquals(5, lazyRare.checkHits(15));
+ ModifiedLazyMetaData lazy = new ModifiedLazyMetaData("bean", getFactoryClassName());
+ lazy.setInterfaces(Collections.singleton(IRare.class.getName()));
+ KernelControllerContext lazyContext = controller.install(lazy);
+ assertNotNull(lazyContext);
+ assertEquals(ControllerState.INSTALLED, lazyContext.getState());
- controller.uninstall(beanContext.getName());
- assertEquals(ControllerState.DESCRIBED, lazyContext.getState());
+ IRare lazyRare = (IRare)lazyContext.getTarget();
+ assertNotNull(lazyRare);
+
+ // should not be fully installed yet
+ assertEquals(ControllerState.NOT_INSTALLED, beanContext.getState());
+ assertEquals(0, lazyRare.getHits());
+ // the hit should install it
+ assertEquals(ControllerState.INSTALLED, beanContext.getState());
+
+ lazyRare.setHits(10);
+ assertEquals(5, lazyRare.checkHits(15));
+
+ controller.uninstall(beanContext.getName());
+ assertEquals(ControllerState.DESCRIBED, lazyContext.getState());
+ }
+ finally
+ {
+ controller.shutdown();
+ }
}
private class ModifiedLazyMetaData extends AbstractLazyMetaData
More information about the jboss-cvs-commits
mailing list