Author: epunzalan
Date: Sun Feb 19 19:42:00 2006
New Revision: 379010
URL: http://svn.apache.org/viewcvs?rev=379010&view=rev
Log:
PR: MRM-97
Added hardfail configuration option in ProxyRepository and implemented it in
DefaultProxyManager
Modified:
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/repository/ProxyRepository.java
Modified:
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
URL:
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java?rev=379010&r1=379009&r2=379010&view=diff
==============================================================================
---
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
(original)
+++
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/DefaultProxyManager.java
Sun Feb 19 19:42:00 2006
@@ -283,7 +283,8 @@
}
catch ( TransferFailedException e )
{
- getLogger().info( "Skipping repository " + repository.getUrl()
+ ": " + e.getMessage() );
+ String message = "Skipping repository " + repository.getUrl()
+ ": " + e.getMessage();
+ processRepositoryFailure( repository, message, e );
}
catch ( ResourceDoesNotExistException e )
{
@@ -292,12 +293,14 @@
}
catch ( AuthorizationException e )
{
- getLogger().info( "Skipping repository " + repository.getUrl()
+ ": " + e.getMessage() );
+ String message = "Skipping repository " + repository.getUrl()
+ ": " + e.getMessage();
+ processRepositoryFailure( repository, message, e );
}
catch ( UnsupportedProtocolException e )
{
- getLogger().info( "Skipping repository " + repository.getUrl()
+ ": no wagonManager configured " +
- "for protocol " + repository.getProtocol() );
+ String message = "Skipping repository " + repository.getUrl()
+ ": no wagonManager configured " +
+ "for protocol " + repository.getProtocol();
+ processRepositoryFailure( repository, message, e );
}
finally
{
@@ -556,6 +559,20 @@
catch ( ConnectionException e )
{
getLogger().error( "Problem disconnecting from wagonManager -
ignoring: " + e.getMessage() );
+ }
+ }
+
+ private void processRepositoryFailure( ProxyRepository repository, String
message, Throwable t )
+ throws ProxyException
+ {
+ if ( repository.isHardfail() )
+ {
+ throw new ProxyException(
+ "An error occurred in hardfailing repository " +
repository.getName() + "...\n " + message, t );
+ }
+ else
+ {
+ getLogger().debug( message, t );
}
}
}
Modified:
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java
URL:
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java?rev=379010&r1=379009&r2=379010&view=diff
==============================================================================
---
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java
(original)
+++
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/configuration/ProxyConfiguration.java
Sun Feb 19 19:42:00 2006
@@ -170,13 +170,14 @@
ProxyRepository repo = new ProxyRepository(
repoConfig.getKey(), repoConfig.getUrl(), layout );
repo.setCacheFailures( repoConfig.getCacheFailures() );
repo.setCachePeriod( repoConfig.getCachePeriod() );
+ repo.setHardfail( repoConfig.getHardFail() );
if ( repoConfig instanceof HttpRepoConfiguration )
{
HttpRepoConfiguration httpRepo = (HttpRepoConfiguration)
repoConfig;
MavenProxyConfiguration httpProxy = httpRepo.getProxy();
- repo.setProxy( httpProxy.getHost(), httpProxy.getPort(),
- httpProxy.getUsername(),
httpProxy.getPassword() );
+ repo.setProxy( httpProxy.getHost(), httpProxy.getPort(),
httpProxy.getUsername(),
+ httpProxy.getPassword() );
}
repoList.add( repo );
Modified:
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/repository/ProxyRepository.java
URL:
http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/repository/ProxyRepository.java?rev=379010&r1=379009&r2=379010&view=diff
==============================================================================
---
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/repository/ProxyRepository.java
(original)
+++
maven/repository-manager/trunk/maven-repository-proxy/src/main/java/org/apache/maven/repository/proxy/repository/ProxyRepository.java
Sun Feb 19 19:42:00 2006
@@ -34,6 +34,8 @@
private boolean cacheFailures = false;
+ private boolean hardfail = false;
+
private ProxyInfo proxy;
public ProxyRepository( String id, String url, ArtifactRepositoryLayout
layout, boolean cacheFailures,
@@ -117,5 +119,26 @@
public void setProxy( ProxyInfo proxy )
{
this.proxy = proxy;
+ }
+
+ /**
+ * Checks the repository hardfail setting.
+ *
+ * @return true if the hardfail is enabled, otherwise, returns false.
+ */
+ public boolean isHardfail()
+ {
+ return hardfail;
+ }
+
+ /**
+ * If hardfail is set to true, then any unexpected errors from retrieving
files from this repository
+ * will cause the download to fail.
+ *
+ * @param hardfail set to true to enable hard failures
+ */
+ public void setHardfail( boolean hardfail )
+ {
+ this.hardfail = hardfail;
}
}