[ 
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.

Reply via email to