Author: tschneider
Date: Sat Feb 17 22:33:26 2007
New Revision: 508880
URL: http://svn.apache.org/viewvc?view=rev&rev=508880
Log:
WW-1709 fixed nullpointer when scheme is null
Modified:
struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java
Modified:
struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java
URL:
http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java?view=diff&rev=508880&r1=508879&r2=508880
==============================================================================
---
struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java
(original)
+++
struts/struts2/branches/STRUTS_2_0_X/core/src/test/java/org/apache/struts2/views/util/UrlHelperTest.java
Sat Feb 17 22:33:26 2007
@@ -74,6 +74,26 @@
assertEquals(expectedUrl, result);
}
+ public void testForceAddNullSchemeHostAndPort() throws Exception {
+ String expectedUrl =
"http://localhost/contextPath/path1/path2/myAction.action";
+
+ Mock mockHttpServletRequest = new Mock(HttpServletRequest.class);
+ mockHttpServletRequest.expectAndReturn("getScheme", "http");
+ mockHttpServletRequest.expectAndReturn("getServerName", "localhost");
+ mockHttpServletRequest.expectAndReturn("getContextPath",
+ "/contextPath");
+
+ 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 testBuildParametersStringWithUrlHavingSomeExistingParameters()
throws Exception {
String expectedUrl =
"http://localhost:8080/myContext/myPage.jsp?initParam=initValue&param1=value1&param2=value2";
Modified:
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java
URL:
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java?view=diff&rev=508880&r1=508879&r2=508880
==============================================================================
---
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java
(original)
+++
struts/struts2/trunk/core/src/main/java/org/apache/struts2/views/util/UrlHelper.java
Sat Feb 17 22:33:26 2007
@@ -103,10 +103,12 @@
link.append("://");
link.append(request.getServerName());
- if ((scheme.equals("http") && (httpPort != DEFAULT_HTTP_PORT)) ||
(scheme.equals("https") && httpsPort != DEFAULT_HTTPS_PORT))
- {
- link.append(":");
- link.append(scheme.equals("http") ? httpPort : httpsPort);
+ if (scheme != null) {
+ if ((scheme.equals("http") && (httpPort != DEFAULT_HTTP_PORT))
|| (scheme.equals("https") && httpsPort != DEFAULT_HTTPS_PORT))
+ {
+ link.append(":");
+ link.append(scheme.equals("http") ? httpPort : httpsPort);
+ }
}
}
else if (