001    package org.apache.archiva.repository.content.maven2;
002    
003    /*
004     * Licensed to the Apache Software Foundation (ASF) under one
005     * or more contributor license agreements.  See the NOTICE file
006     * distributed with this work for additional information
007     * regarding copyright ownership.  The ASF licenses this file
008     * to you under the Apache License, Version 2.0 (the
009     * "License"); you may not use this file except in compliance
010     * with the License.  You may obtain a copy of the License at
011     *
012     *  http://www.apache.org/licenses/LICENSE-2.0
013     *
014     * Unless required by applicable law or agreed to in writing,
015     * software distributed under the License is distributed on an
016     * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
017     * KIND, either express or implied.  See the License for the
018     * specific language governing permissions and limitations
019     * under the License.
020     */
021    
022    import org.apache.archiva.metadata.repository.storage.maven2.ArtifactMappingProvider;
023    import org.apache.archiva.metadata.repository.storage.maven2.DefaultArtifactMappingProvider;
024    
025    /**
026     * ArtifactExtensionMapping
027     *
028     *
029     */
030    public class ArtifactExtensionMapping
031    {
032        public static final String MAVEN_ONE_PLUGIN = "maven-one-plugin";
033    
034        // TODO: now only used in Maven 1, we should be using M1 specific mappings
035        private static final ArtifactMappingProvider mapping = new DefaultArtifactMappingProvider();
036    
037        public static String getExtension( String type )
038        {
039            String ext = mapping.mapTypeToExtension( type );
040    
041            if ( ext == null )
042            {
043                ext = type;
044            }
045    
046            return ext;
047        }
048    
049        public static String mapExtensionAndClassifierToType( String classifier, String extension )
050        {
051            return mapExtensionAndClassifierToType( classifier, extension, extension );
052        }
053    
054        public static String mapExtensionAndClassifierToType( String classifier, String extension,
055                                                               String defaultExtension )
056        {
057            String value = mapping.mapClassifierAndExtensionToType( classifier, extension );
058            if ( value == null )
059            {
060                // TODO: Maven 1 plugin
061                String value1 = null;
062                if ( "tar.gz".equals( extension ) )
063                {
064                    value1 = "distribution-tgz";
065                }
066                else  if ( "tar.bz2".equals( extension ) )
067                {
068                    value1 = "distribution-bzip";
069                }
070                else  if ( "zip".equals( extension ) )
071                {
072                    value1 = "distribution-zip";
073                }
074                value = value1;
075            }
076            return value != null ? value : defaultExtension;
077        }
078    }