you rock!

On Jun 3, 2011, at 3:28 PM, <[email protected]> <[email protected]> wrote:

> Author: bfoster
> Date: Fri Jun  3 22:28:12 2011
> New Revision: 1131269
> 
> URL: http://svn.apache.org/viewvc?rev=1131269&view=rev
> Log:
> 
> - formatting
> - unit-tests improved
> - bug fixes exposed by unit-tests
> 
> --------------------
> OODT-194
> 
> Modified:
>   
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpFile.java
>   
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
>   
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocolFactory.java
>   
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/TestHttpProtocol.java
>   
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/util/TestHttpUtils.java
> 
> Modified: 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpFile.java
> URL: 
> http://svn.apache.org/viewvc/oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpFile.java?rev=1131269&r1=1131268&r2=1131269&view=diff
> ==============================================================================
> --- 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpFile.java
>  (original)
> +++ 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpFile.java
>  Fri Jun  3 22:28:12 2011
> @@ -31,23 +31,23 @@ import java.net.URL;
> */
> public class HttpFile extends ProtocolFile {
> 
> -    private static final long serialVersionUID = -7780059889413081800L;
> +     private static final long serialVersionUID = -7780059889413081800L;
> 
> -    private URL link;
> -    private HttpFile parent;
> +     private URL link;
> +     private HttpFile parent;
> 
> -    public HttpFile(String virtualPath, boolean isDir, URL link, HttpFile 
> parent) {
> -        super(virtualPath, isDir);
> -        Validate.notNull(link, "URL link must not be NULL");
> -        this.link = link;
> -        this.parent = parent;
> -    }
> +     public HttpFile(String virtualPath, boolean isDir, URL link, HttpFile 
> parent) {
> +             super(virtualPath, isDir);
> +             Validate.notNull(link, "URL link must not be NULL");
> +             this.link = link;
> +             this.parent = parent;
> +     }
> 
> -    public URL getLink() {
> -        return this.link;
> -    }
> +     public URL getLink() {
> +             return this.link;
> +     }
> 
> -    public ProtocolFile getParent() {
> -        return this.parent;
> -    }
> +     public ProtocolFile getParent() {
> +             return this.parent;
> +     }
> }
> 
> Modified: 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
> URL: 
> http://svn.apache.org/viewvc/oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java?rev=1131269&r1=1131268&r2=1131269&view=diff
> ==============================================================================
> --- 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
>  (original)
> +++ 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocol.java
>  Fri Jun  3 22:28:12 2011
> @@ -30,7 +30,6 @@ import java.io.FileOutputStream;
> import java.io.InputStream;
> import java.io.OutputStream;
> import java.net.HttpURLConnection;
> -import java.net.URI;
> import java.net.URL;
> import java.util.ArrayList;
> import java.util.HashMap;
> @@ -54,7 +53,6 @@ public class HttpProtocol implements Pro
>  private HttpFile parentFile;
>  private HttpFile currentFile;
>  private boolean isConnected;
> -  private URL currentURL;
> 
>  public HttpProtocol() {
>    isConnected = false;
> @@ -64,7 +62,7 @@ public class HttpProtocol implements Pro
>    try {
>       HttpFile httpFile = null;
>       if (!(file instanceof HttpFile)) {
> -             URL link = HttpUtils.resolveUri(currentURL.toURI(), 
> file.getPath()).toURL();
> +             URL link = HttpUtils.resolveUri(currentFile.getLink().toURI(), 
> file.getPath()).toURL();
>                       httpFile = new HttpFile(file.getPath(), file.isDir(), 
> link, null);
>      } else {
>        httpFile = (HttpFile) file;
> @@ -84,9 +82,9 @@ public class HttpProtocol implements Pro
>  public void connect(String host, Authentication auth)
>      throws ProtocolException {
>    try {
> -      currentURL = new URL("http://"; + host + "/");
> -      currentURL.openStream().close();
> -      currentFile = parentFile = new HttpFile("/", true, currentURL, null);
> +      URL url = new URL("http://"; + host + "/");
> +      url.openStream().close();
> +      currentFile = parentFile = new HttpFile("/", true, url, null);
>      isConnected = true;
>    } catch (Exception e) {
>      throw new ProtocolException("Failed to connect to http://"; + host + " : "
> @@ -108,7 +106,7 @@ public class HttpProtocol implements Pro
>      if (fromFile instanceof HttpFile) {
>         in = ((HttpFile) fromFile).getLink().openStream();
>      } else {
> -       in = currentURL.toURI().relativize(new 
> URI(fromFile.getPath())).toURL().openStream();
> +       in = HttpUtils.resolveUri(currentFile.getLink().toURI(), 
> fromFile.getPath()).toURL().openStream();
>      }
> 
>      byte[] buffer = new byte[1024];
> 
> Modified: 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocolFactory.java
> URL: 
> http://svn.apache.org/viewvc/oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocolFactory.java?rev=1131269&r1=1131268&r2=1131269&view=diff
> ==============================================================================
> --- 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocolFactory.java
>  (original)
> +++ 
> oodt/branches/protocol/protocol-http/src/main/java/org/apache/oodt/cas/protocol/http/HttpProtocolFactory.java
>  Fri Jun  3 22:28:12 2011
> @@ -16,10 +16,6 @@
> */
> package org.apache.oodt.cas.protocol.http;
> 
> -//JDK imports
> -import java.util.logging.Level;
> -import java.util.logging.Logger;
> -
> //OODT imports
> import org.apache.oodt.cas.protocol.ProtocolFactory;
> 
> @@ -31,16 +27,9 @@ import org.apache.oodt.cas.protocol.Prot
> */
> public class HttpProtocolFactory implements ProtocolFactory {
> 
> -     private static final Logger LOG = 
> Logger.getLogger(HttpProtocolFactory.class.getName());
> -     
> -    public HttpProtocol newInstance() {
> -        try {
> -            return new HttpProtocol();
> -        } catch (Exception e) {
> -             LOG.log(Level.SEVERE, "Failed to create HttpProtocol : " + 
> e.getMessage(), e);
> -            return null;
> -        }
> -    }
> +     public HttpProtocol newInstance() {
> +             return new HttpProtocol();
> +     }
> 
>       public String getSchema() {
>               return "http";
> 
> Modified: 
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/TestHttpProtocol.java
> URL: 
> http://svn.apache.org/viewvc/oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/TestHttpProtocol.java?rev=1131269&r1=1131268&r2=1131269&view=diff
> ==============================================================================
> --- 
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/TestHttpProtocol.java
>  (original)
> +++ 
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/TestHttpProtocol.java
>  Fri Jun  3 22:28:12 2011
> @@ -17,11 +17,17 @@
> package org.apache.oodt.cas.protocol.http;
> 
> //JUnit imports
> +import java.io.File;
> +import java.io.IOException;
> +import java.net.URL;
> import java.util.List;
> +import java.util.Scanner;
> 
> +import org.apache.commons.io.FileUtils;
> import org.apache.oodt.cas.protocol.ProtocolFile;
> import org.apache.oodt.cas.protocol.auth.NoAuthentication;
> import org.apache.oodt.cas.protocol.exceptions.ProtocolException;
> +import org.apache.oodt.cas.protocol.http.util.HttpUtils;
> 
> import junit.framework.TestCase;
> 
> @@ -31,7 +37,7 @@ import junit.framework.TestCase;
> * @author bfoster
> */
> public class TestHttpProtocol extends TestCase {
> -
> +     
>       public void testConnection() throws InstantiationException, 
> ProtocolException {
>               HttpProtocol httpProtocol = new HttpProtocol();
>               assertFalse(httpProtocol.connected());
> @@ -39,7 +45,7 @@ public class TestHttpProtocol extends Te
>               assertTrue(httpProtocol.connected());
>       }
>       
> -     public void testLS() throws ProtocolException, InstantiationException {
> +     public void testLSandCD() throws ProtocolException, 
> InstantiationException {
>               HttpProtocol httpProtocol = new HttpProtocol();
>               httpProtocol.connect("svn.apache.org", new NoAuthentication());
>               assertTrue(httpProtocol.connected());
> @@ -54,4 +60,37 @@ public class TestHttpProtocol extends Te
>               }
>               assertTrue(foundFile);
>       }
> +     
> +     public void testPWD() throws ProtocolException {
> +             HttpProtocol httpProtocol = new HttpProtocol();
> +             httpProtocol.connect("svn.apache.org", new NoAuthentication());
> +             assertTrue(httpProtocol.connected());
> +             ProtocolFile gotoDir = new 
> ProtocolFile("repos/asf/oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http",
>  true);
> +             httpProtocol.cd(gotoDir);
> +             ProtocolFile currentDir = httpProtocol.pwd();
> +             assertEquals(gotoDir, currentDir);
> +     }
> +     
> +     public void testGET() throws ProtocolException, IOException {
> +             HttpProtocol httpProtocol = new HttpProtocol();
> +             httpProtocol.connect("svn.apache.org", new NoAuthentication());
> +             assertTrue(httpProtocol.connected());
> +             httpProtocol.cd(new 
> ProtocolFile("repos/asf/oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http",
>  true));
> +             File bogus = File.createTempFile("bogus", "bogus");
> +             File tmpDir = new File(bogus.getParentFile(), 
> "TestHttpProtocol");
> +             bogus.delete();
> +             tmpDir.mkdirs();
> +             File toFile = new File(tmpDir, "TestHttpProtocol.java");
> +             httpProtocol.get(new ProtocolFile("TestHttpProtocol.java", 
> false), toFile);
> +             assertTrue(toFile.exists());
> +             assertNotSame(0, toFile.length());
> +             
> +             String fileContent = "";
> +             Scanner scanner = new Scanner(toFile);
> +             while(scanner.hasNextLine()) {
> +                     fileContent += scanner.nextLine();
> +             }
> +             assertEquals(fileContent, 
> HttpUtils.readUrl(HttpUtils.connect(new 
> URL("http://svn.apache.org/repos/asf/oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/TestHttpProtocol.java";))));
> +             FileUtils.forceDelete(tmpDir);
> +     }
> }
> 
> Modified: 
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/util/TestHttpUtils.java
> URL: 
> http://svn.apache.org/viewvc/oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/util/TestHttpUtils.java?rev=1131269&r1=1131268&r2=1131269&view=diff
> ==============================================================================
> --- 
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/util/TestHttpUtils.java
>  (original)
> +++ 
> oodt/branches/protocol/protocol-http/src/test/org/apache/oodt/cas/protocol/http/util/TestHttpUtils.java
>  Fri Jun  3 22:28:12 2011
> @@ -153,7 +153,6 @@ public class TestHttpUtils extends TestC
>               URL url = new URL(APACHE_SVN_SITE + PARENT_URL_OF_THIS_TEST);
>               HttpFile parent = new HttpFile(PARENT_URL_OF_THIS_TEST, true, 
> url, null);
>               HttpURLConnection conn = HttpUtils.connect(url);
> -             System.out.println(HttpUtils.readUrl(conn));
>               List<HttpFile> httpFiles = HttpUtils.findLinks(parent);
>               boolean foundThisTest = false;
>               for (HttpFile httpFile : httpFiles) {
> 
> 


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: [email protected]
WWW:   http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Reply via email to