mirror of
https://github.com/apache/archiva.git
synced 2025-02-21 01:15:08 +00:00
MRM-1507 : api to configure ProxyConnector : use it in the webapp
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1166392 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
a2dd1fd1a4
commit
9acde9b594
@ -51,6 +51,16 @@
|
||||
<dependency>
|
||||
<groupId>net.sf.beanlib</groupId>
|
||||
<artifactId>beanlib</artifactId>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>cglib</groupId>
|
||||
<artifactId>cglib</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>aopalliance</groupId>
|
||||
<artifactId>aopalliance</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
|
@ -140,6 +140,19 @@ public Boolean deleteProxyConnector( ProxyConnector proxyConnector, AuditInforma
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
public Boolean updateProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
Configuration configuration = getArchivaConfiguration().getConfiguration();
|
||||
ProxyConnectorConfiguration proxyConnectorConfiguration =
|
||||
findProxyConnector( proxyConnector.getSourceRepoId(), proxyConnector.getTargetRepoId(), configuration );
|
||||
configuration.removeProxyConnector( proxyConnectorConfiguration );
|
||||
configuration.addProxyConnector( getProxyConnectorConfiguration( proxyConnector ) );
|
||||
triggerAuditEvent( proxyConnector.getSourceRepoId() + "-" + proxyConnector.getTargetRepoId(), null,
|
||||
AuditEvent.MODIFY_PROXY_CONNECTOR, auditInformation );
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
protected List<String> unescapePatterns( List<String> patterns )
|
||||
{
|
||||
List<String> rawPatterns = new ArrayList<String>();
|
||||
@ -157,8 +170,7 @@ protected List<String> unescapePatterns( List<String> patterns )
|
||||
public Map<String, List<ProxyConnector>> getProxyConnectorAsMap()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
java.util.Map<String, List<ProxyConnector>> proxyConnectorMap =
|
||||
new HashMap<String, java.util.List<ProxyConnector>>();
|
||||
Map<String, List<ProxyConnector>> proxyConnectorMap = new HashMap<String, java.util.List<ProxyConnector>>();
|
||||
|
||||
Iterator<ProxyConnector> it = getProxyConnectors().iterator();
|
||||
while ( it.hasNext() )
|
||||
@ -166,7 +178,7 @@ public Map<String, List<ProxyConnector>> getProxyConnectorAsMap()
|
||||
ProxyConnector proxyConfig = it.next();
|
||||
String key = proxyConfig.getSourceRepoId();
|
||||
|
||||
java.util.List<ProxyConnector> connectors = proxyConnectorMap.get( key );
|
||||
List<ProxyConnector> connectors = proxyConnectorMap.get( key );
|
||||
if ( connectors == null )
|
||||
{
|
||||
connectors = new ArrayList<ProxyConnector>();
|
||||
@ -221,12 +233,17 @@ protected ProxyConnectorConfiguration getProxyConnectorConfiguration( ProxyConne
|
||||
proxyConnectorConfiguration.setSourceRepoId( proxyConnector.getSourceRepoId() );
|
||||
proxyConnectorConfiguration.setTargetRepoId( proxyConnector.getTargetRepoId() );
|
||||
return proxyConnectorConfiguration;*/
|
||||
return new BeanReplicator().replicateBean( proxyConnector, ProxyConnectorConfiguration.class );
|
||||
|
||||
return proxyConnector == null
|
||||
? null
|
||||
: new BeanReplicator().replicateBean( proxyConnector, ProxyConnectorConfiguration.class );
|
||||
}
|
||||
|
||||
protected ProxyConnector getProxyConnector( ProxyConnectorConfiguration proxyConnectorConfiguration )
|
||||
{
|
||||
return new BeanReplicator().replicateBean( proxyConnectorConfiguration, ProxyConnector.class );
|
||||
return proxyConnectorConfiguration == null
|
||||
? null
|
||||
: new BeanReplicator().replicateBean( proxyConnectorConfiguration, ProxyConnector.class );
|
||||
}
|
||||
|
||||
protected void validateProxyConnector( ProxyConnector proxyConnector )
|
||||
@ -246,6 +263,6 @@ protected void validateProxyConnector( ProxyConnector proxyConnector )
|
||||
+ " is not a RemoteRepository" );
|
||||
}
|
||||
|
||||
// FIXME validate NetworkProxyConfiguration too
|
||||
// FIXME validate NetworkProxyConfiguration too when available
|
||||
}
|
||||
}
|
||||
|
@ -25,7 +25,7 @@
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* No update method here as id is : sourceRepoId and targetRepoId, use delete then add.
|
||||
* <b>No update method for changing source and target here as id is : sourceRepoId and targetRepoId, use delete then add.</b>
|
||||
*
|
||||
* @author Olivier Lamy
|
||||
* @since 1.4
|
||||
@ -44,10 +44,22 @@ Boolean addProxyConnector( ProxyConnector proxyConnector, AuditInformation audit
|
||||
Boolean deleteProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
|
||||
throws RepositoryAdminException;
|
||||
|
||||
/**
|
||||
* <b>only for enabled/disable or changing bean values except target/source</b>
|
||||
* @param proxyConnector
|
||||
* @param auditInformation
|
||||
* @return
|
||||
* @throws RepositoryAdminException
|
||||
*/
|
||||
Boolean updateProxyConnector( ProxyConnector proxyConnector, AuditInformation auditInformation )
|
||||
throws RepositoryAdminException;
|
||||
|
||||
|
||||
Map<String, List<ProxyConnector>> getProxyConnectorAsMap()
|
||||
throws RepositoryAdminException;
|
||||
|
||||
ProxyConnector findProxyConnector( String sourceId, String targetId )
|
||||
throws RepositoryAdminException;
|
||||
|
||||
|
||||
}
|
||||
|
@ -136,4 +136,28 @@ public void findProxyConnector()
|
||||
assertNotNull( proxyConnector );
|
||||
}
|
||||
|
||||
@Test
|
||||
public void updateProxyConnector()
|
||||
throws Exception
|
||||
{
|
||||
ProxyConnector proxyConnector = proxyConnectorAdmin.findProxyConnector( "internal", "central" );
|
||||
assertNotNull( proxyConnector );
|
||||
proxyConnector.setDisabled( false );
|
||||
proxyConnectorAdmin.updateProxyConnector( proxyConnector, getFakeAuditInformation() );
|
||||
proxyConnector = proxyConnectorAdmin.findProxyConnector( "internal", "central" );
|
||||
assertFalse( proxyConnector.isDisabled() );
|
||||
|
||||
|
||||
proxyConnector.setDisabled( true );
|
||||
proxyConnectorAdmin.updateProxyConnector( proxyConnector, getFakeAuditInformation() );
|
||||
proxyConnector = proxyConnectorAdmin.findProxyConnector( "internal", "central" );
|
||||
assertTrue( proxyConnector.isDisabled() );
|
||||
|
||||
proxyConnector.setOrder( 4 );
|
||||
proxyConnectorAdmin.updateProxyConnector( proxyConnector, getFakeAuditInformation() );
|
||||
proxyConnector = proxyConnectorAdmin.findProxyConnector( "internal", "central" );
|
||||
assertEquals( 4, proxyConnector.getOrder() );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -485,6 +485,7 @@ protected void validateConnector()
|
||||
}
|
||||
}
|
||||
|
||||
// FIXME remove
|
||||
public ArchivaConfiguration getArchivaConfiguration()
|
||||
{
|
||||
return archivaConfiguration;
|
||||
|
@ -19,8 +19,9 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.archiva.admin.repository.RepositoryAdminException;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
@ -36,9 +37,10 @@ public class AddProxyConnectorAction
|
||||
{
|
||||
@Override
|
||||
public void prepare()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
super.prepare();
|
||||
connector = new ProxyConnectorConfiguration();
|
||||
connector = new ProxyConnector();
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -55,6 +57,7 @@ public String input()
|
||||
}
|
||||
|
||||
public String commit()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
/* Too complex for webwork's ${Action}-validation.xml techniques.
|
||||
* Not appropriate for use with webwork's implements Validatable, as that validates regardless of
|
||||
@ -65,7 +68,7 @@ public String commit()
|
||||
String sourceId = connector.getSourceRepoId();
|
||||
String targetId = connector.getTargetRepoId();
|
||||
|
||||
ProxyConnectorConfiguration otherConnector = findProxyConnector( sourceId, targetId );
|
||||
ProxyConnector otherConnector = findProxyConnector( sourceId, targetId );
|
||||
if ( otherConnector != null )
|
||||
{
|
||||
addActionError(
|
||||
@ -90,6 +93,6 @@ public String commit()
|
||||
connector.setWhiteListPatterns( unescapePatterns( connector.getWhiteListPatterns() ) );
|
||||
|
||||
addProxyConnector( connector );
|
||||
return saveConfiguration();
|
||||
return SUCCESS;
|
||||
}
|
||||
}
|
||||
|
@ -19,15 +19,16 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.archiva.admin.repository.RepositoryAdminException;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
/**
|
||||
* DeleteProxyConnectorAction
|
||||
* DeleteProxyConnectorAction
|
||||
*
|
||||
* @version $Id$
|
||||
*
|
||||
*/
|
||||
@Controller( "deleteProxyConnectorAction" )
|
||||
@Scope( "prototype" )
|
||||
@ -38,17 +39,19 @@ public class DeleteProxyConnectorAction
|
||||
|
||||
private String target;
|
||||
|
||||
private ProxyConnectorConfiguration proxyConfig;
|
||||
private ProxyConnector proxyConfig;
|
||||
|
||||
public String confirmDelete()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
this.proxyConfig = findProxyConnector( source, target );
|
||||
|
||||
// Not set? Then there is nothing to delete.
|
||||
if ( this.proxyConfig == null )
|
||||
{
|
||||
addActionError( "Unable to delete proxy configuration, configuration with source [" + source
|
||||
+ "], and target [" + target + "] does not exist." );
|
||||
addActionError(
|
||||
"Unable to delete proxy configuration, configuration with source [" + source + "], and target ["
|
||||
+ target + "] does not exist." );
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
@ -56,14 +59,16 @@ public String confirmDelete()
|
||||
}
|
||||
|
||||
public String delete()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
this.proxyConfig = findProxyConnector( source, target );
|
||||
|
||||
// Not set? Then there is nothing to delete.
|
||||
if ( this.proxyConfig == null )
|
||||
{
|
||||
addActionError( "Unable to delete proxy configuration, configuration with source [" + source
|
||||
+ "], and target [" + target + "] does not exist." );
|
||||
addActionError(
|
||||
"Unable to delete proxy configuration, configuration with source [" + source + "], and target ["
|
||||
+ target + "] does not exist." );
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
@ -71,14 +76,14 @@ public String delete()
|
||||
{
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
removeProxyConnector( proxyConfig );
|
||||
|
||||
getProxyConnectorAdmin().deleteProxyConnector( proxyConfig, getAuditInformation() );
|
||||
addActionMessage( "Successfully removed proxy connector [" + source + " , " + target + " ]" );
|
||||
|
||||
setSource( null );
|
||||
setTarget( null );
|
||||
|
||||
return saveConfiguration();
|
||||
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String getSource()
|
||||
@ -101,7 +106,7 @@ public void setTarget( String id )
|
||||
this.target = id;
|
||||
}
|
||||
|
||||
public ProxyConnectorConfiguration getProxyConfig()
|
||||
public ProxyConnector getProxyConfig()
|
||||
{
|
||||
return proxyConfig;
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package org.apache.maven.archiva.web.action.admin.connectors.proxy;
|
||||
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.apache.archiva.admin.repository.RepositoryAdminException;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
@ -25,7 +26,6 @@
|
||||
|
||||
/**
|
||||
* DisableProxyConnectorAction
|
||||
*
|
||||
*/
|
||||
@Controller( "disableProxyConnectorAction" )
|
||||
@Scope( "prototype" )
|
||||
@ -36,9 +36,10 @@ public class DisableProxyConnectorAction
|
||||
|
||||
private String target;
|
||||
|
||||
private ProxyConnectorConfiguration proxyConfig;
|
||||
private ProxyConnector proxyConfig;
|
||||
|
||||
public String confirmDisable()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
this.proxyConfig = findProxyConnector( source, target );
|
||||
|
||||
@ -55,6 +56,7 @@ public String confirmDisable()
|
||||
}
|
||||
|
||||
public String disable()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
this.proxyConfig = findProxyConnector( source, target );
|
||||
|
||||
@ -79,7 +81,8 @@ public String disable()
|
||||
setSource( null );
|
||||
setTarget( null );
|
||||
|
||||
return saveConfiguration();
|
||||
getProxyConnectorAdmin().updateProxyConnector( proxyConfig, getAuditInformation() );
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String getSource()
|
||||
|
@ -19,18 +19,18 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.apache.archiva.admin.repository.RepositoryAdminException;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
/**
|
||||
* EditProxyConnectorAction
|
||||
* EditProxyConnectorAction
|
||||
*
|
||||
* @version $Id$
|
||||
*
|
||||
*/
|
||||
@Controller( "editProxyConnectorAction" )
|
||||
@Scope( "prototype")
|
||||
@Scope( "prototype" )
|
||||
public class EditProxyConnectorAction
|
||||
extends AbstractProxyConnectorFormAction
|
||||
{
|
||||
@ -46,24 +46,26 @@ public class EditProxyConnectorAction
|
||||
|
||||
@Override
|
||||
public void prepare()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
super.prepare();
|
||||
|
||||
connector = findProxyConnector( source, target );
|
||||
connector = findProxyConnector( source, target );
|
||||
}
|
||||
|
||||
public String input()
|
||||
{
|
||||
if ( connector == null )
|
||||
{
|
||||
addActionError( "Unable to edit non existant proxy connector with source [" + source + "] and target ["
|
||||
+ target + "]" );
|
||||
addActionError(
|
||||
"Unable to edit non existant proxy connector with source [" + source + "] and target [" + target
|
||||
+ "]" );
|
||||
return ERROR;
|
||||
}
|
||||
|
||||
if( connector != null )
|
||||
|
||||
if ( connector != null )
|
||||
{
|
||||
// MRM-1135
|
||||
// MRM-1135
|
||||
connector.setBlackListPatterns( escapePatterns( connector.getBlackListPatterns() ) );
|
||||
connector.setWhiteListPatterns( escapePatterns( connector.getWhiteListPatterns() ) );
|
||||
}
|
||||
@ -72,6 +74,7 @@ public String input()
|
||||
}
|
||||
|
||||
public String commit()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
validateConnector();
|
||||
|
||||
@ -83,7 +86,7 @@ public String commit()
|
||||
String sourceId = connector.getSourceRepoId();
|
||||
String targetId = connector.getTargetRepoId();
|
||||
|
||||
ProxyConnectorConfiguration otherConnector = findProxyConnector( sourceId, targetId );
|
||||
ProxyConnector otherConnector = findProxyConnector( sourceId, targetId );
|
||||
if ( otherConnector != null )
|
||||
{
|
||||
// Remove the previous connector.
|
||||
@ -95,12 +98,8 @@ public String commit()
|
||||
return INPUT;
|
||||
}
|
||||
|
||||
// MRM-1135
|
||||
connector.setBlackListPatterns( unescapePatterns( connector.getBlackListPatterns() ) );
|
||||
connector.setWhiteListPatterns( unescapePatterns( connector.getWhiteListPatterns() ) );
|
||||
|
||||
addProxyConnector( connector );
|
||||
return saveConfiguration();
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String getSource()
|
||||
|
@ -1,6 +1,7 @@
|
||||
package org.apache.maven.archiva.web.action.admin.connectors.proxy;
|
||||
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.apache.archiva.admin.repository.RepositoryAdminException;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
@ -35,9 +36,10 @@ public class EnableProxyConnectorAction
|
||||
|
||||
private String target;
|
||||
|
||||
private ProxyConnectorConfiguration proxyConfig;
|
||||
private ProxyConnector proxyConfig;
|
||||
|
||||
public String confirmEnable()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
this.proxyConfig = findProxyConnector( source, target );
|
||||
|
||||
@ -53,7 +55,7 @@ public String confirmEnable()
|
||||
return INPUT;
|
||||
}
|
||||
|
||||
public String enable()
|
||||
public String enable() throws RepositoryAdminException
|
||||
{
|
||||
this.proxyConfig = findProxyConnector( source, target );
|
||||
|
||||
@ -73,12 +75,14 @@ public String enable()
|
||||
|
||||
proxyConfig.setDisabled( false );
|
||||
|
||||
getProxyConnectorAdmin().updateProxyConnector( proxyConfig, getAuditInformation() );
|
||||
|
||||
addActionMessage( "Successfully enabled proxy connector [" + source + " , " + target + " ]" );
|
||||
|
||||
setSource( null );
|
||||
setTarget( null );
|
||||
|
||||
return saveConfiguration();
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String getSource()
|
||||
|
@ -20,10 +20,9 @@
|
||||
*/
|
||||
|
||||
import com.opensymphony.xwork2.Preparable;
|
||||
|
||||
import org.apache.maven.archiva.configuration.AbstractRepositoryConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.apache.archiva.admin.repository.AbstractRepository;
|
||||
import org.apache.archiva.admin.repository.RepositoryAdminException;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
@ -35,7 +34,6 @@
|
||||
* ProxyConnectorsAction
|
||||
*
|
||||
* @version $Id$
|
||||
*
|
||||
*/
|
||||
@Controller( "proxyConnectorsAction" )
|
||||
@Scope( "prototype" )
|
||||
@ -43,42 +41,43 @@ public class ProxyConnectorsAction
|
||||
extends AbstractProxyConnectorAction
|
||||
implements Preparable
|
||||
{
|
||||
private Map<String, AbstractRepositoryConfiguration> repoMap;
|
||||
private Map<String, AbstractRepository> repoMap;
|
||||
|
||||
/**
|
||||
* boolean to indicate that remote repo is present. Used for Add Link
|
||||
*/
|
||||
private boolean remoteRepoExists=false;
|
||||
|
||||
private boolean remoteRepoExists = false;
|
||||
|
||||
/**
|
||||
* Map of Proxy Connectors.
|
||||
*/
|
||||
private Map<String, List<ProxyConnectorConfiguration>> proxyConnectorMap;
|
||||
private Map<String, List<ProxyConnector>> proxyConnectorMap;
|
||||
|
||||
public void prepare()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
Configuration config = archivaConfiguration.getConfiguration();
|
||||
|
||||
repoMap = new HashMap<String, AbstractRepositoryConfiguration>();
|
||||
repoMap.putAll( config.getRemoteRepositoriesAsMap() );
|
||||
repoMap.putAll( config.getManagedRepositoriesAsMap() );
|
||||
repoMap = new HashMap<String, AbstractRepository>();
|
||||
repoMap.putAll( getRemoteRepositoryAdmin().getRemoteRepositoriesAsMap() );
|
||||
// FIXME olamy : are we sure we want Managed too ???
|
||||
repoMap.putAll( getManagedRepositoryAdmin().getManagedRepositoriesAsMap() );
|
||||
|
||||
proxyConnectorMap = createProxyConnectorMap();
|
||||
|
||||
remoteRepoExists=config.getRemoteRepositories().size()>0;
|
||||
|
||||
remoteRepoExists = getRemoteRepositoryAdmin().getRemoteRepositories().size() > 0;
|
||||
}
|
||||
|
||||
public Map<String, AbstractRepositoryConfiguration> getRepoMap()
|
||||
public Map<String, AbstractRepository> getRepoMap()
|
||||
{
|
||||
return repoMap;
|
||||
}
|
||||
|
||||
public Map<String, List<ProxyConnectorConfiguration>> getProxyConnectorMap()
|
||||
public Map<String, List<ProxyConnector>> getProxyConnectorMap()
|
||||
{
|
||||
return proxyConnectorMap;
|
||||
}
|
||||
|
||||
public boolean getRemoteRepoExists()
|
||||
// FIXME olamy should be is !
|
||||
public boolean getRemoteRepoExists()
|
||||
{
|
||||
return remoteRepoExists;
|
||||
}
|
||||
|
@ -19,8 +19,9 @@
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import org.apache.archiva.admin.repository.RepositoryAdminException;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
||||
@ -61,8 +62,9 @@ public void setTarget( String id )
|
||||
}
|
||||
|
||||
public String sortDown()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
List<ProxyConnectorConfiguration> connectors = createProxyConnectorMap().get( source );
|
||||
List<ProxyConnector> connectors = createProxyConnectorMap().get( source );
|
||||
|
||||
int idx = findTargetConnector( connectors, target );
|
||||
|
||||
@ -72,12 +74,17 @@ public String sortDown()
|
||||
decrementConnectorOrder( connectors, idx + 1 );
|
||||
}
|
||||
|
||||
return saveConfiguration();
|
||||
for ( ProxyConnector proxyConnector : connectors )
|
||||
{
|
||||
getProxyConnectorAdmin().updateProxyConnector( proxyConnector, getAuditInformation() );
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
public String sortUp()
|
||||
throws RepositoryAdminException
|
||||
{
|
||||
List<ProxyConnectorConfiguration> connectors = createProxyConnectorMap().get( source );
|
||||
List<ProxyConnector> connectors = createProxyConnectorMap().get( source );
|
||||
|
||||
int idx = findTargetConnector( connectors, target );
|
||||
|
||||
@ -87,10 +94,14 @@ public String sortUp()
|
||||
incrementConnectorOrder( connectors, idx - 1 );
|
||||
}
|
||||
|
||||
return saveConfiguration();
|
||||
for ( ProxyConnector proxyConnector : connectors )
|
||||
{
|
||||
getProxyConnectorAdmin().updateProxyConnector( proxyConnector, getAuditInformation() );
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
private void decrementConnectorOrder( List<ProxyConnectorConfiguration> connectors, int idx )
|
||||
private void decrementConnectorOrder( List<ProxyConnector> connectors, int idx )
|
||||
{
|
||||
if ( !validIndex( connectors, idx ) )
|
||||
{
|
||||
@ -102,7 +113,7 @@ private void decrementConnectorOrder( List<ProxyConnectorConfiguration> connecto
|
||||
connectors.get( idx ).setOrder( Math.max( 1, order - 1 ) );
|
||||
}
|
||||
|
||||
private int findTargetConnector( List<ProxyConnectorConfiguration> connectors, String targetRepoId )
|
||||
private int findTargetConnector( List<ProxyConnector> connectors, String targetRepoId )
|
||||
{
|
||||
int idx = ( -1 );
|
||||
|
||||
@ -118,7 +129,7 @@ private int findTargetConnector( List<ProxyConnectorConfiguration> connectors, S
|
||||
return idx;
|
||||
}
|
||||
|
||||
private void incrementConnectorOrder( List<ProxyConnectorConfiguration> connectors, int idx )
|
||||
private void incrementConnectorOrder( List<ProxyConnector> connectors, int idx )
|
||||
{
|
||||
if ( !validIndex( connectors, idx ) )
|
||||
{
|
||||
@ -130,7 +141,7 @@ private void incrementConnectorOrder( List<ProxyConnectorConfiguration> connecto
|
||||
connectors.get( idx ).setOrder( order + 1 );
|
||||
}
|
||||
|
||||
private boolean validIndex( List<ProxyConnectorConfiguration> connectors, int idx )
|
||||
private boolean validIndex( List<ProxyConnector> connectors, int idx )
|
||||
{
|
||||
return ( idx >= 0 ) && ( idx < connectors.size() );
|
||||
}
|
||||
|
@ -20,6 +20,10 @@
|
||||
*/
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
import org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
|
||||
@ -61,11 +65,16 @@ protected void setUp()
|
||||
super.setUp();
|
||||
|
||||
action = (AddProxyConnectorAction) getActionProxy( "/admin/addProxyConnector.action" ).getAction();
|
||||
//action = (AddProxyConnectorAction) lookup( Action.class.getName(), "addProxyConnectorAction" );
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
action.setArchivaConfiguration( archivaConfiguration );
|
||||
( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
}
|
||||
|
||||
public void testAddBlackListPattern()
|
||||
@ -76,7 +85,7 @@ public void testAddBlackListPattern()
|
||||
|
||||
// Prepare Test.
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
populateProxyConnector( connector );
|
||||
|
||||
// Perform Test w/no values.
|
||||
@ -107,7 +116,7 @@ public void testAddProperty()
|
||||
|
||||
// Prepare Test.
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
populateProxyConnector( connector );
|
||||
|
||||
// Perform Test w/no values.
|
||||
@ -135,15 +144,17 @@ public void testAddProperty()
|
||||
public void testAddProxyConnectorCommit()
|
||||
throws Exception
|
||||
{
|
||||
expectConfigurationRequests( 7 );
|
||||
expectConfigurationRequests( 9 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Prepare Test.
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
populateProxyConnector( connector );
|
||||
// forms will use an array
|
||||
connector.getProperties().put( "eat-a", new String[] { "gramov-a-bits" } );
|
||||
//connector.getProperties().put( "eat-a", new String[] { "gramov-a-bits" } );
|
||||
// FIXME olamy check the array mode !!!
|
||||
connector.getProperties().put( "eat-a", "gramov-a-bits" );
|
||||
|
||||
// Create the input screen.
|
||||
assertRequestStatus( action, Action.SUCCESS, "commit" );
|
||||
@ -171,7 +182,7 @@ public void testAddProxyConnectorInitialPage()
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration configuration = action.getConnector();
|
||||
ProxyConnector configuration = action.getConnector();
|
||||
assertNotNull( configuration );
|
||||
assertNull( configuration.getProxyId() );
|
||||
assertNull( configuration.getSourceRepoId() );
|
||||
@ -193,7 +204,7 @@ public void testAddWhiteListPattern()
|
||||
|
||||
// Prepare Test.
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
populateProxyConnector( connector );
|
||||
|
||||
// Perform Test w/no values.
|
||||
@ -224,7 +235,7 @@ public void testRemoveBlackListPattern()
|
||||
|
||||
// Prepare Test.
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
populateProxyConnector( connector );
|
||||
|
||||
// Add some arbitrary blacklist patterns.
|
||||
@ -270,7 +281,7 @@ public void testRemoveProperty()
|
||||
|
||||
// Prepare Test.
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
populateProxyConnector( connector );
|
||||
|
||||
// Add some arbitrary properties.
|
||||
@ -316,7 +327,7 @@ public void testRemoveWhiteListPattern()
|
||||
|
||||
// Prepare Test.
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
populateProxyConnector( connector );
|
||||
|
||||
// Add some arbitrary whitelist patterns.
|
||||
@ -401,7 +412,7 @@ private void expectConfigurationRequests( int requestConfigCount )
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
private void populateProxyConnector( ProxyConnectorConfiguration connector )
|
||||
private void populateProxyConnector( ProxyConnector connector )
|
||||
{
|
||||
connector.setProxyId( AbstractProxyConnectorFormAction.DIRECT_CONNECTION );
|
||||
connector.setSourceRepoId( "corporate" );
|
||||
|
@ -20,7 +20,9 @@
|
||||
*/
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
|
||||
import org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin;
|
||||
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
|
||||
@ -28,12 +30,12 @@
|
||||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
|
||||
import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
|
||||
import org.apache.maven.archiva.web.action.AbstractWebworkTestCase;
|
||||
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
|
||||
import org.codehaus.plexus.registry.RegistryException;
|
||||
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
|
||||
import org.easymock.MockControl;
|
||||
|
||||
/**
|
||||
* DeleteProxyConnectorActionTest
|
||||
* DeleteProxyConnectorActionTest
|
||||
*
|
||||
* @version $Id$
|
||||
*/
|
||||
@ -50,6 +52,24 @@ public class DeleteProxyConnectorActionTest
|
||||
|
||||
private ArchivaConfiguration archivaConfiguration;
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
action = (DeleteProxyConnectorAction) getActionProxy( "/admin/deleteProxyConnector.action" ).getAction();
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
}
|
||||
|
||||
public void testConfirmDelete()
|
||||
throws Exception
|
||||
{
|
||||
@ -71,7 +91,7 @@ public void testConfirmDeleteBadSourceOrTarget()
|
||||
expectConfigurationRequests( 4 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Attempt to show the confirm delete screen, but provide
|
||||
// Attempt to show the confirm delete screen, but provide
|
||||
// a bad source id or target id to actually delete
|
||||
|
||||
preRequest( action );
|
||||
@ -105,7 +125,7 @@ public void testConfirmDeleteNoSourceOrTarget()
|
||||
expectConfigurationRequests( 1 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Attempt to show the confirm delete screen, but don't provide
|
||||
// Attempt to show the confirm delete screen, but don't provide
|
||||
// the source id or target id to actually delete
|
||||
|
||||
preRequest( action );
|
||||
@ -209,18 +229,4 @@ private void expectConfigurationRequests( int requestConfigCount )
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
//action = (DeleteProxyConnectorAction) lookup( Action.class.getName(), "deleteProxyConnectorAction" );
|
||||
|
||||
action = (DeleteProxyConnectorAction) getActionProxy( "/admin/deleteProxyConnector.action" ).getAction();
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
action.setArchivaConfiguration( archivaConfiguration );
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,9 @@
|
||||
package org.apache.maven.archiva.web.action.admin.connectors.proxy;
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
import org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin;
|
||||
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
|
||||
@ -42,13 +45,30 @@ public class DisableProxyConnectorActionTest
|
||||
|
||||
private ArchivaConfiguration archivaConfiguration;
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
action = (DisableProxyConnectorAction) getActionProxy( "/admin/disableProxyConnector.action" ).getAction();
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration( archivaConfiguration );
|
||||
}
|
||||
|
||||
public void testConfirmDisableBadSourceOrTarget()
|
||||
throws Exception
|
||||
{
|
||||
expectConfigurationRequests( 4 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Attempt to show the confirm disable screen, but provide
|
||||
// Attempt to show the confirm disable screen, but provide
|
||||
// a bad source id or target id to actually delete
|
||||
|
||||
preRequest( action );
|
||||
@ -82,7 +102,7 @@ public void testConfirmDisableNoSourceOrTarget()
|
||||
expectConfigurationRequests( 1 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Attempt to show the confirm disable screen, but don't provide
|
||||
// Attempt to show the confirm disable screen, but don't provide
|
||||
// the source id or target id to actually delete
|
||||
|
||||
preRequest( action );
|
||||
@ -205,18 +225,4 @@ private void expectConfigurationRequests( int requestConfigCount )
|
||||
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
//action = (DisableProxyConnectorAction) lookup( Action.class.getName(), "disableProxyConnectorAction" );
|
||||
action = (DisableProxyConnectorAction) getActionProxy( "/admin/disableProxyConnector.action" ).getAction();
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
action.setArchivaConfiguration( archivaConfiguration );
|
||||
}
|
||||
}
|
||||
|
@ -20,6 +20,10 @@
|
||||
*/
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
import org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.ProxyConnector;
|
||||
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
|
||||
@ -33,15 +37,15 @@
|
||||
import org.apache.maven.archiva.policies.ReleasesPolicy;
|
||||
import org.apache.maven.archiva.policies.SnapshotsPolicy;
|
||||
import org.apache.maven.archiva.web.action.AbstractWebworkTestCase;
|
||||
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
|
||||
import org.codehaus.plexus.registry.RegistryException;
|
||||
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
|
||||
import org.easymock.MockControl;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* EditProxyConnectorActionTest
|
||||
* EditProxyConnectorActionTest
|
||||
*
|
||||
* @version $Id$
|
||||
*/
|
||||
@ -58,6 +62,51 @@ public class EditProxyConnectorActionTest
|
||||
|
||||
private ArchivaConfiguration archivaConfiguration;
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
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 );
|
||||
( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
}
|
||||
|
||||
private void expectConfigurationRequests( int requestConfigCount )
|
||||
throws RegistryException, IndeterminateConfigurationException
|
||||
{
|
||||
expectConfigurationRequests( requestConfigCount, 1 );
|
||||
}
|
||||
|
||||
private void expectConfigurationRequests( int requestConfigCount, int saveRequestCount )
|
||||
throws RegistryException, IndeterminateConfigurationException
|
||||
{
|
||||
Configuration config = createInitialConfiguration();
|
||||
|
||||
archivaConfiguration.getConfiguration();
|
||||
archivaConfigurationControl.setReturnValue( config, requestConfigCount );
|
||||
|
||||
for ( int i = 0; i <= saveRequestCount; i++ )
|
||||
{
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
}
|
||||
|
||||
public void testAddBlackListPattern()
|
||||
throws Exception
|
||||
{
|
||||
@ -68,7 +117,7 @@ public void testAddBlackListPattern()
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
|
||||
// Perform Test w/no values.
|
||||
@ -101,7 +150,7 @@ public void testAddProperty()
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
|
||||
// Perform Test w/no values.
|
||||
@ -136,7 +185,7 @@ public void testAddWhiteListPattern()
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
|
||||
// Perform Test w/no values.
|
||||
@ -159,21 +208,23 @@ public void testAddWhiteListPattern()
|
||||
assertEquals( 1, connector.getWhiteListPatterns().size() );
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@SuppressWarnings( "unchecked" )
|
||||
public void testEditProxyConnectorCommit()
|
||||
throws Exception
|
||||
{
|
||||
expectConfigurationRequests( 7 );
|
||||
expectConfigurationRequests( 9, 2 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Prepare Test.
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
// forms will use an array
|
||||
connector.getProperties().put( "eat-a", new String[] { "gramov-a-bits" } );
|
||||
//connector.getProperties().put( "eat-a", new String[]{ "gramov-a-bits" } );
|
||||
// FIXME check the array mode
|
||||
connector.getProperties().put( "eat-a", "gramov-a-bits" );
|
||||
|
||||
// Create the input screen.
|
||||
assertRequestStatus( action, Action.SUCCESS, "commit" );
|
||||
@ -203,7 +254,7 @@ public void testEditProxyConnectorInitialPage()
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
|
||||
String status = action.input();
|
||||
@ -220,7 +271,7 @@ public void testRemoveBlackListPattern()
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
|
||||
// Add some arbitrary blacklist patterns.
|
||||
@ -268,7 +319,7 @@ public void testRemoveProperty()
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
|
||||
// Add some arbitrary properties.
|
||||
@ -316,7 +367,7 @@ public void testRemoveWhiteListPattern()
|
||||
action.setSource( TEST_SOURCE_ID );
|
||||
action.setTarget( TEST_TARGET_ID );
|
||||
action.prepare();
|
||||
ProxyConnectorConfiguration connector = action.getConnector();
|
||||
ProxyConnector connector = action.getConnector();
|
||||
assertInitialProxyConnector( connector );
|
||||
|
||||
// Add some arbitrary whitelist patterns.
|
||||
@ -365,7 +416,7 @@ public void testSecureActionBundle()
|
||||
assertEquals( 1, bundle.getAuthorizationTuples().size() );
|
||||
}
|
||||
|
||||
private void assertInitialProxyConnector( ProxyConnectorConfiguration connector )
|
||||
private void assertInitialProxyConnector( ProxyConnector connector )
|
||||
{
|
||||
assertNotNull( connector );
|
||||
assertNotNull( connector.getBlackListPatterns() );
|
||||
@ -376,7 +427,7 @@ private void assertInitialProxyConnector( ProxyConnectorConfiguration connector
|
||||
assertEquals( TEST_TARGET_ID, connector.getTargetRepoId() );
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@SuppressWarnings( "unchecked" )
|
||||
private Configuration createInitialConfiguration()
|
||||
{
|
||||
Configuration config = new Configuration();
|
||||
@ -397,7 +448,7 @@ private Configuration createInitialConfiguration()
|
||||
ProxyConnectorConfiguration connector = new ProxyConnectorConfiguration();
|
||||
connector.setSourceRepoId( TEST_SOURCE_ID );
|
||||
connector.setTargetRepoId( TEST_TARGET_ID );
|
||||
|
||||
|
||||
// TODO: Set these options programatically via list of available policies.
|
||||
Map<String, String> policies = connector.getPolicies();
|
||||
policies.put( "releases", new ReleasesPolicy().getDefaultOption() );
|
||||
@ -411,39 +462,4 @@ private Configuration createInitialConfiguration()
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
private void expectConfigurationRequests( int requestConfigCount )
|
||||
throws RegistryException, IndeterminateConfigurationException
|
||||
{
|
||||
Configuration config = createInitialConfiguration();
|
||||
|
||||
for ( int i = 0; i < requestConfigCount; i++ )
|
||||
{
|
||||
archivaConfiguration.getConfiguration();
|
||||
archivaConfigurationControl.setReturnValue( config );
|
||||
}
|
||||
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
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. */
|
||||
for ( int i = 0; i < 3; i++ )
|
||||
{
|
||||
archivaConfiguration.getConfiguration();
|
||||
archivaConfigurationControl.setReturnValue( new Configuration() );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -18,6 +18,9 @@
|
||||
package org.apache.maven.archiva.web.action.admin.connectors.proxy;
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
import org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin;
|
||||
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
|
||||
@ -29,25 +32,51 @@
|
||||
import org.codehaus.redback.integration.interceptor.SecureActionBundle;
|
||||
import org.easymock.MockControl;
|
||||
|
||||
public class EnableProxyConnectorActionTest extends AbstractWebworkTestCase
|
||||
public class EnableProxyConnectorActionTest
|
||||
extends AbstractWebworkTestCase
|
||||
{
|
||||
private static final String TEST_TARGET_ID = "central";
|
||||
|
||||
private static final String TEST_SOURCE_ID = "corporate";
|
||||
|
||||
|
||||
private EnableProxyConnectorAction action;
|
||||
|
||||
|
||||
private MockControl archivaConfigurationControl;
|
||||
|
||||
private ArchivaConfiguration archivaConfiguration;
|
||||
|
||||
public void testConfirmDeleteBadSourceOrTarget()
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
action = (EnableProxyConnectorAction) getActionProxy( "/admin/enableProxyConnector.action" ).getAction();
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration( archivaConfiguration );
|
||||
}
|
||||
|
||||
private void expectConfigurationRequests( int requestConfigCount )
|
||||
throws RegistryException, IndeterminateConfigurationException
|
||||
{
|
||||
Configuration config = createInitialConfiguration();
|
||||
|
||||
archivaConfiguration.getConfiguration();
|
||||
archivaConfigurationControl.setReturnValue( config, requestConfigCount );
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
|
||||
public void testConfirmDeleteBadSourceOrTarget()
|
||||
throws Exception
|
||||
{
|
||||
expectConfigurationRequests( 4 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Attempt to show the confirm enable screen, but provide
|
||||
// Attempt to show the confirm enable screen, but provide
|
||||
// a bad source id or target id to actually enable
|
||||
|
||||
preRequest( action );
|
||||
@ -81,7 +110,7 @@ public void testConfirmEnableNoSourceOrTarget()
|
||||
expectConfigurationRequests( 1 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
// Attempt to show the confirm enable screen, but don't provide
|
||||
// Attempt to show the confirm enable screen, but don't provide
|
||||
// the source id or target id to actually delete
|
||||
|
||||
preRequest( action );
|
||||
@ -132,8 +161,9 @@ public void testEnable()
|
||||
|
||||
// Test the configuration.
|
||||
assertEquals( 1, archivaConfiguration.getConfiguration().getProxyConnectors().size() );
|
||||
ProxyConnectorConfiguration config = (ProxyConnectorConfiguration)archivaConfiguration.getConfiguration().getProxyConnectors().get(0);
|
||||
assertFalse(config.isDisabled());
|
||||
ProxyConnectorConfiguration config =
|
||||
(ProxyConnectorConfiguration) archivaConfiguration.getConfiguration().getProxyConnectors().get( 0 );
|
||||
assertFalse( config.isDisabled() );
|
||||
}
|
||||
|
||||
public void testSecureActionBundle()
|
||||
@ -146,7 +176,7 @@ public void testSecureActionBundle()
|
||||
assertTrue( bundle.requiresAuthentication() );
|
||||
assertEquals( 1, bundle.getAuthorizationTuples().size() );
|
||||
}
|
||||
|
||||
|
||||
public void testConfirmEnable()
|
||||
throws Exception
|
||||
{
|
||||
@ -161,7 +191,7 @@ public void testConfirmEnable()
|
||||
assertEquals( Action.INPUT, status );
|
||||
assertNoErrors( action );
|
||||
}
|
||||
|
||||
|
||||
private Configuration createInitialConfiguration()
|
||||
{
|
||||
Configuration config = new Configuration();
|
||||
@ -182,38 +212,10 @@ private Configuration createInitialConfiguration()
|
||||
ProxyConnectorConfiguration connector = new ProxyConnectorConfiguration();
|
||||
connector.setSourceRepoId( TEST_SOURCE_ID );
|
||||
connector.setTargetRepoId( TEST_TARGET_ID );
|
||||
connector.setDisabled(true);
|
||||
connector.setDisabled( true );
|
||||
|
||||
config.addProxyConnector( connector );
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
private void expectConfigurationRequests( int requestConfigCount )
|
||||
throws RegistryException, IndeterminateConfigurationException
|
||||
{
|
||||
Configuration config = createInitialConfiguration();
|
||||
|
||||
for ( int i = 0; i < requestConfigCount; i++ )
|
||||
{
|
||||
archivaConfiguration.getConfiguration();
|
||||
archivaConfigurationControl.setReturnValue( config );
|
||||
}
|
||||
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
//action = (EnableProxyConnectorAction) lookup( Action.class.getName(), "enableProxyConnectorAction" );
|
||||
|
||||
action = (EnableProxyConnectorAction) getActionProxy( "/admin/enableProxyConnector.action" ).getAction();
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
action.setArchivaConfiguration( archivaConfiguration );
|
||||
}
|
||||
}
|
||||
|
@ -21,6 +21,9 @@
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
|
||||
import org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin;
|
||||
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
|
||||
@ -58,19 +61,21 @@ protected void setUp()
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
//action = (ProxyConnectorsAction) lookup( Action.class.getName(), "proxyConnectorsAction" );
|
||||
|
||||
action = (ProxyConnectorsAction) getActionProxy("/admin/proxyConnectors.action" ).getAction();
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
action.setArchivaConfiguration( archivaConfiguration );
|
||||
( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration( archivaConfiguration );
|
||||
}
|
||||
|
||||
public void testSecureActionBundle()
|
||||
throws Exception
|
||||
{
|
||||
expectConfigurationRequests( 3 );
|
||||
expectConfigurationRequests( 4 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
action.prepare();
|
||||
@ -82,7 +87,7 @@ public void testSecureActionBundle()
|
||||
public void testExecute()
|
||||
throws Exception
|
||||
{
|
||||
expectConfigurationRequests( 3 );
|
||||
expectConfigurationRequests( 5 );
|
||||
archivaConfigurationControl.replay();
|
||||
|
||||
action.prepare();
|
||||
|
@ -20,6 +20,9 @@
|
||||
*/
|
||||
|
||||
import com.opensymphony.xwork2.Action;
|
||||
import org.apache.archiva.admin.repository.managed.DefaultManagedRepositoryAdmin;
|
||||
import org.apache.archiva.admin.repository.proxyconnector.DefaultProxyConnectorAdmin;
|
||||
import org.apache.archiva.admin.repository.remote.DefaultRemoteRepositoryAdmin;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.maven.archiva.configuration.ArchivaConfiguration;
|
||||
import org.apache.maven.archiva.configuration.Configuration;
|
||||
@ -58,6 +61,35 @@ public class SortProxyConnectorsActionTest
|
||||
|
||||
private ArchivaConfiguration archivaConfiguration;
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
action = (SortProxyConnectorsAction) getActionProxy( "/admin/sortUpProxyConnector.action" ).getAction();
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
( (DefaultManagedRepositoryAdmin) action.getManagedRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultRemoteRepositoryAdmin) action.getRemoteRepositoryAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
( (DefaultProxyConnectorAdmin) action.getProxyConnectorAdmin() ).setArchivaConfiguration(
|
||||
archivaConfiguration );
|
||||
}
|
||||
|
||||
private void expectConfigurationRequests( int requestConfigCount )
|
||||
throws RegistryException, IndeterminateConfigurationException
|
||||
{
|
||||
Configuration config = createInitialConfiguration();
|
||||
|
||||
archivaConfiguration.getConfiguration();
|
||||
archivaConfigurationControl.setReturnValue( config, requestConfigCount );
|
||||
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
|
||||
public void testSecureActionBundle()
|
||||
throws Exception
|
||||
{
|
||||
@ -221,32 +253,4 @@ private Configuration createInitialConfiguration()
|
||||
|
||||
return config;
|
||||
}
|
||||
|
||||
private void expectConfigurationRequests( int requestConfigCount )
|
||||
throws RegistryException, IndeterminateConfigurationException
|
||||
{
|
||||
Configuration config = createInitialConfiguration();
|
||||
|
||||
for ( int i = 0; i < requestConfigCount; i++ )
|
||||
{
|
||||
archivaConfiguration.getConfiguration();
|
||||
archivaConfigurationControl.setReturnValue( config );
|
||||
}
|
||||
|
||||
archivaConfiguration.save( config );
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void setUp()
|
||||
throws Exception
|
||||
{
|
||||
super.setUp();
|
||||
|
||||
//action = (SortProxyConnectorsAction) lookup( Action.class.getName(), "sortProxyConnectorsAction" );
|
||||
action = (SortProxyConnectorsAction) getActionProxy( "/admin/sortUpProxyConnector.action" ).getAction();
|
||||
|
||||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class );
|
||||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock();
|
||||
action.setArchivaConfiguration( archivaConfiguration );
|
||||
}
|
||||
}
|
||||
|
@ -36,16 +36,6 @@
|
||||
<module>metadata</module>
|
||||
<module>plugins</module>
|
||||
</modules>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-all</artifactId>
|
||||
<version>1.8.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<reporting>
|
||||
<plugins>
|
||||
|
22
pom.xml
22
pom.xml
@ -464,6 +464,16 @@
|
||||
<groupId>net.sf.beanlib</groupId>
|
||||
<artifactId>beanlib</artifactId>
|
||||
<version>5.0.2beta</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>cglib</groupId>
|
||||
<artifactId>cglib</artifactId>
|
||||
</exclusion>
|
||||
<exclusion>
|
||||
<groupId>aopalliance</groupId>
|
||||
<artifactId>aopalliance</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>commons-codec</groupId>
|
||||
@ -565,6 +575,11 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jpox</groupId>
|
||||
<artifactId>jpox-ehcache</artifactId>
|
||||
<version>1.1.9</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.servlet</groupId>
|
||||
<artifactId>jsp-api</artifactId>
|
||||
@ -1244,9 +1259,10 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>jpox</groupId>
|
||||
<artifactId>jpox-ehcache</artifactId>
|
||||
<version>1.1.9</version>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>1.8.3</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
Loading…
x
Reference in New Issue
Block a user