summaryrefslogtreecommitdiffstats
path: root/archiva-modules
diff options
context:
space:
mode:
authorEric Barboni <skygo@apache.org>2014-11-19 00:10:53 +0100
committerEric Barboni <skygo@apache.org>2014-11-19 00:10:53 +0100
commita1d2414702b9b497b8125bae0dc5e4cb516473da (patch)
treeb2e8ee9d92a9dbc607964d5a2e9d4e216a378187 /archiva-modules
parent2b50f483637a08b0ab03c6cb63a6ccbe208f6579 (diff)
downloadarchiva-a1d2414702b9b497b8125bae0dc5e4cb516473da.tar.gz
archiva-a1d2414702b9b497b8125bae0dc5e4cb516473da.zip
MRM-1848 lazy fix for tar.gz
Diffstat (limited to 'archiva-modules')
-rw-r--r--archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactBuilder.java26
1 files changed, 25 insertions, 1 deletions
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 );