1 package org.apache.maven.shared.dependency.tree;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.util.Collections;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26 import java.util.Set;
27
28 import org.apache.maven.artifact.Artifact;
29 import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
30 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
31 import org.apache.maven.artifact.metadata.ResolutionGroup;
32 import org.apache.maven.artifact.repository.ArtifactRepository;
33 import org.apache.maven.artifact.versioning.ArtifactVersion;
34
35
36
37
38
39
40
41 public class ArtifactMetadataSourceStub
42 implements ArtifactMetadataSource
43 {
44
45
46
47
48
49
50
51 private final Map<Artifact, ResolutionGroup> resolutionGroupsByArtifact;
52
53
54
55
56 private final Map<Artifact, List<ArtifactVersion>> availableVersionsByArtifact;
57
58
59
60
61
62
63 public ArtifactMetadataSourceStub()
64 {
65 resolutionGroupsByArtifact = new HashMap<Artifact, ResolutionGroup>();
66 availableVersionsByArtifact = new HashMap<Artifact, List<ArtifactVersion>>();
67 }
68
69
70
71
72
73
74 public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List remoteRepositories )
75 throws ArtifactMetadataRetrievalException
76 {
77 ResolutionGroup resolution = resolutionGroupsByArtifact.get( artifact );
78
79
80 if ( resolution == null )
81 {
82 resolution = new ResolutionGroup( artifact, Collections.EMPTY_SET, Collections.EMPTY_LIST );
83 }
84
85 return resolution;
86 }
87
88
89
90
91 public List retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
92 List remoteRepositories )
93 throws ArtifactMetadataRetrievalException
94 {
95 List<ArtifactVersion> availableVersions = availableVersionsByArtifact.get( artifact );
96
97 return availableVersions != null ? availableVersions : Collections.EMPTY_LIST;
98 }
99
100
101
102
103
104
105
106
107
108 public void addArtifactMetadata( Artifact artifact, Set<Artifact> dependencyArtifacts )
109 {
110 ResolutionGroup resolution = new ResolutionGroup( artifact, dependencyArtifacts, Collections.EMPTY_LIST );
111
112 resolutionGroupsByArtifact.put( artifact, resolution );
113 }
114
115
116
117
118
119
120
121 public void addAvailableVersions( Artifact artifact, List<ArtifactVersion> versions )
122 {
123 availableVersionsByArtifact.put( artifact, versions );
124 }
125
126 public Artifact retrieveRelocatedArtifact( Artifact artifact, ArtifactRepository localRepository,
127 List remoteRepositories )
128 throws ArtifactMetadataRetrievalException
129 {
130 return artifact;
131 }
132 }