[
https://issues.apache.org/struts/browse/WW-1959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rainer Hermanns updated WW-1959:
--------------------------------
Fix Version/s: 2.1.0
Assignee: Rainer Hermanns
> Unused code easy to remove on StrutsRequestWrapper
> --------------------------------------------------
>
> Key: WW-1959
> URL: https://issues.apache.org/struts/browse/WW-1959
> Project: Struts 2
> Issue Type: Improvement
> Components: Dispatch
> Affects Versions: 2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7,
> 2.0.8, 2.0.9, 2.1.0, 2.1.x, Future
> Reporter: Mike Baroukh
> Assignee: Rainer Hermanns
> Priority: Trivial
> Fix For: 2.1.0
>
>
> in StrutsRequestWrapper, we can see :
> ActionContext ctx = ActionContext.getContext();
> Object attribute = super.getAttribute(s);
> boolean alreadyIn = false;
> Boolean b = (Boolean) ctx.get("__requestWrapper.getAttribute");
> if (b != null) {
> alreadyIn = b.booleanValue();
> }
> // note: we don't let # come through or else a request for
> // #attr.foo or #request.foo could cause an endless loop
> if (!alreadyIn && attribute == null && s.indexOf("#") == -1) {
> try {
> // If not found, then try the ValueStack
> ctx.put("__requestWrapper.getAttribute", Boolean.TRUE);
> ValueStack stack = ctx.getValueStack();
> if (stack != null) {
> attribute = stack.findValue(s);
> }
> } finally {
> ctx.put("__requestWrapper.getAttribute", Boolean.FALSE);
> }
> }
> return attribute;
> }
> so the bloc
> boolean alreadyIn = false;
> Boolean b = (Boolean) ctx.get("__requestWrapper.getAttribute");
> if (b != null) {
> alreadyIn = b.booleanValue();
> }
> is not used if attribute isn't null.
> So I propose to replace with
> Object attribute = super.getAttribute(s);
> if (attribute==null) {
> Boolean b = (Boolean) ctx.get("__requestWrapper.getAttribute");
> // note: we don't let # come through or else a request for
> // #attr.foo or #request.foo could cause an endless loop
> if ( (!Boolean.TRUE.equals(b) && attribute == null && s.indexOf("#")
> == -1) {
> try {
> // If not found, then try the ValueStack
> I know it's a small enhancement, but getAttribute() is called a lot and all
> calls cumulated can improve significantly ...
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.