1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.model.building;
20
21 import java.nio.file.Path;
22
23 import org.apache.maven.model.Model;
24
25
26
27
28
29 public class ModelProblemUtils {
30
31
32
33
34
35
36
37 static String toSourceHint(Model model) {
38 if (model == null) {
39 return "";
40 }
41
42 StringBuilder buffer = new StringBuilder(128);
43
44 buffer.append(toId(model));
45
46 Path pomPath = model.getPomPath();
47 if (pomPath != null) {
48 buffer.append(" (").append(pomPath).append(')');
49 }
50
51 return buffer.toString();
52 }
53
54 static String toPath(Model model) {
55 String path = "";
56
57 if (model != null) {
58 Path pomPath = model.getPomPath();
59
60 if (pomPath != null) {
61 path = pomPath.toAbsolutePath().toString();
62 }
63 }
64
65 return path;
66 }
67
68 static String toId(Model model) {
69 if (model == null) {
70 return "";
71 }
72 return toId(model.getDelegate());
73 }
74
75 static String toId(org.apache.maven.api.model.Model model) {
76 String groupId = model.getGroupId();
77 if (groupId == null && model.getParent() != null) {
78 groupId = model.getParent().getGroupId();
79 }
80
81 String artifactId = model.getArtifactId();
82
83 String version = model.getVersion();
84 if (version == null && model.getParent() != null) {
85 version = model.getParent().getVersion();
86 }
87 if (version == null) {
88 version = "[unknown-version]";
89 }
90
91 return toId(groupId, artifactId, version);
92 }
93
94
95
96
97
98
99
100
101
102 static String toId(String groupId, String artifactId, String version) {
103 StringBuilder buffer = new StringBuilder(128);
104
105 buffer.append((groupId != null && !groupId.isEmpty()) ? groupId : "[unknown-group-id]");
106 buffer.append(':');
107 buffer.append((artifactId != null && !artifactId.isEmpty()) ? artifactId : "[unknown-artifact-id]");
108 buffer.append(':');
109 buffer.append((version != null && !version.isEmpty()) ? version : "[unknown-version]");
110
111 return buffer.toString();
112 }
113
114
115
116
117
118
119
120
121
122
123
124 public static String formatLocation(ModelProblem problem, String projectId) {
125 StringBuilder buffer = new StringBuilder(256);
126
127 if (!problem.getModelId().equals(projectId)) {
128 buffer.append(problem.getModelId());
129
130 if (!problem.getSource().isEmpty()) {
131 if (buffer.length() > 0) {
132 buffer.append(", ");
133 }
134 buffer.append(problem.getSource());
135 }
136 }
137
138 if (problem.getLineNumber() > 0) {
139 if (buffer.length() > 0) {
140 buffer.append(", ");
141 }
142 buffer.append("line ").append(problem.getLineNumber());
143 }
144
145 if (problem.getColumnNumber() > 0) {
146 if (buffer.length() > 0) {
147 buffer.append(", ");
148 }
149 buffer.append("column ").append(problem.getColumnNumber());
150 }
151
152 return buffer.toString();
153 }
154 }