Index: src/test/java/org/apache/maven/settings/SettingsTest.java
===================================================================
--- src/test/java/org/apache/maven/settings/SettingsTest.java (revision 0)
+++ src/test/java/org/apache/maven/settings/SettingsTest.java (revision 0)
@@ -0,0 +1,33 @@
+package org.apache.maven.settings;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+public class SettingsTest extends TestCase {
+
+ private Settings settingsNoProxies;
+ private Settings settingsOneInactiveProxy;
+ private Settings settingsOneActiveProxy;
+
+
+ protected void setUp() throws Exception {
+
+ super.setUp();
+
+ // Read different settings files for proxy testing.
+ DefaultMavenSettingsBuilder settingsBuilder = new DefaultMavenSettingsBuilder();
+ settingsNoProxies = settingsBuilder.buildSettings(new File("src/test/resources/org/apache/maven/settings/settings-no-proxies.xml"), false);
+ settingsOneInactiveProxy = settingsBuilder.buildSettings(new File("src/test/resources/org/apache/maven/settings/settings-one-inactive-proxy.xml"), false);
+ settingsOneActiveProxy = settingsBuilder.buildSettings(new File("src/test/resources/org/apache/maven/settings/settings-one-active-proxy.xml"), false);
+
+ }
+
+
+ public void testProxySettings() {
+
+ assertNull(settingsNoProxies.getActiveProxy());
+ assertNull(settingsOneInactiveProxy.getActiveProxy());
+ assertNotNull(settingsOneActiveProxy.getActiveProxy());
+ }
+}
Index: src/test/resources/org/apache/maven/settings/settings-no-proxies.xml
===================================================================
--- src/test/resources/org/apache/maven/settings/settings-no-proxies.xml (revision 0)
+++ src/test/resources/org/apache/maven/settings/settings-no-proxies.xml (revision 0)
@@ -0,0 +1,6 @@
+
+
+
+
+
+
Index: src/test/resources/org/apache/maven/settings/settings-one-active-proxy.xml
===================================================================
--- src/test/resources/org/apache/maven/settings/settings-one-active-proxy.xml (revision 0)
+++ src/test/resources/org/apache/maven/settings/settings-one-active-proxy.xml (revision 0)
@@ -0,0 +1,15 @@
+
+
+
+
+ true
+ http
+ proxyuser
+ proxypass
+ proxy.host.net
+ 80
+ local.net,some.host.com
+
+
+
+
Index: src/test/resources/org/apache/maven/settings/settings-one-inactive-proxy.xml
===================================================================
--- src/test/resources/org/apache/maven/settings/settings-one-inactive-proxy.xml (revision 0)
+++ src/test/resources/org/apache/maven/settings/settings-one-inactive-proxy.xml (revision 0)
@@ -0,0 +1,15 @@
+
+
+
+
+ false
+ http
+ proxyuser
+ proxypass
+ proxy.host.net
+ 80
+ local.net,some.host.com
+
+
+
+
Index: src/main/mdo/settings.mdo
===================================================================
--- src/main/mdo/settings.mdo (revision 737823)
+++ src/main/mdo/settings.mdo (working copy)
@@ -295,23 +295,15 @@
java.util.List proxies = getProxies();
if ( proxies != null && !proxies.isEmpty() )
{
- if ( proxies.size() > 1 )
+ for ( java.util.Iterator it = proxies.iterator(); it.hasNext(); )
{
- for ( java.util.Iterator it = proxies.iterator(); it.hasNext(); )
+ Proxy proxy = (Proxy) it.next();
+ if ( proxy.isActive() )
{
- Proxy proxy = (Proxy) it.next();
- if ( proxy.isActive() )
- {
- activeProxy = proxy;
- break;
- }
+ activeProxy = proxy;
+ break;
}
}
- else
- {
- // If we only have one proxy, use it as the active one.
- activeProxy = (Proxy) proxies.get( 0 );
- }
}
}
Index: src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java
===================================================================
--- src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java (revision 737823)
+++ src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java (working copy)
@@ -89,7 +89,7 @@
{
Settings settings = null;
- if ( settingsFile.exists() && settingsFile.isFile() )
+ if ( settingsFile != null && settingsFile.exists() && settingsFile.isFile() )
{
Reader reader = null;
try