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
109
110 public void addArtifactMetadata( Artifact artifact, Set<Artifact> dependencyArtifacts )
111 {
112 ResolutionGroup resolution = new ResolutionGroup( artifact, dependencyArtifacts, Collections.EMPTY_LIST );
113
114 resolutionGroupsByArtifact.put( artifact, resolution );
115 }
116
117
118
119
120
121
122
123
124
125 public void addAvailableVersions( Artifact artifact, List<ArtifactVersion> versions )
126 {
127 availableVersionsByArtifact.put( artifact, versions );
128 }
129
130 public Artifact retrieveRelocatedArtifact( Artifact artifact, ArtifactRepository localRepository,
131 List remoteRepositories )
132 throws ArtifactMetadataRetrievalException
133 {
134 return artifact;
135 }
136 }