]> source.dussan.org Git - archiva.git/commitdiff
MRM-1848 lazy fix for tar.gz
authorEric Barboni <skygo@apache.org>
Tue, 18 Nov 2014 23:10:53 +0000 (00:10 +0100)
committerEric Barboni <skygo@apache.org>
Tue, 18 Nov 2014 23:10:53 +0000 (00:10 +0100)
archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/utils/ArtifactBuilder.java

index 073a34a67e618431b455bb52f8247a20ffd51594..423d27a554a5f766a87b8fd4cda5e7f9244160d8 100644 (file)
@@ -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 );