Author: jcompagner
Date: Mon May 5 01:28:21 2008
New Revision: 653350
URL: http://svn.apache.org/viewvc?rev=653350&view=rev
Log:
merged the fixes of 1.3 branch
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/NiceUrlApplication.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategyTest.java
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_Result.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_SubmitResult.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_Result.html
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_SubmitResult.html
Modified:
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/NiceUrlApplication.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/NiceUrlApplication.java?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/NiceUrlApplication.java
(original)
+++
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/niceurl/NiceUrlApplication.java
Mon May 5 01:28:21 2008
@@ -71,7 +71,7 @@
mountBookmarkablePage("/a/nice/path/to/the/first/page",
Page1.class);
mountBookmarkablePage("/path/to/page2", Page2.class);
- mountBookmarkablePageWithUrlCoding("/path/to/page2qpencoded/",
Page2QP.class);
+ mountBookmarkablePageWithUrlCoding("/path/to/page2qpencoded",
Page2QP.class);
// mount a whole package at once (all bookmarkable pages,
// the relative class name will be part of the url
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketFilter.java
Mon May 5 01:28:21 2008
@@ -384,27 +384,29 @@
finally
{
// Close response
- if (response != null)
+ try
{
- try
+ if (response != null)
{
response.close();
}
- catch (Exception e)
- {
- log.error("closing the buffer
error", e);
- }
}
-
- // Clean up thread local session
- Session.unset();
-
- if (externalCall)
+ catch (Exception e)
{
- // Clean up thread local application if
this was an external call
- // (if not, doFilter will clean it up)
- Application.unset();
- RequestContext.unset();
+ log.error("closing the buffer error",
e);
+ }
+ finally
+ {
+ // Clean up thread local session
+ Session.unset();
+
+ if (externalCall)
+ {
+ // Clean up thread local
application if this was an external call
+ // (if not, doFilter will clean
it up)
+ Application.unset();
+ RequestContext.unset();
+ }
}
}
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/protocol/http/WicketServlet.java
Mon May 5 01:28:21 2008
@@ -119,9 +119,9 @@
* @throws IOException
*/
public final void doGet(final HttpServletRequest servletRequest,
- final HttpServletResponse servletResponse) throws
ServletException, IOException
+ final HttpServletResponse servletResponse) throws
ServletException, IOException
{
- if (wicketFilter.doGet(servletRequest, servletResponse) ==
false)
+ if (wicketFilter.doGet(servletRequest, servletResponse) ==
false)
{
fallback(servletRequest, servletResponse);
}
@@ -140,45 +140,51 @@
* @throws IOException
*/
public final void doPost(final HttpServletRequest servletRequest,
- final HttpServletResponse servletResponse) throws
ServletException, IOException
+ final HttpServletResponse servletResponse) throws
ServletException, IOException
{
- if (wicketFilter.doGet(servletRequest, servletResponse) ==
false)
+ if (wicketFilter.doGet(servletRequest, servletResponse) ==
false)
{
fallback(servletRequest, servletResponse);
}
}
- private void fallback(HttpServletRequest request, HttpServletResponse
response) throws IOException
+ private void fallback(HttpServletRequest request, HttpServletResponse
response)
+ throws IOException
{
-
+
// The ServletWebRequest is created here to avoid code
duplication. The getURL
- // call doesn't depend on anything wicket specific
+ // call doesn't depend on anything wicket specific
ServletWebRequest req = new ServletWebRequest(request);
String url = req.getURL();
-
+
// Get the relative URL we need for loading the resource from
// the servlet context
// NOTE: we NEED to put the '/' in front as otherwise some
versions
// of application servers (e.g. Jetty 5.1.x) will fail for
requests
// like '/mysubdir/myfile.css'
-
+
if ((url.length() > 0 && url.charAt(0) != '/') || url.length()
== 0)
{
url = '/' + url;
}
-
+
InputStream stream =
getServletContext().getResourceAsStream(url);
-
- if (stream == null)
+ String mimeType = getServletContext().getMimeType(url);
+
+
+ if (stream == null)
{
response.sendError(HttpServletResponse.SC_NOT_FOUND);
- }
- else
+ }
+ else
{
+ if (mimeType != null)
+ response.setContentType(mimeType);
+
Streams.copy(stream, response.getOutputStream());
}
}
-
+
/**
* Servlet initialization
*/
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategy.java
Mon May 5 01:28:21 2008
@@ -113,10 +113,6 @@
*/
protected void appendParameters(AppendingStringBuffer url, Map
parameters)
{
- if (!url.endsWith("/"))
- {
- url.append("/");
- }
if (parameters != null && parameters.size() > 0)
{
final Iterator entries;
@@ -151,14 +147,14 @@
if (requestParameters.getInterfaceName() != null)
{
return new
BookmarkableListenerInterfaceRequestTarget(pageMapName,
- (Class)bookmarkablePageClassRef.get(),
parameters, requestParameters
- .getComponentPath(),
requestParameters.getInterfaceName(),
- requestParameters.getVersionNumber());
+ (Class)bookmarkablePageClassRef.get(),
parameters,
+ requestParameters.getComponentPath(),
requestParameters.getInterfaceName(),
+ requestParameters.getVersionNumber());
}
else
{
- return new BookmarkablePageRequestTarget(pageMapName,
(Class)bookmarkablePageClassRef
- .get(), parameters);
+ return new BookmarkablePageRequestTarget(pageMapName,
+ (Class)bookmarkablePageClassRef.get(),
parameters);
}
}
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
(original)
+++
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/target/resource/SharedResourceRequestTarget.java
Mon May 5 01:28:21 2008
@@ -147,12 +147,15 @@
}
String path = resourceKey.substring(ix
+ 1);
- PackageResource packageResource =
PackageResource.get(scope, path);
- if (sharedResources.get(resourceKey) ==
null)
+ if (PackageResource.exists(scope, path,
null, null))
{
- sharedResources.add(scope,
path, null, null, packageResource);
+ PackageResource packageResource
= PackageResource.get(scope, path);
+ if
(sharedResources.get(resourceKey) == null)
+ {
+
sharedResources.add(scope, path, null, null, packageResource);
+ }
+ resource = packageResource;
}
- resource = packageResource;
}
catch (Exception e)
{
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategyTest.java
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategyTest.java?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategyTest.java
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/QueryStringUrlCodingStrategyTest.java
Mon May 5 01:28:21 2008
@@ -30,8 +30,7 @@
*/
public class QueryStringUrlCodingStrategyTest extends WicketTestCase
{
- private static final Logger log = LoggerFactory
- .getLogger(QueryStringUrlCodingStrategyTest.class);
+ private static final Logger log =
LoggerFactory.getLogger(QueryStringUrlCodingStrategyTest.class);
/**
* Tests mounting.
@@ -39,7 +38,7 @@
public void testQS()
{
IRequestTargetUrlCodingStrategy ucs = new
QueryStringUrlCodingStrategy("/mount/point",
- TestPage.class);
+ TestPage.class);
PageParameters params = new PageParameters();
params.add("a", "1");
params.add("a", "2");
@@ -47,6 +46,6 @@
IRequestTarget rt = new
BookmarkablePageRequestTarget(TestPage.class, params);
String path = ucs.encode(rt).toString();
log.debug(path);
- assertEquals("mount/point/?a=1&a=2&b=1", path);
+ assertEquals("mount/point?a=1&a=2&b=1", path);
}
}
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_Result.html
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_Result.html?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_Result.html
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_Result.html
Mon May 5 01:28:21 2008
@@ -22,7 +22,7 @@
<p>
- <form
action="statefull/?wicket:interface=%3A0%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform1"><div
style="display:none"><input type="hidden" name="statelessform1_hf_0"
id="statelessform1_hf_0" /></div>
+ <form
action="statefull?wicket:interface=%3A0%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform1"><div
style="display:none"><input type="hidden" name="statelessform1_hf_0"
id="statelessform1_hf_0" /></div>
<input value="" type="text" wicket:id="textfield"
name="textfield">
<input type="submit">
</form>
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_SubmitResult.html
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_SubmitResult.html?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_SubmitResult.html
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatefulPage_QueryString_SubmitResult.html
Mon May 5 01:28:21 2008
@@ -22,7 +22,7 @@
<p>
- <form
action="statefull/?wicket:interface=%3A0%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform1"><div
style="display:none"><input type="hidden" name="statelessform1_hf_0"
id="statelessform1_hf_0" /></div>
+ <form
action="statefull?wicket:interface=%3A0%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform1"><div
style="display:none"><input type="hidden" name="statelessform1_hf_0"
id="statelessform1_hf_0" /></div>
<input value="test" type="text" wicket:id="textfield"
name="textfield">
<input type="submit">
</form>
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_Result.html
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_Result.html?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_Result.html
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_Result.html
Mon May 5 01:28:21 2008
@@ -8,7 +8,7 @@
<br />
<a
href="?wicket:bookmarkablePage=%3Aorg.apache.wicket.markup.html.autolink.Index"
wicket:id="indexLink">go to index</a>
- <form
action="stateless/?wicket:interface=%3A0%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform1"><div
style="display:none"><input type="hidden" name="statelessform1_hf_0"
id="statelessform1_hf_0" /></div>
+ <form
action="stateless?wicket:interface=%3A0%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform1"><div
style="display:none"><input type="hidden" name="statelessform1_hf_0"
id="statelessform1_hf_0" /></div>
<input value="" type="text" wicket:id="textfield"
name="textfield">
<input type="submit">
</form>
Modified:
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_SubmitResult.html
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_SubmitResult.html?rev=653350&r1=653349&r2=653350&view=diff
==============================================================================
---
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_SubmitResult.html
(original)
+++
wicket/trunk/wicket/src/test/java/org/apache/wicket/request/target/coding/StatelessPage_QueryString_SubmitResult.html
Mon May 5 01:28:21 2008
@@ -8,7 +8,7 @@
<br />
<a
href="../?wicket:bookmarkablePage=%3Aorg.apache.wicket.markup.html.autolink.Index"
wicket:id="indexLink">go to index</a>
- <form
action="../stateless/?wicket:interface=%3A1%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform2"><div
style="display:none"><input type="hidden" name="statelessform2_hf_0"
id="statelessform2_hf_0" /></div>
+ <form
action="../stateless?wicket:interface=%3A1%3Astatelessform%3A%3AIFormSubmitListener%3A%3A"
wicket:id="statelessform" method="post" id="statelessform2"><div
style="display:none"><input type="hidden" name="statelessform2_hf_0"
id="statelessform2_hf_0" /></div>
<input value="test" type="text" wicket:id="textfield"
name="textfield">
<input type="submit">
</form>