From: Eric Barboni Date: Tue, 18 Nov 2014 23:10:53 +0000 (+0100) Subject: MRM-1848 lazy fix for tar.gz X-Git-Tag: archiva-2.2.0~56 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=a1d2414702b9b497b8125bae0dc5e4cb516473da;p=archiva.git MRM-1848 lazy fix for tar.gz --- diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactBuilder.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactBuilder.java index 073a34a67..423d27a55 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactBuilder.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactBuilder.java @@ -59,6 +59,25 @@ public class ArtifactBuilder return this; } + /** + * + * @param filename + * @return + */ + private static String specialExtensions( String filename ) + { + String[] special = { + "tar.gz" + }; + for ( String extension : special ) + { + if ( filename.endsWith( extension ) ) + { + return extension; + } + } + return null; + } public Artifact build() { ArtifactReference ref = new ArtifactReference(); @@ -80,7 +99,12 @@ public class ArtifactBuilder File file = managedRepositoryContent.toFile( ref ); String extension = FilenameUtils.getExtension( file.getName() ); - + // handle more than one point extension we know. + if ( specialExtensions( file.getName() ) != null ) + { + extension = specialExtensions( file.getName() ); + } + Artifact artifact = new Artifact( ref.getGroupId(), ref.getArtifactId(), ref.getVersion() ); artifact.setRepositoryId( artifactMetadata.getRepositoryId() ); artifact.setClassifier( classifier );