diff --git a/linkcheck/src/main/org/apache/maven/linkcheck/validation/HTTPLinkValidator.java b/linkcheck/src/main/org/apache/maven/linkcheck/validation/HTTPLinkValidator.java index 0c206f5b..139f45d5 100644 --- a/linkcheck/src/main/org/apache/maven/linkcheck/validation/HTTPLinkValidator.java +++ b/linkcheck/src/main/org/apache/maven/linkcheck/validation/HTTPLinkValidator.java @@ -60,6 +60,7 @@ import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HostConfiguration; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.HttpState; +import org.apache.commons.httpclient.StatusLine; import org.apache.commons.httpclient.UsernamePasswordCredentials; import org.apache.commons.httpclient.methods.GetMethod; import org.apache.commons.logging.Log; @@ -68,7 +69,7 @@ import org.apache.commons.logging.LogFactory; /** * Checks links which are normal URLs * @author Ben Walding - * @version $Id: HTTPLinkValidator.java,v 1.8 2003/09/13 21:48:08 bwalding Exp $ + * @version $Id: HTTPLinkValidator.java,v 1.9 2003/10/17 14:15:01 bwalding Exp $ */ public class HTTPLinkValidator implements LinkValidator { @@ -135,6 +136,12 @@ public class HTTPLinkValidator implements LinkValidator // execute the GET GetMethod gm = checkLink(cl, link); + StatusLine sl = gm.getStatusLine(); + + if (sl == null) { + LOG.info("Unknown error validating link : " + link); + return LVR_VALID; + } if (gm.getStatusCode() == 302) { diff --git a/linkcheck/src/test/org/apache/maven/linkcheck/validation/HTTPLinkValidatorTest.java b/linkcheck/src/test/org/apache/maven/linkcheck/validation/HTTPLinkValidatorTest.java new file mode 100644 index 00000000..e5318cf8 --- /dev/null +++ b/linkcheck/src/test/org/apache/maven/linkcheck/validation/HTTPLinkValidatorTest.java @@ -0,0 +1,30 @@ +package org.apache.maven.linkcheck.validation; + +import java.io.File; + +import junit.framework.TestCase; + +/** + * @author Ben Walding + * @version $Id: HTTPLinkValidatorTest.java,v 1.1 2003/10/17 14:15:01 bwalding Exp $ + */ +public class HTTPLinkValidatorTest extends TestCase +{ + + public void testValidateLink() + { + //I've disabled these as they require access to the net. Ultimately + //I'd like to setup a temporary internal webserver during testing. + //Probably a test repository so it can be used for a variety of things. + //checkLink("http://www.example.com"); + //checkLink("http://www.example.com>);"); + } + + protected LinkValidationResult checkLink(String link) + { + HTTPLinkValidator hlv = new HTTPLinkValidator(null, null, null, null); + LinkValidationItem lvi = new LinkValidationItem(new File("."), link); + return hlv.validateLink(lvi); + } + +} \ No newline at end of file