in src/main/java/org/apache/maven/doxia/linkcheck/validation/LinkValidatorManager.java [323:365]
protected static boolean matchPattern( String link, String pattern )
{
if ( pattern == null || pattern.isEmpty() )
{
return link == null || link.isEmpty();
}
if ( pattern.indexOf( '*' ) == -1 )
{
if ( pattern.endsWith( "/" ) )
{
return link.indexOf( pattern.substring( 0, pattern.lastIndexOf( '/' ) ) ) != -1;
}
return link.indexOf( pattern ) != -1;
}
try
{
URI uri = new URI( link );
if ( uri.getScheme() != null && !pattern.startsWith( uri.getScheme() ) )
{
return false;
}
}
catch ( URISyntaxException ex )
{
LOG.debug( "Trying to check link to illegal URI: " + link, ex );
}
if ( pattern.matches( "\\*+/?.*" ) && !link.startsWith( "/" ) && !link.startsWith( "./" ) )
{
link = "./" + link;
}
String diff = StringUtils.difference( link, pattern );
if ( diff.startsWith( "/" ) )
{
return SelectorUtils.match( pattern, link + "/" );
}
return SelectorUtils.match( pattern, link );
}