You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2006/12/03 01:29:43 UTC
svn commit: r481673 -
/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/resource/UrlResourceStream.java
Author: jcompagner
Date: Sat Dec 2 16:29:42 2006
New Revision: 481673
URL: http://svn.apache.org/viewvc?view=rev&rev=481673
Log:
get the last modified date from the jar file if it is a JarUrlConnections.
This to prevent file open issues.
Modified:
incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/resource/UrlResourceStream.java
Modified: incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/resource/UrlResourceStream.java
URL: http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/resource/UrlResourceStream.java?view=diff&rev=481673&r1=481672&r2=481673
==============================================================================
--- incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/resource/UrlResourceStream.java (original)
+++ incubator/wicket/branches/wicket-1.x/wicket/src/main/java/wicket/util/resource/UrlResourceStream.java Sat Dec 2 16:29:42 2006
@@ -20,6 +20,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
+import java.net.JarURLConnection;
import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
@@ -229,15 +230,35 @@
else
{
URLConnection urlConnection = null;
+ boolean close = false;
try
{
urlConnection = url.openConnection();
-
+ long lastModified = this.lastModified;
+ if (urlConnection instanceof JarURLConnection)
+ {
+ JarURLConnection jarUrlConnection = (JarURLConnection)urlConnection;
+ URL jarFileUrl = jarUrlConnection.getJarFileURL();
+ URLConnection jarFileConnection = jarFileUrl.openConnection();
+ try
+ {
+ lastModified = jarFileConnection.getLastModified();
+ }
+ finally
+ {
+ jarFileConnection.getInputStream().close();
+ }
+ }
+ else
+ {
+ close = true;
+ lastModified = urlConnection.getLastModified();
+ }
// update the last modified time.
- long lastModified = urlConnection.getLastModified();
if (lastModified != this.lastModified)
{
this.lastModified = lastModified;
+ close = true;
this.contentLength = urlConnection.getContentLength();
}
}
@@ -254,7 +275,7 @@
{
((HttpURLConnection)urlConnection).disconnect();
}
- else
+ else if (close)
{
try
{