- Revision
- 382
- Author
- mauro
- Date
- 2007-11-15 11:07:11 -0600 (Thu, 15 Nov 2007)
Log Message
Added ContextMonitor.
Modified Paths
- trunk/core/src/main/java/org/codehaus/waffle/ComponentRegistry.java
- trunk/core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java
- trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java
- trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java
- trunk/core/src/main/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactory.java
- trunk/core/src/main/java/org/codehaus/waffle/monitor/AbstractWritingMonitor.java
- trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java
- trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java
- trunk/core/src/test/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactoryTest.java
- trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubMonitor.java
Added Paths
Diff
Modified: trunk/core/src/main/java/org/codehaus/waffle/ComponentRegistry.java (381 => 382)
--- trunk/core/src/main/java/org/codehaus/waffle/ComponentRegistry.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/main/java/org/codehaus/waffle/ComponentRegistry.java 2007-11-15 17:07:11 UTC (rev 382) @@ -26,6 +26,7 @@ import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.monitor.ActionMonitor; import org.codehaus.waffle.monitor.BindMonitor; +import org.codehaus.waffle.monitor.ContextMonitor; import org.codehaus.waffle.monitor.RegistrarMonitor; import org.codehaus.waffle.monitor.ServletMonitor; import org.codehaus.waffle.validation.Validator; @@ -56,7 +57,9 @@ BindMonitor getBindMonitor(); ContextContainerFactory getContextContainerFactory(); - + + ContextMonitor getContextMonitor(); + ControllerDefinitionFactory getControllerDefinitionFactory(); ControllerNameResolver getControllerNameResolver();
Modified: trunk/core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java (381 => 382)
--- trunk/core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java 2007-11-15 17:07:11 UTC (rev 382) @@ -10,14 +10,16 @@ *****************************************************************************/ package org.codehaus.waffle.context; +import static java.text.MessageFormat.format; + +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 javax.servlet.ServletContext; -import java.text.MessageFormat; - /** * @author Michael Ward * @author Mauro Talevi @@ -26,9 +28,11 @@ protected final MessageResources messageResources; protected RegistrarAssistant registrarAssistant; protected ContextContainer applicationContextContainer; + private final ContextMonitor contextMonitor; - public AbstractContextContainerFactory(MessageResources messagesResources) { + public AbstractContextContainerFactory(MessageResources messagesResources, ContextMonitor contextMonitor) { this.messageResources = messagesResources; + this.contextMonitor = contextMonitor; } public RegistrarAssistant getRegistrarAssistant() { @@ -36,25 +40,26 @@ } public void initialize(ServletContext servletContext) throws WaffleException { - handleRegistrar(servletContext); + initializeRegistrar(servletContext); servletContext.setAttribute(ContextContainerFactory.class.getName(), this); // register self to context + contextMonitor.contextInitialized(); } /** - * Locate the Registrar from the ServletContext's InitParameter. + * Create the Registrar from the ServletContext's InitParameter. * * @param servletContext */ - private void handleRegistrar(ServletContext servletContext) { + private void initializeRegistrar(ServletContext servletContext) { String registrarClassName = servletContext.getInitParameter(Registrar.class.getName()); try { ClassLoader loader = this.getClass().getClassLoader(); - Class clazz = loader.loadClass(registrarClassName); - registrarAssistant = new RegistrarAssistant(clazz); + Class<?> registrarClass = loader.loadClass(registrarClassName); + registrarAssistant = new RegistrarAssistant(registrarClass); } catch (ClassNotFoundException e) { - String message = MessageFormat - .format("Unable to load the Registrar [{0}] defined as context-param in web.xml", + contextMonitor.registrarNotFound(registrarClassName); + String message = format("Unable to load the Registrar [{0}] defined as context-param in web.xml", registrarClassName); throw new WaffleException(message, e); } @@ -65,6 +70,7 @@ applicationContextContainer.registerComponentInstance(messageResources); buildApplicationLevelRegistry(); applicationContextContainer.start(); + contextMonitor.applicationContextContainerStarted(); } public void destroy() { @@ -72,6 +78,7 @@ applicationContextContainer.stop(); applicationContextContainer.dispose(); applicationContextContainer = null; + contextMonitor.applicationContextContainerDestroyed(); } } @@ -84,6 +91,10 @@ return applicationContextContainer; } + protected ContextMonitor getContextMonitor(){ + return contextMonitor; + } + protected abstract ContextContainer buildApplicationContextContainer(); protected abstract Registrar createRegistrar(ContextContainer contextContainer);
Modified: trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java (381 => 382)
--- trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java 2007-11-15 17:07:11 UTC (rev 382) @@ -44,6 +44,7 @@ import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.monitor.ActionMonitor; import org.codehaus.waffle.monitor.BindMonitor; +import org.codehaus.waffle.monitor.ContextMonitor; import org.codehaus.waffle.monitor.RegistrarMonitor; import org.codehaus.waffle.monitor.ServletMonitor; import org.codehaus.waffle.monitor.SilentMonitor; @@ -84,6 +85,7 @@ register(BindMonitor.class, SilentMonitor.class, servletContext); register(DataBinder.class, OgnlDataBinder.class, servletContext); register(ContextContainerFactory.class, PicoContextContainerFactory.class, servletContext); + register(ContextMonitor.class, SilentMonitor.class, servletContext); register(ControllerDefinitionFactory.class, ContextControllerDefinitionFactory.class, servletContext); register(ControllerNameResolver.class, ContextPathControllerNameResolver.class, servletContext); register(MessageResources.class, DefaultMessageResources.class, servletContext); @@ -219,6 +221,10 @@ return locateByType(ContextContainerFactory.class); } + public ContextMonitor getContextMonitor() { + return locateByType(ContextMonitor.class); + } + public ControllerNameResolver getControllerNameResolver() { return locateByType(ControllerNameResolver.class); }
Modified: trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java (381 => 382)
--- trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2007-11-15 17:07:11 UTC (rev 382) @@ -18,13 +18,16 @@ import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.context.ContextLevel; import org.codehaus.waffle.i18n.MessageResources; +import org.codehaus.waffle.monitor.ContextMonitor; import org.codehaus.waffle.monitor.RegistrarMonitor; import org.codehaus.waffle.monitor.SilentMonitor; import org.codehaus.waffle.registrar.Registrar; import org.codehaus.waffle.registrar.pico.PicoRegistrar; +import org.picocontainer.ComponentMonitor; import org.picocontainer.MutablePicoContainer; import org.picocontainer.PicoContainer; import org.picocontainer.defaults.DefaultPicoContainer; +import org.picocontainer.defaults.LifecycleStrategy; import org.picocontainer.monitors.NullComponentMonitor; /** @@ -32,11 +35,11 @@ * @author Mauro Talevi */ public class PicoContextContainerFactory extends AbstractContextContainerFactory { - private final NullComponentMonitor nullComponentMonitor = new NullComponentMonitor(); - private final PicoLifecycleStrategy picoLifecycleStrategy = new PicoLifecycleStrategy(nullComponentMonitor); + private final ComponentMonitor picoComponentMonitor = new NullComponentMonitor(); + private final LifecycleStrategy picoLifecycleStrategy = new PicoLifecycleStrategy(picoComponentMonitor); - public PicoContextContainerFactory(MessageResources messageResources) { - super(messageResources); + public PicoContextContainerFactory(MessageResources messageResources, ContextMonitor contextMonitor) { + super(messageResources, contextMonitor); } protected ContextContainer buildApplicationContextContainer() { @@ -49,6 +52,7 @@ PicoContextContainer sessionContextContainer = new PicoContextContainer(delegate); registrarAssistant.executeDelegatingRegistrar(createRegistrar(sessionContextContainer), ContextLevel.SESSION); + getContextMonitor().sessionContextContainerCreated(applicationContextContainer); return sessionContextContainer; } @@ -66,6 +70,7 @@ ContextContainer requestContextContainer = new PicoContextContainer(buildMutablePicoContainer(delegate)); registrarAssistant.executeDelegatingRegistrar(createRegistrar(requestContextContainer), ContextLevel.REQUEST); + getContextMonitor().requestContextContainerCreated(sessionContextContainer); return requestContextContainer; } finally { messageResources.useLocale(request.getLocale()); @@ -76,12 +81,13 @@ RegistrarMonitor registrarMonitor = contextContainer.getComponentInstanceOfType(RegistrarMonitor.class); if ( registrarMonitor == null ){ registrarMonitor = new SilentMonitor(); - // TODO monitor it } - return new PicoRegistrar((MutablePicoContainer) contextContainer.getDelegate(), registrarMonitor); + Registrar registrar = new PicoRegistrar((MutablePicoContainer) contextContainer.getDelegate(), registrarMonitor); + getContextMonitor().registrarCreated(registrar, registrarMonitor); + return registrar; } private MutablePicoContainer buildMutablePicoContainer(PicoContainer parent) { - return new DefaultPicoContainer(nullComponentMonitor, picoLifecycleStrategy, parent); + return new DefaultPicoContainer(picoComponentMonitor, picoLifecycleStrategy, parent); } }
Modified: trunk/core/src/main/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactory.java (381 => 382)
--- trunk/core/src/main/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactory.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/main/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactory.java 2007-11-15 17:07:11 UTC (rev 382) @@ -1,20 +1,21 @@ package org.codehaus.waffle.context.pico; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + import org.codehaus.waffle.WaffleException; import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.i18n.MessageResources; +import org.codehaus.waffle.monitor.ContextMonitor; import org.jruby.Ruby; import org.picocontainer.MutablePicoContainer; -import java.io.BufferedReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; - public class RubyAwarePicoContextContainerFactory extends PicoContextContainerFactory { - public RubyAwarePicoContextContainerFactory(MessageResources messageResources) { - super(messageResources); + public RubyAwarePicoContextContainerFactory(MessageResources messageResources, ContextMonitor contextMonitor) { + super(messageResources, contextMonitor); } @Override
Modified: trunk/core/src/main/java/org/codehaus/waffle/monitor/AbstractWritingMonitor.java (381 => 382)
--- trunk/core/src/main/java/org/codehaus/waffle/monitor/AbstractWritingMonitor.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/main/java/org/codehaus/waffle/monitor/AbstractWritingMonitor.java 2007-11-15 17:07:11 UTC (rev 382) @@ -29,6 +29,8 @@ import org.codehaus.waffle.action.ActionMethodResponse; import org.codehaus.waffle.action.MethodDefinition; import org.codehaus.waffle.action.HierarchicalArgumentResolver.Scope; +import org.codehaus.waffle.context.ContextContainer; +import org.codehaus.waffle.registrar.Registrar; import org.codehaus.waffle.validation.BindErrorMessage; import org.codehaus.waffle.view.View; @@ -37,7 +39,7 @@ * * @author Mauro Talevi */ -public abstract class AbstractWritingMonitor implements ActionMonitor, BindMonitor, RegistrarMonitor, ServletMonitor { +public abstract class AbstractWritingMonitor implements ActionMonitor, BindMonitor, ContextMonitor, RegistrarMonitor, ServletMonitor { private Map<String, Level> levels; private Map<String, String> templates; @@ -59,14 +61,21 @@ levels.put("methodIntercepted", INFO); levels.put("argumentNameResolved", INFO); levels.put("argumentNameNotMatched", INFO); + levels.put("responseIsCommitted", INFO); + levels.put("viewDispatched", INFO); levels.put("bindFailedForModel", INFO); levels.put("bindFailedForController", INFO); - levels.put("responseIsCommitted", INFO); - levels.put("viewDispatched", INFO); - levels.put("servletServiceFailed", WARN); + levels.put("registrarCreated", INFO); + levels.put("registrarNotFound", WARN); + levels.put("contextInitialized", DEBUG); + levels.put("applicationContextContainerStarted", DEBUG); + levels.put("applicationContextContainerDestroyed", DEBUG); + levels.put("sessionContextContainerCreated", DEBUG); + levels.put("requestContextContainerCreated", DEBUG); levels.put("componentRegistered", DEBUG); levels.put("instanceRegistered", DEBUG); levels.put("nonCachingComponentRegistered", DEBUG); + levels.put("servletServiceFailed", WARN); return levels; } @@ -82,10 +91,17 @@ templates.put("methodIntercepted", "Method ''{0}'' intercepted with arguments {1} and returned value ''{2}''"); templates.put("argumentNameResolved", "Argument name ''{0}'' resolved to ''{1}'' in scope ''{2}''"); templates.put("argumentNameNotMatched", "Argument name ''{0}'' not matched by pattern ''{1}''"); + templates.put("responseIsCommitted", "Response is committed for response: {0}"); + templates.put("viewDispatched", "View dispatched: {0}"); templates.put("bindFailedForModel", "Bind failed for model ''{0}'': {1}"); templates.put("bindFailedForController", "Bind failed for controller ''{0}'': {1}"); - templates.put("responseIsCommitted", "Response is committed for response: {0}"); - templates.put("viewDispatched", "View dispatched: {0}"); + templates.put("registrarCreated", "Registrar created {0} with monitor {1}"); + templates.put("registrarNotFound", "Registrar not found {0}"); + templates.put("contextInitialized", "Context initialized"); + templates.put("applicationContextContainerStarted", "Application context container started"); + templates.put("applicationContextContainerDestroyed", "Application context container destroyed"); + templates.put("sessionContextContainerCreated", "Session context container created with parent application container {0}"); + templates.put("requestContextContainerCreated", "Request context container created with parent session container {0}"); templates.put("componentRegistered", "Registered component of type {1} with key {0} and parameters {2}"); templates.put("instanceRegistered", "Registered instance {1} with key {0}"); templates.put("nonCachingComponentRegistered", "Registered non-caching component of type {1} with key {0} and parameters {2}"); @@ -165,6 +181,14 @@ write("argumentNameNotMatched", name, pattern); } + public void responseIsCommitted(HttpServletResponse response) { + write("responseIsCommitted", response); + } + + public void viewDispatched(View view) { + write("viewDispatched", view); + } + public void bindFailedForModel(Object bindModel, BindErrorMessage errorMessage){ write("bindFailedForModel", bindModel, errorMessage); } @@ -173,14 +197,34 @@ write("bindFailedForController", controller, cause); } - public void responseIsCommitted(HttpServletResponse response) { - write("responseIsCommitted", response); + public void registrarCreated(Registrar registrar, RegistrarMonitor registrarMonitor) { + write("registrarCreated", registrar, registrarMonitor); } - public void viewDispatched(View view) { - write("viewDispatched", view); + public void registrarNotFound(String registrarClassName) { + write("registrarNotFound", registrarClassName); } + + public void contextInitialized() { + write("contextInitialized"); + } + public void applicationContextContainerStarted() { + write("applicationContextContainerStarted"); + } + + public void applicationContextContainerDestroyed() { + write("applicationContextContainerDestroyed"); + } + + public void sessionContextContainerCreated(ContextContainer applicationContextContainer) { + write("sessionContextContainerCreated", applicationContextContainer); + } + + public void requestContextContainerCreated(ContextContainer sessionContextContainer){ + write("requestContextContainerCreated", sessionContextContainer); + } + public void componentRegistered(Object key, Class<?> type, Object[] parameters) { write("componentRegistered", key, type, asList(parameters)); } @@ -196,7 +240,7 @@ public void servletServiceFailed(Exception cause){ write("servletServiceFailed", cause); } - + /** * Writes message for a given level. Concrete implementations should provide writing functionality. *
Added: trunk/core/src/main/java/org/codehaus/waffle/monitor/ContextMonitor.java (0 => 382)
--- trunk/core/src/main/java/org/codehaus/waffle/monitor/ContextMonitor.java (rev 0) +++ trunk/core/src/main/java/org/codehaus/waffle/monitor/ContextMonitor.java 2007-11-15 17:07:11 UTC (rev 382) @@ -0,0 +1,37 @@ +/***************************************************************************** + * Copyright (C) 2005,2006 Michael Ward * + * All rights reserved. * + * ------------------------------------------------------------------------- * + * The software in this package is published under the terms of the BSD * + * style license a copy of which has been included with this distribution in * + * the LICENSE.txt file. * + * * + * Original code by: Mauro Talevi * + *****************************************************************************/ +package org.codehaus.waffle.monitor; + +import org.codehaus.waffle.context.ContextContainer; +import org.codehaus.waffle.registrar.Registrar; + +/** + * A monitor for context-related events + * + * @author Mauro Talevi + */ +public interface ContextMonitor extends Monitor { + + void registrarCreated(Registrar registrar, RegistrarMonitor registrarMonitor); + + void registrarNotFound(String registrarClassName); + + void contextInitialized(); + + void applicationContextContainerStarted(); + + void applicationContextContainerDestroyed(); + + void sessionContextContainerCreated(ContextContainer applicationContextContainer); + + void requestContextContainerCreated(ContextContainer sessionContextContainer); + +}
Modified: trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java (381 => 382)
--- trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java 2007-11-15 17:07:11 UTC (rev 382) @@ -45,6 +45,7 @@ import org.codehaus.waffle.monitor.AbstractWritingMonitor; import org.codehaus.waffle.monitor.ActionMonitor; import org.codehaus.waffle.monitor.BindMonitor; +import org.codehaus.waffle.monitor.ContextMonitor; import org.codehaus.waffle.monitor.RegistrarMonitor; import org.codehaus.waffle.monitor.ServletMonitor; import org.codehaus.waffle.testmodel.StubActionMethodExecutor; @@ -129,7 +130,7 @@ { one(servletContext).getInitParameterNames(); will(returnValue(EMPTY_ENUMERATION)); - exactly(20).of(servletContext).getInitParameter(with(any(String.class))); + exactly(21).of(servletContext).getInitParameter(with(any(String.class))); } }); @@ -140,9 +141,10 @@ assertTrue(componentRegistry.getActionMonitor() instanceof AbstractWritingMonitor); assertTrue(componentRegistry.getBindErrorMessageResolver() instanceof DefaultBindErrorMessageResolver); assertTrue(componentRegistry.getBindMonitor() instanceof AbstractWritingMonitor); + assertTrue(componentRegistry.getContextContainerFactory() instanceof AbstractContextContainerFactory); + assertTrue(componentRegistry.getContextMonitor() instanceof AbstractWritingMonitor); assertTrue(componentRegistry.getControllerNameResolver() instanceof ContextPathControllerNameResolver); assertTrue(componentRegistry.getControllerDefinitionFactory() instanceof ContextControllerDefinitionFactory); - assertTrue(componentRegistry.getContextContainerFactory() instanceof AbstractContextContainerFactory); assertTrue(componentRegistry.getDataBinder() instanceof OgnlDataBinder); assertTrue(componentRegistry.getMethodNameResolver() instanceof RequestParameterMethodNameResolver); assertTrue(componentRegistry.getMessageResources() instanceof DefaultMessageResources); @@ -182,10 +184,12 @@ will(returnValue(StubBindErrorMessageResolver.class.getName())); one(servletContext).getInitParameter(BindMonitor.class.getName()); will(returnValue(StubMonitor.class.getName())); + one(servletContext).getInitParameter(ContextContainerFactory.class.getName()); + will(returnValue(StubContextContainerFactory.class.getName())); + one(servletContext).getInitParameter(ContextMonitor.class.getName()); + will(returnValue(StubMonitor.class.getName())); one(servletContext).getInitParameter(ControllerDefinitionFactory.class.getName()); will(returnValue(StubControllerDefinitionFactory.class.getName())); - one(servletContext).getInitParameter(ContextContainerFactory.class.getName()); - will(returnValue(StubContextContainerFactory.class.getName())); one(servletContext).getInitParameter(ControllerNameResolver.class.getName()); will(returnValue(StubControllerNameResolver.class.getName())); one(servletContext).getInitParameter(DataBinder.class.getName());
Modified: trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java (381 => 382)
--- trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java 2007-11-15 17:07:11 UTC (rev 382) @@ -30,6 +30,7 @@ import org.codehaus.waffle.context.ContextContainerFactory; import org.codehaus.waffle.i18n.DefaultMessageResources; import org.codehaus.waffle.i18n.MessageResources; +import org.codehaus.waffle.monitor.SilentMonitor; import org.codehaus.waffle.registrar.Registrar; import org.codehaus.waffle.testmodel.ApplicationLevelComponent; import org.codehaus.waffle.testmodel.CustomRegistrar; @@ -61,7 +62,7 @@ @Test public void canBuildEachContextLevelContainer() { - final PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources); + final PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources, new SilentMonitor()); // Mock ServletContext @@ -132,7 +133,7 @@ @Test public void canInitializeContext() { - final AbstractContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources); + final AbstractContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources, new SilentMonitor()); // Mock ServletContext final ServletContext servletContext = mockery.mock(ServletContext.class); @@ -230,7 +231,7 @@ @Test public void canBuildApplicationContextContainerWithLifecycle() { - PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources); + PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources, new SilentMonitor()); ContextContainer container = contextContainerFactory.buildApplicationContextContainer(); StubStartable startable = new StubStartable(); @@ -249,7 +250,7 @@ @Test public void canBuildSessionLevelContainerWithLifecycle() { - final PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources); + final PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources, new SilentMonitor()); // Mock ServletContext final ServletContext servletContext = mockery.mock(ServletContext.class); @@ -280,7 +281,7 @@ @Test public void canBuildRequestLevelContainerWithLifecycle() { - final PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources); + final PicoContextContainerFactory contextContainerFactory = new PicoContextContainerFactory(messageResources, new SilentMonitor()); // Mock ServletContext final ServletContext servletContext = mockery.mock(ServletContext.class);
Modified: trunk/core/src/test/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactoryTest.java (381 => 382)
--- trunk/core/src/test/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactoryTest.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/test/java/org/codehaus/waffle/context/pico/RubyAwarePicoContextContainerFactoryTest.java 2007-11-15 17:07:11 UTC (rev 382) @@ -4,6 +4,7 @@ import static org.junit.Assert.assertTrue; import org.codehaus.waffle.context.ContextContainer; +import org.codehaus.waffle.monitor.SilentMonitor; import org.jruby.Ruby; import org.jruby.RubyBoolean; import org.jruby.javasupport.JavaEmbedUtils; @@ -15,7 +16,7 @@ @Test public void canBuildApplicationContextContainer() { - RubyAwarePicoContextContainerFactory factory = new RubyAwarePicoContextContainerFactory(null); + RubyAwarePicoContextContainerFactory factory = new RubyAwarePicoContextContainerFactory(null, new SilentMonitor()); ContextContainer contextContainer = factory.buildApplicationContextContainer(); PicoContainer picoContainer = (MutablePicoContainer)contextContainer.getDelegate(); Ruby runtime = (Ruby) picoContainer.getComponentInstance(Ruby.class);
Modified: trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubMonitor.java (381 => 382)
--- trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubMonitor.java 2007-11-15 16:20:53 UTC (rev 381) +++ trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubMonitor.java 2007-11-15 17:07:11 UTC (rev 382) @@ -8,14 +8,17 @@ import org.codehaus.waffle.action.ActionMethodResponse; import org.codehaus.waffle.action.MethodDefinition; import org.codehaus.waffle.action.HierarchicalArgumentResolver.Scope; +import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.monitor.ActionMonitor; import org.codehaus.waffle.monitor.BindMonitor; +import org.codehaus.waffle.monitor.ContextMonitor; import org.codehaus.waffle.monitor.RegistrarMonitor; import org.codehaus.waffle.monitor.ServletMonitor; +import org.codehaus.waffle.registrar.Registrar; import org.codehaus.waffle.validation.BindErrorMessage; import org.codehaus.waffle.view.View; -public class StubMonitor implements ActionMonitor, BindMonitor, RegistrarMonitor, ServletMonitor { +public class StubMonitor implements ActionMonitor, BindMonitor, ContextMonitor, RegistrarMonitor, ServletMonitor { public void defaultActionMethodFound(MethodDefinition methodDefinition) { } @@ -46,22 +49,40 @@ public void argumentNameResolved(String name, Object value, Scope scope) { } + + public void responseIsCommitted(HttpServletResponse response) { + } + public void viewDispatched(View view) { + } + public void bindFailedForModel(Object bindModel, BindErrorMessage errorMessage) { } public void bindFailedForController(Object controller, Throwable cause) { } - public void responseIsCommitted(HttpServletResponse response) { + public void contextInitialized() { } - public void viewDispatched(View view) { + public void applicationContextContainerDestroyed() { } - public void servletServiceFailed(Exception cause) { + public void applicationContextContainerStarted() { } + public void registrarCreated(Registrar registrar, RegistrarMonitor registrarMonitor) { + } + + public void registrarNotFound(String registrarClassName) { + } + + public void requestContextContainerCreated(ContextContainer sessionContextContainer) { + } + + public void sessionContextContainerCreated(ContextContainer applicationContextContainer) { + } + public void componentRegistered(Object key, Class<?> clazz, Object[] parameters) { } @@ -71,4 +92,7 @@ public void nonCachingComponentRegistered(Object key, Class<?> clazz, Object[] parameters) { } + public void servletServiceFailed(Exception cause) { + } + }
To unsubscribe from this list please visit:
