moved configuration validations inside the configuration object

git-svn-id: https://svn.apache.org/repos/asf/maven/repository-manager/trunk@414043 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Edwin L. Punzalan 2006-06-14 03:48:25 +00:00
parent d58fe15c35
commit 3e28334fa3
2 changed files with 43 additions and 45 deletions

View File

@ -20,12 +20,10 @@ import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
import org.apache.maven.repository.proxy.repository.ProxyRepository;
import org.codehaus.plexus.util.StringUtils;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import java.util.StringTokenizer;
@ -116,26 +114,11 @@ public class MavenProxyPropertyLoader
config.setRepositories( repositories );
validateDirectories( config );
validateRemoteRepo( config );
config.validate();
return config;
}
/**
* @todo should be shared with any other configuration loader - move method to configuration?
*/
private static void validateRemoteRepo( ProxyConfiguration configuration )
throws ValidationException
{
//Verify remote repository set
//only warn if missing
if ( configuration.getRepositories().size() < 1 )
{
throw new ValidationException( "At least one remote repository must be configured." );
}
}
private Properties getSubset( Properties props, String prefix )
{
Enumeration keys = props.keys();
@ -173,31 +156,4 @@ public class MavenProxyPropertyLoader
return value;
}
/**
* @todo should be shared with any other configuration loader - move method to configuration?
*/
private static void validateDirectories( ProxyConfiguration configuration )
throws ValidationException
{
File f = new File( configuration.getRepositoryCachePath() );
if ( !f.exists() )
{
throw new ValidationException( "Specified directory does not exist: " + f.getAbsolutePath() );
}
for ( Iterator repos = configuration.getRepositories().iterator(); repos.hasNext(); )
{
ProxyRepository repo = (ProxyRepository) repos.next();
if ( repo.getUrl().startsWith( "file://" ) )
{
File f2 = new File( repo.getBasedir() );
if ( !f2.exists() )
{
throw new ValidationException( "Specified directory does not exist: " + f2.getAbsolutePath() );
}
}
}
}
}

View File

@ -23,6 +23,7 @@ import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Iterator;
/**
* Class to represent the configuration file for the proxy
@ -141,4 +142,45 @@ public class ProxyConfiguration
{
this.layout = layout;
}
public void validate()
throws ValidationException
{
validateRemoteRepo();
validateDirectories();
}
private void validateRemoteRepo( )
throws ValidationException
{
//Verify remote repository set
//only warn if missing
if ( getRepositories().size() < 1 )
{
throw new ValidationException( "At least one remote repository must be configured." );
}
}
private void validateDirectories()
throws ValidationException
{
File f = new File( getRepositoryCachePath() );
if ( !f.exists() )
{
throw new ValidationException( "Specified directory does not exist: " + f.getAbsolutePath() );
}
for ( Iterator repos = getRepositories().iterator(); repos.hasNext(); )
{
ProxyRepository repo = (ProxyRepository) repos.next();
if ( repo.getUrl().startsWith( "file://" ) )
{
File f2 = new File( repo.getBasedir() );
if ( !f2.exists() )
{
throw new ValidationException( "Specified directory does not exist: " + f2.getAbsolutePath() );
}
}
}
}
}