[
https://issues.apache.org/jira/browse/WW-3743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13187800#comment-13187800
]
Pelladi Gabor commented on WW-3743:
-----------------------------------
I have tested it locally. I am developing a business application with struts2
frontend, related to consumer loans, for banks.
To avoid modifying the original struts2 jar, I have done the following: I have
created a copy of XWorkMapPropertyAccessor class in my code, with the above
modification. I have also created a copy of struts-default.xml, and replaced
the two occurrences of XWorkMapPropertyAccessor with my modified class. In
web.xml, I have configured StrutsPrepareAndExecuteFilter to use my modified
struts-default.xml.
I made sure using breakpoints that my class was used. The profiler also
confirmed that OgnlValueStack.findString was called less times. The application
is working like before, at least me, the testers and the customer did not
notice any problems with this application.
> XWorkMapPropertyAccessor calls getProperty twice if the value is null
> ---------------------------------------------------------------------
>
> Key: WW-3743
> URL: https://issues.apache.org/jira/browse/WW-3743
> Project: Struts 2
> Issue Type: Improvement
> Components: Value Stack
> Affects Versions: 2.3.1.1
> Reporter: Pelladi Gabor
> Priority: Minor
> Labels: patch, performance
> Fix For: 2.3.2
>
> Attachments: WW-3743.diff
>
>
> If you evaluate an OGNL expression which has null value,
> XWorkMapPropertyAccessor does the evaluation twice.
> First in line 81: result = super.getProperty(context, target, name);
> Second in line 91: return super.getProperty(context, target, name);
> Performance can be improved by removing the second evaluation.
> Line 91: return null;
> This saves an extra evaluation, and at this point we can be sure that the
> result can only be null.
> Patch is attached.
> Please review it.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira