- Revision
- 84
- Author
- mward
- Date
- 2007-05-24 14:33:44 -0500 (Thu, 24 May 2007)
Log Message
updated DataBinder.bind method to include HttpServletResponse
Modified Paths
- trunk/core/src/main/java/org/codehaus/waffle/bind/DataBinder.java
- trunk/core/src/main/java/org/codehaus/waffle/bind/OgnlDataBinder.java
- trunk/core/src/main/java/org/codehaus/waffle/bind/RubyDataBinder.java
- trunk/core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java
- trunk/core/src/test/java/org/codehaus/waffle/bind/OgnlDataBinderTest.java
- trunk/core/src/test/java/org/codehaus/waffle/testmodel/StubDataBinder.java
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:
