Author: olamy
Date: Thu Sep 8 09:33:34 2011
New Revision: 1166585
URL: http://svn.apache.org/viewvc?rev=1166585&view=rev
Log:
[MRM-1510] api to configure NetworkProxy : use it webapp
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyAction.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyActionTest.java
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyAction.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyAction.java?rev=1166585&r1=1166584&r2=1166585&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyAction.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyAction.java
Thu Sep 8 09:33:34 2011
@@ -21,18 +21,13 @@ package org.apache.maven.archiva.web.act
import com.opensymphony.xwork2.Preparable;
import com.opensymphony.xwork2.Validateable;
+import org.apache.archiva.admin.repository.RepositoryAdminException;
+import org.apache.archiva.admin.repository.networkproxy.NetworkProxy;
+import org.apache.archiva.admin.repository.networkproxy.NetworkProxyAdmin;
import org.apache.archiva.security.common.ArchivaRoleConstants;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.functors.NotPredicate;
import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.Configuration;
-import
org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
-import org.apache.maven.archiva.configuration.NetworkProxyConfiguration;
-import
org.apache.maven.archiva.configuration.functors.NetworkProxySelectionPredicate;
import org.apache.maven.archiva.web.action.AbstractActionSupport;
import org.codehaus.plexus.redback.rbac.Resource;
-import org.codehaus.plexus.registry.RegistryException;
import org.codehaus.redback.integration.interceptor.SecureAction;
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
import org.codehaus.redback.integration.interceptor.SecureActionException;
@@ -54,13 +49,13 @@ public class ConfigureNetworkProxyAction
{
@Inject
- private ArchivaConfiguration archivaConfiguration;
+ private NetworkProxyAdmin networkProxyAdmin;
private String mode;
private String proxyid;
- private NetworkProxyConfiguration proxy;
+ private NetworkProxy proxy;
public String add()
{
@@ -74,8 +69,8 @@ public class ConfigureNetworkProxyAction
}
public String delete()
+ throws RepositoryAdminException
{
- Configuration config = archivaConfiguration.getConfiguration();
String id = getProxyid();
if ( StringUtils.isBlank( id ) )
@@ -84,18 +79,16 @@ public class ConfigureNetworkProxyAction
return SUCCESS;
}
- NetworkProxySelectionPredicate networkProxySelection = new
NetworkProxySelectionPredicate( id );
- NetworkProxyConfiguration proxyConfig =
- (NetworkProxyConfiguration) CollectionUtils.find(
config.getNetworkProxies(), networkProxySelection );
- if ( proxyConfig == null )
+ NetworkProxy networkProxy = getNetworkProxyAdmin().getNetworkProxy( id
);
+ if ( networkProxy == null )
{
addActionError( "Unable to remove network proxy, proxy with id ["
+ id + "] not found." );
return SUCCESS;
}
- archivaConfiguration.getConfiguration().removeNetworkProxy(
proxyConfig );
+ getNetworkProxyAdmin().deleteNetworkProxy( id, getAuditInformation() );
addActionMessage( "Successfully removed network proxy [" + id + "]" );
- return saveConfiguration();
+ return SUCCESS;
}
public String edit()
@@ -109,7 +102,7 @@ public class ConfigureNetworkProxyAction
return mode;
}
- public NetworkProxyConfiguration getProxy()
+ public NetworkProxy getProxy()
{
return proxy;
}
@@ -147,11 +140,12 @@ public class ConfigureNetworkProxyAction
if ( proxy == null )
{
- proxy = new NetworkProxyConfiguration();
+ proxy = new NetworkProxy();
}
}
public String save()
+ throws RepositoryAdminException
{
String mode = getMode();
@@ -159,19 +153,14 @@ public class ConfigureNetworkProxyAction
if ( StringUtils.equalsIgnoreCase( "edit", mode ) )
{
- removeNetworkProxy( id );
+ getNetworkProxyAdmin().updateNetworkProxy( proxy,
getAuditInformation() );
}
else
{
- if ( findNetworkProxy( id ) != null )
- {
- addActionError( "Unable to add new repository with id [" + id
+ "], that id already exists." );
- return INPUT;
- }
+ getNetworkProxyAdmin().addNetworkProxy( proxy,
getAuditInformation() );
}
- addNetworkProxy( getProxy() );
- return saveConfiguration();
+ return SUCCESS;
}
public void validate()
@@ -185,7 +174,7 @@ public class ConfigureNetworkProxyAction
this.mode = mode;
}
- public void setProxy( NetworkProxyConfiguration proxy )
+ public void setProxy( NetworkProxy proxy )
{
this.proxy = proxy;
}
@@ -195,47 +184,19 @@ public class ConfigureNetworkProxyAction
this.proxyid = proxyid;
}
- private void addNetworkProxy( NetworkProxyConfiguration proxy )
- {
- archivaConfiguration.getConfiguration().addNetworkProxy( proxy );
- }
- private NetworkProxyConfiguration findNetworkProxy( String id )
+ private NetworkProxy findNetworkProxy( String id )
+ throws RepositoryAdminException
{
- Configuration config = archivaConfiguration.getConfiguration();
-
- NetworkProxySelectionPredicate selectedProxy = new
NetworkProxySelectionPredicate( id );
-
- return (NetworkProxyConfiguration) CollectionUtils.find(
config.getNetworkProxies(), selectedProxy );
+ return getNetworkProxyAdmin().getNetworkProxy( id );
}
private void removeNetworkProxy( String id )
+ throws RepositoryAdminException
{
- NetworkProxySelectionPredicate selectedProxy = new
NetworkProxySelectionPredicate( id );
- NotPredicate notSelectedProxy = new NotPredicate( selectedProxy );
- CollectionUtils.filter(
archivaConfiguration.getConfiguration().getNetworkProxies(), notSelectedProxy );
+ getNetworkProxyAdmin().deleteNetworkProxy( id, getAuditInformation() );
}
- private String saveConfiguration()
- {
- try
- {
- archivaConfiguration.save( archivaConfiguration.getConfiguration()
);
- addActionMessage( "Successfully saved configuration" );
- }
- catch ( RegistryException e )
- {
- addActionError( "Unable to save configuration: " + e.getMessage()
);
- return INPUT;
- }
- catch ( IndeterminateConfigurationException e )
- {
- addActionError( e.getMessage() );
- return INPUT;
- }
-
- return SUCCESS;
- }
private void trimAllRequestParameterValues()
{
@@ -264,4 +225,15 @@ public class ConfigureNetworkProxyAction
proxy.setUsername( proxy.getUsername().trim() );
}
}
+
+ public NetworkProxyAdmin getNetworkProxyAdmin()
+ {
+ return networkProxyAdmin;
+ }
+
+ public void setNetworkProxyAdmin( NetworkProxyAdmin networkProxyAdmin )
+ {
+ this.networkProxyAdmin = networkProxyAdmin;
+ }
}
+
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyActionTest.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyActionTest.java?rev=1166585&r1=1166584&r2=1166585&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyActionTest.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp/src/test/java/org/apache/maven/archiva/web/action/admin/networkproxies/ConfigureNetworkProxyActionTest.java
Thu Sep 8 09:33:34 2011
@@ -26,6 +26,7 @@ import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
+import org.apache.archiva.admin.repository.networkproxy.NetworkProxy;
import org.apache.maven.archiva.configuration.NetworkProxyConfiguration;
import
org.apache.maven.archiva.web.action.admin.repositories.DefaultActionValidatorManagerFactory;
import org.apache.archiva.web.validator.utils.ValidatorUtil;
@@ -77,8 +78,8 @@ public class ConfigureNetworkProxyAction
public void testStruts2ValidationFrameworkWithNullInputs() throws Exception
{
// prep
- NetworkProxyConfiguration networkProxyConfiguration =
createNetworkProxyConfiguration(null, null, null, null);
- configureNetworkProxyAction.setProxy(networkProxyConfiguration);
+ NetworkProxy networkProxy = createNetworkProxy(null, null, null, null);
+ configureNetworkProxyAction.setProxy(networkProxy);
// test
actionValidatorManager.validate(configureNetworkProxyAction,
VALIDATION_CONTEXT);
@@ -110,8 +111,8 @@ public class ConfigureNetworkProxyAction
public void testStruts2ValidationFrameworkWithBlankInputs() throws
Exception
{
// prep
- NetworkProxyConfiguration networkProxyConfiguration =
createNetworkProxyConfiguration(EMPTY_STRING, EMPTY_STRING, EMPTY_STRING,
EMPTY_STRING);
- configureNetworkProxyAction.setProxy(networkProxyConfiguration);
+ NetworkProxy networkProxy = createNetworkProxy(EMPTY_STRING,
EMPTY_STRING, EMPTY_STRING, EMPTY_STRING);
+ configureNetworkProxyAction.setProxy(networkProxy);
// test
actionValidatorManager.validate(configureNetworkProxyAction,
VALIDATION_CONTEXT);
@@ -143,8 +144,10 @@ public class ConfigureNetworkProxyAction
public void testStruts2ValidationFrameworkWithInvalidInputs() throws
Exception
{
// prep
- NetworkProxyConfiguration networkProxyConfiguration =
createNetworkProxyConfiguration(PROXY_ID_INVALID_INPUT,
PROXY_HOST_INVALID_INPUT, PROXY_PORT_INVALID_INPUT,
PROXY_PROTOCOL_INVALID_INPUT, PROXY_USERNAME_INVALID_INPUT);
- configureNetworkProxyAction.setProxy(networkProxyConfiguration);
+ NetworkProxy networkProxy = createNetworkProxy(
PROXY_ID_INVALID_INPUT, PROXY_HOST_INVALID_INPUT,
+
PROXY_PORT_INVALID_INPUT, PROXY_PROTOCOL_INVALID_INPUT,
+
PROXY_USERNAME_INVALID_INPUT );
+ configureNetworkProxyAction.setProxy(networkProxy);
// test
actionValidatorManager.validate(configureNetworkProxyAction,
VALIDATION_CONTEXT);
@@ -184,8 +187,8 @@ public class ConfigureNetworkProxyAction
public void testStruts2ValidationFrameworkWithValidInputs() throws
Exception
{
// prep
- NetworkProxyConfiguration networkProxyConfiguration =
createNetworkProxyConfiguration(PROXY_ID_VALID_INPUT, PROXY_HOST_VALID_INPUT,
PROXY_PORT_VALID_INPUT, PROXY_PROTOCOL_VALID_INPUT, PROXY_USERNAME_VALID_INPUT);
- configureNetworkProxyAction.setProxy(networkProxyConfiguration);
+ NetworkProxy networkProxy = createNetworkProxy(PROXY_ID_VALID_INPUT,
PROXY_HOST_VALID_INPUT, PROXY_PORT_VALID_INPUT, PROXY_PROTOCOL_VALID_INPUT,
PROXY_USERNAME_VALID_INPUT);
+ configureNetworkProxyAction.setProxy(networkProxy);
// test
actionValidatorManager.validate(configureNetworkProxyAction,
VALIDATION_CONTEXT);
@@ -194,26 +197,26 @@ public class ConfigureNetworkProxyAction
assertFalse(configureNetworkProxyAction.hasFieldErrors());
}
- private NetworkProxyConfiguration createNetworkProxyConfiguration(String
id, String host, int port, String protocol, String username)
+ private NetworkProxy createNetworkProxy(String id, String host, int port,
String protocol, String username)
{
- NetworkProxyConfiguration networkProxyConfiguration = new
NetworkProxyConfiguration();
- networkProxyConfiguration.setId(id);
- networkProxyConfiguration.setHost(host);
- networkProxyConfiguration.setPort(port);
- networkProxyConfiguration.setProtocol(protocol);
- networkProxyConfiguration.setUsername(username);
- return networkProxyConfiguration;
+ NetworkProxy networkProxy = new NetworkProxy();
+ networkProxy.setId( id );
+ networkProxy.setHost( host );
+ networkProxy.setPort( port );
+ networkProxy.setProtocol( protocol );
+ networkProxy.setUsername( username );
+ return networkProxy;
}
// over-loaded
// for simulating empty/null form purposes; excluding primitive data-typed
values
- private NetworkProxyConfiguration createNetworkProxyConfiguration(String
id, String host, String protocol, String username)
+ private NetworkProxy createNetworkProxy(String id, String host, String
protocol, String username)
{
- NetworkProxyConfiguration networkProxyConfiguration = new
NetworkProxyConfiguration();
- networkProxyConfiguration.setId(id);
- networkProxyConfiguration.setHost(host);
- networkProxyConfiguration.setProtocol(protocol);
- networkProxyConfiguration.setUsername(username);
- return networkProxyConfiguration;
+ NetworkProxy networkProxy = new NetworkProxy();
+ networkProxy.setId( id );
+ networkProxy.setHost( host );
+ networkProxy.setProtocol( protocol );
+ networkProxy.setUsername( username );
+ return networkProxy;
}
}