- Revision
- 470
- Author
- mward
- Date
- 2007-12-12 08:36:08 -0600 (Wed, 12 Dec 2007)
Log Message
refactored use of LifecycleStrategy to be passed into PicoRegistrar
Modified Paths
- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/RegistrarAssistantTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java
- trunk/waffle-mock/src/main/java/org/codehaus/waffle/mock/PicoRegistrarMockery.java
Diff
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java (469 => 470)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2007-12-12 13:48:00 UTC (rev 469) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2007-12-12 14:36:08 UTC (rev 470) @@ -81,7 +81,8 @@ } protected Registrar createRegistrar(ContextContainer contextContainer) { - Registrar registrar = new PicoRegistrar((MutablePicoContainer) contextContainer.getDelegate(), registrarMonitor); + MutablePicoContainer delegateContainer = (MutablePicoContainer) contextContainer.getDelegate(); + Registrar registrar = new PicoRegistrar(delegateContainer, picoLifecycleStrategy, registrarMonitor); getContextMonitor().registrarCreated(registrar, registrarMonitor); return registrar; }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java (469 => 470)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java 2007-12-12 13:48:00 UTC (rev 469) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java 2007-12-12 14:36:08 UTC (rev 470) @@ -10,7 +10,6 @@ *****************************************************************************/ package org.codehaus.waffle.registrar.pico; -import org.codehaus.waffle.context.pico.PicoLifecycleStrategy; import org.codehaus.waffle.monitor.RegistrarMonitor; import org.codehaus.waffle.registrar.InjectionType; import org.codehaus.waffle.registrar.Registrar; @@ -21,8 +20,8 @@ import org.picocontainer.defaults.CachingComponentAdapter; import org.picocontainer.defaults.ConstantParameter; import org.picocontainer.defaults.ConstructorInjectionComponentAdapterFactory; +import org.picocontainer.defaults.LifecycleStrategy; import org.picocontainer.defaults.SetterInjectionComponentAdapterFactory; -import org.picocontainer.monitors.NullComponentMonitor; /** * This Registrar is backed by PicoContainer for managing Dependency Injection. This registrar @@ -33,11 +32,15 @@ */ public class PicoRegistrar implements Registrar, RubyAwareRegistrar { private final MutablePicoContainer picoContainer; + private final LifecycleStrategy lifecycleStrategy; private final RegistrarMonitor registrarMonitor; private InjectionType injectionType = InjectionType.CONSTRUCTOR; - public PicoRegistrar(MutablePicoContainer picoContainer, RegistrarMonitor registrarMonitor) { + public PicoRegistrar(MutablePicoContainer picoContainer, + LifecycleStrategy lifecycleStrategy, + RegistrarMonitor registrarMonitor) { this.picoContainer = picoContainer; + this.lifecycleStrategy = lifecycleStrategy; this.registrarMonitor = registrarMonitor; } @@ -63,7 +66,6 @@ ComponentAdapter componentAdapter = buildComponentAdapter(key, type, parameters); CachingComponentAdapter cachingComponentAdapter = new CachingComponentAdapter(componentAdapter); this.registerComponentAdapter(cachingComponentAdapter); - registrarMonitor.componentRegistered(key, type, parameters); return this; @@ -77,7 +79,6 @@ public Registrar registerInstance(Object key, Object instance) { picoContainer.registerComponentInstance(key, instance); registrarMonitor.instanceRegistered(key, instance); - return this; } @@ -112,11 +113,10 @@ return picoParameters; } - // TODO PicoLifecycleStrategy should not need to be instantiated each time ... should be passed into this instance? private ComponentAdapter buildComponentAdapter(Object key, Class<?> type, Object... parameters) { if (injectionType == InjectionType.CONSTRUCTOR) { ConstructorInjectionComponentAdapterFactory factory - = new ConstructorInjectionComponentAdapterFactory(false, new PicoLifecycleStrategy(new NullComponentMonitor())); + = new ConstructorInjectionComponentAdapterFactory(false, lifecycleStrategy); if (parameters.length == 0) { return factory.createComponentAdapter(key, type, null); @@ -127,7 +127,7 @@ // handle Setter Injection... SetterInjectionComponentAdapterFactory factory - = new SetterInjectionComponentAdapterFactory(false, new PicoLifecycleStrategy(new NullComponentMonitor())); + = new SetterInjectionComponentAdapterFactory(false, lifecycleStrategy); if (parameters.length == 0) { return factory.createComponentAdapter(key, type, null);
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/RegistrarAssistantTest.java (469 => 470)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/RegistrarAssistantTest.java 2007-12-12 13:48:00 UTC (rev 469) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/RegistrarAssistantTest.java 2007-12-12 14:36:08 UTC (rev 470) @@ -6,14 +6,9 @@ **********************************************************************************************************************/ package org.codehaus.waffle.registrar; -import static org.junit.Assert.assertNotNull; - -import java.util.Hashtable; - -import javax.servlet.http.HttpServletRequest; - import org.codehaus.waffle.WaffleException; import org.codehaus.waffle.context.ContextLevel; +import org.codehaus.waffle.context.pico.PicoLifecycleStrategy; import org.codehaus.waffle.i18n.DefaultMessagesContext; import org.codehaus.waffle.monitor.SilentMonitor; import org.codehaus.waffle.registrar.pico.PicoRegistrar; @@ -24,19 +19,25 @@ import org.codehaus.waffle.validation.DefaultErrorsContext; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; +import static org.junit.Assert.assertNotNull; import org.junit.Test; import org.junit.runner.RunWith; import org.picocontainer.defaults.DefaultPicoContainer; +import org.picocontainer.defaults.LifecycleStrategy; +import org.picocontainer.monitors.NullComponentMonitor; +import javax.servlet.http.HttpServletRequest; +import java.util.Hashtable; + @RunWith(JMock.class) public class RegistrarAssistantTest { - + private LifecycleStrategy lifecycleStrategy = new PicoLifecycleStrategy(new NullComponentMonitor()); private Mockery mockery = new Mockery(); @Test public void canExecuteWithDefaultErrorsAndMessagesContexts() { DefaultPicoContainer picoContainer = new DefaultPicoContainer(); - Registrar registrar = new PicoRegistrar(picoContainer, new SilentMonitor()); + Registrar registrar = new PicoRegistrar(picoContainer, lifecycleStrategy, new SilentMonitor()); final HttpServletRequest request = mockery.mock(HttpServletRequest.class); registrar.registerInstance(request); RegistrarAssistant registrarAssistant = new RegistrarAssistant(CustomRegistrar.class); @@ -55,7 +56,7 @@ @Test public void canExecuteWithCustomErrorsAndMessagesContexts() { DefaultPicoContainer picoContainer = new DefaultPicoContainer(); - Registrar registrar = new PicoRegistrar(picoContainer, new SilentMonitor()); + Registrar registrar = new PicoRegistrar(picoContainer, lifecycleStrategy, new SilentMonitor()); final HttpServletRequest request = mockery.mock(HttpServletRequest.class); registrar.registerInstance(request); RegistrarAssistant registrarAssistant = new RegistrarAssistant(CustomRegistrarWithContexts.class);
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java (469 => 470)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java 2007-12-12 13:48:00 UTC (rev 469) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java 2007-12-12 14:36:08 UTC (rev 470) @@ -18,6 +18,7 @@ import org.codehaus.waffle.testmodel.FakeBean; import org.codehaus.waffle.testmodel.FakeController; import org.codehaus.waffle.testmodel.SetterInjectionComponent; +import org.codehaus.waffle.context.pico.PicoLifecycleStrategy; import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; @@ -27,14 +28,17 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.picocontainer.MutablePicoContainer; +import org.picocontainer.monitors.NullComponentMonitor; import org.picocontainer.defaults.ConstructorInjectionComponentAdapter; import org.picocontainer.defaults.DefaultPicoContainer; +import org.picocontainer.defaults.LifecycleStrategy; /** * @author Mauro Talevi */ @RunWith(JMock.class) public class PicoRegistrarTest { + private LifecycleStrategy lifecycleStrategy = new PicoLifecycleStrategy(new NullComponentMonitor()); private Mockery mockery = new Mockery(); @@ -52,7 +56,7 @@ } }); - Registrar registrar = new PicoRegistrar(pico, registrarMonitor) + Registrar registrar = new PicoRegistrar(pico, lifecycleStrategy, registrarMonitor) .register(type); assertTrue(registrar.isRegistered(type)); @@ -75,7 +79,7 @@ } }); - Registrar registrar = new PicoRegistrar(pico, registrarMonitor); + Registrar registrar = new PicoRegistrar(pico, lifecycleStrategy, registrarMonitor); registrar.register(key, type); assertTrue(registrar.isRegistered(type)); @@ -98,7 +102,7 @@ } }); - Registrar registrar = new PicoRegistrar(pico, registrarMonitor); + Registrar registrar = new PicoRegistrar(pico, lifecycleStrategy, registrarMonitor); registrar.registerInstance(fakeController); assertTrue(registrar.isRegistered(fakeController)); @@ -118,7 +122,7 @@ } }); - Registrar registrar = new PicoRegistrar(pico, registrarMonitor); + Registrar registrar = new PicoRegistrar(pico, lifecycleStrategy, registrarMonitor); registrar.registerInstance(key, fakeController); assertTrue(registrar.isRegistered(key)); @@ -138,7 +142,7 @@ } }); - Registrar registrar = new PicoRegistrar(pico, registrarMonitor); + Registrar registrar = new PicoRegistrar(pico, lifecycleStrategy, registrarMonitor); registrar.registerNonCaching(type); assertTrue(registrar.isRegistered(type)); @@ -161,7 +165,7 @@ } }); - Registrar registrar = new PicoRegistrar(pico, registrarMonitor); + Registrar registrar = new PicoRegistrar(pico, lifecycleStrategy, registrarMonitor); registrar.registerNonCaching(key, type); assertTrue(registrar.isRegistered(type)); @@ -178,7 +182,7 @@ ConstructorInjectionComponentAdapter componentAdapter = new ConstructorInjectionComponentAdapter("a", FakeController.class); - PicoRegistrar picoRegistrar = new PicoRegistrar(pico, new SilentMonitor()); + PicoRegistrar picoRegistrar = new PicoRegistrar(pico, lifecycleStrategy, new SilentMonitor()); picoRegistrar.registerComponentAdapter(componentAdapter); FakeController controllerOne = (FakeController) pico.getComponentInstance("a"); @@ -191,7 +195,7 @@ public void canSwitchInstantiationType() { FakeBean fakeBean = new FakeBean(); MutablePicoContainer pico = new DefaultPicoContainer(); - PicoRegistrar picoRegistrar = new PicoRegistrar(pico, new SilentMonitor()); + PicoRegistrar picoRegistrar = new PicoRegistrar(pico, lifecycleStrategy, new SilentMonitor()); picoRegistrar.registerInstance(fakeBean) .register(ConstructorInjectionComponent.class)
Modified: trunk/waffle-mock/src/main/java/org/codehaus/waffle/mock/PicoRegistrarMockery.java (469 => 470)
--- trunk/waffle-mock/src/main/java/org/codehaus/waffle/mock/PicoRegistrarMockery.java 2007-12-12 13:48:00 UTC (rev 469) +++ trunk/waffle-mock/src/main/java/org/codehaus/waffle/mock/PicoRegistrarMockery.java 2007-12-12 14:36:08 UTC (rev 470) @@ -2,9 +2,12 @@ import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.context.pico.PicoContextContainer; +import org.codehaus.waffle.context.pico.PicoLifecycleStrategy; import org.codehaus.waffle.registrar.Registrar; import org.codehaus.waffle.registrar.pico.PicoRegistrar; import org.picocontainer.MutablePicoContainer; +import org.picocontainer.monitors.NullComponentMonitor; +import org.picocontainer.defaults.LifecycleStrategy; /** * Registrar Mockery that uses PicoContainer as the ContextContainer @@ -18,6 +21,7 @@ } protected Registrar createRegistrar(ContextContainer container) { - return new PicoRegistrar((MutablePicoContainer) container.getDelegate(), getRegistrarMonitor(container)); + LifecycleStrategy lifecycleStrategy = new PicoLifecycleStrategy(new NullComponentMonitor()); + return new PicoRegistrar((MutablePicoContainer) container.getDelegate(), lifecycleStrategy, getRegistrarMonitor(container)); } }
To unsubscribe from this list please visit:
