- Revision
- 438
- Author
- mauro
- Date
- 2007-11-27 03:47:14 -0600 (Tue, 27 Nov 2007)
Log Message
WAFFLE-42: Added ErrorsContext to component registry.
Modified Paths
- trunk/waffle-core/src/main/java/org/codehaus/waffle/ComponentRegistry.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java
Added Paths
Diff
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/ComponentRegistry.java (437 => 438)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/ComponentRegistry.java 2007-11-26 19:39:22 UTC (rev 437) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/ComponentRegistry.java 2007-11-27 09:47:14 UTC (rev 438) @@ -33,6 +33,7 @@ import org.codehaus.waffle.monitor.ServletMonitor; import org.codehaus.waffle.monitor.ValidationMonitor; import org.codehaus.waffle.monitor.ViewMonitor; +import org.codehaus.waffle.validation.ErrorsContext; import org.codehaus.waffle.validation.Validator; import org.codehaus.waffle.view.ViewDispatcher; import org.codehaus.waffle.view.ViewResolver; @@ -88,6 +89,8 @@ ValueConverterFinder getValueConverterFinder(); + ErrorsContext getErrorsContext(); + Validator getValidator(); ValidationMonitor getValidationMonitor();
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java (437 => 438)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java 2007-11-26 19:39:22 UTC (rev 437) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoComponentRegistry.java 2007-11-27 09:47:14 UTC (rev 438) @@ -52,7 +52,9 @@ import org.codehaus.waffle.monitor.SilentMonitor; import org.codehaus.waffle.monitor.ValidationMonitor; import org.codehaus.waffle.monitor.ViewMonitor; +import org.codehaus.waffle.validation.DefaultErrorsContext; import org.codehaus.waffle.validation.DefaultValidator; +import org.codehaus.waffle.validation.ErrorsContext; import org.codehaus.waffle.validation.Validator; import org.codehaus.waffle.view.DefaultViewDispatcher; import org.codehaus.waffle.view.DefaultViewResolver; @@ -103,6 +105,7 @@ register(ServletMonitor.class, SilentMonitor.class, servletContext); register(ValidationMonitor.class, SilentMonitor.class, servletContext); register(ViewMonitor.class, SilentMonitor.class, servletContext); + register(ErrorsContext.class, DefaultErrorsContext.class, servletContext); register(Validator.class, DefaultValidator.class, servletContext); register(ViewDispatcher.class, DefaultViewDispatcher.class, servletContext); register(ViewResolver.class, DefaultViewResolver.class, servletContext); @@ -286,6 +289,10 @@ return locateByType(ServletMonitor.class); } + public ErrorsContext getErrorsContext() { + return locateByType(ErrorsContext.class); + } + public Validator getValidator() { return locateByType(Validator.class); }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java (437 => 438)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java 2007-11-26 19:39:22 UTC (rev 437) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/servlet/WaffleServlet.java 2007-11-27 09:47:14 UTC (rev 438) @@ -34,7 +34,6 @@ import org.codehaus.waffle.controller.ControllerDefinitionFactory; import org.codehaus.waffle.i18n.MessagesContext; import org.codehaus.waffle.monitor.ServletMonitor; -import org.codehaus.waffle.validation.DefaultErrorsContext; import org.codehaus.waffle.validation.ErrorsContext; import org.codehaus.waffle.validation.Validator; import org.codehaus.waffle.view.RedirectView; @@ -61,6 +60,7 @@ private RequestAttributeBinder requestAttributeBinder; private ControllerDefinitionFactory controllerDefinitionFactory; private MessagesContext messagesContext; + private ErrorsContext errorsContext; private Validator validator; private String viewPrefix; private String viewSuffix; @@ -83,6 +83,7 @@ * @param requestAttributeBinder * @param controllerDefinitionFactory * @param messagesContext + * @param errorsContext * @param validator */ public WaffleServlet(ActionMethodExecutor actionMethodExecutor, @@ -91,7 +92,7 @@ DataBinder dataBinder, RequestAttributeBinder requestAttributeBinder, ControllerDefinitionFactory controllerDefinitionFactory, - MessagesContext messagesContext, Validator validator) { + MessagesContext messagesContext, ErrorsContext errorsContext, Validator validator) { this.actionMethodExecutor = actionMethodExecutor; this.actionMethodResponseHandler = actionMethodResponseHandler; this.servletMonitor = servletMonitor; @@ -99,6 +100,7 @@ this.requestAttributeBinder = requestAttributeBinder; this.controllerDefinitionFactory = controllerDefinitionFactory; this.messagesContext = messagesContext; + this.errorsContext = errorsContext; this.validator = validator; componentsRetrieved = true; } @@ -125,6 +127,7 @@ requestAttributeBinder = componentRegistry.getRequestAttributeBinder(); controllerDefinitionFactory = componentRegistry.getControllerDefinitionFactory(); messagesContext = componentRegistry.getMessagesContext(); + errorsContext = componentRegistry.getErrorsContext(); validator = componentRegistry.getValidator(); } } @@ -150,9 +153,9 @@ * @throws ServletException * @throws IOException */ - protected void service(HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException { - ErrorsContext errorsContext = new DefaultErrorsContext(); + protected void service(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + errorsContext.clearErrorMessages(); request.setAttribute(ERRORS_KEY, errorsContext); request.setAttribute(MESSAGES_KEY, messagesContext);
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java (437 => 438)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java 2007-11-26 19:39:22 UTC (rev 437) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/DefaultErrorsContext.java 2007-11-27 09:47:14 UTC (rev 438) @@ -228,6 +228,10 @@ return 0; } - + public void clearErrorMessages() { + bindErrorMessages.clear(); + fieldErrorMessages.clear(); + globaErrorMessages.clear(); + } }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java (437 => 438)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java 2007-11-26 19:39:22 UTC (rev 437) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/validation/ErrorsContext.java 2007-11-27 09:47:14 UTC (rev 438) @@ -42,5 +42,7 @@ int getErrorMessageCountForField(Type type, String fieldName); + void clearErrorMessages(); + }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java (437 => 438)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java 2007-11-26 19:39:22 UTC (rev 437) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoComponentRegistryTest.java 2007-11-27 09:47:14 UTC (rev 438) @@ -59,6 +59,7 @@ import org.codehaus.waffle.testmodel.StubControllerDefinitionFactory; import org.codehaus.waffle.testmodel.StubControllerNameResolver; import org.codehaus.waffle.testmodel.StubDataBinder; +import org.codehaus.waffle.testmodel.StubErrorsContext; import org.codehaus.waffle.testmodel.StubMessageResources; import org.codehaus.waffle.testmodel.StubMessagesContext; import org.codehaus.waffle.testmodel.StubMethodDefinitionFinder; @@ -68,7 +69,9 @@ import org.codehaus.waffle.testmodel.StubValidator; import org.codehaus.waffle.testmodel.StubViewDispatcher; import org.codehaus.waffle.testmodel.StubViewResolver; +import org.codehaus.waffle.validation.DefaultErrorsContext; import org.codehaus.waffle.validation.DefaultValidator; +import org.codehaus.waffle.validation.ErrorsContext; import org.codehaus.waffle.validation.Validator; import org.codehaus.waffle.view.DefaultViewDispatcher; import org.codehaus.waffle.view.DefaultViewResolver; @@ -134,7 +137,7 @@ { one(servletContext).getInitParameterNames(); will(returnValue(EMPTY_ENUMERATION)); - exactly(25).of(servletContext).getInitParameter(with(any(String.class))); + exactly(26).of(servletContext).getInitParameter(with(any(String.class))); } }); @@ -157,6 +160,7 @@ assertTrue(componentRegistry.getRegistrarMonitor() instanceof AbstractWritingMonitor); assertTrue(componentRegistry.getServletMonitor() instanceof AbstractWritingMonitor); assertTrue(componentRegistry.getValueConverterFinder() instanceof OgnlValueConverterFinder); + assertTrue(componentRegistry.getErrorsContext() instanceof DefaultErrorsContext); assertTrue(componentRegistry.getValidator() instanceof DefaultValidator); assertTrue(componentRegistry.getValidationMonitor() instanceof AbstractWritingMonitor); assertTrue(componentRegistry.getViewDispatcher() instanceof DefaultViewDispatcher); @@ -214,7 +218,9 @@ will(returnValue(StubMonitor.class.getName())); one(servletContext).getInitParameter(ValueConverterFinder.class.getName()); will(returnValue(OgnlValueConverterFinder.class.getName())); -// TODO fails for some reason + one(servletContext).getInitParameter(ErrorsContext.class.getName()); + will(returnValue(StubErrorsContext.class.getName())); +//TODO fails for some reason // one(servletContext).getInitParameter(Validator.class.getName()); // will(returnValue(StubValidator.class.getName())); one(servletContext).getInitParameter(ValidationMonitor.class.getName());
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java (437 => 438)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java 2007-11-26 19:39:22 UTC (rev 437) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/servlet/WaffleServletTest.java 2007-11-27 09:47:14 UTC (rev 438) @@ -44,6 +44,7 @@ import org.codehaus.waffle.i18n.MessagesContext; import org.codehaus.waffle.monitor.ServletMonitor; import org.codehaus.waffle.monitor.SilentMonitor; +import org.codehaus.waffle.validation.DefaultErrorsContext; import org.codehaus.waffle.validation.ErrorsContext; import org.codehaus.waffle.validation.Validator; import org.codehaus.waffle.view.View; @@ -87,6 +88,7 @@ one(componentRegistry).getRequestAttributeBinder(); one(componentRegistry).getControllerDefinitionFactory(); one(componentRegistry).getMessagesContext(); + one(componentRegistry).getErrorsContext(); one(componentRegistry).getValidator(); }}); @@ -155,7 +157,7 @@ monitor, new OgnlDataBinder(new OgnlValueConverterFinder(), null, monitor), requestAttributeBinder, - null, new DefaultMessagesContext(), validator) { + null, new DefaultMessagesContext(), new DefaultErrorsContext(), validator) { @Override protected ControllerDefinition getControllerDefinition(HttpServletRequest request, HttpServletResponse response) { return new ControllerDefinition("no name", nonDispatchingController, methodDefinition); @@ -218,7 +220,7 @@ monitor, new OgnlDataBinder(new OgnlValueConverterFinder(), null, monitor), requestAttributeBinder, - null, new DefaultMessagesContext(), validator) { + null, new DefaultMessagesContext(), new DefaultErrorsContext(), validator) { @Override protected ControllerDefinition getControllerDefinition(HttpServletRequest request, HttpServletResponse response) { return new ControllerDefinition("no name", nonDispatchingController, methodDefinition); @@ -254,6 +256,10 @@ actionFactoryField.setAccessible(true); actionFactoryField.set(waffleServlet, controllerDefinitionFactory); + Field errorsContextField = WaffleServlet.class.getDeclaredField("errorsContext"); + errorsContextField.setAccessible(true); + errorsContextField.set(waffleServlet, new DefaultErrorsContext()); + waffleServlet.service(request, null); } @@ -300,7 +306,7 @@ new SilentMonitor(), new OgnlDataBinder(new OgnlValueConverterFinder(), null, new SilentMonitor()), requestAttributeBinder, - null, new DefaultMessagesContext(), validator) { + null, new DefaultMessagesContext(), new DefaultErrorsContext(), validator) { @Override protected ControllerDefinition getControllerDefinition(HttpServletRequest request, HttpServletResponse response) { return new ControllerDefinition("no name", nonDispatchingController, null); @@ -375,14 +381,18 @@ dataBinderField.setAccessible(true); dataBinderField.set(waffleServlet, new OgnlDataBinder(new OgnlValueConverterFinder(), null, new SilentMonitor())); - Field mockMethodExecutorField = WaffleServlet.class.getDeclaredField("actionMethodExecutor"); - mockMethodExecutorField.setAccessible(true); - mockMethodExecutorField.set(waffleServlet, actionMethodExecutor); + Field actionMethodExecutorField = WaffleServlet.class.getDeclaredField("actionMethodExecutor"); + actionMethodExecutorField.setAccessible(true); + actionMethodExecutorField.set(waffleServlet, actionMethodExecutor); - Field mockMonitorField = WaffleServlet.class.getDeclaredField("servletMonitor"); - mockMonitorField.setAccessible(true); - mockMonitorField.set(waffleServlet, servletMonitor); - + Field servletMonitorField = WaffleServlet.class.getDeclaredField("servletMonitor"); + servletMonitorField.setAccessible(true); + servletMonitorField.set(waffleServlet, servletMonitor); + + Field errorsContextField = WaffleServlet.class.getDeclaredField("errorsContext"); + errorsContextField.setAccessible(true); + errorsContextField.set(waffleServlet, new DefaultErrorsContext()); + Field validatorFactoryField = WaffleServlet.class.getDeclaredField("validator"); validatorFactoryField.setAccessible(true); validatorFactoryField.set(waffleServlet, validator);
Added: trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubErrorsContext.java (0 => 438)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubErrorsContext.java (rev 0) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/testmodel/StubErrorsContext.java 2007-11-27 09:47:14 UTC (rev 438) @@ -0,0 +1,53 @@ +package org.codehaus.waffle.testmodel; + +import java.util.List; + +import org.codehaus.waffle.validation.ErrorMessage; +import org.codehaus.waffle.validation.ErrorsContext; +import org.codehaus.waffle.validation.ErrorMessage.Type; + +public class StubErrorsContext implements ErrorsContext { + + public void addErrorMessage(ErrorMessage message) { + } + + public List<ErrorMessage> getAllErrorMessages() { + return null; + } + + public int getErrorMessageCount() { + return 0; + } + + public int getErrorMessageCountForField(Type type, String fieldName) { + return 0; + } + + public int getErrorMessageCountOfType(Type type) { + return 0; + } + + public List<? extends ErrorMessage> getErrorMessagesForField(Type type, String fieldName) { + return null; + } + + public List<? extends ErrorMessage> getErrorMessagesOfType(Type type) { + return null; + } + + public boolean hasErrorMessages() { + return false; + } + + public boolean hasErrorMessagesForField(Type type, String fieldName) { + return false; + } + + public boolean hasErrorMessagesOfType(Type type) { + return false; + } + + public void clearErrorMessages() { + } + +}
To unsubscribe from this list please visit:
