1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.settings.validation;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import java.util.List;
26 import java.util.regex.Pattern;
27
28 import org.apache.maven.api.services.BuilderProblem;
29 import org.apache.maven.api.services.SettingsBuilder;
30 import org.apache.maven.settings.Settings;
31 import org.apache.maven.settings.building.SettingsProblem.Severity;
32 import org.apache.maven.settings.building.SettingsProblemCollector;
33
34
35
36
37 @Named
38 @Singleton
39 @Deprecated(since = "4.0.0")
40 public class DefaultSettingsValidator implements SettingsValidator {
41
42 private static final String ID = "[\\w.-]+";
43 private static final Pattern ID_REGEX = Pattern.compile(ID);
44
45 private final SettingsBuilder settingsBuilder;
46
47 @Inject
48 public DefaultSettingsValidator(SettingsBuilder settingsBuilder) {
49 this.settingsBuilder = settingsBuilder;
50 }
51
52 @Override
53 public void validate(Settings settings, SettingsProblemCollector problems) {
54 validate(settings, false, problems);
55 }
56
57 @Override
58 public void validate(Settings settings, boolean isProjectSettings, SettingsProblemCollector problems) {
59 List<BuilderProblem> list = settingsBuilder.validate(settings.getDelegate(), isProjectSettings);
60 for (BuilderProblem problem : list) {
61 addViolation(problems, Severity.valueOf(problem.getSeverity().name()), problem.getMessage());
62 }
63 }
64
65
66
67
68
69 private static void addViolation(SettingsProblemCollector problems, Severity severity, String message) {
70 problems.add(severity, message, -1, -1, null);
71 }
72 }