diff --git a/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java b/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java index 1c436287c..08163e452 100644 --- a/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java +++ b/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java @@ -376,7 +376,34 @@ public class ManagedDefaultTransferTest setupTestableManagedRepository( path ); File expectedFile = new File( managedDefaultDir, path ); - ArtifactReference artifact = createArtifactReference( "default", path ); + ArtifactReference artifact = createArtifactReference( "legacy", legacyPath ); + + expectedFile.delete(); + assertFalse( expectedFile.exists() ); + + // Configure Connector (usually done within archiva.xml configuration) + saveConnector( ID_DEFAULT_MANAGED, ID_LEGACY_PROXIED, ChecksumPolicy.IGNORED, ReleasesPolicy.IGNORED, + SnapshotsPolicy.IGNORED, CachedFailuresPolicy.IGNORED ); + + File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact ); + + File proxiedFile = new File( REPOPATH_PROXIED_LEGACY, legacyPath ); + assertFileEquals( expectedFile, downloadedFile, proxiedFile ); + assertNoTempFiles( expectedFile ); + } + + public void testLegacyRequestPluginConvertedToDefaultPathInManagedRepo() + throws Exception + { + // Check that a Maven1 legacy request is translated to a maven2 path in + // the managed repository. + + String legacyPath = "org.apache.maven.test/plugins/get-legacy-plugin-1.0.jar"; + String path = "org/apache/maven/test/get-legacy-plugin/1.0/get-legacy-plugin-1.0.jar"; + setupTestableManagedRepository( path ); + + File expectedFile = new File( managedDefaultDir, path ); + ArtifactReference artifact = createArtifactReference( "legacy", legacyPath ); expectedFile.delete(); assertFalse( expectedFile.exists() ); diff --git a/archiva-base/archiva-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/plugins/get-legacy-plugin-1.0.jar b/archiva-base/archiva-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/plugins/get-legacy-plugin-1.0.jar new file mode 100644 index 000000000..77dbb7858 --- /dev/null +++ b/archiva-base/archiva-proxy/src/test/repositories/legacy-proxied/org.apache.maven.test/plugins/get-legacy-plugin-1.0.jar @@ -0,0 +1 @@ +get-default-layout-1.0.jar diff --git a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java index f95a62707..cedbb7b41 100644 --- a/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java +++ b/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/content/AbstractArtifactExtensionMapping.java @@ -23,7 +23,7 @@ import java.util.HashMap; import java.util.Map; /** - * AbstractArtifactExtensionMapping + * AbstractArtifactExtensionMapping * * @author Joakim Erdfelt * @version $Id$ @@ -44,6 +44,7 @@ public abstract class AbstractArtifactExtensionMapping typeToExtensionMap.put( "javadoc", "jar" ); typeToExtensionMap.put( "aspect", "jar" ); typeToExtensionMap.put( "uberjar", "jar" ); + typeToExtensionMap.put( "plugin", "jar" ); typeToExtensionMap.put( "maven-plugin", "jar" ); typeToExtensionMap.put( "maven-archetype", "jar" ); }