1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  package org.apache.maven.model.interpolation;
20  
21  import javax.inject.Named;
22  import javax.inject.Singleton;
23  
24  import java.util.Properties;
25  
26  import org.apache.maven.model.building.ModelBuildingRequest;
27  
28  
29  
30  
31  
32  @Named
33  @Singleton
34  public class DefaultModelVersionProcessor implements ModelVersionProcessor {
35  
36      private static final String SHA1_PROPERTY = "sha1";
37  
38      private static final String CHANGELIST_PROPERTY = "changelist";
39  
40      private static final String REVISION_PROPERTY = "revision";
41  
42      @Override
43      public boolean isValidProperty(String property) {
44          return REVISION_PROPERTY.equals(property)
45                  || CHANGELIST_PROPERTY.equals(property)
46                  || SHA1_PROPERTY.equals(property);
47      }
48  
49      @Override
50      public void overwriteModelProperties(Properties modelProperties, ModelBuildingRequest request) {
51          if (request.getUserProperties().containsKey(REVISION_PROPERTY)) {
52              modelProperties.put(REVISION_PROPERTY, request.getUserProperties().get(REVISION_PROPERTY));
53          }
54          if (request.getUserProperties().containsKey(CHANGELIST_PROPERTY)) {
55              modelProperties.put(CHANGELIST_PROPERTY, request.getUserProperties().get(CHANGELIST_PROPERTY));
56          }
57          if (request.getUserProperties().containsKey(SHA1_PROPERTY)) {
58              modelProperties.put(SHA1_PROPERTY, request.getUserProperties().get(SHA1_PROPERTY));
59          }
60      }
61  }