Title: [waffle-scm] [470] trunk/waffle-mock/src/main/java/org/codehaus/waffle/mock: refactored use of LifecycleStrategy to be passed into PicoRegistrar

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:

http://xircles.codehaus.org/manage_email

Reply via email to