]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-7970 Create factoy methods to create Setting
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Thu, 25 Aug 2016 15:54:56 +0000 (17:54 +0200)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Fri, 26 Aug 2016 09:20:00 +0000 (11:20 +0200)
server/sonar-server/src/main/java/org/sonar/server/settings/ws/Setting.java
server/sonar-server/src/main/java/org/sonar/server/settings/ws/SettingsFinder.java
server/sonar-server/src/main/java/org/sonar/server/settings/ws/ValuesAction.java

index 668ed30a2c2147abd98dc2de120a22942cd601e0..757fe4ca3250746a7d6e95ada69367bb2c18c8c4 100644 (file)
@@ -42,10 +42,7 @@ public class Setting {
   private final List<Map<String, String>> propertySets;
   private final boolean isDefault;
 
-  /**
-   * Use this constructor to create setting from a property dto, and that can have a definition or not
-   */
-  Setting(PropertyDto propertyDto, List<PropertyDto> propertyDtoSetValues, @Nullable PropertyDefinition definition) {
+  private Setting(PropertyDto propertyDto, List<PropertyDto> propertyDtoSetValues, @Nullable PropertyDefinition definition) {
     this.key = propertyDto.getKey();
     this.value = propertyDto.getValue();
     this.componentId = propertyDto.getResourceId();
@@ -54,10 +51,7 @@ public class Setting {
     this.isDefault = false;
   }
 
-  /**
-   * Use this constructor to create setting for default value
-   */
-  Setting(PropertyDefinition definition) {
+  private Setting(PropertyDefinition definition) {
     this.key = definition.key();
     this.value = definition.defaultValue();
     this.componentId = null;
@@ -66,6 +60,14 @@ public class Setting {
     this.isDefault = true;
   }
 
+  public static Setting createForDto(PropertyDto propertyDto, List<PropertyDto> propertyDtoSetValues, @Nullable PropertyDefinition definition){
+    return new Setting(propertyDto, propertyDtoSetValues, definition);
+  }
+
+  public static Setting createForDefinition(PropertyDefinition definition){
+    return new Setting(definition);
+  }
+
   public String getKey() {
     return key;
   }
index e1501d8a951222248d08df2795e5308aa654ad42..e2ed8ffd35decfe4a5d17e1eff43af6c07426999 100644 (file)
@@ -56,7 +56,7 @@ public class SettingsFinder {
     List<PropertyDto> properties = dbClient.propertiesDao().selectGlobalPropertiesByKeys(dbSession, keys);
     List<PropertyDto> propertySets = dbClient.propertiesDao().selectGlobalPropertiesByKeys(dbSession, getPropertySetKeys(properties));
     return properties.stream()
-      .map(property -> new Setting(property, getPropertySets(property.getKey(), propertySets, null), definitions.get(property.getKey())))
+      .map(property -> Setting.createForDto(property, getPropertySets(property.getKey(), propertySets, null), definitions.get(property.getKey())))
       .collect(Collectors.toList());
   }
 
@@ -77,7 +77,7 @@ public class SettingsFinder {
       String componentUuid = uuidsById.get(componentId);
       String propertyKey = propertyDto.getKey();
       settingsByUuid.put(componentUuid,
-        new Setting(propertyDto, getPropertySets(propertyKey, propertySets, componentId), definitions.get(propertyKey)));
+        Setting.createForDto(propertyDto, getPropertySets(propertyKey, propertySets, componentId), definitions.get(propertyKey)));
     }
     return settingsByUuid;
   }
index 47cd44ede7042b0439670adeeb49e5295cac8f19..5f34ecc58fbeba502a85e1a86f1a12a6bfba9650 100644 (file)
@@ -159,7 +159,7 @@ public class ValuesAction implements SettingsWsAction {
     return propertyDefinitions.getAll().stream()
       .filter(definition -> keys.contains(definition.key()))
       .filter(defaultProperty -> !isNullOrEmpty(defaultProperty.defaultValue()))
-      .map(Setting::new)
+      .map(Setting::createForDefinition)
       .collect(Collectors.toList());
   }