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