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