You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Dave Newton (JIRA)" <ji...@apache.org> on 2008/11/15 18:15:41 UTC
[jira] Commented: (WW-2871) avoid fetching twice the model in
ModelDrivenInterceptor
[ https://issues.apache.org/struts/browse/WW-2871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=44953#action_44953 ]
Dave Newton commented on WW-2871:
---------------------------------
What version of XWork are you looking at? AFAIK the XWork code hasn't done two getModel()s since like a year ago. The current code looks like this:
if (action instanceof ModelDriven) {
ModelDriven modelDriven = (ModelDriven) action;
ValueStack stack = invocation.getStack();
Object model = modelDriven.getModel();
if (model != null) {
stack.push(model);
}
if (refreshModelBeforeResult) {
invocation.addPreResultListener(new RefreshModelBeforeResult(modelDriven, model));
}
}
> avoid fetching twice the model in ModelDrivenInterceptor
> ---------------------------------------------------------
>
> Key: WW-2871
> URL: https://issues.apache.org/struts/browse/WW-2871
> Project: Struts 2
> Issue Type: Improvement
> Components: Core Interceptors
> Affects Versions: 2.1.2
> Reporter: Nicolas Raynaud
> Priority: Minor
>
> the ModelDrivenInterceptor fetche twice the model by default, this is really anoying when we back the getModel on a database action.
> here is the code I propose :
> public class ModelDrivenInterceptor extends AbstractInterceptor {
> public String intercept(final ActionInvocation invocation) throws Exception {
> final Object action = invocation.getAction();
> if (action instanceof ModelDriven) {
> final ModelDriven<?> modelDriven = (ModelDriven<?>) action;
> //avoid fetching the model twice.
> final Object model = modelDriven.getModel();
> if (model != null)
> invocation.getStack().push(model);
> }
> return invocation.invoke();
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.