From: Edwin L. Punzalan Date: Wed, 14 Jun 2006 03:48:25 +0000 (+0000) Subject: moved configuration validations inside the configuration object X-Git-Tag: archiva-0.9-alpha-1~817 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=3e28334fa352197d7ef1b0bdd391043d8581b1cf;p=archiva.git 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 --- diff --git a/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/MavenProxyPropertyLoader.java b/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/MavenProxyPropertyLoader.java index 3fb52cc05..a8a26c23f 100644 --- a/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/MavenProxyPropertyLoader.java +++ b/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/MavenProxyPropertyLoader.java @@ -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() ); - } - } - } - } - } \ No newline at end of file diff --git a/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java b/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java index 8a9927159..343792d6a 100644 --- a/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java +++ b/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java @@ -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() ); + } + } + } + } }