1 package org.apache.maven.repository;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import org.apache.maven.project.Project;
22
23 /**
24 * This will do until wagon debuts.
25 *
26 * @author <a href="mailto:brett@apache.org">Brett Porter</a>
27 * @version $Id: DefaultArtifactTypeHandler.java 517014 2007-03-11 21:15:50Z ltheussl $
28 */
29 public class DefaultArtifactTypeHandler
30 implements ArtifactTypeHandler
31 {
32 /**
33 * Map an artifact to a repository directory path.
34 *
35 * @param project the project for the artifact
36 * @param type The type of the artifact
37 * @return the path
38 */
39 public String constructRepositoryDirectoryPath( String type, Project project )
40 {
41 StringBuffer path = new StringBuffer();
42 path.append( project.getArtifactDirectory() );
43 path.append( "/" );
44 path.append( type + "s" );
45 path.append( "/" );
46 return path.toString();
47 }
48
49 /**
50 * Map an artifact to a repository path.
51 *
52 * @param project the project for the artifact
53 * @param type The type of the artifact
54 * @param version The version of the artifact (may be a snapshot)
55 * @return the path
56 */
57 public String constructRepositoryFullPath( String type, Project project, String version )
58 {
59 StringBuffer path = new StringBuffer( constructRepositoryDirectoryPath( type, project ) );
60 path.append( project.getArtifactId() );
61 path.append( "-" );
62 path.append( version );
63 path.append( extensionForType( type ) );
64 return path.toString();
65 }
66
67 /** @deprecated plugin, ejb and uberjar should provide their own implementation. */
68 private String extensionForType( String type )
69 {
70 if ( "uberjar".equals( type ) || "ejb".equals( type ) || "plugin".equals( type ) )
71 {
72 return ".jar";
73 }
74 else
75 {
76 return "." + type;
77 }
78 }
79 }