You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2017/09/06 09:39:40 UTC
[1/2] struts git commit: WW-4843 DefaultUrlHelper().buildUrl() not
outputting port when used as parameter
Repository: struts
Updated Branches:
refs/heads/master 64fa814a5 -> 223e735e3
WW-4843 DefaultUrlHelper().buildUrl() not outputting port when used as parameter
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/0b9e68ed
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/0b9e68ed
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/0b9e68ed
Branch: refs/heads/master
Commit: 0b9e68ed16341c585d48d301ceacfb9e74438552
Parents: c9bdb24
Author: Aleksandr Mashchenko <am...@apache.org>
Authored: Wed Aug 23 23:05:29 2017 +0300
Committer: Aleksandr Mashchenko <am...@apache.org>
Committed: Wed Aug 23 23:05:29 2017 +0300
----------------------------------------------------------------------
.../struts2/views/util/DefaultUrlHelper.java | 27 +++++++++-----------
.../views/util/DefaultUrlHelperTest.java | 23 +++++++++++++++++
2 files changed, 35 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/struts/blob/0b9e68ed/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java b/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
index 668d1a9..0fb86d9 100644
--- a/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
+++ b/core/src/main/java/org/apache/struts2/views/util/DefaultUrlHelper.java
@@ -110,19 +110,13 @@ public class DefaultUrlHelper implements UrlHelper {
if (scheme != null) {
// If switching schemes, use the configured port for the particular scheme.
if (!scheme.equals(reqScheme)) {
- if ((HTTP_PROTOCOL.equals(scheme) && (httpPort != DEFAULT_HTTP_PORT)) || (HTTPS_PROTOCOL.equals(scheme) && httpsPort != DEFAULT_HTTPS_PORT)) {
- link.append(":");
- link.append(HTTP_PROTOCOL.equals(scheme) ? httpPort : httpsPort);
- }
+ appendPort(link, scheme, HTTP_PROTOCOL.equals(scheme) ? httpPort : httpsPort);
// Else use the port from the current request.
} else {
- int reqPort = request.getServerPort();
-
- if ((scheme.equals(HTTP_PROTOCOL) && (reqPort != DEFAULT_HTTP_PORT)) || (scheme.equals(HTTPS_PROTOCOL) && reqPort != DEFAULT_HTTPS_PORT)) {
- link.append(":");
- link.append(reqPort);
- }
+ appendPort(link, scheme, request.getServerPort());
}
+ } else {
+ appendPort(link, reqScheme, request.getServerPort());
}
} else if ((scheme != null) && !scheme.equals(request.getScheme())) {
changedScheme = true;
@@ -130,11 +124,7 @@ public class DefaultUrlHelper implements UrlHelper {
link.append("://");
link.append(request.getServerName());
- if ((scheme.equals(HTTP_PROTOCOL) && (httpPort != DEFAULT_HTTP_PORT)) || (HTTPS_PROTOCOL.equals(scheme) && httpsPort != DEFAULT_HTTPS_PORT))
- {
- link.append(":");
- link.append(HTTP_PROTOCOL.equals(scheme) ? httpPort : httpsPort);
- }
+ appendPort(link, scheme, HTTP_PROTOCOL.equals(scheme) ? httpPort : httpsPort);
}
if (action != null) {
@@ -201,6 +191,13 @@ public class DefaultUrlHelper implements UrlHelper {
return result;
}
+ private void appendPort(StringBuilder link, String scheme, int port) {
+ if ((HTTP_PROTOCOL.equals(scheme) && port != DEFAULT_HTTP_PORT) || (HTTPS_PROTOCOL.equals(scheme) && port != DEFAULT_HTTPS_PORT)) {
+ link.append(":");
+ link.append(port);
+ }
+ }
+
public void buildParametersString(Map<String, Object> params, StringBuilder link, String paramSeparator) {
buildParametersString(params, link, paramSeparator, true);
}
http://git-wip-us.apache.org/repos/asf/struts/blob/0b9e68ed/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java b/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
index b4a5b26..81c595f 100644
--- a/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
+++ b/core/src/test/java/org/apache/struts2/views/util/DefaultUrlHelperTest.java
@@ -138,6 +138,29 @@ public class DefaultUrlHelperTest extends StrutsInternalTestCase {
mockHttpServletRequest.expectAndReturn("getServerName", "localhost");
mockHttpServletRequest.expectAndReturn("getContextPath",
"/contextPath");
+ mockHttpServletRequest.expectAndReturn("getServerPort", 80);
+
+ Mock mockHttpServletResponse = new Mock(HttpServletResponse.class);
+ mockHttpServletResponse.expectAndReturn("encodeURL", expectedUrl,
+ expectedUrl);
+
+ String result = urlHelper.buildUrl("/path1/path2/myAction.action",
+ (HttpServletRequest) mockHttpServletRequest.proxy(),
+ (HttpServletResponse) mockHttpServletResponse.proxy(), null,
+ null, true, true, true);
+ assertEquals(expectedUrl, result);
+ mockHttpServletRequest.verify();
+ }
+
+ public void testForceAddNullSchemeHostAndPort2() throws Exception {
+ String expectedUrl = "http://localhost:8080/contextPath/path1/path2/myAction.action";
+
+ Mock mockHttpServletRequest = new Mock(HttpServletRequest.class);
+ mockHttpServletRequest.expectAndReturn("getScheme", "http");
+ mockHttpServletRequest.expectAndReturn("getServerName", "localhost");
+ mockHttpServletRequest.expectAndReturn("getContextPath",
+ "/contextPath");
+ mockHttpServletRequest.expectAndReturn("getServerPort", 8080);
Mock mockHttpServletResponse = new Mock(HttpServletResponse.class);
mockHttpServletResponse.expectAndReturn("encodeURL", expectedUrl,
[2/2] struts git commit: WW-4843 Fixes DefaultUrlHelper().buildUrl()
to always output port
Posted by lu...@apache.org.
WW-4843 Fixes DefaultUrlHelper().buildUrl() to always output port
Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/223e735e
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/223e735e
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/223e735e
Branch: refs/heads/master
Commit: 223e735e3577b72c75c2c7db73883c6aa7d700eb
Parents: 64fa814 0b9e68e
Author: Lukasz Lenart <lu...@apache.org>
Authored: Wed Sep 6 11:38:54 2017 +0200
Committer: Lukasz Lenart <lu...@apache.org>
Committed: Wed Sep 6 11:38:54 2017 +0200
----------------------------------------------------------------------
.../struts2/views/util/DefaultUrlHelper.java | 27 +++++++++-----------
.../views/util/DefaultUrlHelperTest.java | 23 +++++++++++++++++
2 files changed, 35 insertions(+), 15 deletions(-)
----------------------------------------------------------------------