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