1 package org.codehaus.mojo.appassembler.repository;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import org.apache.maven.artifact.Artifact;
28 import org.apache.maven.artifact.handler.ArtifactHandler;
29 import org.apache.maven.artifact.metadata.ArtifactMetadata;
30 import org.apache.maven.artifact.repository.ArtifactRepository;
31 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
32
33
34
35
36
37
38
39
40
41 public class FlatRepositoryLayout
42 implements ArtifactRepositoryLayout
43 {
44 private static final char ARTIFACT_SEPARATOR = '-';
45
46 private static final char GROUP_SEPARATOR = '.';
47
48 public String pathOf( Artifact artifact )
49 {
50 ArtifactHandler artifactHandler = artifact.getArtifactHandler();
51
52 StringBuffer path = new StringBuffer();
53
54 path.append( artifact.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( artifact.getVersion() );
55
56 if ( artifact.hasClassifier() )
57 {
58 path.append( ARTIFACT_SEPARATOR ).append( artifact.getClassifier() );
59 }
60
61 if ( artifactHandler.getExtension() != null && artifactHandler.getExtension().length() > 0 )
62 {
63 path.append( GROUP_SEPARATOR ).append( artifactHandler.getExtension() );
64 }
65
66 return path.toString();
67 }
68
69 public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
70 {
71 return pathOfRepositoryMetadata( metadata.getLocalFilename( repository ) );
72 }
73
74 private String pathOfRepositoryMetadata( String filename )
75 {
76 StringBuffer path = new StringBuffer();
77
78 path.append( filename );
79
80 return path.toString();
81 }
82
83 public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
84 {
85 return pathOfRepositoryMetadata( metadata.getRemoteFilename() );
86 }
87 }