Index: plexus-components/plexus-formica/src/test/java/org/codehaus/plexus/formica/validation/UrlValidatorTest.java =================================================================== --- plexus-components/plexus-formica/src/test/java/org/codehaus/plexus/formica/validation/UrlValidatorTest.java (revision 2413) +++ plexus-components/plexus-formica/src/test/java/org/codehaus/plexus/formica/validation/UrlValidatorTest.java (working copy) @@ -20,6 +20,8 @@ assertTrue( v.validate( "http://localhost/pom.xml" ) ); +// assertTrue( v.validate( "https://username:password@host/loc/pom.xml" ) ); + assertTrue( v.validate( "file://myserver/pom.xml" ) ); assertTrue( v.validate( "file:///pom.xml" ) ); Index: plexus-components/plexus-formica/src/test/java/org/codehaus/plexus/formica/validation/UrlSourceValidatorTest.java =================================================================== --- plexus-components/plexus-formica/src/test/java/org/codehaus/plexus/formica/validation/UrlSourceValidatorTest.java (revision 2413) +++ plexus-components/plexus-formica/src/test/java/org/codehaus/plexus/formica/validation/UrlSourceValidatorTest.java (working copy) @@ -47,4 +47,5 @@ assertFalse( v.validate( u ) ); } + } Index: plexus-components/plexus-formica/src/main/java/org/codehaus/plexus/formica/validation/UrlSourceValidator.java =================================================================== --- plexus-components/plexus-formica/src/main/java/org/codehaus/plexus/formica/validation/UrlSourceValidator.java (revision 2413) +++ plexus-components/plexus-formica/src/main/java/org/codehaus/plexus/formica/validation/UrlSourceValidator.java (working copy) @@ -3,17 +3,12 @@ */ package org.codehaus.plexus.formica.validation; -import org.apache.oro.text.regex.MalformedPatternException; -import org.apache.oro.text.regex.Pattern; -import org.apache.oro.text.regex.Perl5Compiler; -import org.apache.oro.text.regex.Perl5Matcher; -import org.codehaus.plexus.formica.FormicaException; -import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable; +import org.codehaus.plexus.formica.util.MungedHttpsURL; +import java.io.InputStream; import java.net.URL; -import java.net.MalformedURLException; -import java.io.InputStream; + /** * @plexus.component * role-hint="url-source" @@ -28,6 +23,7 @@ public class UrlSourceValidator extends AbstractValidator { + public boolean validate( String urlString ) { try @@ -38,13 +34,21 @@ // want to make sure the URL corresponds to an existing resource. // ---------------------------------------------------------------------- - //TODO: we need to support authentication (CONTINUUM-258) + // if it is a https connection then we have a bit more work to do, currently + // only accepting the munged https url that is resolved in MungedHttpsURL + if ( urlString != null && urlString.startsWith( "https" ) ) + { + return new MungedHttpsURL( urlString ).isValid(); + } + else + { - URL url = new URL( urlString ); + URL url = new URL( urlString ); - InputStream is = url.openStream(); + InputStream is = url.openStream(); - is.close(); + is.close(); + } } catch ( Exception e ) {