Cool - thanks Emmanuel! Can you update changes.xml too please?
Cheers, Brett > -----Original Message----- > From: Emmanuel Venisse [mailto:[EMAIL PROTECTED] > Sent: Thursday, 22 April 2004 12:30 AM > To: Maven Developers List > Subject: Re: cvs commit: maven/src/java/org/apache/maven/util > HttpUtils.java > > > > ----- Original Message ----- > From: "Vincent Massol" <[EMAIL PROTECTED]> > To: "'Maven Developers List'" <[EMAIL PROTECTED]> > Sent: Wednesday, April 21, 2004 4:14 PM > Subject: RE: cvs commit: maven/src/java/org/apache/maven/util > HttpUtils.java > > > > Hi Emmanuel, > > > > That's cool. Would it be possible to add some comments to > explain why > > this additional check is required? > > > > Is it to support web servers that do not support > ifModifiedSince HTTP > > headers? > > Yes and no. In some case, UrlConnection download files that > aren't modified. I'll think it's a problem with some JDKs. > Before commit it, I tested my changes with some trace, and I > saw that files was downloaded all the time even if the server > (IBiblio in my tests) send last modified date. With this > patch, I fix this two problems. > > > > > Thanks > > -Vincent > > > > > -----Original Message----- > > > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > > > Sent: 21 April 2004 15:54 > > > To: [EMAIL PROTECTED] > > > Subject: cvs commit: maven/src/java/org/apache/maven/util > > HttpUtils.java > > > > > > evenisse 2004/04/21 06:53:53 > > > > > > Modified: src/java/org/apache/maven/util Tag: > MAVEN-1_0-BRANCH > > > HttpUtils.java > > > Log: > > > Fix MAVEN-1226. Snapshot is download only if the remote > version is > > more > > > recent than local version. > > > > > > Revision Changes Path > > > No revision > > > No revision > > > 1.28.4.6 +13 -8 > > maven/src/java/org/apache/maven/util/HttpUtils.java > > > > > > Index: HttpUtils.java > > > > =================================================================== > > > RCS file: > > > /home/cvs/maven/src/java/org/apache/maven/util/HttpUtils.java,v > > > retrieving revision 1.28.4.5 > > > retrieving revision 1.28.4.6 > > > diff -u -r1.28.4.5 -r1.28.4.6 > > > --- HttpUtils.java 15 Apr 2004 06:05:51 -0000 1.28.4.5 > > > +++ HttpUtils.java 21 Apr 2004 13:53:53 -0000 1.28.4.6 > > > @@ -28,7 +28,6 @@ > > > import java.net.PasswordAuthentication; > > > import java.net.URL; > > > import java.net.URLConnection; > > > -import java.util.Date; > > > > > > /** > > > * Http utils for retrieving files. > > > @@ -170,10 +169,10 @@ > > > throws IOException > > > { > > > //set the timestamp to the file date. > > > - Date timestamp = null; > > > + long timestamp = -1; > > > if ( useTimestamp && destinationFile.exists() ) > > > { > > > - timestamp = new Date( > destinationFile.lastModified() ); > > > + timestamp = destinationFile.lastModified(); > > > } > > > > > > try > > > @@ -201,7 +200,7 @@ > > > * @param url the URL of the file to retrieve > > > * @param destinationFile where to store it > > > * @param timestamp if provided, the remote URL is only > > retrieved > > > if it was > > > - * modified more recently than timestamp. Otherwise, null > > indicates > > > that > > > + * modified more recently than timestamp. > Otherwise, negative > > value > > > indicates that > > > * the remote URL should be retrieved unconditionally. > > > * @param proxyHost Proxy Host (if proxy is > required), or null > > > * @param proxyPort Proxy Port (if proxy is > required), or null > > > @@ -213,7 +212,7 @@ > > > */ > > > public static void getFile( String url, > > > File destinationFile, > > > - Date timestamp, > > > + long timestamp, > > > String proxyHost, > > > String proxyPort, > > > String proxyUserName, > > > @@ -234,9 +233,9 @@ > > > URLConnection connection = source.openConnection(); > > > > > > //modify the headers > > > - if ( timestamp != null ) > > > + if ( timestamp >= 0 ) > > > { > > > - connection.setIfModifiedSince( > timestamp.getTime() ); > > > + connection.setIfModifiedSince( timestamp ); > > > } > > > // prepare Java 1.1 style credentials > > > if ( username != null || password != null ) > > > @@ -315,6 +314,12 @@ > > > throw isException; > > > } > > > > > > + if ( connection.getLastModified() <= timestamp && > > > + connection.getLastModified() != 0 ) > > > + { > > > + return; > > > + } > > > + > > > FileOutputStream fos = new FileOutputStream( > > destinationFile ); > > > > > > byte[] buffer = new byte[100 * 1024]; > > > @@ -333,7 +338,7 @@ > > > // if (and only if) the use file time option > is set, then > > the > > > // saved file now has its timestamp set to that of the > > > downloaded > > > // file > > > - if ( timestamp != null ) > > > + if ( timestamp >= 0 ) > > > { > > > long remoteTimestamp = > connection.getLastModified(); > > > if ( remoteTimestamp != 0 ) > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > > > - > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >