Modified:
jcatapult-mvc/trunk/project.xml
jcatapult-mvc/trunk/src/conf/test/unit/logging.properties
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/ActionInvocationStore.java
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionInvocationStore.java
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionMappingWorkflow.java
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/ForwardResult.java
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/freemarker/FreeMarkerMap.java
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/control/AbstractComponentControl.java
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/form/control/Form.java
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/DefaultActionMappingWorkflowTest.java
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/DefaultResultInvocationProviderTest.java
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/ForwardResultTest.java
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/message/scope/ActionSessionScopeTest.java
Log:
Fixed issue with FreeMarkerMap and the action invocation store that was
causing the form to fail
Modified: jcatapult-mvc/trunk/project.xml
==============================================================================
--- jcatapult-mvc/trunk/project.xml (original)
+++ jcatapult-mvc/trunk/project.xml Tue May 12 22:28:10 2009
@@ -1,7 +1,7 @@
<project xmlns="http://www.inversoft.org/schemas/savant-2.0/project"
name="jcatapult-mvc"
group="jcatapult.org"
- version="1.0.1">
+ version="1.0.2">
<plugin group="plugins.savant.inversoft.org" name="ide" version="1.0"/>
<plugin group="plugins.savant.inversoft.org" name="clean" version="1.0"/>
Modified: jcatapult-mvc/trunk/src/conf/test/unit/logging.properties
==============================================================================
--- jcatapult-mvc/trunk/src/conf/test/unit/logging.properties (original)
+++ jcatapult-mvc/trunk/src/conf/test/unit/logging.properties Tue May 12
22:28:10 2009
@@ -14,9 +14,9 @@
# language governing permissions and limitations under the License.
#
handlers=java.util.logging.ConsoleHandler
-.level=INFO
+.level=WARNING
java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
-org.jcatapult.mvc.parameter.convert.level=FINEST
+#org.jcatapult.mvc.parameter.convert.level=FINEST
Modified:
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/ActionInvocationStore.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/ActionInvocationStore.java
(original)
+++
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/ActionInvocationStore.java
Tue May 12 22:28:10 2009
@@ -15,6 +15,8 @@
*/
package org.jcatapult.mvc.action;
+import java.util.Deque;
+
import com.google.inject.ImplementedBy;
/**
@@ -54,5 +56,10 @@
/**
* Pops the current action from the stack.
*/
- void popCurrent();
+ void removeCurrent();
+
+ /**
+ * @return The deque that contains the action invocations.
+ */
+ Deque<ActionInvocation> getDeque();
}
Modified:
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionInvocationStore.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionInvocationStore.java
(original)
+++
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionInvocationStore.java
Tue May 12 22:28:10 2009
@@ -15,7 +15,8 @@
*/
package org.jcatapult.mvc.action;
-import java.util.Stack;
+import java.util.ArrayDeque;
+import java.util.Deque;
import javax.servlet.http.HttpServletRequest;
import com.google.inject.Inject;
@@ -27,8 +28,9 @@
*
* @author Brian Pontarelli
*/
+@SuppressWarnings("unchecked")
public class DefaultActionInvocationStore implements ActionInvocationStore
{
- public static final String ACTION_INVOCATION_STACK_KEY
= "jcatapultActionInvocationStack";
+ public static final String ACTION_INVOCATION_DEQUE_KEY
= "jcatapultActionInvocationDeque";
public static final String ACTION_INVOCATION_KEY
= "jcatapultActionInvocation";
private final HttpServletRequest request;
@@ -41,38 +43,45 @@
* {@inheritDoc}
*/
public ActionInvocation getCurrent() {
- Stack stack = (Stack)
request.getAttribute(ACTION_INVOCATION_STACK_KEY);
- if (stack == null) {
+ Deque deque = (Deque)
request.getAttribute(ACTION_INVOCATION_DEQUE_KEY);
+ if (deque == null) {
return null;
}
- return (ActionInvocation) stack.peek();
+ return (ActionInvocation) deque.peek();
}
/**
* {@inheritDoc}
*/
public void setCurrent(ActionInvocation invocation) {
- Stack stack = (Stack)
request.getAttribute(ACTION_INVOCATION_STACK_KEY);
- if (stack == null) {
- stack = new Stack();
- request.setAttribute(ACTION_INVOCATION_STACK_KEY, stack);
+ Deque deque = (Deque)
request.getAttribute(ACTION_INVOCATION_DEQUE_KEY);
+ if (deque == null) {
+ deque = new ArrayDeque();
+ request.setAttribute(ACTION_INVOCATION_DEQUE_KEY, deque);
}
- stack.push(invocation);
+ deque.push(invocation);
request.setAttribute(ACTION_INVOCATION_KEY, invocation);
}
/**
* {@inheritDoc}
*/
- public void popCurrent() {
- Stack stack = (Stack)
request.getAttribute(ACTION_INVOCATION_STACK_KEY);
- if (stack == null) {
+ public void removeCurrent() {
+ Deque deque = (Deque)
request.getAttribute(ACTION_INVOCATION_DEQUE_KEY);
+ if (deque == null) {
return;
}
- stack.pop();
+ deque.poll();
request.removeAttribute(ACTION_INVOCATION_KEY);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Deque<ActionInvocation> getDeque() {
+ return (Deque<ActionInvocation>)
request.getAttribute(ACTION_INVOCATION_DEQUE_KEY);
}
}
Modified:
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionMappingWorkflow.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionMappingWorkflow.java
(original)
+++
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/DefaultActionMappingWorkflow.java
Tue May 12 22:28:10 2009
@@ -78,7 +78,7 @@
actionInvocationStore.setCurrent(invocation);
chain.continueWorkflow();
- actionInvocationStore.popCurrent();
+ actionInvocationStore.removeCurrent();
}
private String determineURI() {
Modified:
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/ForwardResult.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/ForwardResult.java
(original)
+++
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/ForwardResult.java
Tue May 12 22:28:10 2009
@@ -18,9 +18,9 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.annotation.Annotation;
+import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Locale;
-import java.net.MalformedURLException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -30,6 +30,7 @@
import org.jcatapult.freemarker.FreeMarkerService;
import org.jcatapult.locale.annotation.CurrentLocale;
import org.jcatapult.mvc.action.ActionInvocation;
+import org.jcatapult.mvc.action.ActionInvocationStore;
import org.jcatapult.mvc.action.result.annotation.Forward;
import org.jcatapult.mvc.action.result.freemarker.FreeMarkerMap;
import org.jcatapult.mvc.parameter.el.ExpressionEvaluator;
@@ -51,17 +52,20 @@
private final HttpServletRequest request;
private final HttpServletResponse response;
private final FreeMarkerService freeMarkerService;
+ private final ActionInvocationStore actionInvocationStore;
@Inject
public ForwardResult(@CurrentLocale Locale locale, ServletContext
servletContext,
- HttpServletRequest request, HttpServletResponse response,
- ExpressionEvaluator expressionEvaluator, FreeMarkerService
freeMarkerService) {
+ HttpServletRequest request, HttpServletResponse
response,
+ ExpressionEvaluator expressionEvaluator,
FreeMarkerService freeMarkerService,
+ ActionInvocationStore actionInvocationStore) {
super(expressionEvaluator);
this.locale = locale;
this.servletContext = servletContext;
this.request = request;
this.response = response;
this.freeMarkerService = freeMarkerService;
+ this.actionInvocationStore = actionInvocationStore;
}
/**
@@ -88,8 +92,7 @@
requestDispatcher.forward(wrapRequest(invocation, request),
response);
} else if (page.endsWith(".ftl")) {
PrintWriter writer = response.getWriter();
- FreeMarkerMap map = new FreeMarkerMap(request, response,
expressionEvaluator, invocation.action(),
- new HashMap<String, Object>());
+ FreeMarkerMap map = new FreeMarkerMap(request, response,
expressionEvaluator, actionInvocationStore, new HashMap<String, Object>());
freeMarkerService.render(writer, page, map, locale);
}
}
Modified:
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/freemarker/FreeMarkerMap.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/freemarker/FreeMarkerMap.java
(original)
+++
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/action/result/freemarker/FreeMarkerMap.java
Tue May 12 22:28:10 2009
@@ -17,6 +17,7 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Deque;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
@@ -32,13 +33,6 @@
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
-import org.jcatapult.mvc.ObjectFactory;
-import org.jcatapult.mvc.action.result.ControlHashModel;
-import org.jcatapult.mvc.parameter.el.ExpressionEvaluator;
-import org.jcatapult.mvc.parameter.el.ExpressionException;
-import org.jcatapult.mvc.result.control.Control;
-
-import com.google.inject.Inject;
import freemarker.ext.jsp.TaglibFactory;
import freemarker.ext.servlet.HttpRequestHashModel;
import freemarker.ext.servlet.HttpSessionHashModel;
@@ -49,6 +43,15 @@
import freemarker.template.TemplateHashModelEx;
import freemarker.template.TemplateModel;
import freemarker.template.TemplateModelException;
+import org.jcatapult.mvc.ObjectFactory;
+import org.jcatapult.mvc.action.ActionInvocation;
+import org.jcatapult.mvc.action.ActionInvocationStore;
+import org.jcatapult.mvc.action.result.ControlHashModel;
+import org.jcatapult.mvc.parameter.el.ExpressionEvaluator;
+import org.jcatapult.mvc.parameter.el.ExpressionException;
+import org.jcatapult.mvc.result.control.Control;
+
+import com.google.inject.Inject;
/**
* <p>
@@ -80,7 +83,7 @@
private final Map<String, Object> objects = new HashMap<String,
Object>();
private final HttpServletRequest request;
private final ExpressionEvaluator expressionEvaluator;
- private final Object action;
+ private final ActionInvocationStore actionInvocationStore;
/**
* Initializes the ServletContext and the JSP taglib support for
FreeMaker and also the TemplateModel
@@ -108,7 +111,7 @@
}
public FreeMarkerMap(HttpServletRequest request, HttpServletResponse
response,
- ExpressionEvaluator expressionEvaluator, Object action,
Map<String, Object> additionalValues) {
+ ExpressionEvaluator expressionEvaluator, ActionInvocationStore
actionInvocationStore, Map<String, Object> additionalValues) {
objects.put(REQUEST_MODEL, new HttpRequestHashModel(request,
response, ObjectWrapper.DEFAULT_WRAPPER));
objects.put(REQUEST, request);
HttpSession session = request.getSession(false);
@@ -147,13 +150,23 @@
this.request = request;
this.expressionEvaluator = expressionEvaluator;
- this.action = action;
+ this.actionInvocationStore = actionInvocationStore;
}
public int size() {
- return objects.size() +
expressionEvaluator.getAllMembers(action.getClass()).size() +
- count(request.getAttributeNames()) +
count(request.getSession().getAttributeNames()) +
- count(context.getAttributeNames());
+ int size = objects.size() + count(request.getAttributeNames()) +
+ count(request.getSession().getAttributeNames()) +
count(context.getAttributeNames());
+
+ Deque<ActionInvocation> actionInvocations =
actionInvocationStore.getDeque();
+ if (actionInvocations != null) {
+ for (ActionInvocation actionInvocation : actionInvocations) {
+ if (actionInvocation.action() != null) {
+ size +=
expressionEvaluator.getAllMembers(actionInvocation.action().getClass()).size();
+ }
+ }
+ }
+
+ return size;
}
public boolean isEmpty() {
@@ -163,11 +176,20 @@
public TemplateModel get(String key) {
// First check the action
Object value = null;
- if (action != null) {
- try {
- value = expressionEvaluator.getValue(key, action);
- } catch (ExpressionException e) {
- // Smother because the value is probably somewhere else
+
+ Deque<ActionInvocation> actionInvocations =
actionInvocationStore.getDeque();
+ if (actionInvocations != null) {
+ for (ActionInvocation actionInvocation : actionInvocations) {
+ if (actionInvocation.action() != null) {
+ try {
+ value = expressionEvaluator.getValue(key,
actionInvocation.action());
+ if (value != null) {
+ break;
+ }
+ } catch (ExpressionException e) {
+ // Smother because the value is probably somewhere
else
+ }
+ }
}
}
@@ -204,8 +226,13 @@
public TemplateCollectionModel keys() {
Set<String> keys = append(objects.keySet(),
iterable(request.getAttributeNames()),
iterable(request.getSession().getAttributeNames()),
iterable(context.getAttributeNames()));
- if (action != null) {
-
keys.addAll(expressionEvaluator.getAllMembers(action.getClass()));
+ Deque<ActionInvocation> actionInvocations =
actionInvocationStore.getDeque();
+ if (actionInvocations != null) {
+ for (ActionInvocation actionInvocation : actionInvocations) {
+ if (actionInvocation.action() != null) {
+
keys.addAll(expressionEvaluator.getAllMembers(actionInvocation.action().getClass()));
+ }
+ }
}
keys.add(JSP_TAGLIBS);
@@ -217,8 +244,13 @@
public TemplateCollectionModel values() {
Collection<Object> values = new
ArrayList<Object>(objects.values());
- if (action != null) {
- values.addAll(expressionEvaluator.getAllMemberValues(action));
+ Deque<ActionInvocation> actionInvocations =
actionInvocationStore.getDeque();
+ if (actionInvocations != null) {
+ for (ActionInvocation actionInvocation : actionInvocations) {
+ if (actionInvocation.action() != null) {
+
values.addAll(expressionEvaluator.getAllMemberValues(actionInvocation.action()));
+ }
+ }
}
Enumeration en = request.getAttributeNames();
Modified:
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/control/AbstractComponentControl.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/control/AbstractComponentControl.java
(original)
+++
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/control/AbstractComponentControl.java
Tue May 12 22:28:10 2009
@@ -55,6 +55,6 @@
* @return The root, which is a {@link FreeMarkerMap}.
*/
protected Object makeRoot() {
- return new FreeMarkerMap(request, response, expressionEvaluator,
currentAction(), parameters);
+ return new FreeMarkerMap(request, response, expressionEvaluator,
actionInvocationStore, parameters);
}
}
Modified:
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/form/control/Form.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/form/control/Form.java
(original)
+++
jcatapult-mvc/trunk/src/java/main/org/jcatapult/mvc/result/form/control/Form.java
Tue May 12 22:28:10 2009
@@ -114,7 +114,7 @@
@Override
public void renderEnd(Writer writer) {
if (differentURI) {
- actionInvocationStore.popCurrent();
+ actionInvocationStore.removeCurrent();
}
super.renderEnd(writer);
Modified:
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/DefaultActionMappingWorkflowTest.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/DefaultActionMappingWorkflowTest.java
(original)
+++
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/DefaultActionMappingWorkflowTest.java
Tue May 12 22:28:10 2009
@@ -103,7 +103,7 @@
Capture capture = new Capture();
ActionInvocationStore store =
EasyMock.createStrictMock(ActionInvocationStore.class);
store.setCurrent((ActionInvocation) capture.capture());
- store.popCurrent();
+ store.removeCurrent();
EasyMock.replay(store);
ObjectFactory factory =
EasyMock.createStrictMock(ObjectFactory.class);
@@ -152,7 +152,7 @@
Capture capture = new Capture();
ActionInvocationStore store =
EasyMock.createStrictMock(ActionInvocationStore.class);
store.setCurrent((ActionInvocation) capture.capture());
- store.popCurrent();
+ store.removeCurrent();
EasyMock.replay(store);
ObjectFactory factory =
EasyMock.createStrictMock(ObjectFactory.class);
@@ -214,7 +214,7 @@
Capture capture = new Capture();
ActionInvocationStore store =
EasyMock.createStrictMock(ActionInvocationStore.class);
store.setCurrent((ActionInvocation) capture.capture());
- store.popCurrent();
+ store.removeCurrent();
EasyMock.replay(store);
ObjectFactory factory =
EasyMock.createStrictMock(ObjectFactory.class);
Modified:
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/DefaultResultInvocationProviderTest.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/DefaultResultInvocationProviderTest.java
(original)
+++
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/DefaultResultInvocationProviderTest.java
Tue May 12 22:28:10 2009
@@ -44,7 +44,7 @@
EasyMock.replay(context);
ActionInvocation ai = new
DefaultActionInvocation(null, "/foo/bar", null, null);
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(ai);
assertNotNull(invocation);
assertNull(invocation.resultCode());
@@ -65,7 +65,7 @@
EasyMock.replay(context);
ActionInvocation ai = new
DefaultActionInvocation(null, "/foo/bar", "ajax", null);
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(ai);
assertNotNull(invocation);
assertNull(invocation.resultCode());
@@ -86,7 +86,7 @@
EasyMock.replay(context);
ActionInvocation ai = new
DefaultActionInvocation(null, "/foo/bar", null, null);
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(ai);
assertNotNull(invocation);
assertNull(invocation.resultCode());
@@ -109,7 +109,7 @@
EasyMock.replay(context);
ActionInvocation ai = new
DefaultActionInvocation(null, "/foo/bar", "ajax", null);
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(ai);
assertNotNull(invocation);
assertNull(invocation.resultCode());
@@ -128,7 +128,7 @@
EasyMock.replay(context);
ActionInvocation ai = new
DefaultActionInvocation(null, "/foo/bar/", null, null);
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(ai);
assertNotNull(invocation);
assertNull(invocation.resultCode());
@@ -145,7 +145,7 @@
EasyMock.replay(context);
TestAction action = new TestAction();
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(new
DefaultActionInvocation(action, "/foo/bar", null, null), "success");
assertNotNull(invocation);
assertEquals("success", invocation.resultCode());
@@ -164,7 +164,7 @@
EasyMock.replay(context);
TestAction action = new TestAction();
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(new
DefaultActionInvocation(action, "/foo/bar", null, null), "error");
assertNotNull(invocation);
assertEquals("error", invocation.resultCode());
@@ -187,7 +187,7 @@
EasyMock.replay(context);
TestAction action = new TestAction();
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(new
DefaultActionInvocation(action, "/foo/bar", "ajax", null), "error");
assertNotNull(invocation);
assertEquals("error", invocation.resultCode());
@@ -206,7 +206,7 @@
EasyMock.replay(context);
TestAction action = new TestAction();
- DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null));
+ DefaultResultInvocationProvider provider = new
DefaultResultInvocationProvider(new ForwardResult(Locale.CANADA, context,
null, null, null, null, null));
ResultInvocation invocation = provider.lookup(new
DefaultActionInvocation(action, "/foo/bar/", null, null), "error");
assertNotNull(invocation);
assertEquals("error", invocation.resultCode());
Modified:
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/ForwardResultTest.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/ForwardResultTest.java
(original)
+++
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/action/result/ForwardResultTest.java
Tue May 12 22:28:10 2009
@@ -55,7 +55,7 @@
EasyMock.replay(context);
Forward forward = new ForwardResult.ForwardImpl("/foo/bar.jsp",
null);
- ForwardResult forwardResult = new ForwardResult(Locale.CANADA,
context, request, response, null, null);
+ ForwardResult forwardResult = new ForwardResult(Locale.CANADA,
context, request, response, null, null, null);
forwardResult.execute(forward, new
DefaultActionInvocation(null, "/foo/bar", null, null));
EasyMock.verify(context, dispatcher, request);
@@ -80,7 +80,7 @@
EasyMock.replay(context);
Forward forward = new ForwardResult.ForwardImpl("bar.jsp", null);
- ForwardResult forwardResult = new ForwardResult(Locale.GERMAN,
context, request, response, null, null);
+ ForwardResult forwardResult = new ForwardResult(Locale.GERMAN,
context, request, response, null, null, null);
forwardResult.execute(forward, new
DefaultActionInvocation(null, "/action", null, null));
EasyMock.verify(context, dispatcher, request);
Modified:
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/message/scope/ActionSessionScopeTest.java
==============================================================================
---
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/message/scope/ActionSessionScopeTest.java
(original)
+++
jcatapult-mvc/trunk/src/java/test/unit/org/jcatapult/mvc/message/scope/ActionSessionScopeTest.java
Tue May 12 22:28:10 2009
@@ -19,6 +19,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Deque;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@@ -61,7 +62,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
List<String> messages = scope.getActionMessages(MessageType.PLAIN);
@@ -86,7 +91,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
scope.addActionMessage(MessageType.PLAIN, "Test message");
@@ -114,7 +123,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
List<String> messages = scope.getActionMessages(MessageType.ERROR);
@@ -139,7 +152,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
scope.addActionMessage(MessageType.ERROR, "Test message");
@@ -170,7 +187,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
Map<String, List<String>> messages =
scope.getFieldMessages(MessageType.PLAIN);
@@ -196,7 +217,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
scope.addFieldMessage(MessageType.PLAIN, "user.name", "Test
message");
@@ -227,7 +252,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
Map<String, List<String>> messages =
scope.getFieldMessages(MessageType.ERROR);
@@ -253,7 +282,11 @@
public void setCurrent(ActionInvocation invocation) {
}
- public void popCurrent() {
+ public void removeCurrent() {
+ }
+
+ public Deque<ActionInvocation> getDeque() {
+ return null;
}
});
scope.addFieldMessage(MessageType.ERROR, "user.name", "Test
message");