You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by bw...@apache.org on 2003/06/12 10:47:09 UTC
cvs commit: maven-new/fetch/src/main/java/org/apache/maven/fetch/fetchers FileFetcher.java HttpFetcher.java
bwalding 2003/06/12 01:47:09
Modified: fetch/src/main/java/org/apache/maven/fetch/fetchers
FileFetcher.java HttpFetcher.java
Log:
Add resource not found exception handling
Revision Changes Path
1.3 +21 -3 maven-new/fetch/src/main/java/org/apache/maven/fetch/fetchers/FileFetcher.java
Index: FileFetcher.java
===================================================================
RCS file: /home/cvs/maven-new/fetch/src/main/java/org/apache/maven/fetch/fetchers/FileFetcher.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FileFetcher.java 25 May 2003 14:54:54 -0000 1.2
+++ FileFetcher.java 12 Jun 2003 08:47:08 -0000 1.3
@@ -67,6 +67,7 @@
import org.apache.maven.fetch.FetchRequest;
import org.apache.maven.fetch.exceptions.FetchException;
import org.apache.maven.fetch.exceptions.NotModifiedFetchException;
+import org.apache.maven.fetch.exceptions.ResourceNotFoundFetchException;
import org.apache.maven.fetch.util.IOUtility;
/**
@@ -85,12 +86,20 @@
try
{
URL url = new URL(request.getUrl());
+ String filename = url.getPath();
+ if (filename.length() > 3)
+ {
+ if (filename.startsWith("/") && filename.charAt(2) == ':' && filename.charAt(3) == '/')
+ {
+ filename = filename.substring(1);
- File f = new File(url.toExternalForm());
+ }
+ }
+ File f = new File(filename);
if (!f.exists())
{
- throw new FetchException("Couldn't find " + f);
+ throw new ResourceNotFoundFetchException("Couldn't find " + f);
}
if (request.getOnlyIfModifiedSinceDate() != null)
@@ -109,6 +118,15 @@
{
throw new NotModifiedFetchException("Not modified");
}
+ }
+ else
+ {
+ // Actually get the file
+ OutputStream os = request.getFinalOutputStream();
+ InputStream is = new FileInputStream(f);
+ IOUtility.transferStream(is, os);
+ IOUtility.close(os);
+ IOUtility.close(is);
}
}
1.8 +7 -1 maven-new/fetch/src/main/java/org/apache/maven/fetch/fetchers/HttpFetcher.java
Index: HttpFetcher.java
===================================================================
RCS file: /home/cvs/maven-new/fetch/src/main/java/org/apache/maven/fetch/fetchers/HttpFetcher.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- HttpFetcher.java 25 May 2003 15:35:00 -0000 1.7
+++ HttpFetcher.java 12 Jun 2003 08:47:08 -0000 1.8
@@ -65,6 +65,7 @@
import org.apache.maven.fetch.exceptions.NotAuthorizedFetchException;
import org.apache.maven.fetch.exceptions.NotModifiedFetchException;
import org.apache.maven.fetch.exceptions.ProxyNotAuthorizedFetchException;
+import org.apache.maven.fetch.exceptions.ResourceNotFoundFetchException;
import org.apache.maven.fetch.util.*;
import org.apache.maven.fetch.util.Base64;
@@ -130,6 +131,11 @@
if (connection.getResponseCode() == 401)
{
throw new NotAuthorizedFetchException(connection.getResponseMessage());
+ }
+
+ if (connection.getResponseCode() == 404)
+ {
+ throw new ResourceNotFoundFetchException(connection.getResponseMessage());
}
if (connection.getResponseCode() == 407)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org