Title: [waffle-scm] [862] trunk/waffle-core/src/main/java/org/codehaus/waffle/action: more undoing RequestLevelContainer.get() usage

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:

http://xircles.codehaus.org/manage_email

Reply via email to