* merging from branch git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@687035 13f79535-47bb-0310-9956-ffa450edef68tags/archiva-1.2-M1
@@ -725,6 +725,15 @@ | |||
<multiplicity>*</multiplicity> | |||
</association> | |||
</field> | |||
<field> | |||
<name>disabled</name> | |||
<version>1.2+</version> | |||
<description> | |||
If the the repository proxy connector is disabled or not | |||
</description> | |||
<type>boolean</type> | |||
<defaultValue>false</defaultValue> | |||
</field> | |||
</fields> | |||
<codeSegments> | |||
<codeSegment> |
@@ -151,6 +151,11 @@ public class DefaultRepositoryProxyConnectors | |||
Map<String, Exception> previousExceptions = new LinkedHashMap<String, Exception>(); | |||
for ( ProxyConnector connector : connectors ) | |||
{ | |||
if (connector.isDisabled()) | |||
{ | |||
continue; | |||
} | |||
RemoteRepositoryContent targetRepository = connector.getTargetRepository(); | |||
requestProperties.setProperty( "remoteRepositoryId", targetRepository.getId() ); | |||
@@ -221,6 +226,11 @@ public class DefaultRepositoryProxyConnectors | |||
List<ProxyConnector> connectors = getProxyConnectors( repository ); | |||
for ( ProxyConnector connector : connectors ) | |||
{ | |||
if (connector.isDisabled()) | |||
{ | |||
continue; | |||
} | |||
RemoteRepositoryContent targetRepository = connector.getTargetRepository(); | |||
requestProperties.setProperty( "remoteRepositoryId", targetRepository.getId() ); | |||
@@ -280,6 +290,11 @@ public class DefaultRepositoryProxyConnectors | |||
List<ProxyConnector> connectors = getProxyConnectors( repository ); | |||
for ( ProxyConnector connector : connectors ) | |||
{ | |||
if (connector.isDisabled()) | |||
{ | |||
continue; | |||
} | |||
RemoteRepositoryContent targetRepository = connector.getTargetRepository(); | |||
File localRepoFile = toLocalRepoFile( repository, targetRepository, logicalPath ); | |||
@@ -1061,6 +1076,7 @@ public class DefaultRepositoryProxyConnectors | |||
connector.setProxyId( proxyConfig.getProxyId() ); | |||
connector.setPolicies( proxyConfig.getPolicies() ); | |||
connector.setOrder( proxyConfig.getOrder() ); | |||
connector.setDisabled( proxyConfig.isDisabled() ); | |||
// Copy any blacklist patterns. | |||
List<String> blacklist = new ArrayList<String>(); |
@@ -49,6 +49,18 @@ public class ProxyConnector | |||
private int order; | |||
private Map<String, String> policies; | |||
private boolean disabled; | |||
public boolean isDisabled() | |||
{ | |||
return disabled; | |||
} | |||
public void setDisabled(boolean disabled) | |||
{ | |||
this.disabled = disabled; | |||
} | |||
public List<String> getBlacklist() | |||
{ | |||
@@ -110,6 +122,7 @@ public class ProxyConnector | |||
this.proxyId = proxyId; | |||
} | |||
@Override | |||
public String toString() | |||
{ | |||
StringBuffer sb = new StringBuffer(); |
@@ -338,29 +338,29 @@ public abstract class AbstractProxyTestCase | |||
} | |||
} | |||
protected void saveConnector( String sourceRepoId, String targetRepoId ) | |||
protected void saveConnector( String sourceRepoId, String targetRepoId, boolean disabled ) | |||
{ | |||
saveConnector( sourceRepoId, targetRepoId, ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, disabled ); | |||
} | |||
protected void saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy, String releasePolicy, | |||
String snapshotPolicy, String cacheFailuresPolicy ) | |||
String snapshotPolicy, String cacheFailuresPolicy, boolean disabled ) | |||
{ | |||
saveConnector( sourceRepoId, targetRepoId, checksumPolicy, releasePolicy, snapshotPolicy, cacheFailuresPolicy, | |||
PropagateErrorsDownloadPolicy.QUEUE ); | |||
PropagateErrorsDownloadPolicy.QUEUE, disabled ); | |||
} | |||
protected void saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy, String releasePolicy, | |||
String snapshotPolicy, String cacheFailuresPolicy, String errorPolicy ) | |||
String snapshotPolicy, String cacheFailuresPolicy, String errorPolicy, boolean disabled ) | |||
{ | |||
saveConnector( sourceRepoId, targetRepoId, checksumPolicy, releasePolicy, snapshotPolicy, cacheFailuresPolicy, | |||
errorPolicy, PropagateErrorsOnUpdateDownloadPolicy.NOT_PRESENT ); | |||
errorPolicy, PropagateErrorsOnUpdateDownloadPolicy.NOT_PRESENT, disabled ); | |||
} | |||
protected void saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy, String releasePolicy, | |||
String snapshotPolicy, String cacheFailuresPolicy, String errorPolicy, | |||
String errorOnUpdatePolicy ) | |||
String errorOnUpdatePolicy, boolean disabled ) | |||
{ | |||
ProxyConnectorConfiguration connectorConfig = new ProxyConnectorConfiguration(); | |||
connectorConfig.setSourceRepoId( sourceRepoId ); | |||
@@ -371,6 +371,7 @@ public abstract class AbstractProxyTestCase | |||
connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_CACHE_FAILURES, cacheFailuresPolicy ); | |||
connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_PROPAGATE_ERRORS, errorPolicy ); | |||
connectorConfig.addPolicy( ProxyConnectorConfiguration.POLICY_PROPAGATE_ERRORS_ON_UPDATE, errorOnUpdatePolicy ); | |||
connectorConfig.setDisabled(disabled); | |||
int count = config.getConfiguration().getProxyConnectors().size(); | |||
config.getConfiguration().addProxyConnector( connectorConfig ); |
@@ -60,9 +60,9 @@ public class CacheFailuresTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied2", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES, false ); | |||
wagonMock.get( path, new File( expectedFile.getParentFile(), expectedFile.getName() + ".tmp" ) ); | |||
@@ -103,9 +103,9 @@ public class CacheFailuresTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied2", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
wagonMock.get( path, new File( expectedFile.getParentFile(), expectedFile.getName() + ".tmp" ) ); | |||
@@ -153,9 +153,9 @@ public class CacheFailuresTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied2", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -39,6 +39,27 @@ import java.io.File; | |||
public class ChecksumTransferTest | |||
extends AbstractProxyTestCase | |||
{ | |||
public void testGetChecksumWhenConnectorIsDisabled() | |||
throws Exception | |||
{ | |||
String path = "org/apache/maven/test/get-checksum-both-right/1.0/get-checksum-both-right-1.0.jar"; | |||
setupTestableManagedRepository( path ); | |||
File expectedFile = new File( managedDefaultDir, path ); | |||
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path ); | |||
FileUtils.deleteDirectory( expectedFile.getParentFile() ); | |||
assertFalse( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, true ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
assertNull(downloadedFile); | |||
} | |||
public void testGetChecksumBothCorrect() | |||
throws Exception | |||
{ | |||
@@ -53,7 +74,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -78,7 +99,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -103,7 +124,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -127,7 +148,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -151,7 +172,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -175,7 +196,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -197,7 +218,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -222,7 +243,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -244,7 +265,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -269,7 +290,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -291,7 +312,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -316,7 +337,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -341,7 +362,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -366,7 +387,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -394,7 +415,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
wagonMock.get( path, new File( expectedFile.getAbsolutePath() + ".tmp" ) ); | |||
wagonMockControl.setMatcher(customWagonGetMatcher); | |||
@@ -440,7 +461,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO , false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -466,7 +487,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FAIL, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO , false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -493,7 +514,7 @@ public class ChecksumTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "proxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO , false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -63,7 +63,7 @@ public class ErrorHandlingTest | |||
File expectedFile = setupRepositoriesWithLocalFileNotPresent( path ); | |||
createMockedProxyConnector( ID_MOCKED_PROXIED1, NAME_MOCKED_PROXIED1, PropagateErrorsDownloadPolicy.STOP ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
simulateGetError( path, expectedFile, createTransferException() ); | |||
@@ -92,7 +92,7 @@ public class ErrorHandlingTest | |||
String path = PATH_IN_BOTH_REMOTES_NOT_LOCAL; | |||
File expectedFile = setupRepositoriesWithLocalFileNotPresent( path ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false ); | |||
createMockedProxyConnector( ID_MOCKED_PROXIED2, NAME_MOCKED_PROXIED2, PropagateErrorsDownloadPolicy.STOP ); | |||
@@ -107,7 +107,7 @@ public class ErrorHandlingTest | |||
createMockedProxyConnector( ID_MOCKED_PROXIED1, NAME_MOCKED_PROXIED1, PropagateErrorsDownloadPolicy.STOP ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
simulateGetError( path, expectedFile, createResourceNotFoundException() ); | |||
@@ -122,7 +122,7 @@ public class ErrorHandlingTest | |||
createMockedProxyConnector( ID_MOCKED_PROXIED1, NAME_MOCKED_PROXIED1, PropagateErrorsDownloadPolicy.STOP ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
simulateGetError( path, expectedFile, createTransferException() ); | |||
@@ -135,7 +135,7 @@ public class ErrorHandlingTest | |||
String path = PATH_IN_BOTH_REMOTES_NOT_LOCAL; | |||
File expectedFile = setupRepositoriesWithLocalFileNotPresent( path ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false ); | |||
createMockedProxyConnector( ID_MOCKED_PROXIED2, NAME_MOCKED_PROXIED2, PropagateErrorsDownloadPolicy.QUEUE ); | |||
@@ -201,7 +201,7 @@ public class ErrorHandlingTest | |||
createMockedProxyConnector( ID_MOCKED_PROXIED1, NAME_MOCKED_PROXIED1, PropagateErrorsDownloadPolicy.QUEUE ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
simulateGetError( path, expectedFile, createResourceNotFoundException() ); | |||
@@ -216,7 +216,7 @@ public class ErrorHandlingTest | |||
createMockedProxyConnector( ID_MOCKED_PROXIED1, NAME_MOCKED_PROXIED1, PropagateErrorsDownloadPolicy.IGNORE ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
simulateGetError( path, expectedFile, createTransferException() ); | |||
@@ -229,7 +229,7 @@ public class ErrorHandlingTest | |||
String path = PATH_IN_BOTH_REMOTES_NOT_LOCAL; | |||
File expectedFile = setupRepositoriesWithLocalFileNotPresent( path ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false ); | |||
createMockedProxyConnector( ID_MOCKED_PROXIED2, NAME_MOCKED_PROXIED2, PropagateErrorsDownloadPolicy.IGNORE ); | |||
@@ -499,14 +499,14 @@ public class ErrorHandlingTest | |||
{ | |||
saveRemoteRepositoryConfig( id, name, "test://bad.machine.com/repo/", "default" ); | |||
saveConnector( ID_DEFAULT_MANAGED, id, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, SnapshotsPolicy.ALWAYS, | |||
CachedFailuresPolicy.NO, errorPolicy ); | |||
CachedFailuresPolicy.NO, errorPolicy, false ); | |||
} | |||
private void createMockedProxyConnector( String id, String name, String errorPolicy, String errorOnUpdatePolicy ) | |||
{ | |||
saveRemoteRepositoryConfig( id, name, "test://bad.machine.com/repo/", "default" ); | |||
saveConnector( ID_DEFAULT_MANAGED, id, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, SnapshotsPolicy.ALWAYS, | |||
CachedFailuresPolicy.NO, errorPolicy, errorOnUpdatePolicy ); | |||
CachedFailuresPolicy.NO, errorPolicy, errorOnUpdatePolicy, false ); | |||
} | |||
private File setupRepositoriesWithLocalFileNotPresent( String path ) |
@@ -40,6 +40,27 @@ import java.io.File; | |||
public class ManagedDefaultTransferTest | |||
extends AbstractProxyTestCase | |||
{ | |||
public void testGetDefaultLayoutNotPresentConnectorOffline() | |||
throws Exception | |||
{ | |||
String path = "org/apache/maven/test/get-default-layout/1.0/get-default-layout-1.0.jar"; | |||
setupTestableManagedRepository( path ); | |||
File expectedFile = new File( managedDefaultDir, path ); | |||
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path ); | |||
// Ensure file isn't present first. | |||
assertNotExistsInManagedDefaultRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ONCE, SnapshotsPolicy.ONCE, | |||
CachedFailuresPolicy.NO, true ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
assertNull("File should not have been downloaded", downloadedFile); | |||
} | |||
public void testGetDefaultLayoutNotPresent() | |||
throws Exception | |||
{ | |||
@@ -54,7 +75,7 @@ public class ManagedDefaultTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ONCE, SnapshotsPolicy.ONCE, | |||
CachedFailuresPolicy.NO ); | |||
CachedFailuresPolicy.NO, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -77,7 +98,7 @@ public class ManagedDefaultTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ONCE, SnapshotsPolicy.ONCE, | |||
CachedFailuresPolicy.NO ); | |||
CachedFailuresPolicy.NO, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, path ); | |||
@@ -111,7 +132,7 @@ public class ManagedDefaultTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ONCE, SnapshotsPolicy.ONCE, | |||
CachedFailuresPolicy.NO ); | |||
CachedFailuresPolicy.NO, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -144,7 +165,7 @@ public class ManagedDefaultTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ONCE, SnapshotsPolicy.ONCE, | |||
CachedFailuresPolicy.NO ); | |||
CachedFailuresPolicy.NO, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, path ); | |||
@@ -189,7 +210,7 @@ public class ManagedDefaultTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -233,7 +254,7 @@ public class ManagedDefaultTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -264,7 +285,7 @@ public class ManagedDefaultTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.DAILY, SnapshotsPolicy.DAILY, | |||
CachedFailuresPolicy.NO ); | |||
CachedFailuresPolicy.NO, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -286,8 +307,8 @@ public class ManagedDefaultTransferTest | |||
assertNotExistsInManagedDefaultRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 , false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 , false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -316,8 +337,8 @@ public class ManagedDefaultTransferTest | |||
assertNotExistsInManagedDefaultRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -339,9 +360,9 @@ public class ManagedDefaultTransferTest | |||
assertNotExistsInManagedDefaultRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -371,8 +392,8 @@ public class ManagedDefaultTransferTest | |||
wagonMockControl.replay(); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied" ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2 ); | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied", false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, false ); | |||
// Attempt the proxy fetch. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -400,8 +421,8 @@ public class ManagedDefaultTransferTest | |||
saveRemoteRepositoryConfig( "badproxied2", "Bad Proxied 2", "test://dead.machine.com/repo/", "default" ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied1" ); | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied2" ); | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied1", false ); | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied2", false ); | |||
File tmpFile = new File( expectedFile.getParentFile(), expectedFile.getName() + ".tmp" ); | |||
wagonMock.get( path, tmpFile ); | |||
@@ -446,7 +467,7 @@ public class ManagedDefaultTransferTest | |||
assertTrue( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -473,7 +494,7 @@ public class ManagedDefaultTransferTest | |||
assertTrue( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -495,7 +516,7 @@ public class ManagedDefaultTransferTest | |||
assertNotExistsInManagedDefaultRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -517,7 +538,7 @@ public class ManagedDefaultTransferTest | |||
assertNotExistsInManagedDefaultRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -51,7 +51,7 @@ public class ManagedLegacyTransferTest | |||
assertNotExistsInManagedLegacyRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -80,7 +80,7 @@ public class ManagedLegacyTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -102,7 +102,7 @@ public class ManagedLegacyTransferTest | |||
assertNotExistsInManagedLegacyRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -127,7 +127,7 @@ public class ManagedLegacyTransferTest | |||
ArtifactReference artifact = managedLegacyRepository.toArtifactReference( path ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -149,7 +149,7 @@ public class ManagedLegacyTransferTest | |||
assertTrue( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -171,7 +171,7 @@ public class ManagedLegacyTransferTest | |||
assertTrue( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -193,7 +193,7 @@ public class ManagedLegacyTransferTest | |||
assertNotExistsInManagedLegacyRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED ); | |||
saveConnector( ID_LEGACY_MANAGED, ID_LEGACY_PROXIED, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -215,7 +215,7 @@ public class ManagedLegacyTransferTest | |||
assertNotExistsInManagedLegacyRepo( expectedFile ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_LEGACY_MANAGED, ID_PROXIED1, false ); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedLegacyRepository, artifact ); | |||
@@ -95,6 +95,30 @@ public class MetadataTransferTest | |||
* @plexus.requirement | |||
*/ | |||
private MetadataTools metadataTools; | |||
public void testGetProjectMetadataProxiedNotLocalOnRemoteConnectoDisabled() | |||
throws Exception | |||
{ | |||
// New project metadata that does not exist locally but exists on remote. | |||
String requestedResource = "org/apache/maven/test/get-found-in-proxy/maven-metadata.xml"; | |||
setupTestableManagedRepository( requestedResource ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, true); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
File expectedFile = new File( managedDefaultDir, requestedResource ); | |||
ProjectReference metadata = createProjectReference( requestedResource ); | |||
File downloadedFile = proxyHandler.fetchMetatadaFromProxies( managedDefaultRepository, managedDefaultRepository.toMetadataPath(metadata) ); | |||
assertNull( "Should not have downloaded a file.", downloadedFile ); | |||
assertNoTempFiles( expectedFile ); | |||
} | |||
// TODO: same test for other fetch* methods | |||
public void testFetchFromTwoProxiesWhenFirstConnectionFails() | |||
@@ -108,9 +132,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, "badproxied1", ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( "badproxied1", requestedResource ); | |||
@@ -185,9 +209,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -211,9 +235,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -237,7 +261,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -259,9 +283,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertProjectMetadataContents( requestedResource, new String[] { "1.0" }, null, null ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -285,9 +309,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertProjectMetadataContents( requestedResource, new String[] { "1.0-beta-2" }, null, null ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -313,7 +337,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertProjectMetadataContents( requestedResource, new String[] { "1.0.8", "1.0.22" }, null, null ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -386,9 +410,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -416,7 +440,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertResourceNotFound( requestedResource ); | |||
@@ -443,7 +467,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -470,7 +494,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertReleaseMetadataContents( requestedResource ); | |||
@@ -496,9 +520,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertReleaseMetadataContents( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -527,7 +551,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertReleaseMetadataContents( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -578,9 +602,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -603,7 +627,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertNoMetadata( requestedResource ); | |||
@@ -624,7 +648,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertResourceNotFound( requestedResource ); | |||
@@ -644,9 +668,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertSnapshotMetadataContents( requestedResource, "20070822", "021008", 3 ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -669,9 +693,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertResourceExists( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -695,7 +719,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertSnapshotMetadataContents( requestedResource, "20050831", "101112", 1 ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -751,9 +775,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -777,9 +801,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -803,7 +827,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertResourceNotFound( requestedResource ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -825,9 +849,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertGroupMetadataContents( requestedResource, new String[] { "plugin1" } ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -851,9 +875,9 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertGroupMetadataContents( requestedResource, new String[] { "plugin5" } ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); | |||
@@ -879,7 +903,7 @@ public class MetadataTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.NO, false ); | |||
assertGroupMetadataContents( requestedResource, new String[] { "plugin6", "plugin7" } ); | |||
assertNoRepoMetadata( ID_PROXIED1, requestedResource ); |
@@ -50,7 +50,7 @@ public class SnapshotTransferTest | |||
assertFalse( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
assertNotDownloaded( downloadedFile ); | |||
@@ -70,7 +70,7 @@ public class SnapshotTransferTest | |||
assertFalse( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -92,7 +92,7 @@ public class SnapshotTransferTest | |||
expectedFile.setLastModified( getPastDate().getTime() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -115,7 +115,7 @@ public class SnapshotTransferTest | |||
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1 ); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false ); | |||
// Attempt to download. | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -207,7 +207,7 @@ public class SnapshotTransferTest | |||
proxiedFile.setLastModified( getFutureDate().getTime() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -230,7 +230,7 @@ public class SnapshotTransferTest | |||
ArtifactReference artifact = managedDefaultRepository.toArtifactReference( path ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -253,9 +253,9 @@ public class SnapshotTransferTest | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES , false); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED2, ChecksumPolicy.IGNORE, ReleasesPolicy.ALWAYS, | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES ); | |||
SnapshotsPolicy.ALWAYS, CachedFailuresPolicy.YES , false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -277,7 +277,7 @@ public class SnapshotTransferTest | |||
assertFalse( expectedFile.exists() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -303,7 +303,7 @@ public class SnapshotTransferTest | |||
expectedFile.setLastModified( getPastDate().getTime() ); | |||
// Configure Connector (usually done within archiva.xml configuration) | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1); | |||
saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, false); | |||
File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); | |||
@@ -39,4 +39,8 @@ public interface RepositoryConnector | |||
public List<String> getBlacklist(); | |||
public List<String> getWhitelist(); | |||
public boolean isDisabled(); | |||
public void setDisabled(boolean disabled); | |||
} |
@@ -0,0 +1,98 @@ | |||
package org.apache.maven.archiva.web.action.admin.connectors.proxy; | |||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration; | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one | |||
* or more contributor license agreements. See the NOTICE file | |||
* distributed with this work for additional information | |||
* regarding copyright ownership. The ASF licenses this file | |||
* to you under the Apache License, Version 2.0 (the | |||
* "License"); you may not use this file except in compliance | |||
* with the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, | |||
* software distributed under the License is distributed on an | |||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
* KIND, either express or implied. See the License for the | |||
* specific language governing permissions and limitations | |||
* under the License. | |||
*/ | |||
/** | |||
* DisableProxyConnectorAction | |||
* | |||
* @plexus.component role="com.opensymphony.xwork.Action" role-hint="disableProxyConnectorAction" | |||
*/ | |||
public class DisableProxyConnectorAction extends AbstractProxyConnectorAction | |||
{ | |||
private String source; | |||
private String target; | |||
private ProxyConnectorConfiguration proxyConfig; | |||
public String confirmDisable() | |||
{ | |||
this.proxyConfig = findProxyConnector( source, target ); | |||
// Not set? Then there is nothing to delete. | |||
if ( this.proxyConfig == null ) | |||
{ | |||
addActionError( "Unable to disable proxy configuration, configuration with source [" + source | |||
+ "], and target [" + target + "] does not exist." ); | |||
return ERROR; | |||
} | |||
return INPUT; | |||
} | |||
public String disable() | |||
{ | |||
this.proxyConfig = findProxyConnector( source, target ); | |||
// Not set? Then there is nothing to delete. | |||
if ( this.proxyConfig == null ) | |||
{ | |||
addActionError( "Unable to disable proxy configuration, configuration with source [" + source | |||
+ "], and target [" + target + "] does not exist." ); | |||
return ERROR; | |||
} | |||
if ( hasActionErrors() ) | |||
{ | |||
return ERROR; | |||
} | |||
proxyConfig.setDisabled(true); | |||
addActionMessage( "Successfully disabled proxy connector [" + source + " , " + target + " ]" ); | |||
setSource( null ); | |||
setTarget( null ); | |||
return saveConfiguration(); | |||
} | |||
public String getSource() | |||
{ | |||
return source; | |||
} | |||
public void setSource(String source) | |||
{ | |||
this.source = source; | |||
} | |||
public String getTarget() | |||
{ | |||
return target; | |||
} | |||
public void setTarget(String target) | |||
{ | |||
this.target = target; | |||
} | |||
} |
@@ -0,0 +1,98 @@ | |||
package org.apache.maven.archiva.web.action.admin.connectors.proxy; | |||
import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration; | |||
/* | |||
* Licensed to the Apache Software Foundation (ASF) under one | |||
* or more contributor license agreements. See the NOTICE file | |||
* distributed with this work for additional information | |||
* regarding copyright ownership. The ASF licenses this file | |||
* to you under the Apache License, Version 2.0 (the | |||
* "License"); you may not use this file except in compliance | |||
* with the License. You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, | |||
* software distributed under the License is distributed on an | |||
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
* KIND, either express or implied. See the License for the | |||
* specific language governing permissions and limitations | |||
* under the License. | |||
*/ | |||
/** | |||
* EnableProxyConnectorAction | |||
* | |||
* @plexus.component role="com.opensymphony.xwork.Action" role-hint="enableProxyConnectorAction" | |||
*/ | |||
public class EnableProxyConnectorAction extends AbstractProxyConnectorAction | |||
{ | |||
private String source; | |||
private String target; | |||
private ProxyConnectorConfiguration proxyConfig; | |||
public String confirmEnable() | |||
{ | |||
this.proxyConfig = findProxyConnector( source, target ); | |||
// Not set? Then there is nothing to delete. | |||
if ( this.proxyConfig == null ) | |||
{ | |||
addActionError( "Unable to enable proxy configuration, configuration with source [" + source | |||
+ "], and target [" + target + "] does not exist." ); | |||
return ERROR; | |||
} | |||
return INPUT; | |||
} | |||
public String enable() | |||
{ | |||
this.proxyConfig = findProxyConnector( source, target ); | |||
// Not set? Then there is nothing to delete. | |||
if ( this.proxyConfig == null ) | |||
{ | |||
addActionError( "Unable to enabled proxy configuration, configuration with source [" + source | |||
+ "], and target [" + target + "] does not exist." ); | |||
return ERROR; | |||
} | |||
if ( hasActionErrors() ) | |||
{ | |||
return ERROR; | |||
} | |||
proxyConfig.setDisabled(false); | |||
addActionMessage( "Successfully enabled proxy connector [" + source + " , " + target + " ]" ); | |||
setSource( null ); | |||
setTarget( null ); | |||
return saveConfiguration(); | |||
} | |||
public String getSource() | |||
{ | |||
return source; | |||
} | |||
public void setSource(String source) | |||
{ | |||
this.source = source; | |||
} | |||
public String getTarget() | |||
{ | |||
return target; | |||
} | |||
public void setTarget(String target) | |||
{ | |||
this.target = target; | |||
} | |||
} |
@@ -377,6 +377,19 @@ | |||
<result name="success" type="redirect-action">proxyConnectors</result> | |||
<interceptor-ref name="configuredPrepareParamsStack"/> | |||
</action> | |||
<action name="enableProxyConnector" class="enableProxyConnectorAction" method="confirm"> | |||
<result name="input">/WEB-INF/jsp/admin/enableProxyConnector.jsp</result> | |||
<result name="success" type="redirect-action">proxyConnectors</result> | |||
<interceptor-ref name="configuredPrepareParamsStack"/> | |||
</action> | |||
<action name="disableProxyConnector" class="disableProxyConnectorAction" method="confirm"> | |||
<result name="input">/WEB-INF/jsp/admin/disableProxyConnector.jsp</result> | |||
<result name="success" type="redirect-action">proxyConnectors</result> | |||
<interceptor-ref name="configuredPrepareParamsStack"/> | |||
</action> | |||
<!-- .\ NETWORK PROXIES \._________________________________________ --> | |||
@@ -0,0 +1,50 @@ | |||
<%-- | |||
~ Licensed to the Apache Software Foundation (ASF) under one | |||
~ or more contributor license agreements. See the NOTICE file | |||
~ distributed with this work for additional information | |||
~ regarding copyright ownership. The ASF licenses this file | |||
~ to you under the Apache License, Version 2.0 (the | |||
~ "License"); you may not use this file except in compliance | |||
~ with the License. You may obtain a copy of the License at | |||
~ | |||
~ http://www.apache.org/licenses/LICENSE-2.0 | |||
~ | |||
~ Unless required by applicable law or agreed to in writing, | |||
~ software distributed under the License is distributed on an | |||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
~ KIND, either express or implied. See the License for the | |||
~ specific language governing permissions and limitations | |||
~ under the License. | |||
--%> | |||
<%@ taglib prefix="ww" uri="/webwork" %> | |||
<html> | |||
<head> | |||
<title>Admin: Disable Proxy Connector</title> | |||
<ww:head/> | |||
</head> | |||
<body> | |||
<h1>Admin: Disable Proxy Connector</h1> | |||
<ww:actionerror/> | |||
<div id="contentArea"> | |||
<h2>Disable Proxy Connector</h2> | |||
<p> | |||
Are you sure you want to disable proxy connector <code>[ ${source} , ${target} ]</code> ? | |||
</p> | |||
<ww:form method="post" action="disableProxyConnector!disable" namespace="/admin" validate="true"> | |||
<ww:hidden name="target"/> | |||
<ww:hidden name="source"/> | |||
<ww:submit value="Disable"/> | |||
</ww:form> | |||
</div> | |||
</body> | |||
</html> |
@@ -0,0 +1,50 @@ | |||
<%-- | |||
~ Licensed to the Apache Software Foundation (ASF) under one | |||
~ or more contributor license agreements. See the NOTICE file | |||
~ distributed with this work for additional information | |||
~ regarding copyright ownership. The ASF licenses this file | |||
~ to you under the Apache License, Version 2.0 (the | |||
~ "License"); you may not use this file except in compliance | |||
~ with the License. You may obtain a copy of the License at | |||
~ | |||
~ http://www.apache.org/licenses/LICENSE-2.0 | |||
~ | |||
~ Unless required by applicable law or agreed to in writing, | |||
~ software distributed under the License is distributed on an | |||
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | |||
~ KIND, either express or implied. See the License for the | |||
~ specific language governing permissions and limitations | |||
~ under the License. | |||
--%> | |||
<%@ taglib prefix="ww" uri="/webwork" %> | |||
<html> | |||
<head> | |||
<title>Admin: Enable Proxy Connector</title> | |||
<ww:head/> | |||
</head> | |||
<body> | |||
<h1>Admin: Enable Proxy Connector</h1> | |||
<ww:actionerror/> | |||
<div id="contentArea"> | |||
<h2>Enable Proxy Connector</h2> | |||
<p> | |||
Are you sure you want to enable proxy connector <code>[ ${source} , ${target} ]</code> ? | |||
</p> | |||
<ww:form method="post" action="enableProxyConnector!enable" namespace="/admin" validate="true"> | |||
<ww:hidden name="target"/> | |||
<ww:hidden name="source"/> | |||
<ww:submit value="Enable"/> | |||
</ww:form> | |||
</div> | |||
</body> | |||
</html> |
@@ -105,6 +105,24 @@ | |||
<ww:param name="source" value="%{'${connector.sourceRepoId}'}"/> | |||
<ww:param name="target" value="%{'${connector.targetRepoId}'}"/> | |||
</ww:url> | |||
<ww:url id="enableProxyConnectorUrl" action="enableProxyConnector" method="confirmEnable"> | |||
<ww:param name="source" value="%{'${connector.sourceRepoId}'}"/> | |||
<ww:param name="target" value="%{'${connector.targetRepoId}'}"/> | |||
</ww:url> | |||
<ww:url id="disableProxyConnectorUrl" action="disableProxyConnector" method="confirmDisable"> | |||
<ww:param name="source" value="%{'${connector.sourceRepoId}'}"/> | |||
<ww:param name="target" value="%{'${connector.targetRepoId}'}"/> | |||
</ww:url> | |||
<c:if test="${connector.disabled}"> | |||
<ww:a href="%{enableProxyConnectorUrl}" label="Enable Proxy Connector"> | |||
Enable | |||
</ww:a> | |||
</c:if> | |||
<c:if test="${connector.disabled == false}"> | |||
<ww:a href="%{disableProxyConnectorUrl}" title="Disable Proxy Connector"> | |||
Disable | |||
</ww:a> | |||
</c:if> | |||
<c:if test="${pc.count > 1}"> | |||
<ww:a href="%{sortUpProxyConnectorUrl}" cssClass="up" title="Move Proxy Connector Up"> | |||
<img src="${iconUpUrl}"/> |
@@ -0,0 +1,219 @@ | |||
/* | |||
* Copyright 2008 jdumay. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
* under the License. | |||
*/ | |||
package org.apache.maven.archiva.web.action.admin.connectors.proxy; | |||
import com.opensymphony.xwork.Action; | |||
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.ManagedRepositoryConfiguration; | |||
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.plexus.redback.xwork.interceptor.SecureActionBundle; | |||
import org.codehaus.plexus.registry.RegistryException; | |||
import org.easymock.MockControl; | |||
public class DisableProxyConnectorActionTest extends AbstractWebworkTestCase | |||
{ | |||
private static final String TEST_TARGET_ID = "central"; | |||
private static final String TEST_SOURCE_ID = "corporate"; | |||
private DisableProxyConnectorAction action; | |||
private MockControl archivaConfigurationControl; | |||
private ArchivaConfiguration archivaConfiguration; | |||
public void testConfirmDisableBadSourceOrTarget() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 4 ); | |||
archivaConfigurationControl.replay(); | |||
// Attempt to show the confirm disable screen, but provide | |||
// a bad source id or target id to actually delete | |||
preRequest( action ); | |||
action.setSource( "bad-source" ); // id doesn't exist. | |||
action.setTarget( "bad-target" ); // id doesn't exist. | |||
String status = action.confirmDisable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( "bad" ); // Bad doesn't exist. | |||
action.setTarget( TEST_TARGET_ID ); | |||
status = action.confirmDisable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( "bad" ); // Bad doesn't exist. | |||
status = action.confirmDisable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
} | |||
public void testConfirmDisableNoSourceOrTarget() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 1 ); | |||
archivaConfigurationControl.replay(); | |||
// Attempt to show the confirm disable screen, but don't provide | |||
// the source id or target id to actually delete | |||
preRequest( action ); | |||
action.setSource( null ); // No source Id. | |||
action.setTarget( null ); // No target Id. | |||
String status = action.confirmDisable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( null ); // No target Id. | |||
status = action.confirmDisable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( null ); // No source Id. | |||
action.setTarget( TEST_TARGET_ID ); | |||
status = action.confirmDisable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
} | |||
public void testDelete() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 5 ); | |||
archivaConfigurationControl.replay(); | |||
// Show the confirm the disable of proxy connector screen. | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( TEST_TARGET_ID ); | |||
String status = action.confirmDisable(); | |||
assertEquals( Action.INPUT, status ); | |||
assertNoErrors( action ); | |||
// Perform the disable. | |||
preRequest( action ); | |||
status = action.disable(); | |||
assertEquals( Action.SUCCESS, status ); | |||
assertNoErrors( action ); | |||
assertHasMessages( action ); | |||
// Test the configuration. | |||
assertEquals( 1, archivaConfiguration.getConfiguration().getProxyConnectors().size() ); | |||
ProxyConnectorConfiguration config = (ProxyConnectorConfiguration)archivaConfiguration.getConfiguration().getProxyConnectors().get(0); | |||
assertTrue(config.isDisabled()); | |||
} | |||
public void testSecureActionBundle() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 1 ); | |||
archivaConfigurationControl.replay(); | |||
SecureActionBundle bundle = action.getSecureActionBundle(); | |||
assertTrue( bundle.requiresAuthentication() ); | |||
assertEquals( 1, bundle.getAuthorizationTuples().size() ); | |||
} | |||
public void testConfirmEnable() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 1 ); | |||
archivaConfigurationControl.replay(); | |||
// Show the confirm the disable of proxy connector screen. | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( TEST_TARGET_ID ); | |||
String status = action.confirmDisable(); | |||
assertEquals( Action.INPUT, status ); | |||
assertNoErrors( action ); | |||
} | |||
private Configuration createInitialConfiguration() | |||
{ | |||
Configuration config = new Configuration(); | |||
ManagedRepositoryConfiguration managedRepo = new ManagedRepositoryConfiguration(); | |||
managedRepo.setId( TEST_SOURCE_ID ); | |||
managedRepo.setLayout( "${java.io.tmpdir}/archiva-test/managed-repo" ); | |||
managedRepo.setReleases( true ); | |||
config.addManagedRepository( managedRepo ); | |||
RemoteRepositoryConfiguration remoteRepo = new RemoteRepositoryConfiguration(); | |||
remoteRepo.setId( TEST_TARGET_ID ); | |||
remoteRepo.setUrl( "http://repo1.maven.org/maven2/" ); | |||
config.addRemoteRepository( remoteRepo ); | |||
ProxyConnectorConfiguration connector = new ProxyConnectorConfiguration(); | |||
connector.setSourceRepoId( TEST_SOURCE_ID ); | |||
connector.setTargetRepoId( TEST_TARGET_ID ); | |||
connector.setDisabled(false); | |||
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 = (DisableProxyConnectorAction) lookup( Action.class.getName(), "disableProxyConnectorAction" ); | |||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class ); | |||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock(); | |||
action.setArchivaConfiguration( archivaConfiguration ); | |||
} | |||
} |
@@ -0,0 +1,218 @@ | |||
/* | |||
* Copyright 2008 jdumay. | |||
* | |||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||
* you may not use this file except in compliance with the License. | |||
* You may obtain a copy of the License at | |||
* | |||
* http://www.apache.org/licenses/LICENSE-2.0 | |||
* | |||
* Unless required by applicable law or agreed to in writing, software | |||
* distributed under the License is distributed on an "AS IS" BASIS, | |||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
* See the License for the specific language governing permissions and | |||
* limitations under the License. | |||
* under the License. | |||
*/ | |||
package org.apache.maven.archiva.web.action.admin.connectors.proxy; | |||
import com.opensymphony.xwork.Action; | |||
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.ManagedRepositoryConfiguration; | |||
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.plexus.redback.xwork.interceptor.SecureActionBundle; | |||
import org.codehaus.plexus.registry.RegistryException; | |||
import org.easymock.MockControl; | |||
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() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 4 ); | |||
archivaConfigurationControl.replay(); | |||
// Attempt to show the confirm enable screen, but provide | |||
// a bad source id or target id to actually enable | |||
preRequest( action ); | |||
action.setSource( "bad-source" ); // id doesn't exist. | |||
action.setTarget( "bad-target" ); // id doesn't exist. | |||
String status = action.confirmEnable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( "bad" ); // Bad doesn't exist. | |||
action.setTarget( TEST_TARGET_ID ); | |||
status = action.confirmEnable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( "bad" ); // Bad doesn't exist. | |||
status = action.confirmEnable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
} | |||
public void testConfirmEnableNoSourceOrTarget() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 1 ); | |||
archivaConfigurationControl.replay(); | |||
// Attempt to show the confirm enable screen, but don't provide | |||
// the source id or target id to actually delete | |||
preRequest( action ); | |||
action.setSource( null ); // No source Id. | |||
action.setTarget( null ); // No target Id. | |||
String status = action.confirmEnable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( null ); // No target Id. | |||
status = action.confirmEnable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
preRequest( action ); | |||
action.setSource( null ); // No source Id. | |||
action.setTarget( TEST_TARGET_ID ); | |||
status = action.confirmEnable(); | |||
// Should have resulted in an error. | |||
assertEquals( Action.ERROR, status ); | |||
assertHasErrors( action ); | |||
} | |||
public void testEnable() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 5 ); | |||
archivaConfigurationControl.replay(); | |||
// Show the confirm the enable of proxy connector screen. | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( TEST_TARGET_ID ); | |||
String status = action.confirmEnable(); | |||
assertEquals( Action.INPUT, status ); | |||
assertNoErrors( action ); | |||
// Perform the delete. | |||
preRequest( action ); | |||
status = action.enable(); | |||
assertEquals( Action.SUCCESS, status ); | |||
assertNoErrors( action ); | |||
assertHasMessages( action ); | |||
// Test the configuration. | |||
assertEquals( 1, archivaConfiguration.getConfiguration().getProxyConnectors().size() ); | |||
ProxyConnectorConfiguration config = (ProxyConnectorConfiguration)archivaConfiguration.getConfiguration().getProxyConnectors().get(0); | |||
assertFalse(config.isDisabled()); | |||
} | |||
public void testSecureActionBundle() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 1 ); | |||
archivaConfigurationControl.replay(); | |||
SecureActionBundle bundle = action.getSecureActionBundle(); | |||
assertTrue( bundle.requiresAuthentication() ); | |||
assertEquals( 1, bundle.getAuthorizationTuples().size() ); | |||
} | |||
public void testConfirmEnable() | |||
throws Exception | |||
{ | |||
expectConfigurationRequests( 1 ); | |||
archivaConfigurationControl.replay(); | |||
// Show the confirm the enable of proxy connector screen. | |||
preRequest( action ); | |||
action.setSource( TEST_SOURCE_ID ); | |||
action.setTarget( TEST_TARGET_ID ); | |||
String status = action.confirmEnable(); | |||
assertEquals( Action.INPUT, status ); | |||
assertNoErrors( action ); | |||
} | |||
private Configuration createInitialConfiguration() | |||
{ | |||
Configuration config = new Configuration(); | |||
ManagedRepositoryConfiguration managedRepo = new ManagedRepositoryConfiguration(); | |||
managedRepo.setId( TEST_SOURCE_ID ); | |||
managedRepo.setLayout( "${java.io.tmpdir}/archiva-test/managed-repo" ); | |||
managedRepo.setReleases( true ); | |||
config.addManagedRepository( managedRepo ); | |||
RemoteRepositoryConfiguration remoteRepo = new RemoteRepositoryConfiguration(); | |||
remoteRepo.setId( TEST_TARGET_ID ); | |||
remoteRepo.setUrl( "http://repo1.maven.org/maven2/" ); | |||
config.addRemoteRepository( remoteRepo ); | |||
ProxyConnectorConfiguration connector = new ProxyConnectorConfiguration(); | |||
connector.setSourceRepoId( TEST_SOURCE_ID ); | |||
connector.setTargetRepoId( TEST_TARGET_ID ); | |||
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" ); | |||
archivaConfigurationControl = MockControl.createControl( ArchivaConfiguration.class ); | |||
archivaConfiguration = (ArchivaConfiguration) archivaConfigurationControl.getMock(); | |||
action.setArchivaConfiguration( archivaConfiguration ); | |||
} | |||
} |