1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project.validation;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import org.apache.maven.model.Model;
26 import org.apache.maven.model.building.DefaultModelBuildingRequest;
27 import org.apache.maven.model.building.ModelBuildingRequest;
28 import org.apache.maven.model.building.ModelProblem;
29 import org.apache.maven.model.building.ModelProblemCollector;
30 import org.apache.maven.model.building.ModelProblemCollectorRequest;
31
32
33
34 @Deprecated
35 @Named
36 @Singleton
37 public class DefaultModelValidator implements ModelValidator {
38
39 @Inject
40 private org.apache.maven.model.validation.ModelValidator modelValidator;
41
42 public ModelValidationResult validate(Model model) {
43 ModelValidationResult result = new ModelValidationResult();
44
45 ModelBuildingRequest request =
46 new DefaultModelBuildingRequest().setValidationLevel(ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0);
47
48 SimpleModelProblemCollector problems = new SimpleModelProblemCollector(result);
49
50 modelValidator.validateEffectiveModel(model, request, problems);
51
52 return result;
53 }
54
55 private static class SimpleModelProblemCollector implements ModelProblemCollector {
56
57 ModelValidationResult result;
58
59 SimpleModelProblemCollector(ModelValidationResult result) {
60 this.result = result;
61 }
62
63 public void add(ModelProblemCollectorRequest req) {
64 if (!ModelProblem.Severity.WARNING.equals(req.getSeverity())) {
65 result.addMessage(req.getMessage());
66 }
67 }
68 }
69 }