- Revision
- 844
- Author
- mauro
- Date
- 2008-09-15 13:24:26 -0500 (Mon, 15 Sep 2008)
Log Message
WAFFLE-96: Added I18N support to context and controller classes.
Modified Paths
- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainer.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ScriptedControllerDefinitionFactory.java
- trunk/waffle-core/src/main/resources/waffle-bundle.properties
- trunk/waffle-core/src/test/java/org/codehaus/waffle/action/InterceptingActionMethodExecutorTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerTest.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java
- trunk/waffle-ruby/src/main/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactory.java
- trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java
Diff
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java (843 => 844)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/context/AbstractContextContainerFactory.java 2008-09-15 18:24:26 UTC (rev 844) @@ -3,8 +3,6 @@ */ package org.codehaus.waffle.context; -import static java.text.MessageFormat.format; - import javax.servlet.ServletContext; import org.codehaus.waffle.WaffleException; @@ -23,8 +21,8 @@ protected ContextContainer applicationContextContainer; private final ContextMonitor contextMonitor; - public AbstractContextContainerFactory(MessageResources messagesResources, ContextMonitor contextMonitor) { - this.messageResources = messagesResources; + public AbstractContextContainerFactory(MessageResources messageResources, ContextMonitor contextMonitor) { + this.messageResources = messageResources; this.contextMonitor = contextMonitor; } @@ -57,8 +55,8 @@ registrarAssistant = new RegistrarAssistant(registrarClass); } catch (ClassNotFoundException e) { contextMonitor.registrarNotFound(registrarClassName); - String message = format("Unable to load the Registrar [{0}] defined as context-param in web.xml", - registrarClassName); + String message = messageResources.getMessageWithDefault("registrarNotFound", + "Registrar ''{0}'' defined as context-param in web.xml could not be found.", registrarClassName); throw new WaffleException(message, e); }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainer.java (843 => 844)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainer.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainer.java 2008-09-15 18:24:26 UTC (rev 844) @@ -3,28 +3,36 @@ */ package org.codehaus.waffle.context.pico; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; + import org.codehaus.waffle.WaffleException; import org.codehaus.waffle.context.ContextContainer; +import org.codehaus.waffle.i18n.DefaultMessageResources; +import org.codehaus.waffle.i18n.MessageResources; +import org.picocontainer.DefaultPicoContainer; import org.picocontainer.MutablePicoContainer; import org.picocontainer.PicoContainer; import org.picocontainer.PicoException; -import org.picocontainer.DefaultPicoContainer; import org.picocontainer.behaviors.Caching; -import java.util.ArrayList; -import java.util.Collection; -import java.util.List; - @SuppressWarnings("serial") public class PicoContextContainer implements ContextContainer { private final MutablePicoContainer delegate; + private final MessageResources messageResources; public PicoContextContainer() { this(new DefaultPicoContainer(new Caching())); } public PicoContextContainer(MutablePicoContainer delegate) { + this(delegate, new DefaultMessageResources()); + } + + public PicoContextContainer(MutablePicoContainer delegate, MessageResources messageResources) { this.delegate = delegate; + this.messageResources = messageResources; } public void registerComponentInstance(Object instance) { @@ -47,7 +55,9 @@ try { return delegate.getComponent(key); } catch (PicoException e) { - throw new WaffleException("Unable to construct component '" + key +"'.", e); + String message = messageResources.getMessageWithDefault("componentInstantiationFailed", + "Failed to instantiate component for key ''{0}''", key); + throw new WaffleException(message, e); } } @@ -61,7 +71,7 @@ return all; } - + public void validateComponentInstances() { delegate.getComponents(); }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java (843 => 844)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/context/pico/PicoContextContainerFactory.java 2008-09-15 18:24:26 UTC (rev 844) @@ -45,7 +45,7 @@ } protected ContextContainer buildApplicationContextContainer() { - return new PicoContextContainer(buildMutablePicoContainer(null)); + return new PicoContextContainer(buildMutablePicoContainer(null), messageResources); } public ContextContainer buildSessionLevelContainer() { @@ -53,7 +53,7 @@ MutablePicoContainer delegate = buildMutablePicoContainer(parentContainer); delegate.addComponent(new HttpSessionComponentAdapter()); - PicoContextContainer sessionContextContainer = new PicoContextContainer(delegate); + PicoContextContainer sessionContextContainer = new PicoContextContainer(delegate, messageResources); registrarAssistant.executeDelegatingRegistrar(createRegistrar(sessionContextContainer), ContextLevel.SESSION); getContextMonitor().sessionContextContainerCreated(applicationContextContainer); return sessionContextContainer; @@ -70,7 +70,7 @@ } MutablePicoContainer delegate = sessionContextContainer.getDelegate(); - ContextContainer requestContextContainer = new PicoContextContainer(buildMutablePicoContainer(delegate)); + ContextContainer requestContextContainer = new PicoContextContainer(buildMutablePicoContainer(delegate), messageResources); registrarAssistant.executeDelegatingRegistrar(createRegistrar(requestContextContainer), ContextLevel.REQUEST); getContextMonitor().requestContextContainerCreated(sessionContextContainer); return requestContextContainer;
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java (843 => 844)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactory.java 2008-09-15 18:24:26 UTC (rev 844) @@ -14,12 +14,13 @@ 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.monitor.ControllerMonitor; /** - * Implementation of the controller definition factory which uses the context container to look up the - * controller objected registered. - * + * Implementation of the controller definition factory which uses the context container to look up the controller + * objected registered. + * * @author Michael Ward * @author Mauro Talevi */ @@ -27,31 +28,34 @@ private final MethodDefinitionFinder methodDefinitionFinder; private final ControllerNameResolver controllerNameResolver; private final ControllerMonitor controllerMonitor; + protected final MessageResources messageResources; public ContextControllerDefinitionFactory(MethodDefinitionFinder methodDefinitionFinder, - ControllerNameResolver controllerNameResolver, ControllerMonitor controllerMonitor) { + ControllerNameResolver controllerNameResolver, ControllerMonitor controllerMonitor, + MessageResources messageResources) { this.methodDefinitionFinder = methodDefinitionFinder; this.controllerNameResolver = controllerNameResolver; this.controllerMonitor = controllerMonitor; + this.messageResources = messageResources; } /** * Retrieves the controller definition from the context container via the WaffleRequestFilter - * + * * @see org.codehaus.waffle.context.WaffleRequestFilter */ public ControllerDefinition getControllerDefinition(HttpServletRequest request, HttpServletResponse response) { String name = controllerNameResolver.findControllerName(request); Object controller = findController(name, request); - MethodDefinition methodDefinition = null; + MethodDefinition methodDefinition = null; try { methodDefinition = findMethodDefinition(controller, request, response); - } catch ( MissingActionMethodException e) { + } catch (MissingActionMethodException e) { controllerMonitor.methodDefinitionNotFound(name); - // default to null + // default to null // TODO introduce a NullMethodDefinition? - } + } // set the controller to the request so it can be accessed from the view request.setAttribute(CONTROLLER_KEY, controller); return new ControllerDefinition(name, controller, methodDefinition); @@ -62,21 +66,27 @@ if (requestLevelContainer == null) { controllerMonitor.requestContextContainerNotFound(); - throw new ContextContainerNotFoundException("No Waffle context container found at request level. WaffleRequestFilter must be registered in the web.xml"); + String message = messageResources + .getMessageWithDefault("requestContextContainerNotFound", + "Waffle context container not found at request level. WaffleRequestFilter must be registered in the web.xml"); + throw new ContextContainerNotFoundException(message); } Object controller = requestLevelContainer.getComponentInstance(name); if (controller == null) { controllerMonitor.controllerNotFound(name); - throw new ControllerNotFoundException(("No controller '" + name + "' is configured in the Registrar for the request path '"+request.getRequestURI()+"'")); + String message = messageResources.getMessageWithDefault("controllerNotFound", + "Controller ''{0}'' not found in the Registrar for the request path ''{1}''", name, request + .getRequestURI()); + throw new ControllerNotFoundException(message); } return controller; } - protected MethodDefinition findMethodDefinition(Object controller, HttpServletRequest request, HttpServletResponse response) { + protected MethodDefinition findMethodDefinition(Object controller, HttpServletRequest request, + HttpServletResponse response) { return methodDefinitionFinder.find(controller, request, response); } - }
Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ScriptedControllerDefinitionFactory.java (843 => 844)
--- trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ScriptedControllerDefinitionFactory.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/main/java/org/codehaus/waffle/controller/ScriptedControllerDefinitionFactory.java 2008-09-15 18:24:26 UTC (rev 844) @@ -8,14 +8,16 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.codehaus.waffle.WaffleException; import org.codehaus.waffle.action.MethodDefinition; import org.codehaus.waffle.action.MethodDefinitionFinder; import org.codehaus.waffle.action.MethodNameResolver; +import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.monitor.ControllerMonitor; /** * A scriptspecific extension to the [EMAIL PROTECTED] ContextControllerDefinitionFactory} .. - * + * * @author Michael Ward */ public abstract class ScriptedControllerDefinitionFactory extends ContextControllerDefinitionFactory { @@ -23,20 +25,20 @@ private Method executeMethod; public ScriptedControllerDefinitionFactory(MethodDefinitionFinder methodDefinitionFinder, - ControllerNameResolver controllerNameResolver, - MethodNameResolver methodNameResolver, - ControllerMonitor controllerMonitor) { - super(methodDefinitionFinder, controllerNameResolver, controllerMonitor); + ControllerNameResolver controllerNameResolver, MethodNameResolver methodNameResolver, + ControllerMonitor controllerMonitor, MessageResources messageResources) { + super(methodDefinitionFinder, controllerNameResolver, controllerMonitor, messageResources); this.methodNameResolver = methodNameResolver; } @Override - protected MethodDefinition findMethodDefinition(Object controller, HttpServletRequest request, HttpServletResponse response) { + protected MethodDefinition findMethodDefinition(Object controller, HttpServletRequest request, + HttpServletResponse response) { if (controller instanceof ScriptedController) { ScriptedController scriptedController = (ScriptedController) controller; String methodName = methodNameResolver.resolve(request); - if(methodName == null || methodName.equals("")) { + if (methodName == null || methodName.equals("")) { methodName = "index"; // default to the index method } @@ -47,6 +49,16 @@ return super.findMethodDefinition(controller, request, response); } + protected Method findMethod(String methodName, Class<?> controllerClass) { + try { + return controllerClass.getMethod(methodName); + } catch (NoSuchMethodException e) { + String message = messageResources.getMessageWithDefault("executeMethodNotFoundInScriptedController", + "Waffle ScriptedController does not define an execute() method."); + throw new WaffleException(message); + } + } + protected abstract Method findExecuteMethod(); - + }
Modified: trunk/waffle-core/src/main/resources/waffle-bundle.properties (843 => 844)
--- trunk/waffle-core/src/main/resources/waffle-bundle.properties 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/main/resources/waffle-bundle.properties 2008-09-15 18:24:26 UTC (rev 844) @@ -6,4 +6,8 @@ noParameterNamesListFound=No parameter names list found by paranamer ''{0}''" noParameterNamesFoundForClass=No parameter names found for class ''{0}'' by paranamer ''{1}'' noParameterNamesFoundForClassAndMethod=No parameter names found for class ''{0}'' and method ''{1}'' by paranamer ''{2}'' - +registrarNotFound=Registrar ''{0}'' defined as context-param in web.xml could not be found. +componentInstantiationFailed=Failed to instantiate component for key ''{0}'' +requestContextContainerNotFound=Waffle context container not found at request level. WaffleRequestFilter must be registered in the web.xml" +controllerNotFound=Controller ''{0}'' not found in the Registrar for the request path ''{1}'' +executeMethodNotFoundInScriptedController=Waffle ScriptedController does not define an execute() method.
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/action/InterceptingActionMethodExecutorTest.java (843 => 844)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/action/InterceptingActionMethodExecutorTest.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/action/InterceptingActionMethodExecutorTest.java 2008-09-15 18:24:26 UTC (rev 844) @@ -18,8 +18,6 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import org.picocontainer.DefaultPicoContainer; -import org.picocontainer.behaviors.Caching; public class InterceptingActionMethodExecutorTest { @@ -27,7 +25,7 @@ @Before public void setUp() throws Exception { - RequestLevelContainer.set(new PicoContextContainer(new DefaultPicoContainer(new Caching()))); + RequestLevelContainer.set(new PicoContextContainer()); } @After
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java (843 => 844)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerFactoryTest.java 2008-09-15 18:24:26 UTC (rev 844) @@ -222,7 +222,7 @@ MutablePicoContainer parent = new DefaultPicoContainer(new Caching(), grandParent); parent.addComponent("B", new FakeBean()); - PicoContextContainer container = new PicoContextContainer(parent); + PicoContextContainer container = new PicoContextContainer(parent, messageResources); container.registerComponentInstance(new FakeBean()); Collection<FakeBean> fakeBeans = container.getAllComponentInstancesOfType(FakeBean.class);
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerTest.java (843 => 844)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerTest.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/context/pico/PicoContextContainerTest.java 2008-09-15 18:24:26 UTC (rev 844) @@ -4,39 +4,31 @@ import org.jmock.Expectations; import org.jmock.Mockery; import org.jmock.integration.junit4.JMock; -import org.junit.Assert; import org.junit.Test; -import static org.junit.Assert.fail; import org.junit.runner.RunWith; import org.picocontainer.MutablePicoContainer; import org.picocontainer.PicoException; /** - * * @author Michael Ward */ @RunWith(JMock.class) public class PicoContextContainerTest { private Mockery mockery = new Mockery(); - @SuppressWarnings({"ThrowableInstanceNeverThrown", "serial"}) - @Test - public void getComponentInstanceShouldWrapAnyPicoException() { - final MutablePicoContainer mutablePicoContainer = mockery.mock(MutablePicoContainer.class); + @SuppressWarnings("serial") + @Test(expected = WaffleException.class) + public void canWrapPicoContainerExceptionsAsWaffleExceptions() { + final MutablePicoContainer delegate = mockery.mock(MutablePicoContainer.class); mockery.checking(new Expectations() { { - one(mutablePicoContainer).getComponent("foo"); - will(throwException(new PicoException("fake from test") {})); + one(delegate).getComponent("foo"); + will(throwException(new PicoException("mock") { + })); } }); - PicoContextContainer picoContextContainer = new PicoContextContainer(mutablePicoContainer); - - try { - picoContextContainer.getComponentInstance("foo"); - fail("WaffleException expected"); - } catch (WaffleException expected) { - Assert.assertEquals("Unable to construct component 'foo'.", expected.getMessage()); - } + PicoContextContainer container = new PicoContextContainer(delegate); + container.getComponentInstance("foo"); } }
Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java (843 => 844)
--- trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-core/src/test/java/org/codehaus/waffle/controller/ContextControllerDefinitionFactoryTest.java 2008-09-15 18:24:26 UTC (rev 844) @@ -12,6 +12,7 @@ import org.codehaus.waffle.action.MethodDefinitionFinder; import org.codehaus.waffle.context.RequestLevelContainer; import org.codehaus.waffle.context.pico.PicoContextContainer; +import org.codehaus.waffle.i18n.DefaultMessageResources; import org.codehaus.waffle.monitor.SilentMonitor; import org.codehaus.waffle.testmodel.FakeController; import org.jmock.Expectations; @@ -19,8 +20,8 @@ import org.jmock.integration.junit4.JMock; import org.junit.Test; import org.junit.runner.RunWith; +import org.picocontainer.DefaultPicoContainer; import org.picocontainer.MutablePicoContainer; -import org.picocontainer.DefaultPicoContainer; import org.picocontainer.behaviors.Caching; /** @@ -64,7 +65,7 @@ }); ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder, - new ContextPathControllerNameResolver(new SilentMonitor()), new SilentMonitor()); + new ContextPathControllerNameResolver(new SilentMonitor()), new SilentMonitor(), new DefaultMessageResources()); ControllerDefinition controllerDefinition = controllerDefinitionFactory.getControllerDefinition(request, response); @@ -95,7 +96,7 @@ final MethodDefinitionFinder finder = mockery.mock(MethodDefinitionFinder.class); ControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(finder, - new ContextPathControllerNameResolver(new SilentMonitor()), new SilentMonitor()); + new ContextPathControllerNameResolver(new SilentMonitor()), new SilentMonitor(), new DefaultMessageResources()); controllerDefinitionFactory.getControllerDefinition(request, response); } @@ -109,7 +110,7 @@ final HttpServletRequest request = mockery.mock(HttpServletRequest.class); ContextControllerDefinitionFactory controllerDefinitionFactory = new ContextControllerDefinitionFactory(null, - null, new SilentMonitor()); + null, new SilentMonitor(), new DefaultMessageResources()); controllerDefinitionFactory.findController("foobar", request); }
Modified: trunk/waffle-ruby/src/main/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactory.java (843 => 844)
--- trunk/waffle-ruby/src/main/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactory.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-ruby/src/main/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactory.java 2008-09-15 18:24:26 UTC (rev 844) @@ -3,33 +3,29 @@ */ package org.codehaus.waffle.controller; -import org.codehaus.waffle.WaffleException; +import java.lang.reflect.Method; + import org.codehaus.waffle.action.MethodDefinitionFinder; import org.codehaus.waffle.action.MethodNameResolver; +import org.codehaus.waffle.i18n.MessageResources; import org.codehaus.waffle.monitor.ControllerMonitor; -import java.lang.reflect.Method; - /** * A JRuby specific extension to the [EMAIL PROTECTED] ScriptedControllerDefinitionFactory}. - * + * * @author Michael Ward */ public class RubyControllerDefinitionFactory extends ScriptedControllerDefinitionFactory { - + public RubyControllerDefinitionFactory(MethodDefinitionFinder methodDefinitionFinder, ControllerNameResolver controllerNameResolver, MethodNameResolver methodNameResolver, - ControllerMonitor controllerMonitor) { - super(methodDefinitionFinder, controllerNameResolver, methodNameResolver, controllerMonitor); + ControllerMonitor controllerMonitor, MessageResources messageResources) { + super(methodDefinitionFinder, controllerNameResolver, methodNameResolver, controllerMonitor, messageResources); } - + @Override protected Method findExecuteMethod() { - try { - return RubyController.class.getMethod("execute"); - } catch (NoSuchMethodException e) { - throw new WaffleException("FATAL: Waffle's RubyController does not define an execute() method."); - } + return findMethod("execute", RubyController.class); } - + }
Modified: trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java (843 => 844)
--- trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java 2008-09-15 17:54:28 UTC (rev 843) +++ trunk/waffle-ruby/src/test/java/org/codehaus/waffle/controller/RubyControllerDefinitionFactoryTest.java 2008-09-15 18:24:26 UTC (rev 844) @@ -6,6 +6,7 @@ import org.codehaus.waffle.context.ContextContainer; import org.codehaus.waffle.context.RequestLevelContainer; +import org.codehaus.waffle.i18n.DefaultMessageResources; import org.codehaus.waffle.monitor.SilentMonitor; import org.jmock.Expectations; import org.jmock.Mockery; @@ -16,9 +17,7 @@ import org.junit.Test; import org.junit.runner.RunWith; - /** - * * @author Michael Ward * @author Mauro Talevi */ @@ -29,7 +28,8 @@ @Test public void canHandleIRubyObject() { - RubyControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null, new SilentMonitor()); + ScriptedControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null, + new SilentMonitor(), new DefaultMessageResources()); final ContextContainer contextContainer = mockery.mock(ContextContainer.class); mockery.checking(new Expectations() { @@ -47,7 +47,8 @@ @Test public void canHandleNonRubyObjects() { - RubyControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null, new SilentMonitor()); + ScriptedControllerDefinitionFactory factory = new RubyControllerDefinitionFactory(null, null, null, + new SilentMonitor(), new DefaultMessageResources()); final ContextContainer contextContainer = mockery.mock(ContextContainer.class); mockery.checking(new Expectations() {
To unsubscribe from this list please visit:
