diff options
author | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-03-08 19:10:08 +0100 |
---|---|---|
committer | Julien Lancelot <julien.lancelot@sonarsource.com> | 2016-03-10 15:20:12 +0100 |
commit | eaecfdf4c2f3df6e0a11de96b585de603e702c9f (patch) | |
tree | 3e134ed3fb0f867c70ade4f115eaef4bff7eaa7e /sonar-db | |
parent | 3e81655d523661ee43318d2a9f285b7b710528f2 (diff) | |
download | sonarqube-eaecfdf4c2f3df6e0a11de96b585de603e702c9f.tar.gz sonarqube-eaecfdf4c2f3df6e0a11de96b585de603e702c9f.zip |
SONAR-7453 Rename rules remediation function fields in DB
"effort_to_fix_description" becomes "gap_description"
"remediation_coeff" becomes "remediation_gap_mult"
"default_remediation_coeff" becomes "default_remediation_gap_mult"
"remediation_offset" becomes "remediation_base_effort"
"default_remediation_offset" becomes "default_remediation_base_effort"
Diffstat (limited to 'sonar-db')
10 files changed, 90 insertions, 89 deletions
diff --git a/sonar-db/src/main/java/org/sonar/db/rule/RuleDto.java b/sonar-db/src/main/java/org/sonar/db/rule/RuleDto.java index 6f8bca7fd5e..41115748c70 100644 --- a/sonar-db/src/main/java/org/sonar/db/rule/RuleDto.java +++ b/sonar-db/src/main/java/org/sonar/db/rule/RuleDto.java @@ -61,11 +61,11 @@ public class RuleDto { private Date noteUpdatedAt; private String remediationFunction; private String defaultRemediationFunction; - private String remediationCoefficient; - private String defaultRemediationCoefficient; - private String remediationOffset; - private String defaultRemediationOffset; - private String effortToFixDescription; + private String remediationGapMultiplier; + private String defaultRemediationGapMultiplier; + private String remediationBaseEffort; + private String defaultRemediationBaseEffort; + private String gapDescription; private String tags; private String systemTags; private int type; @@ -262,52 +262,52 @@ public class RuleDto { } @CheckForNull - public String getRemediationCoefficient() { - return remediationCoefficient; + public String getRemediationGapMultiplier() { + return remediationGapMultiplier; } - public RuleDto setRemediationCoefficient(@Nullable String remediationCoefficient) { - this.remediationCoefficient = remediationCoefficient; + public RuleDto setRemediationGapMultiplier(@Nullable String remediationGapMultiplier) { + this.remediationGapMultiplier = remediationGapMultiplier; return this; } @CheckForNull - public String getDefaultRemediationCoefficient() { - return defaultRemediationCoefficient; + public String getDefaultRemediationGapMultiplier() { + return defaultRemediationGapMultiplier; } - public RuleDto setDefaultRemediationCoefficient(@Nullable String defaultRemediationCoefficient) { - this.defaultRemediationCoefficient = defaultRemediationCoefficient; + public RuleDto setDefaultRemediationGapMultiplier(@Nullable String defaultRemediationGapMultiplier) { + this.defaultRemediationGapMultiplier = defaultRemediationGapMultiplier; return this; } @CheckForNull - public String getRemediationOffset() { - return remediationOffset; + public String getRemediationBaseEffort() { + return remediationBaseEffort; } - public RuleDto setRemediationOffset(@Nullable String remediationOffset) { - this.remediationOffset = remediationOffset; + public RuleDto setRemediationBaseEffort(@Nullable String remediationBaseEffort) { + this.remediationBaseEffort = remediationBaseEffort; return this; } @CheckForNull - public String getDefaultRemediationOffset() { - return defaultRemediationOffset; + public String getDefaultRemediationBaseEffort() { + return defaultRemediationBaseEffort; } - public RuleDto setDefaultRemediationOffset(@Nullable String defaultRemediationOffset) { - this.defaultRemediationOffset = defaultRemediationOffset; + public RuleDto setDefaultRemediationBaseEffort(@Nullable String defaultRemediationBaseEffort) { + this.defaultRemediationBaseEffort = defaultRemediationBaseEffort; return this; } @CheckForNull - public String getEffortToFixDescription() { - return effortToFixDescription; + public String getGapDescription() { + return gapDescription; } - public RuleDto setEffortToFixDescription(@Nullable String s) { - this.effortToFixDescription = s; + public RuleDto setGapDescription(@Nullable String s) { + this.gapDescription = s; return this; } diff --git a/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java b/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java index 8cdd6772ce2..83e52658375 100644 --- a/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java +++ b/sonar-db/src/main/java/org/sonar/db/version/DatabaseVersion.java @@ -29,7 +29,7 @@ import org.sonar.db.MyBatis; public class DatabaseVersion { - public static final int LAST_VERSION = 1116; + public static final int LAST_VERSION = 1117; /** * The minimum supported version which can be upgraded. Lower diff --git a/sonar-db/src/main/resources/org/sonar/db/rule/RuleMapper.xml b/sonar-db/src/main/resources/org/sonar/db/rule/RuleMapper.xml index 3f4aec95f3d..00924617ab7 100644 --- a/sonar-db/src/main/resources/org/sonar/db/rule/RuleMapper.xml +++ b/sonar-db/src/main/resources/org/sonar/db/rule/RuleMapper.xml @@ -22,11 +22,11 @@ r.note_updated_at as "noteUpdatedAt", r.remediation_function as "remediationFunction", r.default_remediation_function as "defaultRemediationFunction", - r.remediation_coeff as "remediationCoefficient", - r.default_remediation_coeff as "defaultRemediationCoefficient", - r.remediation_offset as "remediationOffset", - r.default_remediation_offset as "defaultRemediationOffset", - r.effort_to_fix_description as "effortToFixDescription", + r.remediation_gap_mult as "remediationGapMultiplier", + r.default_remediation_gap_mult as "defaultRemediationGapMultiplier", + r.remediation_base_effort as "remediationBaseEffort", + r.default_remediation_base_effort as "defaultRemediationBaseEffort", + r.gap_description as "gapDescription", r.tags as "tagsField", r.system_tags as "systemTagsField", r.rule_type as "type", @@ -130,11 +130,11 @@ note_updated_at=#{noteUpdatedAt}, remediation_function=#{remediationFunction}, default_remediation_function=#{defaultRemediationFunction}, - remediation_coeff=#{remediationCoefficient}, - default_remediation_coeff=#{defaultRemediationCoefficient}, - remediation_offset=#{remediationOffset}, - default_remediation_offset=#{defaultRemediationOffset}, - effort_to_fix_description=#{effortToFixDescription}, + remediation_gap_mult=#{remediationGapMultiplier}, + default_remediation_gap_mult=#{defaultRemediationGapMultiplier}, + remediation_base_effort=#{remediationBaseEffort}, + default_remediation_base_effort=#{defaultRemediationBaseEffort}, + gap_description=#{gapDescription}, tags=#{tagsField}, system_tags=#{systemTagsField}, rule_type=#{type}, @@ -146,8 +146,8 @@ (plugin_rule_key, plugin_name, description, description_format, status, name, plugin_config_key, priority, is_template, language, template_id, remediation_function, default_remediation_function, - remediation_coeff, default_remediation_coeff, remediation_offset, default_remediation_offset, - effort_to_fix_description, tags, system_tags, rule_type, note_data, note_user_login, note_created_at, note_updated_at, + remediation_gap_mult, default_remediation_gap_mult, remediation_base_effort, default_remediation_base_effort, + gap_description, tags, system_tags, rule_type, note_data, note_user_login, note_created_at, note_updated_at, created_at, updated_at) </sql> @@ -157,8 +157,8 @@ values (#{ruleKey}, #{repositoryKey}, #{description}, #{descriptionFormat}, #{status}, #{name}, #{configKey}, #{severity}, #{isTemplate}, #{language}, #{templateId}, #{remediationFunction}, #{defaultRemediationFunction}, - #{remediationCoefficient}, #{defaultRemediationCoefficient}, #{remediationOffset}, #{defaultRemediationOffset}, - #{effortToFixDescription}, #{tagsField}, #{systemTagsField}, #{type,jdbcType=INTEGER}, #{noteData}, #{noteUserLogin}, #{noteCreatedAt}, + #{remediationGapMultiplier}, #{defaultRemediationGapMultiplier}, #{remediationBaseEffort}, #{defaultRemediationBaseEffort}, + #{gapDescription}, #{tagsField}, #{systemTagsField}, #{type,jdbcType=INTEGER}, #{noteData}, #{noteUserLogin}, #{noteCreatedAt}, #{noteUpdatedAt}, #{createdAt}, #{updatedAt}) </insert> diff --git a/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql b/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql index 99f1f1b0bd7..cc1d19832fa 100644 --- a/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql +++ b/sonar-db/src/main/resources/org/sonar/db/version/rows-h2.sql @@ -394,6 +394,7 @@ INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1113'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1114'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1115'); INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1116'); +INSERT INTO SCHEMA_MIGRATIONS(VERSION) VALUES ('1117'); INSERT INTO USERS(ID, LOGIN, NAME, EMAIL, EXTERNAL_IDENTITY, EXTERNAL_IDENTITY_PROVIDER, CRYPTED_PASSWORD, SALT, CREATED_AT, UPDATED_AT, REMEMBER_TOKEN, REMEMBER_TOKEN_EXPIRES_AT) VALUES (1, 'admin', 'Administrator', '', 'admin', 'sonarqube', 'a373a0e667abb2604c1fd571eb4ad47fe8cc0878', '48bc4b0d93179b5103fd3885ea9119498e9d161b', '1418215735482', '1418215735482', null, null); ALTER TABLE USERS ALTER COLUMN ID RESTART WITH 2; diff --git a/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl b/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl index 8a8677eb8ad..a7111f6dad0 100644 --- a/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl +++ b/sonar-db/src/main/resources/org/sonar/db/version/schema-h2.ddl @@ -115,11 +115,11 @@ CREATE TABLE "RULES" ( "NOTE_UPDATED_AT" TIMESTAMP, "REMEDIATION_FUNCTION" VARCHAR(20), "DEFAULT_REMEDIATION_FUNCTION" VARCHAR(20), - "REMEDIATION_COEFF" VARCHAR(20), - "DEFAULT_REMEDIATION_COEFF" VARCHAR(20), - "REMEDIATION_OFFSET" VARCHAR(20), - "DEFAULT_REMEDIATION_OFFSET" VARCHAR(20), - "EFFORT_TO_FIX_DESCRIPTION" VARCHAR(4000), + "REMEDIATION_GAP_MULT" VARCHAR(20), + "DEFAULT_REMEDIATION_GAP_MULT" VARCHAR(20), + "REMEDIATION_BASE_EFFORT" VARCHAR(20), + "DEFAULT_REMEDIATION_BASE_EFFORT" VARCHAR(20), + "GAP_DESCRIPTION" VARCHAR(4000), "TAGS" VARCHAR(4000), "SYSTEM_TAGS" VARCHAR(4000), "RULE_TYPE" TINYINT, diff --git a/sonar-db/src/test/java/org/sonar/db/rule/RuleDaoTest.java b/sonar-db/src/test/java/org/sonar/db/rule/RuleDaoTest.java index a563b721ea5..cf40b8abf74 100644 --- a/sonar-db/src/test/java/org/sonar/db/rule/RuleDaoTest.java +++ b/sonar-db/src/test/java/org/sonar/db/rule/RuleDaoTest.java @@ -136,11 +136,11 @@ public class RuleDaoTest { assertThat(ruleDto.getNoteData()).isEqualTo("Rule note with accents \u00e9\u00e8\u00e0"); assertThat(ruleDto.getRemediationFunction()).isEqualTo("LINEAR"); assertThat(ruleDto.getDefaultRemediationFunction()).isEqualTo("LINEAR_OFFSET"); - assertThat(ruleDto.getRemediationCoefficient()).isEqualTo("1h"); - assertThat(ruleDto.getDefaultRemediationCoefficient()).isEqualTo("5d"); - assertThat(ruleDto.getRemediationOffset()).isEqualTo("5min"); - assertThat(ruleDto.getDefaultRemediationOffset()).isEqualTo("10h"); - assertThat(ruleDto.getEffortToFixDescription()).isEqualTo("squid.S115.effortToFix"); + assertThat(ruleDto.getRemediationGapMultiplier()).isEqualTo("1h"); + assertThat(ruleDto.getDefaultRemediationGapMultiplier()).isEqualTo("5d"); + assertThat(ruleDto.getRemediationBaseEffort()).isEqualTo("5min"); + assertThat(ruleDto.getDefaultRemediationBaseEffort()).isEqualTo("10h"); + assertThat(ruleDto.getGapDescription()).isEqualTo("squid.S115.effortToFix"); } @Test @@ -218,11 +218,11 @@ public class RuleDaoTest { .setNoteUpdatedAt(DateUtils.parseDate("2013-12-20")) .setRemediationFunction(DebtRemediationFunction.Type.LINEAR.toString()) .setDefaultRemediationFunction(DebtRemediationFunction.Type.LINEAR_OFFSET.toString()) - .setRemediationCoefficient("1h") - .setDefaultRemediationCoefficient("5d") - .setRemediationOffset("5min") - .setDefaultRemediationOffset("10h") - .setEffortToFixDescription("squid.S115.effortToFix") + .setRemediationGapMultiplier("1h") + .setDefaultRemediationGapMultiplier("5d") + .setRemediationBaseEffort("5min") + .setDefaultRemediationBaseEffort("10h") + .setGapDescription("squid.S115.effortToFix") .setTags(newHashSet("tag1", "tag2")) .setSystemTags(newHashSet("systag1", "systag2")) .setType(RuleType.BUG) @@ -250,11 +250,11 @@ public class RuleDaoTest { assertThat(ruleDto.getNoteUpdatedAt()).isNotNull(); assertThat(ruleDto.getRemediationFunction()).isEqualTo("LINEAR"); assertThat(ruleDto.getDefaultRemediationFunction()).isEqualTo("LINEAR_OFFSET"); - assertThat(ruleDto.getRemediationCoefficient()).isEqualTo("1h"); - assertThat(ruleDto.getDefaultRemediationCoefficient()).isEqualTo("5d"); - assertThat(ruleDto.getRemediationOffset()).isEqualTo("5min"); - assertThat(ruleDto.getDefaultRemediationOffset()).isEqualTo("10h"); - assertThat(ruleDto.getEffortToFixDescription()).isEqualTo("squid.S115.effortToFix"); + assertThat(ruleDto.getRemediationGapMultiplier()).isEqualTo("1h"); + assertThat(ruleDto.getDefaultRemediationGapMultiplier()).isEqualTo("5d"); + assertThat(ruleDto.getRemediationBaseEffort()).isEqualTo("5min"); + assertThat(ruleDto.getDefaultRemediationBaseEffort()).isEqualTo("10h"); + assertThat(ruleDto.getGapDescription()).isEqualTo("squid.S115.effortToFix"); assertThat(ruleDto.getTags()).containsOnly("tag1", "tag2"); assertThat(ruleDto.getSystemTags()).containsOnly("systag1", "systag2"); assertThat(ruleDto.getType()).isEqualTo(RuleType.BUG.getDbConstant()); @@ -285,11 +285,11 @@ public class RuleDaoTest { .setNoteUpdatedAt(DateUtils.parseDate("2013-12-20")) .setRemediationFunction(DebtRemediationFunction.Type.LINEAR.toString()) .setDefaultRemediationFunction(DebtRemediationFunction.Type.LINEAR_OFFSET.toString()) - .setRemediationCoefficient("1h") - .setDefaultRemediationCoefficient("5d") - .setRemediationOffset("5min") - .setDefaultRemediationOffset("10h") - .setEffortToFixDescription("squid.S115.effortToFix") + .setRemediationGapMultiplier("1h") + .setDefaultRemediationGapMultiplier("5d") + .setRemediationBaseEffort("5min") + .setDefaultRemediationBaseEffort("10h") + .setGapDescription("squid.S115.effortToFix") .setTags(newHashSet("tag1", "tag2")) .setSystemTags(newHashSet("systag1", "systag2")) .setType(RuleType.BUG) @@ -316,11 +316,11 @@ public class RuleDaoTest { assertThat(ruleDto.getNoteUpdatedAt()).isNotNull(); assertThat(ruleDto.getRemediationFunction()).isEqualTo("LINEAR"); assertThat(ruleDto.getDefaultRemediationFunction()).isEqualTo("LINEAR_OFFSET"); - assertThat(ruleDto.getRemediationCoefficient()).isEqualTo("1h"); - assertThat(ruleDto.getDefaultRemediationCoefficient()).isEqualTo("5d"); - assertThat(ruleDto.getRemediationOffset()).isEqualTo("5min"); - assertThat(ruleDto.getDefaultRemediationOffset()).isEqualTo("10h"); - assertThat(ruleDto.getEffortToFixDescription()).isEqualTo("squid.S115.effortToFix"); + assertThat(ruleDto.getRemediationGapMultiplier()).isEqualTo("1h"); + assertThat(ruleDto.getDefaultRemediationGapMultiplier()).isEqualTo("5d"); + assertThat(ruleDto.getRemediationBaseEffort()).isEqualTo("5min"); + assertThat(ruleDto.getDefaultRemediationBaseEffort()).isEqualTo("10h"); + assertThat(ruleDto.getGapDescription()).isEqualTo("squid.S115.effortToFix"); assertThat(ruleDto.getTags()).containsOnly("tag1", "tag2"); assertThat(ruleDto.getSystemTags()).containsOnly("systag1", "systag2"); assertThat(ruleDto.getType()).isEqualTo(RuleType.BUG.getDbConstant()); diff --git a/sonar-db/src/test/java/org/sonar/db/rule/RuleTesting.java b/sonar-db/src/test/java/org/sonar/db/rule/RuleTesting.java index efc99594c9f..ba4bb76b3e8 100644 --- a/sonar-db/src/test/java/org/sonar/db/rule/RuleTesting.java +++ b/sonar-db/src/test/java/org/sonar/db/rule/RuleTesting.java @@ -76,10 +76,10 @@ public class RuleTesting { .setLanguage("js") .setRemediationFunction("LINEAR") .setDefaultRemediationFunction("LINEAR_OFFSET") - .setRemediationCoefficient("1h") - .setDefaultRemediationCoefficient("5d") - .setDefaultRemediationOffset("10h") - .setEffortToFixDescription(ruleKey.repository() + "." + ruleKey.rule() + ".effortToFix") + .setRemediationGapMultiplier("1h") + .setDefaultRemediationGapMultiplier("5d") + .setDefaultRemediationBaseEffort("10h") + .setGapDescription(ruleKey.repository() + "." + ruleKey.rule() + ".effortToFix") .setType(RuleType.CODE_SMELL); } diff --git a/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter-result.xml b/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter-result.xml index 97c6a59f3f7..6ce3b6763da 100644 --- a/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter-result.xml +++ b/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter-result.xml @@ -3,9 +3,9 @@ plugin_config_key="NewConfigKey" priority="0" is_template="[true]" language="dart" template_id="3" note_data="[null]" note_user_login="[null]" note_created_at="[null]" note_updated_at="[null]" remediation_function="linear" default_remediation_function="linear_offset" - remediation_coeff="1h" default_remediation_coeff="5d" - remediation_offset="5min" default_remediation_offset="10h" - effort_to_fix_description="squid.S115.effortToFix" + remediation_gap_mult="1h" default_remediation_gap_mult="5d" + remediation_base_effort="5min" default_remediation_base_effort="10h" + gap_description="squid.S115.effortToFix" created_at="[null]" updated_at="[null]" /> <rules_parameters id="1" rule_id="1" name="max" param_type="INTEGER" default_value="30" description="My Parameter"/> diff --git a/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter.xml b/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter.xml index df6a143c5d3..71bd1477503 100644 --- a/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter.xml +++ b/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/insert_parameter.xml @@ -3,9 +3,9 @@ plugin_config_key="NewConfigKey" priority="0" is_template="[true]" language="dart" template_id="3" note_data="[null]" note_user_login="[null]" note_created_at="[null]" note_updated_at="[null]" remediation_function="linear" default_remediation_function="linear_offset" - remediation_coeff="1h" default_remediation_coeff="5d" - remediation_offset="5min" default_remediation_offset="10h" - effort_to_fix_description="squid.S115.effortToFix" + remediation_gap_mult="1h" default_remediation_gap_mult="5d" + remediation_base_effort="5min" default_remediation_base_effort="10h" + gap_description="squid.S115.effortToFix" created_at="[null]" updated_at="[null]" /> </dataset> diff --git a/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/selectEnabledAndNonManual.xml b/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/selectEnabledAndNonManual.xml index 92cd6f505ba..38512c1508f 100644 --- a/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/selectEnabledAndNonManual.xml +++ b/sonar-db/src/test/resources/org/sonar/db/rule/RuleDaoTest/selectEnabledAndNonManual.xml @@ -3,27 +3,27 @@ <rules tags="[null]" system_tags="[null]" id="1" plugin_rule_key="AvoidNull" plugin_name="checkstyle" name="Avoid Null" description="Should avoid NULL" status="READY" note_data="Rule note with accents éèà" note_user_login="polop.palap" note_created_at="2013-12-25" description_format="HTML" remediation_function="LINEAR" default_remediation_function="LINEAR_OFFSET" - remediation_coeff="1h" default_remediation_coeff="5d" - remediation_offset="5min" default_remediation_offset="10h" - effort_to_fix_description="squid.S115.effortToFix" + remediation_gap_mult="1h" default_remediation_gap_mult="5d" + remediation_base_effort="5min" default_remediation_base_effort="10h" + gap_description="squid.S115.effortToFix" created_at="1500000000000" updated_at="1600000000000" /> <rules tags="[null]" system_tags="[null]" 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]" description_format="HTML" remediation_function="[null]" default_remediation_function="[null]" - remediation_coeff="[null]" default_remediation_coeff="[null]" - remediation_offset="[null]" default_remediation_offset="[null]" - effort_to_fix_description="[null]" + remediation_gap_mult="[null]" default_remediation_gap_mult="[null]" + remediation_base_effort="[null]" default_remediation_base_effort="[null]" + gap_description="[null]" created_at="1500000000000" updated_at="1600000000000" /> <rules tags="[null]" system_tags="[null]" 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]" description_format="HTML" remediation_function="[null]" default_remediation_function="[null]" - remediation_coeff="[null]" default_remediation_coeff="[null]" - remediation_offset="[null]" default_remediation_offset="[null]" - effort_to_fix_description="[null]" + remediation_gap_mult="[null]" default_remediation_gap_mult="[null]" + remediation_base_effort="[null]" default_remediation_base_effort="[null]" + gap_description="[null]" created_at="1500000000000" updated_at="1600000000000" /> |