diff options
author | Matthew Tambara | 2016-06-28 21:57:08 +0000 |
---|---|---|
committer | Matthew Tambara | 2016-06-28 21:57:08 +0000 |
commit | 94e335c22b564a8daaa0fe1816aa0646f494ae5b (patch) | |
tree | d10e36c3caf8b50fa406b16d7c96140d1a913a20 | |
parent | f77fbdf4d659eaf28f4cd703fa6efc74b9468f40 (diff) | |
download | rt.equinox.bundles-94e335c22b564a8daaa0fe1816aa0646f494ae5b.tar.gz rt.equinox.bundles-94e335c22b564a8daaa0fe1816aa0646f494ae5b.tar.xz rt.equinox.bundles-94e335c22b564a8daaa0fe1816aa0646f494ae5b.zip |
LPS-66881 Reuse objects rather than create new ones
Signed-off-by: Matthew Tambara <matthew.tambara@liferay.com>
-rw-r--r-- | bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/servlet/HttpServletRequestWrapperImpl.java | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/servlet/HttpServletRequestWrapperImpl.java b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/servlet/HttpServletRequestWrapperImpl.java index 1abe4efcb..50e63d867 100644 --- a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/servlet/HttpServletRequestWrapperImpl.java +++ b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/servlet/HttpServletRequestWrapperImpl.java @@ -152,16 +152,20 @@ public class HttpServletRequestWrapperImpl extends HttpServletRequestWrapper { public Object getAttribute(String attributeName) { DispatchTargets current = dispatchTargets.peek(); - if (current.getDispatcherType() == DispatcherType.ERROR) { + DispatcherType dispatcherType = current.getDispatcherType(); + + String servletName = current.getServletName(); + + if (dispatcherType == DispatcherType.ERROR) { if ((Arrays.binarySearch(dispatcherAttributes, attributeName) > -1) && !attributeName.startsWith("javax.servlet.error.")) { //$NON-NLS-1$ return null; } } - else if (current.getDispatcherType() == DispatcherType.INCLUDE) { + else if (dispatcherType == DispatcherType.INCLUDE) { if (attributeName.equals(RequestDispatcher.INCLUDE_CONTEXT_PATH)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } if (super.getAttribute(RequestDispatcher.INCLUDE_CONTEXT_PATH) != null) { @@ -170,7 +174,7 @@ public class HttpServletRequestWrapperImpl extends HttpServletRequestWrapper { return current.getContextController().getContextPath(); } else if (attributeName.equals(RequestDispatcher.INCLUDE_PATH_INFO)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } if (super.getAttribute(RequestDispatcher.INCLUDE_PATH_INFO) != null) { @@ -179,7 +183,7 @@ public class HttpServletRequestWrapperImpl extends HttpServletRequestWrapper { return current.getPathInfo(); } else if (attributeName.equals(RequestDispatcher.INCLUDE_QUERY_STRING)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } if (super.getAttribute(RequestDispatcher.INCLUDE_QUERY_STRING) != null) { @@ -188,7 +192,7 @@ public class HttpServletRequestWrapperImpl extends HttpServletRequestWrapper { return current.getQueryString(); } else if (attributeName.equals(RequestDispatcher.INCLUDE_REQUEST_URI)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } if (super.getAttribute(RequestDispatcher.INCLUDE_REQUEST_URI) != null) { @@ -197,7 +201,7 @@ public class HttpServletRequestWrapperImpl extends HttpServletRequestWrapper { return current.getRequestURI(); } else if (attributeName.equals(RequestDispatcher.INCLUDE_SERVLET_PATH)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } if (super.getAttribute(RequestDispatcher.INCLUDE_SERVLET_PATH) != null) { @@ -210,35 +214,35 @@ public class HttpServletRequestWrapperImpl extends HttpServletRequestWrapper { return null; } } - else if (current.getDispatcherType() == DispatcherType.FORWARD) { + else if (dispatcherType == DispatcherType.FORWARD) { DispatchTargets original = dispatchTargets.get(0); if (attributeName.equals(RequestDispatcher.FORWARD_CONTEXT_PATH)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } return original.getContextController().getContextPath(); } else if (attributeName.equals(RequestDispatcher.FORWARD_PATH_INFO)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } return original.getPathInfo(); } else if (attributeName.equals(RequestDispatcher.FORWARD_QUERY_STRING)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } return original.getQueryString(); } else if (attributeName.equals(RequestDispatcher.FORWARD_REQUEST_URI)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } return original.getRequestURI(); } else if (attributeName.equals(RequestDispatcher.FORWARD_SERVLET_PATH)) { - if (current.getServletName() != null) { + if (servletName != null) { return null; } return original.getServletPath(); |