diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java index ad3d832be..467b7b4c4 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AbstractProxyConnectorFormAction.java @@ -21,9 +21,10 @@ package org.apache.maven.archiva.web.action.admin.connectors.proxy; import com.opensymphony.xwork2.Preparable; import org.apache.archiva.admin.model.RepositoryAdminException; +import org.apache.archiva.admin.model.networkproxy.NetworkProxy; +import org.apache.archiva.admin.model.networkproxy.NetworkProxyAdmin; import org.apache.archiva.admin.model.proxyconnector.ProxyConnector; import org.apache.commons.lang.StringUtils; -import org.apache.maven.archiva.configuration.ArchivaConfiguration; import org.apache.maven.archiva.policies.DownloadErrorPolicy; import org.apache.maven.archiva.policies.Policy; import org.apache.maven.archiva.policies.PostDownloadPolicy; @@ -32,6 +33,8 @@ import org.apache.maven.archiva.policies.PreDownloadPolicy; import javax.annotation.PostConstruct; import javax.inject.Inject; import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -96,7 +99,7 @@ public abstract class AbstractProxyConnectorFormAction protected ProxyConnector connector; @Inject - private ArchivaConfiguration archivaConfiguration; + private NetworkProxyAdmin networkProxyAdmin; @PostConstruct public void initialize() @@ -395,15 +398,33 @@ public abstract class AbstractProxyConnectorFormAction } protected List createNetworkProxyOptions() + throws RepositoryAdminException { List options = new ArrayList(); options.add( DIRECT_CONNECTION ); - options.addAll( archivaConfiguration.getConfiguration().getNetworkProxiesAsMap().keySet() ); + options.addAll( getNetworkProxiesKeys() ); return options; } + private Collection getNetworkProxiesKeys() + throws RepositoryAdminException + { + List networkProxies = networkProxyAdmin.getNetworkProxies(); + if ( networkProxies == null || networkProxies.isEmpty() ) + { + return Collections.emptyList(); + } + List keys = new ArrayList( networkProxies.size() ); + for ( NetworkProxy networkProxy : networkProxies ) + { + keys.add( networkProxy.getId() ); + } + return keys; + + } + protected Map createPolicyMap() { Map policyMap = new HashMap(); @@ -485,14 +506,13 @@ public abstract class AbstractProxyConnectorFormAction } } - // FIXME remove - public ArchivaConfiguration getArchivaConfiguration() + public NetworkProxyAdmin getNetworkProxyAdmin() { - return archivaConfiguration; + return networkProxyAdmin; } - public void setArchivaConfiguration( ArchivaConfiguration archivaConfiguration ) + public void setNetworkProxyAdmin( NetworkProxyAdmin networkProxyAdmin ) { - this.archivaConfiguration = archivaConfiguration; + this.networkProxyAdmin = networkProxyAdmin; } } diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java index dc9fa1741..4dedc5381 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/AddProxyConnectorActionTest.java @@ -45,7 +45,7 @@ import java.util.List; import java.util.Map; /** - * AddProxyConnectorActionTest + * AddProxyConnectorActionTest * * @version $Id$ */ @@ -68,7 +68,6 @@ public class AddProxyConnectorActionTest archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class ); archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock(); - action.setArchivaConfiguration( archivaConfiguration ); ( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration( archivaConfiguration ); ( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration( @@ -140,7 +139,7 @@ public class AddProxyConnectorActionTest assertEquals( 1, connector.getProperties().size() ); } - @SuppressWarnings("unchecked") + @SuppressWarnings( "unchecked" ) public void testAddProxyConnectorCommit() throws Exception { @@ -411,7 +410,7 @@ public class AddProxyConnectorActionTest archivaConfiguration.save( config ); } - @SuppressWarnings("unchecked") + @SuppressWarnings( "unchecked" ) private void populateProxyConnector( ProxyConnector connector ) { connector.setProxyId( AbstractProxyConnectorFormAction.DIRECT_CONNECTION ); diff --git a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java index fdc42f105..dc29899a3 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java +++ b/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/EditProxyConnectorActionTest.java @@ -68,16 +68,12 @@ public class EditProxyConnectorActionTest { super.setUp(); - //action = (EditProxyConnectorAction) lookup( Action.class.getName(), "editProxyConnectorAction" ); action = (EditProxyConnectorAction) getActionProxy( "/admin/editProxyConnector.action" ).getAction(); archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class ); archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock(); - action.setArchivaConfiguration( archivaConfiguration ); - /* Configuration will be requested at least 3 times. */ - archivaConfiguration.getConfiguration(); - archivaConfigurationControl.setReturnValue( new Configuration(), 3 ); + ( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration( archivaConfiguration ); @@ -98,13 +94,22 @@ public class EditProxyConnectorActionTest { Configuration config = createInitialConfiguration(); - archivaConfiguration.getConfiguration(); - archivaConfigurationControl.setReturnValue( config, requestConfigCount ); + archivaConfigurationControl.expectAndReturn( archivaConfiguration.getConfiguration(), config, + requestConfigCount , 20); + //archivaConfiguration.getConfiguration(); + //archivaConfigurationControl.setReturnValue( config, requestConfigCount ); for ( int i = 0; i <= saveRequestCount; i++ ) { archivaConfiguration.save( config ); } + + ( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration( + archivaConfiguration ); + ( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration( + archivaConfiguration ); + ( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration( + archivaConfiguration ); } public void testAddBlackListPattern() @@ -408,6 +413,9 @@ public class EditProxyConnectorActionTest public void testSecureActionBundle() throws Exception { + /* Configuration will be requested at least 3 times. */ + archivaConfiguration.getConfiguration(); + archivaConfigurationControl.setReturnValue( new Configuration(), 3 ); archivaConfigurationControl.replay(); action.prepare();