1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project;
20
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.IdentityHashMap;
24 import java.util.List;
25 import java.util.Map;
26
27 import org.eclipse.aether.graph.Dependency;
28 import org.eclipse.aether.graph.DependencyNode;
29
30
31
32 class DefaultDependencyResolutionResult implements DependencyResolutionResult {
33
34 private DependencyNode root;
35
36 private List<Dependency> dependencies = new ArrayList<>();
37
38 private List<Dependency> resolvedDependencies = new ArrayList<>();
39
40 private List<Dependency> unresolvedDependencies = new ArrayList<>();
41
42 private List<Exception> collectionErrors = new ArrayList<>();
43
44 private Map<Dependency, List<Exception>> resolutionErrors = new IdentityHashMap<>();
45
46 @Override
47 public DependencyNode getDependencyGraph() {
48 return root;
49 }
50
51 public void setDependencyGraph(DependencyNode root) {
52 this.root = root;
53 }
54
55 @Override
56 public List<Dependency> getDependencies() {
57 return dependencies;
58 }
59
60 @Override
61 public List<Dependency> getResolvedDependencies() {
62 return resolvedDependencies;
63 }
64
65 public void addResolvedDependency(Dependency dependency) {
66 dependencies.add(dependency);
67 resolvedDependencies.add(dependency);
68 }
69
70 @Override
71 public List<Dependency> getUnresolvedDependencies() {
72 return unresolvedDependencies;
73 }
74
75 @Override
76 public List<Exception> getCollectionErrors() {
77 return collectionErrors;
78 }
79
80 public void setCollectionErrors(List<Exception> exceptions) {
81 if (exceptions != null) {
82 this.collectionErrors = exceptions;
83 } else {
84 this.collectionErrors = new ArrayList<>();
85 }
86 }
87
88 @Override
89 public List<Exception> getResolutionErrors(Dependency dependency) {
90 List<Exception> errors = resolutionErrors.get(dependency);
91 return (errors != null) ? Collections.unmodifiableList(errors) : Collections.emptyList();
92 }
93
94 public void setResolutionErrors(Dependency dependency, List<Exception> errors) {
95 dependencies.add(dependency);
96 unresolvedDependencies.add(dependency);
97 resolutionErrors.put(dependency, errors);
98 }
99 }