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