- Revision
- 862
- Author
- paul
- Date
- 2009-01-14 09:21:05 -0600 (Wed, 14 Jan 2009)
Log Message
more undoing RequestLevelContainer.get() usage
Modified Paths
- trunk/waffle-core/src/main/java/org/codehaus/waffle/action/AbstractMethodDefinitionFinder.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ControllerDefinitionFactory.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleVelocityServlet.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubControllerDefinitionFactory.java
- trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java
Diff
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/action/AbstractMethodDefinitionFinder.java (861 => 862)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/action/AbstractMethodDefinitionFinder.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/action/AbstractMethodDefinitionFinder.java 2009-01-14 15:21:05 UTC (rev 862) @@ -228,8 +228,6 @@ } else if (ServletContext.class.isAssignableFrom(type)) { methodDefinition.addMethodArgument(servletContext); } else if (MessagesContext.class.isAssignableFrom(type)) { - ContextContainer requestContainer = RequestLevelContainer.get(); - //= requestContainer.getComponent(MessagesContext.class); methodDefinition.addMethodArgument(messageContext); } else if (iterator.hasNext()) { methodDefinition.addMethodArgument(iterator.next());
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java (861 => 862)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java 2009-01-14 15:21:05 UTC (rev 862) @@ -13,7 +13,6 @@ import org.codehaus.waffle.action.MissingActionMethodException; import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.context.ContextContainerNotFoundException; -import org.codehaus.waffle.context.RequestLevelContainer; import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.i18n.MessagesContext; import org.codehaus.waffle.monitor.ControllerMonitor; @@ -45,10 +44,11 @@ * * @see org.codehaus.waffle.context.WaffleRequestFilter */ - public ControllerDefinition getControllerDefinition(HttpServletRequest request, HttpServletResponse response, MessagesContext messageContext) { + public ControllerDefinition getControllerDefinition(HttpServletRequest request, HttpServletResponse response, MessagesContext messageContext, + ContextContainer requestLevelContainer) { String name = controllerNameResolver.findControllerName(request); - Object controller = findController(name, request); + Object controller = findController(name, request, requestLevelContainer); MethodDefinition methodDefinition = null; try { methodDefinition = findMethodDefinition(controller, request, response, messageContext); @@ -62,8 +62,7 @@ return new ControllerDefinition(name, controller, methodDefinition); } - protected Object findController(String name, HttpServletRequest request) { - ContextContainer requestLevelContainer = RequestLevelContainer.get(); + protected Object findController(String name, HttpServletRequest request, ContextContainer requestLevelContainer) { if (requestLevelContainer == null) { controllerMonitor.requestContextContainerNotFound();
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ControllerDefinitionFactory.java (861 => 862)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ControllerDefinitionFactory.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ControllerDefinitionFactory.java 2009-01-14 15:21:05 UTC (rev 862) @@ -4,6 +4,7 @@ package org.codehaus.waffle.controller; import org.codehaus.waffle.i18n.MessagesContext; +import org.codehaus.waffle.context.ContextContainer; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -23,5 +24,5 @@ * in an ControllerDefinition. */ ControllerDefinition getControllerDefinition(HttpServletRequest servletRequest, - HttpServletResponse response, MessagesContext messageContext); + HttpServletResponse response, MessagesContext messageContext, ContextContainer requestLevelContainer); }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java (861 => 862)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java 2009-01-14 15:21:05 UTC (rev 862) @@ -182,7 +182,7 @@ try { ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(request, - response, messageContext); + response, messageContext, requestContainer); controllerDataBinder.bind(request, response, errorsContext, controllerDefinition.getController()); String controllerName = controllerDefinition.getName(); Object controllerValidator;
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleVelocityServlet.java (861 => 862)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleVelocityServlet.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleVelocityServlet.java 2009-01-14 15:21:05 UTC (rev 862) @@ -7,6 +7,7 @@ import org.codehaus.waffle.Constants; import org.codehaus.waffle.i18n.MessagesContext; import org.codehaus.waffle.context.RequestLevelContainer; +import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.controller.ControllerDefinition; import org.codehaus.waffle.controller.ControllerDefinitionFactory; import org.apache.velocity.Template; @@ -15,7 +16,6 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.xml.ws.handler.MessageContext; /** * Allow waffle controllers to be used with velocity servlet. @@ -39,8 +39,9 @@ protected Template handleRequest(HttpServletRequest request, HttpServletResponse response, Context context) throws Exception { // Always add the controller to the context - MessagesContext messageContext = RequestLevelContainer.get().getComponent(MessagesContext.class); - ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(request, response, messageContext); + ContextContainer container = RequestLevelContainer.get(); + MessagesContext messageContext = container.getComponent(MessagesContext.class); + ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(request, response, messageContext, container); context.put(Constants.CONTROLLER_KEY, controllerDefinition.getController()); return super.handleRequest(request, response, context); }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java (861 => 862)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java 2009-01-14 15:21:05 UTC (rev 862) @@ -14,7 +14,6 @@ import org.codehaus.waffle.context.pico.PicoContextContainer; import org.codehaus.waffle.i18n.DefaultMessageResources; import org.codehaus.waffle.i18n.MessagesContext; -import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.monitor.SilentMonitor; import org.codehaus.waffle.testmodel.FakeController; import org.jmock.Expectations; @@ -26,8 +25,6 @@ import org.picocontainer.MutablePicoContainer; import org.picocontainer.behaviors.Caching; -import java.util.List; - /** * * @author Michael Ward @@ -41,7 +38,8 @@ public void canGetControllerDefinition() throws NoSuchMethodException { final MutablePicoContainer pico = new DefaultPicoContainer(new Caching()); pico.addComponent("theController", FakeController.class); - RequestLevelContainer.set(new PicoContextContainer(pico)); + PicoContextContainer container = new PicoContextContainer(pico); + RequestLevelContainer.set(container); // Mock HttpServletRequest final HttpServletRequest request = mockery.mock(HttpServletRequest.class); @@ -72,7 +70,7 @@ ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder, new ContextPathControllerNameResolver(new SilentMonitor()), new SilentMonitor(), new DefaultMessageResources()); ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(request, - response, messagesContext); + response, messagesContext, container); assertNotNull(controllerDefinition.getController()); assertSame(methodDefinition, controllerDefinition.getMethodDefinition()); @@ -81,7 +79,8 @@ @Test(expected = WaffleException.class) public void cannotRequestControllerDefinitionThatiIsNotRegistered() { MutablePicoContainer pico = new DefaultPicoContainer(new Caching()); - RequestLevelContainer.set(new PicoContextContainer(pico)); + PicoContextContainer container = new PicoContextContainer(pico); + RequestLevelContainer.set(container); // Mock HttpServletRequest final HttpServletRequest request = mockery.mock(HttpServletRequest.class); @@ -105,21 +104,19 @@ ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder, new ContextPathControllerNameResolver(new SilentMonitor()), new SilentMonitor(), new DefaultMessageResources()); - ControllerDefinition definition = controllerDefinitionFactory.getControllerDefinition(request, response, context); + ControllerDefinition definition = controllerDefinitionFactory.getControllerDefinition(request, response, context, container); } @Test(expected = WaffleException.class) public void cannotGetControllerDefinitionWithMissingRequestLevelContainer() { - RequestLevelContainer.set(null); - // Mock HttpServletRequest final HttpServletRequest request = mockery.mock(HttpServletRequest.class); ContextControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(null, null, new SilentMonitor(), new DefaultMessageResources()); - controllerDefinitionFactory.findController("foobar", request); + controllerDefinitionFactory.findController("foobar", request, null); } }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java (861 => 862)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java 2009-01-14 15:21:05 UTC (rev 862) @@ -212,7 +212,7 @@ mockery.checking(new Expectations() { { - one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext))); + one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext)), with(same(contextContainer))); will(returnValue(new ControllerDefinition("no name", nonDispatchingController, methodDefinition))); } }); @@ -323,7 +323,7 @@ mockery.checking(new Expectations() { { - one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext))); + one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext)), with(same(contextContainer))); will(returnValue(new ControllerDefinition("no name", nonDispatchingController, methodDefinition))); } }); @@ -403,7 +403,7 @@ mockery.checking(new Expectations() { { - one(controllerDefinitionFactory).getControllerDefinition(request, response, messageContext); + one(controllerDefinitionFactory).getControllerDefinition(request, response, messageContext, contextContainer); will(throwException(new ControllerNotFoundException("No controller found "))); } }); @@ -524,7 +524,7 @@ mockery.checking(new Expectations() { { - one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext))); + one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext)), with(same(contextContainer))); will(returnValue(new ControllerDefinition("no name", nonDispatchingController, null))); } }); @@ -633,7 +633,7 @@ mockery.checking(new Expectations() { { - one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext))); + one(controllerDefinitionFactory).getControllerDefinition(with(same(request)), with(same(response)), with(same(messageContext)), with(same(contextContainer))); will(returnValue(new ControllerDefinition("no name", nonDispatchingController, methodDefinition))); } });
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubControllerDefinitionFactory.java (861 => 862)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubControllerDefinitionFactory.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubControllerDefinitionFactory.java 2009-01-14 15:21:05 UTC (rev 862) @@ -3,6 +3,7 @@ import org.codehaus.waffle.controller.ControllerDefinition; import org.codehaus.waffle.controller.ControllerDefinitionFactory; import org.codehaus.waffle.i18n.MessagesContext; +import org.codehaus.waffle.context.ContextContainer; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -13,7 +14,7 @@ */ public class StubControllerDefinitionFactory implements ControllerDefinitionFactory { - public ControllerDefinition getControllerDefinition(HttpServletRequest servletRequest, HttpServletResponse response, MessagesContext messageContext) { + public ControllerDefinition getControllerDefinition(HttpServletRequest servletRequest, HttpServletResponse response, MessagesContext messageContext, ContextContainer requestLevelContainer) { return null; } }
Modified: trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java (861 => 862)
--- trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java 2009-01-14 05:44:24 UTC (rev 861) +++ trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java 2009-01-14 15:21:05 UTC (rev 862) @@ -39,9 +39,8 @@ will(returnValue(new RubyController(rubyObject))); } }); - RequestLevelContainer.set(contextContainer); - Object controller = factory.findController("foobar", null); + Object controller = factory.findController("foobar", null, contextContainer); assertTrue(controller instanceof RubyController); } @@ -57,9 +56,8 @@ will(returnValue("Pojo")); } }); - RequestLevelContainer.set(contextContainer); - Object controller = factory.findController("foobar", null); + Object controller = factory.findController("foobar", null, contextContainer); assertFalse(controller instanceof RubyController); assertEquals("Pojo", controller); }
To unsubscribe from this list please visit:
