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