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" );
     }
 }


Reply via email to