1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.model.path;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Singleton;
24
25 import org.apache.maven.model.DistributionManagement;
26 import org.apache.maven.model.Model;
27 import org.apache.maven.model.Scm;
28 import org.apache.maven.model.Site;
29 import org.apache.maven.model.building.ModelBuildingRequest;
30
31
32
33
34
35
36 @Named
37 @Singleton
38 public class DefaultModelUrlNormalizer implements ModelUrlNormalizer {
39
40 private final UrlNormalizer urlNormalizer;
41
42 @Inject
43 public DefaultModelUrlNormalizer(UrlNormalizer urlNormalizer) {
44 this.urlNormalizer = urlNormalizer;
45 }
46
47 @Override
48 public void normalize(Model model, ModelBuildingRequest request) {
49 if (model == null) {
50 return;
51 }
52
53 model.setUrl(normalize(model.getUrl()));
54
55 Scm scm = model.getScm();
56 if (scm != null) {
57 scm.setUrl(normalize(scm.getUrl()));
58 scm.setConnection(normalize(scm.getConnection()));
59 scm.setDeveloperConnection(normalize(scm.getDeveloperConnection()));
60 }
61
62 DistributionManagement dist = model.getDistributionManagement();
63 if (dist != null) {
64 Site site = dist.getSite();
65 if (site != null) {
66 site.setUrl(normalize(site.getUrl()));
67 }
68 }
69 }
70
71 private String normalize(String url) {
72 return urlNormalizer.normalize(url);
73 }
74 }