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 @Override
51 public void normalize( Model model, ModelBuildingRequest request )
52 {
53 if ( model == null )
54 {
55 return;
56 }
57
58 model.setUrl( normalize( model.getUrl() ) );
59
60 Scm scm = model.getScm();
61 if ( scm != null )
62 {
63 scm.setUrl( normalize( scm.getUrl() ) );
64 scm.setConnection( normalize( scm.getConnection() ) );
65 scm.setDeveloperConnection( normalize( scm.getDeveloperConnection() ) );
66 }
67
68 DistributionManagement dist = model.getDistributionManagement();
69 if ( dist != null )
70 {
71 Site site = dist.getSite();
72 if ( site != null )
73 {
74 site.setUrl( normalize( site.getUrl() ) );
75 }
76 }
77 }
78
79 private String normalize( String url )
80 {
81 return urlNormalizer.normalize( url );
82 }
83
84 }