Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Tambara2016-06-28 21:57:08 +0000
committerMatthew Tambara2016-06-28 21:57:08 +0000
commit94e335c22b564a8daaa0fe1816aa0646f494ae5b (patch)
treed10e36c3caf8b50fa406b16d7c96140d1a913a20
parentf77fbdf4d659eaf28f4cd703fa6efc74b9468f40 (diff)
downloadrt.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.java30
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();

Back to the top