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
37 @Named
38 @Singleton
39 public class DefaultModelUrlNormalizer implements ModelUrlNormalizer {
40
41 private final UrlNormalizer urlNormalizer;
42
43 @Inject
44 public DefaultModelUrlNormalizer(UrlNormalizer urlNormalizer) {
45 this.urlNormalizer = urlNormalizer;
46 }
47
48 @Override
49 public void normalize(Model model, ModelBuildingRequest request) {
50 if (model == null) {
51 return;
52 }
53
54 model.setUrl(normalize(model.getUrl()));
55
56 Scm scm = model.getScm();
57 if (scm != null) {
58 scm.setUrl(normalize(scm.getUrl()));
59 scm.setConnection(normalize(scm.getConnection()));
60 scm.setDeveloperConnection(normalize(scm.getDeveloperConnection()));
61 }
62
63 DistributionManagement dist = model.getDistributionManagement();
64 if (dist != null) {
65 Site site = dist.getSite();
66 if (site != null) {
67 site.setUrl(normalize(site.getUrl()));
68 }
69 }
70 }
71
72 private String normalize(String url) {
73 return urlNormalizer.normalize(url);
74 }
75 }