]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4915 Rename rules.effort_to_fix_l10_key to rules.effort_to_fix_description...
authorJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 19 Mar 2014 12:16:18 +0000 (13:16 +0100)
committerJulien Lancelot <julien.lancelot@sonarsource.com>
Wed, 19 Mar 2014 12:16:18 +0000 (13:16 +0100)
28 files changed:
sonar-core/src/main/java/org/sonar/core/rule/RuleDto.java
sonar-core/src/main/resources/org/sonar/core/persistence/schema-h2.ddl
sonar-core/src/main/resources/org/sonar/core/rule/RuleMapper.xml
sonar-core/src/test/java/org/sonar/core/rule/RuleDaoTest.java
sonar-core/src/test/resources/org/sonar/core/rule/RuleDaoTest/insert-result.xml
sonar-core/src/test/resources/org/sonar/core/rule/RuleDaoTest/insert_all-result.xml
sonar-core/src/test/resources/org/sonar/core/rule/RuleDaoTest/selectAll.xml
sonar-core/src/test/resources/org/sonar/core/rule/RuleDaoTest/select_enables_and_non_manual.xml
sonar-core/src/test/resources/org/sonar/core/rule/RuleDaoTest/update-result.xml
sonar-plugin-api/src/main/java/org/sonar/api/server/rule/RulesDefinition.java
sonar-plugin-api/src/test/java/org/sonar/api/server/rule/RulesDefinitionTest.java
sonar-server/src/main/java/org/sonar/server/rule/RuleRegistration.java
sonar-server/src/main/webapp/WEB-INF/db/migrate/520_add_debt_columns_to_rules.rb
sonar-server/src/test/java/org/sonar/server/rule/RuleRegistrationTest.java
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/ignore_rule_debt_definitions_if_rule_is_linked_on_root_characteristic.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/insert_new_rules-result.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_already_disabled_rules-result.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/not_disable_already_disabled_rules.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/set_no_characteristic_when_characteristic_not_found-result.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/set_no_characteristic_when_characteristic_not_found.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/set_no_characteristic_when_default_characteristic_not_found_and_overriding_characteristic_disabled-result.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/set_no_characteristic_when_default_characteristic_not_found_and_overriding_characteristic_disabled.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/set_no_default_characteristic_when_default_characteristic_not_found_but_characteristic_has_been_overridden-result.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/set_no_default_characteristic_when_default_characteristic_not_found_but_characteristic_has_been_overridden.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_fields-result.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_rule_fields.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language-result.xml
sonar-server/src/test/resources/org/sonar/server/rule/RuleRegistrationTest/update_template_rule_language.xml

index 6f0200f9d5266103d2142deedf6bcbc99d5c3856..86ab08a3dcd72719c82a5971eeac76209b173c61 100644 (file)
@@ -57,7 +57,7 @@ public final class RuleDto {
   private String defaultRemediationFactor;
   private String remediationOffset;
   private String defaultRemediationOffset;
-  private String effortToFixL10nKey;
+  private String effortToFixDescription;
   private Date createdAt;
   private Date updatedAt;
 
@@ -287,12 +287,12 @@ public final class RuleDto {
   }
 
   @CheckForNull
-  public String getEffortToFixL10nKey() {
-    return effortToFixL10nKey;
+  public String getEffortToFixDescription() {
+    return effortToFixDescription;
   }
 
-  public RuleDto setEffortToFixL10nKey(@Nullable String effortToFixL10nKey) {
-    this.effortToFixL10nKey = effortToFixL10nKey;
+  public RuleDto setEffortToFixDescription(@Nullable String effortToFixDescription) {
+    this.effortToFixDescription = effortToFixDescription;
     return this;
   }
 
index 1af58ad3af37dd086d8a0d691b61cfd39bb619ca..71540499f8e8e2baccf1301647a043d985441a79 100644 (file)
@@ -163,7 +163,7 @@ CREATE TABLE "RULES" (
   "DEFAULT_REMEDIATION_FACTOR" VARCHAR(20),
   "REMEDIATION_OFFSET" VARCHAR(20),
   "DEFAULT_REMEDIATION_OFFSET" VARCHAR(20),
-  "EFFORT_TO_FIX_L10N_KEY" VARCHAR(100),
+  "EFFORT_TO_FIX_DESCRIPTION" VARCHAR(4000),
   "CREATED_AT" TIMESTAMP,
   "UPDATED_AT" TIMESTAMP
 );
index d49d6f4683b73f61722f81569ae2a718208e2116..17ddab71423da92acd2047ef19352399ee3c1a24 100644 (file)
@@ -27,7 +27,7 @@
     default_remediation_factor as "defaultRemediationFactor",
     remediation_offset as "remediationOffset",
     default_remediation_offset as "defaultRemediationOffset",
-    effort_to_fix_l10n_key as "effortToFixL10nKey",
+    effort_to_fix_description as "effortToFixDescription",
     created_at as "createdAt",
     updated_at as "updatedAt"
   </sql>
@@ -89,7 +89,7 @@
     default_remediation_factor=#{defaultRemediationFactor},
     remediation_offset=#{remediationOffset},
     default_remediation_offset=#{defaultRemediationOffset},
-    effort_to_fix_l10n_key=#{effortToFixL10nKey},
+    effort_to_fix_description=#{effortToFixDescription},
     updated_at=#{updatedAt}
     WHERE id=#{id}
   </update>
@@ -98,7 +98,7 @@
     (plugin_rule_key, plugin_name, description, status, name, plugin_config_key, priority, cardinality, language, parent_id,
     characteristic_id, default_characteristic_id, remediation_function, default_remediation_function,
     remediation_factor, default_remediation_factor, remediation_offset, default_remediation_offset,
-    effort_to_fix_l10n_key,
+    effort_to_fix_description,
     created_at, updated_at)
   </sql>
 
       #{severity}, #{cardinality}, #{language}, #{parentId},
       #{characteristicId}, #{defaultCharacteristicId}, #{remediationFunction}, #{defaultRemediationFunction},
       #{remediationFactor}, #{defaultRemediationFactor}, #{remediationOffset}, #{defaultRemediationOffset},
-      #{effortToFixL10nKey},
+      #{effortToFixDescription},
       #{createdAt}, #{updatedAt})
   </insert>
 
     #{severity}, #{cardinality}, #{language}, #{parentId},
     #{characteristicId}, #{defaultCharacteristicId}, #{remediationFunction}, #{defaultRemediationFunction},
     #{remediationFactor}, #{defaultRemediationFactor}, #{remediationOffset}, #{defaultRemediationOffset},
-    #{effortToFixL10nKey},
+    #{effortToFixDescription},
     #{createdAt}, #{updatedAt})
   </insert>
 
index df68f19d2b6d1e852ebf0f770e44a7f5d52a2608..7e90f6aeb9cbd4d5c7f908464ed6b29b99478907 100644 (file)
@@ -66,7 +66,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
     assertThat(ruleDto.getDefaultRemediationFactor()).isEqualTo("5d");
     assertThat(ruleDto.getRemediationOffset()).isEqualTo("5min");
     assertThat(ruleDto.getDefaultRemediationOffset()).isEqualTo("10h");
-    assertThat(ruleDto.getEffortToFixL10nKey()).isEqualTo("squid.S115.effortToFix");
+    assertThat(ruleDto.getEffortToFixDescription()).isEqualTo("squid.S115.effortToFix");
   }
 
   @Test
@@ -90,7 +90,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
     assertThat(ruleDto.getDefaultRemediationFactor()).isEqualTo("5d");
     assertThat(ruleDto.getRemediationOffset()).isEqualTo("5min");
     assertThat(ruleDto.getDefaultRemediationOffset()).isEqualTo("10h");
-    assertThat(ruleDto.getEffortToFixL10nKey()).isEqualTo("squid.S115.effortToFix");
+    assertThat(ruleDto.getEffortToFixDescription()).isEqualTo("squid.S115.effortToFix");
   }
 
   @Test
@@ -181,7 +181,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
       .setDefaultRemediationFactor("5d")
       .setRemediationOffset("5min")
       .setDefaultRemediationOffset("10h")
-      .setEffortToFixL10nKey("squid.S115.effortToFix")
+      .setEffortToFixDescription("squid.S115.effortToFix")
       .setUpdatedAt(DateUtils.parseDate("2013-12-17"));
 
     dao.update(ruleToUpdate);
@@ -213,7 +213,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
       .setDefaultRemediationFactor("5d")
       .setRemediationOffset("5min")
       .setDefaultRemediationOffset("10h")
-      .setEffortToFixL10nKey("squid.S115.effortToFix")
+      .setEffortToFixDescription("squid.S115.effortToFix")
       .setCreatedAt(DateUtils.parseDate("2013-12-16"))
       .setUpdatedAt(DateUtils.parseDate("2013-12-17"));
 
@@ -246,7 +246,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
       .setDefaultRemediationFactor("5d")
       .setRemediationOffset("5min")
       .setDefaultRemediationOffset("10h")
-      .setEffortToFixL10nKey("squid.S115.effortToFix")
+      .setEffortToFixDescription("squid.S115.effortToFix")
       .setCreatedAt(DateUtils.parseDate("2013-12-16"))
       .setUpdatedAt(DateUtils.parseDate("2013-12-17"));
 
@@ -270,7 +270,7 @@ public class RuleDaoTest extends AbstractDaoTestCase {
       .setDefaultRemediationFactor("1h")
       .setRemediationOffset("10h")
       .setDefaultRemediationOffset("5min")
-      .setEffortToFixL10nKey("squid.S115.effortToFix2")
+      .setEffortToFixDescription("squid.S115.effortToFix2")
       .setCreatedAt(DateUtils.parseDate("2013-12-14"))
       .setUpdatedAt(DateUtils.parseDate("2013-12-15"));
 
index 41f7ed10707b9c94d10862bd93cf50156a9e980c..ff959688dc4481f62d3900b9df3409fc69fdd28b 100644 (file)
@@ -27,7 +27,7 @@
          remediation_function="linear" default_remediation_function="linear_offset"
          remediation_factor="1h" default_remediation_factor="5d"
          remediation_offset="5min" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix"
+         effort_to_fix_description="squid.S115.effortToFix"
       />
 
 </dataset>
index c4df8a49e92bc6d863b10473934329f44d16c754..dce46d3845d0b210b4a6c6f8ee662560e70a796c 100644 (file)
@@ -27,7 +27,7 @@
          remediation_function="linear" default_remediation_function="linear_offset"
          remediation_factor="1h" default_remediation_factor="5d"
          remediation_offset="5min" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix"
+         effort_to_fix_description="squid.S115.effortToFix"
       />
 
   <rules id="2" plugin_rule_key="NewRuleKey2" plugin_name="plugin2" name="new name2" description="new description2" status="BETA"
@@ -37,7 +37,7 @@
          remediation_function="linear_offset" default_remediation_function="linear"
          remediation_factor="5d" default_remediation_factor="1h"
          remediation_offset="10h" default_remediation_offset="5min"
-         effort_to_fix_l10n_key="squid.S115.effortToFix2"
+         effort_to_fix_description="squid.S115.effortToFix2"
       />
 
 </dataset>
index 2f26ad3f588ca904eace38dd94359e016e302026..1511b2e67f9b631d74a0fa3baed59217e335e248 100644 (file)
@@ -7,7 +7,7 @@
     remediation_function="linear" default_remediation_function="linear_offset"
     remediation_factor="1h" default_remediation_factor="5d"
     remediation_offset="5min" default_remediation_offset="10h"
-    effort_to_fix_l10n_key="squid.S115.effortToFix"
+    effort_to_fix_description="squid.S115.effortToFix"
   />
 
 </dataset>
index d3e5cea6bfc845f4b88f49b34411c294f03ae25a..971e58bead83fe152f026d2462d076784707fb6b 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="LINEAR" default_remediation_function="LINEAR_OFFSET"
          remediation_factor="1h" default_remediation_factor="5d"
          remediation_offset="5min" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix"/>
+         effort_to_fix_description="squid.S115.effortToFix"/>
 
   <rules id="2" plugin_rule_key="AvoidNull" plugin_name="squid" name="Avoid Null" description="Should avoid NULL" status="REMOVED"
          note_data="[null]" note_user_login="[null]" note_created_at="[null]"
@@ -14,7 +14,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="3" plugin_rule_key="AvoidNull" plugin_name="manual" name="Manual Rule" description="Should not appear" status="READY"
          note_data="[null]" note_user_login="[null]" note_created_at="[null]"
@@ -22,6 +22,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index 206ac65e85c2e95654cfc4f0870194f162cdeae4..d54cff8851999b2dda0056a7c827b82aabdfc7dc 100644 (file)
@@ -7,7 +7,7 @@
     remediation_function="linear" default_remediation_function="linear_offset"
     remediation_factor="1h" default_remediation_factor="5d"
     remediation_offset="5min" default_remediation_offset="10h"
-    effort_to_fix_l10n_key="squid.S115.effortToFix"
+    effort_to_fix_description="squid.S115.effortToFix"
   />
 
   <rules id="2" plugin_rule_key="Parent1" plugin_name="checkstyle" name="Parent Rule 1" description="Parent Rule 1" status="READY"
index 662841909d38c2215eb510954a88ef505a876ae4..3c213f18b975f0ec235341342a4574c3b5a622eb 100644 (file)
  */
 package org.sonar.api.server.rule;
 
+import com.google.common.base.Strings;
 import com.google.common.collect.*;
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.sonar.api.ServerExtension;
 import org.sonar.api.rule.RuleStatus;
@@ -48,6 +50,8 @@ import java.util.Set;
  */
 public interface RulesDefinition extends ServerExtension {
 
+  static final Logger LOG = LoggerFactory.getLogger(RulesDefinition.class);
+
   /**
    * Instantiated by core but not by plugins
    */
@@ -313,7 +317,7 @@ public interface RulesDefinition extends ServerExtension {
     private RuleStatus status = RuleStatus.defaultStatus();
     private String debtCharacteristic;
     private DebtRemediationFunction debtRemediationFunction;
-    private String effortToFixL10nKey;
+    private String effortToFixDescription;
     private final Set<String> tags = Sets.newTreeSet();
     private final Map<String, NewParam> paramsByKey = Maps.newHashMap();
 
@@ -383,8 +387,8 @@ public interface RulesDefinition extends ServerExtension {
       return this;
     }
 
-    public NewRule setEffortToFixL10nKey(@Nullable String effortToFixL10nKey) {
-      this.effortToFixL10nKey = effortToFixL10nKey;
+    public NewRule setEffortToFixDescription(@Nullable String effortToFixDescription) {
+      this.effortToFixDescription = effortToFixDescription;
       return this;
     }
 
@@ -433,15 +437,22 @@ public interface RulesDefinition extends ServerExtension {
     }
 
     private void validate() {
-      if (StringUtils.isBlank(name)) {
+      if (Strings.isNullOrEmpty(name)) {
         throw new IllegalStateException(String.format("Name of rule %s is empty", this));
       }
-      if (StringUtils.isBlank(htmlDescription)) {
+      if (Strings.isNullOrEmpty(htmlDescription)) {
         throw new IllegalStateException(String.format("HTML description of rule %s is empty", this));
       }
-      if ((StringUtils.isBlank(debtCharacteristic) && debtRemediationFunction != null) || (!StringUtils.isBlank(debtCharacteristic) && debtRemediationFunction == null)) {
+      if ((Strings.isNullOrEmpty(debtCharacteristic) && debtRemediationFunction != null) || (!Strings.isNullOrEmpty(debtCharacteristic) && debtRemediationFunction == null)) {
         throw new IllegalStateException(String.format("Both debt characteristic and debt remediation function should be defined on rule '%s'", this));
       }
+      if (debtRemediationFunction != null &&
+        (DebtRemediationFunction.Type.LINEAR.equals(debtRemediationFunction.type()) || DebtRemediationFunction.Type.LINEAR_OFFSET.equals(debtRemediationFunction.type())) &&
+        Strings.isNullOrEmpty(effortToFixDescription)) {
+        // Only generate a warning for the moment, but should throw an exception when most of plugin defines rules with Java API instead of XML
+        LOG.warn(String.format("'Rule '%s' should have a description for the remediation function parameter " +
+          "as it's using a 'Linear' or 'Linear with offset' remediation function ", this));
+      }
     }
 
     @Override
@@ -457,7 +468,7 @@ public interface RulesDefinition extends ServerExtension {
     private final boolean template;
     private final String debtCharacteristic;
     private final DebtRemediationFunction debtRemediationFunction;
-    private final String effortToFixL10nKey;
+    private final String effortToFixDescription;
     private final Set<String> tags;
     private final Map<String, Param> params;
     private final RuleStatus status;
@@ -474,7 +485,7 @@ public interface RulesDefinition extends ServerExtension {
       this.status = newRule.status;
       this.debtCharacteristic = newRule.debtCharacteristic;
       this.debtRemediationFunction = newRule.debtRemediationFunction;
-      this.effortToFixL10nKey = newRule.effortToFixL10nKey;
+      this.effortToFixDescription = newRule.effortToFixDescription;
       this.tags = ImmutableSortedSet.copyOf(newRule.tags);
       ImmutableMap.Builder<String, Param> paramsBuilder = ImmutableMap.builder();
       for (NewParam newParam : newRule.paramsByKey.values()) {
@@ -523,8 +534,8 @@ public interface RulesDefinition extends ServerExtension {
     }
 
     @CheckForNull
-    public String effortToFixL10nKey() {
-      return effortToFixL10nKey;
+    public String effortToFixDescription() {
+      return effortToFixDescription;
     }
 
     @CheckForNull
index 594a14e450d29c71cfce91e8a1dc1243a0be9dd1..a14051dfc4d86ff564a2af5fa0d5a96796a608eb 100644 (file)
@@ -72,7 +72,7 @@ public class RulesDefinitionTest {
       .setStatus(RuleStatus.BETA)
       .setDebtCharacteristic("COMPILER")
       .setDebtRemediationFunction(DebtRemediationFunction.create(DebtRemediationFunction.Type.LINEAR_OFFSET, "1h", "10min"))
-      .setEffortToFixL10nKey("squid.S115.effortToFix")
+      .setEffortToFixDescription("squid.S115.effortToFix")
       .setTags("one", "two")
       .addTags("two", "three", "four");
     newFindbugs.createRule("ABC").setName("ABC").setHtmlDescription("ABC");
@@ -93,7 +93,7 @@ public class RulesDefinitionTest {
     assertThat(npeRule.status()).isEqualTo(RuleStatus.BETA);
     assertThat(npeRule.debtCharacteristic()).isEqualTo("COMPILER");
     assertThat(npeRule.debtRemediationFunction()).isEqualTo(DebtRemediationFunction.create(DebtRemediationFunction.Type.LINEAR_OFFSET, "1h", "10min"));
-    assertThat(npeRule.effortToFixL10nKey()).isEqualTo("squid.S115.effortToFix");
+    assertThat(npeRule.effortToFixDescription()).isEqualTo("squid.S115.effortToFix");
     assertThat(npeRule.toString()).isEqualTo("[repository=findbugs, key=NPE]");
     assertThat(npeRule.repository()).isSameAs(findbugs);
 
@@ -321,4 +321,24 @@ public class RulesDefinitionTest {
     }
   }
 
+  @Test
+  public void not_fail_if_linear_but_no_effort_to_fix_description() {
+    RulesDefinition.NewRepository newRepository = context.createRepository("findbugs", "java");
+    newRepository.createRule("NPE").setName("NPE").setHtmlDescription("Detect <code>java.lang.NullPointerException</code>")
+      .setDebtCharacteristic("COMPILER")
+      .setDebtRemediationFunction(DebtRemediationFunction.createLinear("1h"));
+    newRepository.done();
+    // A warning log is displayed
+  }
+
+  @Test
+  public void not_fail_if_linear_offset_but_no_effort_to_fix_description() {
+    RulesDefinition.NewRepository newRepository = context.createRepository("findbugs", "java");
+    newRepository.createRule("NPE").setName("NPE").setHtmlDescription("Detect <code>java.lang.NullPointerException</code>")
+      .setDebtCharacteristic("COMPILER")
+      .setDebtRemediationFunction(DebtRemediationFunction.createLinearWithOffset("1h", "10min"));
+    newRepository.done();
+    // A warning log is displayed
+  }
+
 }
index 6b82426ebaa309c71bacc5bb2c677b9edf473553..ee747ed4ba9168c3af656aa4ebf23e2e3596994e 100644 (file)
@@ -195,7 +195,7 @@ public class RuleRegistration implements Startable {
         .setDefaultRemediationFunction(remediationFunction.type().name())
         .setDefaultRemediationFactor(remediationFunction.factor())
         .setDefaultRemediationOffset(remediationFunction.offset())
-        .setEffortToFixL10nKey(ruleDef.effortToFixL10nKey());
+        .setEffortToFixDescription(ruleDef.effortToFixDescription());
     }
 
     ruleDao.insert(ruleDto, sqlSession);
@@ -274,7 +274,7 @@ public class RuleRegistration implements Startable {
     Integer characteristicId = characteristic != null ? characteristic.getId() : null;
     String remediationFactor = hasCharacteristic ? debtRemediationFunction.factor() : null;
     String remediationOffset = hasCharacteristic ? debtRemediationFunction.offset() : null;
-    String effortToFixL10nKey = hasCharacteristic ? def.effortToFixL10nKey() : null;
+    String effortToFixDescription = hasCharacteristic ? def.effortToFixDescription() : null;
 
     if (!ObjectUtils.equals(dto.getDefaultCharacteristicId(), characteristicId)) {
       dto.setDefaultCharacteristicId(characteristicId);
@@ -293,8 +293,8 @@ public class RuleRegistration implements Startable {
       dto.setDefaultRemediationOffset(remediationOffset);
       changed = true;
     }
-    if (!StringUtils.equals(dto.getEffortToFixL10nKey(), effortToFixL10nKey)) {
-      dto.setEffortToFixL10nKey(effortToFixL10nKey);
+    if (!StringUtils.equals(dto.getEffortToFixDescription(), effortToFixDescription)) {
+      dto.setEffortToFixDescription(effortToFixDescription);
       changed = true;
     }
     return changed;
@@ -420,7 +420,7 @@ public class RuleRegistration implements Startable {
           ruleDto.setDefaultRemediationFunction(parent.getDefaultRemediationFunction());
           ruleDto.setDefaultRemediationFactor(parent.getDefaultRemediationFactor());
           ruleDto.setDefaultRemediationOffset(parent.getDefaultRemediationOffset());
-          ruleDto.setEffortToFixL10nKey(parent.getEffortToFixL10nKey());
+          ruleDto.setEffortToFixDescription(parent.getEffortToFixDescription());
           ruleDto.setUpdatedAt(buffer.now());
           ruleDao.update(ruleDto, sqlSession);
           toBeRemoved = false;
index 059f3a88b37d6c7f3c0c307dbc1446506000d280..5af0233dd8c4bd200df89d4f242a5330d7423a27 100644 (file)
@@ -33,7 +33,7 @@ class AddDebtColumnsToRules < ActiveRecord::Migration
     add_column 'rules', :default_remediation_factor,    :string,    :null => true,   :limit => 20
     add_column 'rules', :remediation_offset,            :string,    :null => true,   :limit => 20
     add_column 'rules', :default_remediation_offset,    :string,    :null => true,   :limit => 20
-    add_column 'rules', :effort_to_fix_l10n_key,        :string,    :null => true,   :limit => 100
+    add_column 'rules', :effort_to_fix_description,     :string,    :null => true,   :limit => 4000
     end
 
 end
index 40afa74f928f66db4888b053b9d49c7f2bbd4d35..c0a4a97bdad9a8f28bbe190cbf8e938ff7337c7e 100644 (file)
@@ -50,7 +50,7 @@ public class RuleRegistrationTest extends AbstractDaoTestCase {
   private static final String[] EXCLUDED_COLUMN_NAMES_INCLUDING_DEBT = {"created_at", "updated_at", "note_data", "note_user_login", "note_created_at", "note_updated_at",
     "characteristic_id", "default_characteristic_id",
     "remediation_function", "default_remediation_function", "remediation_factor", "default_remediation_factor", "remediation_offset", "default_remediation_offset",
-    "effort_to_fix_l10n_key"};
+    "effort_to_fix_description"};
 
   RuleRegistration task;
   ProfilesManager profilesManager = mock(ProfilesManager.class);
@@ -287,7 +287,7 @@ public class RuleRegistrationTest extends AbstractDaoTestCase {
         .setSeverity(Severity.BLOCKER)
         .setDebtCharacteristic("MEMORY_EFFICIENCY")
         .setDebtRemediationFunction(DebtRemediationFunction.createLinearWithOffset("5d", "10h"))
-        .setEffortToFixL10nKey("squid.S115.effortToFix")
+        .setEffortToFixDescription("squid.S115.effortToFix")
         .setInternalKey("config1")
         .setTags("tag1", "tag3", "tag5");
       rule1.createParam("param1").setDescription("parameter one").setDefaultValue("default value one");
index 3a010942f2118a8e1970cbac392057900ca6fbbd..2c69463ae432b964150ef302e6be70f2847d9e59 100644 (file)
@@ -8,7 +8,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR"
          remediation_factor="[null]" default_remediation_factor="14min"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="squid.S1115.effortTotFix"/>
+         effort_to_fix_description="squid.S1115.effortTotFix"/>
 
   <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2"
          status="READY" priority="1" cardinality="SINGLE" parent_id="[null]"/>
index 489e2108e8520bffb774a4b7c52377ce0dcd851a..21cc3f9dab47d8e021d8867aaee6d28f90d0a234 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="2" plugin_rule_key="rule1" plugin_name="fake" plugin_config_key="config1" name="One" description="Description of One"
          status="READY" priority="4" cardinality="SINGLE" parent_id="[null]" language="java"
@@ -14,7 +14,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR_OFFSET"
          remediation_factor="[null]" default_remediation_factor="5d"
          remediation_offset="[null]" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix"/>
+         effort_to_fix_description="squid.S115.effortToFix"/>
 
   <rules_parameters id="1" rule_id="2" default_value="default value one" description="parameter one" name="param1" param_type="STRING"/>
   <rules_parameters id="2" rule_id="2" default_value="default value two" description="parameter two" name="param2" param_type="STRING"/>
@@ -33,6 +33,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index a5faaa73c51f55dcd7630217c09898ee0cdb3ffe..c4b64d12430dd0db4dab74434a65330e7b7007d8 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"
+         effort_to_fix_description="[null]"
          updated_at="2014-03-16"/>
 
   <rules id="2" plugin_rule_key="deprecated" plugin_name="fake" plugin_config_key="[null]" name="Deprecated fake" description="[null]"
@@ -15,7 +15,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"
+         effort_to_fix_description="[null]"
          updated_at="2014-03-16"/>
 
  <!-- New rules -->
@@ -25,7 +25,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR_OFFSET"
          remediation_factor="[null]" default_remediation_factor="5d"
          remediation_offset="[null]" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix"
+         effort_to_fix_description="squid.S115.effortToFix"
          updated_at="2014-03-17 19:10:03.0"/>
 
   <rules id="4" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two"
@@ -34,7 +34,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"
+         effort_to_fix_description="[null]"
          updated_at="2014-03-17 19:10:03.0"/>
 
 </dataset>
index 8b0604e2036488ab0c789f5d4cc1e4585054b41e..27a03f914112f5da7069fb4992763066358a07f2 100644 (file)
@@ -8,7 +8,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"
+         effort_to_fix_description="[null]"
          updated_at="2014-03-16"/>
 
   <rules id="2" plugin_rule_key="deprecated" plugin_name="fake" plugin_config_key="[null]" name="Deprecated fake" description="[null]"
@@ -17,7 +17,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"
+         effort_to_fix_description="[null]"
          updated_at="2014-03-16"/>
 
 </dataset>
index a773983725fe4d736cd26dbbfcf5c589880af5cd..89e5191d7fd9cabdf5eedf6243909072ab751edb 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two"
          status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java"
@@ -14,6 +14,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index 6de51e77092c773263616d834f6719488f61d844..14495983726e5349ef52b1e8ea5a99a0067c0374 100644 (file)
@@ -8,7 +8,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR"
          remediation_factor="[null]" default_remediation_factor="14min"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2"
          status="READY" priority="1" cardinality="SINGLE" parent_id="[null]"/>
index df6e0278b99ce0f53b5d87cc6767b37a1a3df567..fcb2b86704591370c6b62463b7052c57877cc1c1 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two"
          status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java"
@@ -14,6 +14,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index 69426df342ff0260507e057b8dca4b9c5329ff6c..fd2c3d8e4892f1fb1cf3f5cb9e33e333daf832de 100644 (file)
@@ -8,7 +8,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2"
          status="READY" priority="1" cardinality="SINGLE" parent_id="[null]"
@@ -16,6 +16,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index aa889da419bf39f4723a966aaa060face2314509..9fcf2872bb9ea15d81d277559637b0ed87f33ddc 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="LINEAR_OFFSET" default_remediation_function="[null]"
          remediation_factor="5d" default_remediation_factor="[null]"
          remediation_offset="10h" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two"
          status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java"
@@ -14,6 +14,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index cac7ab7852164fab370cb8113cb240cfddb2a735..66458e67ee3b050d2310e5a5d6e938717ba84385 100644 (file)
@@ -10,7 +10,7 @@
          remediation_function="LINEAR_OFFSET" default_remediation_function="[null]"
          remediation_factor="5d" default_remediation_factor="[null]"
          remediation_offset="10h" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules id="2" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2"
          status="READY" priority="1" cardinality="SINGLE" parent_id="[null]"
@@ -18,6 +18,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index f630e3adbd9fdf89983e405dccd02d512bb82bf0..4c832441dd4208d8b31d722d8890577721b45c9e 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR_OFFSET"
          remediation_factor="[null]" default_remediation_factor="5d"
          remediation_offset="[null]" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix"/>
+         effort_to_fix_description="squid.S115.effortToFix"/>
 
   <rules_parameters id="1" rule_id="1" default_value="default value one" description="parameter one" name="param1" param_type="STRING"/>
   <rules_parameters id="2" rule_id="1" default_value="default value two" description="parameter two" name="param2" param_type="STRING"/>
@@ -27,6 +27,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
 </dataset>
index 6ab04c32b6104a2c3efd8c90125d09bc4e9b61a3..5a04a1672f5f8e94d2b33090c09e5b5a6e092e66 100644 (file)
@@ -8,7 +8,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR"
          remediation_factor="[null]" default_remediation_factor="14min"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]"/>
+         effort_to_fix_description="[null]"/>
 
   <rules_parameters id="1" rule_id="1" name="param1" description="[null]" param_type="STRING"/>
 
index 7821240a5c7ce322bedcbb195e7e3b77650eb74a..0fc47887777f3c1b9c5e5a81375c1a1f02d21a9f 100644 (file)
@@ -6,7 +6,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR_OFFSET"
          remediation_factor="[null]" default_remediation_factor="5d"
          remediation_offset="[null]" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix" />
+         effort_to_fix_description="squid.S115.effortToFix" />
 
   <!-- Instance of old rule 1 :/ -->
   <rules id="2" plugin_rule_key="template_rule1" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]"
@@ -15,7 +15,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR_OFFSET"
          remediation_factor="[null]" default_remediation_factor="5d"
          remediation_offset="[null]" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix" />
+         effort_to_fix_description="squid.S115.effortToFix" />
 
   <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="[null]" name="Two" description="Description of Two"
          status="DEPRECATED" priority="0" cardinality="SINGLE" parent_id="[null]" language="java"
@@ -23,7 +23,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]" />
+         effort_to_fix_description="[null]" />
 
   <!-- Template of old rule 3 :/ -->
   <rules id="4" plugin_rule_key="template_rule2" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]"
@@ -32,6 +32,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]" />
+         effort_to_fix_description="[null]" />
 
 </dataset>
index 51e70c311d47cc8a653cc38275494c0e91c7f79a..2813575401efeff6dfa3d29ef09739e2f3cf1237 100644 (file)
@@ -8,7 +8,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR_OFFSET"
          remediation_factor="[null]" default_remediation_factor="5d"
          remediation_offset="[null]" default_remediation_offset="10h"
-         effort_to_fix_l10n_key="squid.S115.effortToFix" />
+         effort_to_fix_description="squid.S115.effortToFix" />
 
   <!-- Instance of rule 1 -->
   <rules id="2" plugin_rule_key="template_rule1" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]"
@@ -17,7 +17,7 @@
          remediation_function="[null]" default_remediation_function="LINEAR"
          remediation_factor="[null]" default_remediation_factor="1h"
          remediation_offset="[null]" default_remediation_offset="15min"
-         effort_to_fix_l10n_key="squid.S115.effortToFix2" />
+         effort_to_fix_description="squid.S115.effortToFix2" />
 
   <rules id="3" plugin_rule_key="rule2" plugin_name="fake" plugin_config_key="old_config_key2" name="old name2" description="old description2"
          status="DEPRECATED" priority="1" cardinality="MULTIPLE" parent_id="[null]"
@@ -25,7 +25,7 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]" />
+         effort_to_fix_description="[null]" />
 
   <!-- Instance of rule 3 -->
   <rules id="4" plugin_rule_key="template_rule2" plugin_name="fake" plugin_config_key="[null]" name="User rule" description="[null]"
@@ -34,6 +34,6 @@
          remediation_function="[null]" default_remediation_function="[null]"
          remediation_factor="[null]" default_remediation_factor="[null]"
          remediation_offset="[null]" default_remediation_offset="[null]"
-         effort_to_fix_l10n_key="[null]" />
+         effort_to_fix_description="[null]" />
 
 </dataset>