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 org.apache.maven.model.DistributionManagement;
23 import org.apache.maven.model.Model;
24 import org.apache.maven.model.Scm;
25 import org.apache.maven.model.Site;
26 import org.apache.maven.model.building.ModelBuildingRequest;
27 import org.codehaus.plexus.component.annotations.Component;
28 import org.codehaus.plexus.component.annotations.Requirement;
29
30
31
32
33
34
35
36 @Component( role = ModelUrlNormalizer.class )
37 public class DefaultModelUrlNormalizer
38 implements ModelUrlNormalizer
39 {
40
41 @Requirement
42 private UrlNormalizer urlNormalizer;
43
44 public DefaultModelUrlNormalizer setUrlNormalizer( UrlNormalizer urlNormalizer )
45 {
46 this.urlNormalizer = urlNormalizer;
47 return this;
48 }
49
50 public void normalize( Model model, ModelBuildingRequest request )
51 {
52 if ( model == null )
53 {
54 return;
55 }
56
57 model.setUrl( normalize( model.getUrl() ) );
58
59 Scm scm = model.getScm();
60 if ( scm != null )
61 {
62 scm.setUrl( normalize( scm.getUrl() ) );
63 scm.setConnection( normalize( scm.getConnection() ) );
64 scm.setDeveloperConnection( normalize( scm.getDeveloperConnection() ) );
65 }
66
67 DistributionManagement dist = model.getDistributionManagement();
68 if ( dist != null )
69 {
70 Site site = dist.getSite();
71 if ( site != null )
72 {
73 site.setUrl( normalize( site.getUrl() ) );
74 }
75 }
76 }
77
78 private String normalize( String url )
79 {
80 return urlNormalizer.normalize( url );
81 }
82
83 }