Title: [waffle-scm] [868] sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context: merge some interface with impl

Diff

Deleted: sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java (867 => 868)

--- sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) terms as published in http://waffle.codehaus.org/license.html
- */
-package org.codehaus.waffle.context;
-
-import javax.servlet.ServletContext;
-
-import org.codehaus.waffle.WaffleException;
-import org.codehaus.waffle.i18n.MessageResources;
-import org.codehaus.waffle.monitor.ContextMonitor;
-import org.codehaus.waffle.registrar.Registrar;
-import org.codehaus.waffle.registrar.RegistrarAssistant;
-import org.picocontainer.MutablePicoContainer;
-
-/**
- * @author Michael Ward
- * @author Mauro Talevi
- */
-public abstract class AbstractContextContainerFactory implements ContextContainerFactory {
-    protected final MessageResources messageResources;
-    protected RegistrarAssistant registrarAssistant;
-    protected ContextContainer applicationContextContainer;
-    private final ContextMonitor contextMonitor;
-
-    public AbstractContextContainerFactory(MessageResources messageResources, ContextMonitor contextMonitor) {
-        this.messageResources = messageResources;
-        this.contextMonitor = contextMonitor;
-    }
-
-    public RegistrarAssistant getRegistrarAssistant() {
-        return registrarAssistant;
-    }
-
-    public void initialize(ServletContext servletContext) throws WaffleException {
-        try {
-            initializeRegistrar(servletContext);
-            servletContext.setAttribute(ContextContainerFactory.class.getName(), this); // register self to context
-            contextMonitor.contextInitialized();
-        } catch (WaffleException e) {
-            contextMonitor.contextInitializationFailed(e);
-            throw e; // re-throwing exception after failure event has been monitored
-        }
-    }
-
-    /**
-     * Create the Registrar from the ServletContext's InitParameter.
-     * 
-     * @param servletContext
-     */
-    private void initializeRegistrar(ServletContext servletContext) {
-        String registrarClassName = servletContext.getInitParameter(Registrar.class.getName());
-
-        try {
-            ClassLoader loader = this.getClass().getClassLoader();
-            Class<?> registrarClass = loader.loadClass(registrarClassName);
-            registrarAssistant = new RegistrarAssistant(registrarClass, messageResources);
-        } catch (ClassNotFoundException e) {
-            contextMonitor.registrarNotFound(registrarClassName);
-            String message = messageResources.getMessageWithDefault("registrarNotFound",
-                    "Registrar ''{0}'' defined as context-param in web.xml could not be found.", registrarClassName);
-            throw new WaffleException(message, e);
-        }
-
-        // build application context container
-        applicationContextContainer = buildApplicationContextContainer();
-        applicationContextContainer.addComponent(servletContext);
-        applicationContextContainer.addComponent(messageResources);
-
-        buildApplicationLevelRegistry();
-        applicationContextContainer.start();
-        contextMonitor.applicationContextContainerStarted();
-    }
-
-    public void destroy() {
-        if (applicationContextContainer != null) {
-            applicationContextContainer.stop();
-            applicationContextContainer.dispose();
-            applicationContextContainer = null;
-            contextMonitor.applicationContextContainerDestroyed();
-        }
-    }
-
-    private void buildApplicationLevelRegistry() {
-        Registrar registrar = createRegistrar(applicationContextContainer);
-        registrarAssistant.executeDelegatingRegistrar(registrar, ContextLevel.APPLICATION);
-    }
-
-    public ContextContainer getApplicationContextContainer() {
-        return applicationContextContainer;
-    }
-
-    protected ContextMonitor getContextMonitor() {
-        return contextMonitor;
-    }
-
-    protected abstract ContextContainer buildApplicationContextContainer();
-
-    protected abstract Registrar createRegistrar(MutablePicoContainer contextContainer);
-
-}

Modified: sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/ContextContainerFactory.java (867 => 868)

--- sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/ContextContainerFactory.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/ContextContainerFactory.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -25,4 +25,5 @@
 
     MutablePicoContainer buildRequestLevelContainer(HttpServletRequest request);
 
+    MutablePicoContainer getApplicationContextContainer();
 }

Modified: sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java (867 => 868)

--- sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -4,13 +4,15 @@
 package org.codehaus.waffle.context.pico;
 
 import org.codehaus.waffle.Constants;
-import org.codehaus.waffle.context.AbstractContextContainerFactory;
+import org.codehaus.waffle.WaffleException;
 import org.codehaus.waffle.context.ContextContainer;
 import org.codehaus.waffle.context.ContextLevel;
+import org.codehaus.waffle.context.ContextContainerFactory;
 import org.codehaus.waffle.i18n.MessageResources;
 import org.codehaus.waffle.monitor.ContextMonitor;
 import org.codehaus.waffle.monitor.RegistrarMonitor;
 import org.codehaus.waffle.registrar.Registrar;
+import org.codehaus.waffle.registrar.RegistrarAssistant;
 import org.codehaus.waffle.registrar.pico.ParameterResolver;
 import org.codehaus.waffle.registrar.pico.PicoRegistrar;
 import org.picocontainer.ComponentMonitor;
@@ -22,6 +24,7 @@
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpSession;
+import javax.servlet.ServletContext;
 
 /**
  * PicoContainer-based implementation of context container factory.
@@ -29,17 +32,27 @@
  * @author Michael Ward
  * @author Mauro Talevi
  */
-public class PicoContextContainerFactory extends AbstractContextContainerFactory {
+public class PicoContextContainerFactory implements ContextContainerFactory {
     private final ComponentMonitor picoComponentMonitor = new NullComponentMonitor();
     private final LifecycleStrategy picoLifecycleStrategy = new PicoLifecycleStrategy(picoComponentMonitor);
     private final RegistrarMonitor registrarMonitor;
     private final ParameterResolver parameterResolver;
 
+    protected MessageResources getMessageResources() {
+        return messageResources;
+    }
+
+    private final MessageResources messageResources;
+    private RegistrarAssistant registrarAssistant;
+    private ContextContainer applicationContextContainer;
+    private final ContextMonitor contextMonitor;
+
     public PicoContextContainerFactory(MessageResources messageResources,
                                        ContextMonitor contextMonitor,
                                        RegistrarMonitor registrarMonitor,
                                        ParameterResolver parameterResolver) {
-        super(messageResources, contextMonitor);
+        this.messageResources = messageResources;
+        this.contextMonitor = contextMonitor;
         this.registrarMonitor = registrarMonitor;
         this.parameterResolver = parameterResolver;
     }
@@ -109,4 +122,72 @@
     protected ParameterResolver getParameterResolver() {
         return parameterResolver;
     }
+
+    public RegistrarAssistant getRegistrarAssistant() {
+        return registrarAssistant;
+    }
+
+    public void initialize(ServletContext servletContext) throws WaffleException {
+        try {
+            initializeRegistrar(servletContext);
+            servletContext.setAttribute(ContextContainerFactory.class.getName(), this); // register self to context
+            contextMonitor.contextInitialized();
+        } catch (WaffleException e) {
+            contextMonitor.contextInitializationFailed(e);
+            throw e; // re-throwing exception after failure event has been monitored
+        }
+    }
+
+    /**
+     * Create the Registrar from the ServletContext's InitParameter.
+     *
+     * @param servletContext
+     */
+    private void initializeRegistrar(ServletContext servletContext) {
+        String registrarClassName = servletContext.getInitParameter(Registrar.class.getName());
+
+        try {
+            ClassLoader loader = this.getClass().getClassLoader();
+            Class<?> registrarClass = loader.loadClass(registrarClassName);
+            registrarAssistant = new RegistrarAssistant(registrarClass, messageResources);
+        } catch (ClassNotFoundException e) {
+            contextMonitor.registrarNotFound(registrarClassName);
+            String message = messageResources.getMessageWithDefault("registrarNotFound",
+                    "Registrar ''{0}'' defined as context-param in web.xml could not be found.", registrarClassName);
+            throw new WaffleException(message, e);
+        }
+
+        // build application context container
+        applicationContextContainer = buildApplicationContextContainer();
+        applicationContextContainer.addComponent(servletContext);
+        applicationContextContainer.addComponent(messageResources);
+
+        buildApplicationLevelRegistry();
+        applicationContextContainer.start();
+        contextMonitor.applicationContextContainerStarted();
+    }
+
+    public void destroy() {
+        if (applicationContextContainer != null) {
+            applicationContextContainer.stop();
+            applicationContextContainer.dispose();
+            applicationContextContainer = null;
+            contextMonitor.applicationContextContainerDestroyed();
+        }
+    }
+
+    private void buildApplicationLevelRegistry() {
+        Registrar registrar = createRegistrar(applicationContextContainer);
+        registrarAssistant.executeDelegatingRegistrar(registrar, ContextLevel.APPLICATION);
+    }
+
+    public ContextContainer getApplicationContextContainer() {
+        return applicationContextContainer;
+    }
+
+    protected ContextMonitor getContextMonitor() {
+        return contextMonitor;
+    }
+
+
 }

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/WaffleRequestFilterTest.java (867 => 868)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/WaffleRequestFilterTest.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/WaffleRequestFilterTest.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -1,7 +1,7 @@
 package org.codehaus.waffle.context;
 
 import org.codehaus.waffle.ComponentRegistry;
-import org.codehaus.waffle.testmodel.StubContextContainerFactory;
+import org.codehaus.waffle.context.pico.PicoContextContainerFactory;
 import org.jmock.Expectations;
 import org.jmock.Mockery;
 import org.jmock.integration.junit4.JMock;
@@ -39,7 +39,7 @@
         mockery.checking(new Expectations() {
             {
                 one(registry).getContextContainerFactory();
-                will(returnValue(new StubContextContainerFactory()));
+                will(returnValue(new PicoContextContainerFactory(null, null, null, null)));
             }
         });
 
@@ -71,7 +71,7 @@
 
         Field field = WaffleRequestFilter.class.getDeclaredField("contextContainerFactory");
         field.setAccessible(true);
-        field.set(filter, new StubContextContainerFactory());
+        field.set(filter, new PicoContextContainerFactory(null,null,null,null));
 
         assertNotNull(field.get(filter));
         filter.destroy();

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java (867 => 868)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -18,7 +18,6 @@
 import org.codehaus.waffle.bind.ognl.OgnlBindErrorMessageResolver;
 import org.codehaus.waffle.bind.ognl.OgnlControllerDataBinder;
 import org.codehaus.waffle.bind.ognl.OgnlValueConverterFinder;
-import org.codehaus.waffle.context.AbstractContextContainerFactory;
 import org.codehaus.waffle.context.ContextContainerFactory;
 import org.codehaus.waffle.controller.ContextControllerDefinitionFactory;
 import org.codehaus.waffle.controller.ContextPathControllerNameResolver;
@@ -40,7 +39,6 @@
 import org.codehaus.waffle.testmodel.StubActionMethodResponseHandler;
 import org.codehaus.waffle.testmodel.StubArgumentResolver;
 import org.codehaus.waffle.testmodel.StubBindErrorMessageResolver;
-import org.codehaus.waffle.testmodel.StubContextContainerFactory;
 import org.codehaus.waffle.testmodel.StubControllerDefinitionFactory;
 import org.codehaus.waffle.testmodel.StubControllerNameResolver;
 import org.codehaus.waffle.testmodel.StubDataBinder;
@@ -145,7 +143,7 @@
         assertTrue(componentRegistry.getActionMonitor() instanceof AbstractWritingMonitor);
         assertTrue(componentRegistry.getBindErrorMessageResolver() instanceof OgnlBindErrorMessageResolver);
         assertTrue(componentRegistry.getBindMonitor() instanceof AbstractWritingMonitor);
-        assertTrue(componentRegistry.getContextContainerFactory() instanceof AbstractContextContainerFactory);
+        assertTrue(componentRegistry.getContextContainerFactory() instanceof ContextContainerFactory);
         assertTrue(componentRegistry.getContextMonitor() instanceof AbstractWritingMonitor);
         assertTrue(componentRegistry.getControllerMonitor() instanceof AbstractWritingMonitor);
         assertTrue(componentRegistry.getControllerNameResolver() instanceof ContextPathControllerNameResolver);
@@ -193,7 +191,7 @@
                 one(servletContext).getInitParameter(BindMonitor.class.getName());
                 will(returnValue(StubMonitor.class.getName()));
                 one(servletContext).getInitParameter(ContextContainerFactory.class.getName());
-                will(returnValue(StubContextContainerFactory.class.getName()));
+                will(returnValue(PicoContextContainerFactory.class.getName()));
                 one(servletContext).getInitParameter(ContextMonitor.class.getName());
                 will(returnValue(StubMonitor.class.getName()));
                 one(servletContext).getInitParameter(ControllerDefinitionFactory.class.getName());
@@ -236,7 +234,7 @@
         assertTrue(componentRegistry.getBindMonitor() instanceof StubMonitor);
         assertTrue(componentRegistry.getControllerNameResolver() instanceof StubControllerNameResolver);
         assertTrue(componentRegistry.getControllerDefinitionFactory() instanceof StubControllerDefinitionFactory);
-        assertTrue(componentRegistry.getContextContainerFactory() instanceof StubContextContainerFactory);
+        assertTrue(componentRegistry.getContextContainerFactory() instanceof PicoContextContainerFactory);
         assertFalse(componentRegistry.getControllerDataBinder() instanceof OgnlControllerDataBinder);
         assertTrue(componentRegistry.getMethodDefinitionFinder() instanceof StubMethodDefinitionFinder);
         assertTrue(componentRegistry.getMethodNameResolver() instanceof StubMethodNameResolver);

Modified: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java (867 => 868)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -19,7 +19,6 @@
 
 import org.codehaus.waffle.Constants;
 import org.codehaus.waffle.Startable;
-import org.codehaus.waffle.context.AbstractContextContainerFactory;
 import org.codehaus.waffle.context.ContextContainer;
 import org.codehaus.waffle.context.ContextContainerFactory;
 import org.codehaus.waffle.i18n.DefaultMessageResources;
@@ -132,7 +131,7 @@
 
     @Test
     public void canInitializeContext() {
-        final AbstractContextContainerFactory contextContainerFactory
+        final ContextContainerFactory contextContainerFactory
                 = new PicoContextContainerFactory(messageResources, new SilentMonitor(), new SilentMonitor(), null);
 
         // Mock ServletContext
@@ -146,7 +145,7 @@
         });
         contextContainerFactory.initialize(servletContext);
 
-        ContextContainer container = contextContainerFactory.getApplicationContextContainer();
+        MutablePicoContainer container = contextContainerFactory.getApplicationContextContainer();
         ApplicationLevelComponent applicationLevelComponent =
                 container.getComponent(ApplicationLevelComponent.class);
         assertTrue(applicationLevelComponent.isStarted());

Deleted: sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubContextContainerFactory.java (867 => 868)

--- sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubContextContainerFactory.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubContextContainerFactory.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -1,25 +0,0 @@
-package org.codehaus.waffle.testmodel;
-
-import org.codehaus.waffle.context.ContextContainerFactory;
-import org.picocontainer.MutablePicoContainer;
-
-import javax.servlet.ServletContext;
-import javax.servlet.http.HttpServletRequest;
-
-public class StubContextContainerFactory implements ContextContainerFactory {
-    public void initialize(ServletContext servletContext) {
-
-    }
-
-    public void destroy() {
-
-    }
-
-    public MutablePicoContainer buildSessionLevelContainer() {
-        return null;
-    }
-
-    public MutablePicoContainer buildRequestLevelContainer(HttpServletRequest request) {
-        return null;
-    }
-}

Modified: sandbox/v2experiment/waffle-ruby/src/main/java/org/codehaus/waffle/context/pico/RubyPicoContextContainerFactory.java (867 => 868)

--- sandbox/v2experiment/waffle-ruby/src/main/java/org/codehaus/waffle/context/pico/RubyPicoContextContainerFactory.java	2009-01-15 10:38:29 UTC (rev 867)
+++ sandbox/v2experiment/waffle-ruby/src/main/java/org/codehaus/waffle/context/pico/RubyPicoContextContainerFactory.java	2009-01-15 11:08:10 UTC (rev 868)
@@ -58,7 +58,7 @@
                                                                              // be refactored cleaner?
         RegistrarMonitor registrarMonitor = getRegistrarMonitor();
         Registrar registrar = new RubyScriptedRegistrar(contextContainer, getParameterResolver(),
-                getPicoLifecycleStrategy(), registrarMonitor, getPicoComponentMonitor(), messageResources);
+                getPicoLifecycleStrategy(), registrarMonitor, getPicoComponentMonitor(), getMessageResources());
         getContextMonitor().registrarCreated(registrar, registrarMonitor);
         return registrar;
     }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to