Title: [waffle-scm] [84] trunk/core/src/test/java/org/codehaus/waffle/bind: updated DataBinder.bind method to include HttpServletResponse

Diff

Modified: trunk/core/src/main/java/org/codehaus/waffle/bind/DataBinder.java (83 => 84)

--- trunk/core/src/main/java/org/codehaus/waffle/bind/DataBinder.java	2007-05-24 19:25:52 UTC (rev 83)
+++ trunk/core/src/main/java/org/codehaus/waffle/bind/DataBinder.java	2007-05-24 19:33:44 UTC (rev 84)
@@ -13,6 +13,7 @@
 import org.codehaus.waffle.validation.ErrorsContext;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 /**
  * Implementor of this interface are responsible for binding the values from
@@ -22,5 +23,5 @@
  */
 public interface DataBinder {
     
-    void bind(HttpServletRequest request, ErrorsContext errorsContext, Object model);
+    void bind(HttpServletRequest request, HttpServletResponse response, ErrorsContext errorsContext, Object model);
 }

Modified: trunk/core/src/main/java/org/codehaus/waffle/bind/OgnlDataBinder.java (83 => 84)

--- trunk/core/src/main/java/org/codehaus/waffle/bind/OgnlDataBinder.java	2007-05-24 19:25:52 UTC (rev 83)
+++ trunk/core/src/main/java/org/codehaus/waffle/bind/OgnlDataBinder.java	2007-05-24 19:33:44 UTC (rev 84)
@@ -19,6 +19,7 @@
 import ognl.TypeConverter;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.Enumeration;
 import java.util.Map;
 
@@ -36,7 +37,7 @@
         this.bindErrorMessageResolver = bindErrorMessageResolver;
     }
 
-    public void bind(HttpServletRequest request, ErrorsContext errorsContext, Object model) {
+    public void bind(HttpServletRequest request, HttpServletResponse response, ErrorsContext errorsContext, Object model) {
         //noinspection unchecked
         Enumeration<String> parameterNames = request.getParameterNames();
 

Modified: trunk/core/src/main/java/org/codehaus/waffle/bind/RubyDataBinder.java (83 => 84)

--- trunk/core/src/main/java/org/codehaus/waffle/bind/RubyDataBinder.java	2007-05-24 19:25:52 UTC (rev 83)
+++ trunk/core/src/main/java/org/codehaus/waffle/bind/RubyDataBinder.java	2007-05-24 19:33:44 UTC (rev 84)
@@ -8,6 +8,8 @@
 import org.jruby.runtime.builtin.IRubyObject;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpServletResponse;
 
 public class RubyDataBinder extends OgnlDataBinder {
 
@@ -16,17 +18,19 @@
         super(typeConverter, bindErrorMessageResolver);
     }
 
-    public void bind(HttpServletRequest request, ErrorsContext errorsContext, Object controller) {
+    public void bind(HttpServletRequest request, HttpServletResponse response, ErrorsContext errorsContext, Object controller) {
         if(controller instanceof RubyController) {
             IRubyObject rubyObject = ((RubyController)controller).getRubyObject();
             Ruby runtime = rubyObject.getRuntime();
 
-            // set request on the controller
+            // inject following onto the controller
             JavaEmbedUtils.invokeMethod(runtime, rubyObject, "request=", new HttpServletRequest[] {request}, Object.class);
-            
+            JavaEmbedUtils.invokeMethod(runtime, rubyObject, "response=", new HttpServletResponse[] {response}, Object.class);
+            JavaEmbedUtils.invokeMethod(runtime, rubyObject, "session=", new HttpSession[] {request.getSession(false)}, Object.class);
+
         } else {
             // default to standard binding
-            super.bind(request, errorsContext, controller);
+            super.bind(request, response, errorsContext, controller);
         }
     }
 }

Modified: trunk/core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java (83 => 84)

--- trunk/core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java	2007-05-24 19:25:52 UTC (rev 83)
+++ trunk/core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java	2007-05-24 19:33:44 UTC (rev 84)
@@ -118,7 +118,7 @@
         request.setAttribute(ERRORS_KEY, errorsContext);
 
         ControllerDefinition controllerDefinition = getControllerDefinition(request, response);
-        dataBinder.bind(request, errorsContext, controllerDefinition.getController());
+        dataBinder.bind(request, response, errorsContext, controllerDefinition.getController());
         validator.validate(controllerDefinition, errorsContext);
 
         try {

Modified: trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java (83 => 84)

--- trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java	2007-05-24 19:25:52 UTC (rev 83)
+++ trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java	2007-05-24 19:33:44 UTC (rev 84)
@@ -39,7 +39,7 @@
         FakeController fakeController = new FakeController();
         DataBinder binder = new OgnlDataBinder(new OgnlTypeConverter(), null);
         ErrorsContext errorsContext = new DefaultErrorsContext();
-        binder.bind(request, errorsContext, fakeController);
+        binder.bind(request, null, errorsContext, fakeController);
 
         assertEquals("foobar", fakeController.getName());
         assertEquals(ContextLevel.APPLICATION, fakeController.getContextLevel());
@@ -60,7 +60,7 @@
         FakeController fakeController = new FakeController();
         DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), null);
         ErrorsContext errorsContext = new DefaultErrorsContext();
-        binder.bind(request, errorsContext, fakeController);
+        binder.bind(request, null, errorsContext, fakeController);
 
         assertNull(fakeController.getContextLevel());
         assertFalse(errorsContext.hasErrorMessages());
@@ -84,7 +84,7 @@
         DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), null);
 
         ErrorsContext errorsContext = new DefaultErrorsContext();
-        binder.bind(request, errorsContext, fakeController);
+        binder.bind(request, null, errorsContext, fakeController);
         assertFalse(errorsContext.hasErrorMessages());
     }
 
@@ -111,7 +111,7 @@
         DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), null);
 
         ErrorsContext errorsContext = new DefaultErrorsContext();
-        binder.bind(request, errorsContext, fakeController);
+        binder.bind(request, null, errorsContext, fakeController);
         assertFalse(errorsContext.hasErrorMessages());
     }
 
@@ -139,7 +139,7 @@
         DataBinder binder = new OgnlDataBinder(new DefaultTypeConverter(), resolver);
 
         ErrorsContext errorsContext = new DefaultErrorsContext();
-        binder.bind(request, errorsContext, new FakeBean());
+        binder.bind(request, null, errorsContext, new FakeBean());
         assertTrue(errorsContext.hasErrorMessages());
 
         List<BindErrorMessage> messages = errorsContext.getBindErrorMessages("count");
@@ -171,7 +171,7 @@
         };
 
         ErrorsContext errorsContext = new DefaultErrorsContext();
-        binder.bind(request, errorsContext, new FakeBean());
+        binder.bind(request, null, errorsContext, new FakeBean());
         assertTrue(errorsContext.hasErrorMessages());
     }
 

Modified: trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubDataBinder.java (83 => 84)

--- trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubDataBinder.java	2007-05-24 19:25:52 UTC (rev 83)
+++ trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubDataBinder.java	2007-05-24 19:33:44 UTC (rev 84)
@@ -4,10 +4,11 @@
 import org.codehaus.waffle.validation.ErrorsContext;
 
 import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 public class StubDataBinder implements DataBinder {
 
-    public void bind(HttpServletRequest request, ErrorsContext errorsContext, Object model) {
+    public void bind(HttpServletRequest request, HttpServletResponse response, ErrorsContext errorsContext, Object model) {
         // does nothing
     }
 }


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to