Author: brett
Date: Sat Sep 30 07:09:20 2006
New Revision: 451603
URL: http://svn.apache.org/viewvc?view=rev&rev=451603
Log:
[MRM-191] don't allow proxy requests if no proxy configured
Modified:
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyManager.java
Modified:
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyManager.java
URL:
http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyManager.java?view=diff&rev=451603&r1=451602&r2=451603
==============================================================================
---
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyManager.java
(original)
+++
maven/archiva/trunk/archiva-core/src/main/java/org/apache/maven/archiva/proxy/DefaultProxyManager.java
Sat Sep 30 07:09:20 2006
@@ -23,6 +23,9 @@
import org.apache.maven.archiva.configuration.ProxiedRepositoryConfiguration;
import org.apache.maven.archiva.configuration.Proxy;
import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ConfigurationChangeListener;
+import org.apache.maven.archiva.configuration.InvalidConfigurationException;
+import org.apache.maven.archiva.configuration.ConfigurationChangeException;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.wagon.ResourceDoesNotExistException;
import org.apache.maven.wagon.proxy.ProxyInfo;
@@ -46,7 +49,7 @@
*/
public class DefaultProxyManager
extends AbstractLogEnabled
- implements ProxyManager
+ implements ProxyManager, ConfigurationChangeListener
{
/**
* @plexus.requirement
@@ -143,6 +146,8 @@
try
{
configuration = configurationStore.getConfigurationFromStore();
+
+ configurationStore.addChangeListener( this );
}
catch ( ConfigurationStoreException e )
{
@@ -153,7 +158,7 @@
}
private Map getProxyGroups()
- throws ProxyException
+ throws ProxyException, ResourceDoesNotExistException
{
if ( proxyGroups == null )
{
@@ -170,8 +175,11 @@
List proxiedRepositories =
getProxiedRepositoriesForManagedRepository(
configuration.getProxiedRepositories(), repository.getId()
);
- groups.put( repository.getId(),
- new ProxiedRepositoryGroup( proxiedRepositories,
managedRepository, wagonProxy ) );
+ if ( !proxiedRepositories.isEmpty() )
+ {
+ groups.put( repository.getId(),
+ new ProxiedRepositoryGroup(
proxiedRepositories, managedRepository, wagonProxy ) );
+ }
}
// TODO: ability to configure default proxy separately!
@@ -233,5 +241,14 @@
proxyInfo.setType( proxy.getProtocol() );
}
return proxyInfo;
+ }
+
+ public void notifyOfConfigurationChange( Configuration configuration )
+ throws InvalidConfigurationException, ConfigurationChangeException
+ {
+ // reinit
+ proxyGroups = null;
+ defaultProxyGroup = null;
+ getLogger().debug( "Re-initialising proxy configuration" );
}
}