private String defaultRemediationFactor;
private String remediationOffset;
private String defaultRemediationOffset;
- private String effortToFixL10nKey;
+ private String effortToFixDescription;
private Date createdAt;
private Date updatedAt;
}
@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;
}
"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
);
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>
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>
(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>
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
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
.setDefaultRemediationFactor("5d")
.setRemediationOffset("5min")
.setDefaultRemediationOffset("10h")
- .setEffortToFixL10nKey("squid.S115.effortToFix")
+ .setEffortToFixDescription("squid.S115.effortToFix")
.setUpdatedAt(DateUtils.parseDate("2013-12-17"));
dao.update(ruleToUpdate);
.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"));
.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"));
.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"));
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>
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"
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>
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>
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]"
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]"
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>
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"
*/
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;
*/
public interface RulesDefinition extends ServerExtension {
+ static final Logger LOG = LoggerFactory.getLogger(RulesDefinition.class);
+
/**
* Instantiated by core but not by plugins
*/
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();
return this;
}
- public NewRule setEffortToFixL10nKey(@Nullable String effortToFixL10nKey) {
- this.effortToFixL10nKey = effortToFixL10nKey;
+ public NewRule setEffortToFixDescription(@Nullable String effortToFixDescription) {
+ this.effortToFixDescription = effortToFixDescription;
return this;
}
}
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
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;
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()) {
}
@CheckForNull
- public String effortToFixL10nKey() {
- return effortToFixL10nKey;
+ public String effortToFixDescription() {
+ return effortToFixDescription;
}
@CheckForNull
.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");
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);
}
}
+ @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
+ }
+
}
.setDefaultRemediationFunction(remediationFunction.type().name())
.setDefaultRemediationFactor(remediationFunction.factor())
.setDefaultRemediationOffset(remediationFunction.offset())
- .setEffortToFixL10nKey(ruleDef.effortToFixL10nKey());
+ .setEffortToFixDescription(ruleDef.effortToFixDescription());
}
ruleDao.insert(ruleDto, sqlSession);
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);
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;
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;
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
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);
.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");
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]"/>
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"
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"/>
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>
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]"
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 -->
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"
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>
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]"
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>
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"
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>
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]"/>
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"
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>
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]"
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>
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"
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>
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]"
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>
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"/>
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>
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"/>
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]"
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"
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]"
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>
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]"
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]"
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]"
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>