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) {


Reply via email to