diff options
author | Godin <mandrikov@gmail.com> | 2010-12-08 16:30:08 +0000 |
---|---|---|
committer | Godin <mandrikov@gmail.com> | 2010-12-08 16:30:08 +0000 |
commit | 18ab14ce36c568dca402041feb5a053cba316071 (patch) | |
tree | 4afbaaa3073c80ef2c5a278aac4b24f184cf9d28 /sonar-server | |
parent | b899ff096685f5802670af56c3e42a9edea89ce6 (diff) | |
download | sonarqube-18ab14ce36c568dca402041feb5a053cba316071.tar.gz sonarqube-18ab14ce36c568dca402041feb5a053cba316071.zip |
SONAR-1987: Add rule configKey to backup too
Diffstat (limited to 'sonar-server')
5 files changed, 15 insertions, 2 deletions
diff --git a/sonar-server/src/main/java/org/sonar/server/configuration/RulesBackup.java b/sonar-server/src/main/java/org/sonar/server/configuration/RulesBackup.java index 87ac7b5803d..f97cee3685b 100644 --- a/sonar-server/src/main/java/org/sonar/server/configuration/RulesBackup.java +++ b/sonar-server/src/main/java/org/sonar/server/configuration/RulesBackup.java @@ -101,6 +101,9 @@ public class RulesBackup implements Backupable { "pluginName", rule.getRepositoryKey(), "key", rule.getKey()); if (matchingRuleInDb != null) { + // merge + matchingRuleInDb.setParent(matchingParentRuleInDb); + matchingRuleInDb.setConfigKey(rule.getConfigKey()); matchingRuleInDb.setName(rule.getName()); matchingRuleInDb.setDescription(rule.getDescription()); matchingRuleInDb.setSeverity(rule.getSeverity()); @@ -123,6 +126,7 @@ public class RulesBackup implements Backupable { writeNode(writer, "parentKey", rule.getParent().getKey()); writeNode(writer, "repositoryKey", rule.getRepositoryKey()); writeNode(writer, "key", rule.getKey()); + writeNode(writer, "configKey", rule.getConfigKey()); writeNode(writer, "level", rule.getSeverity().name()); writeNode(writer, "name", rule.getName()); writeNode(writer, "description", rule.getDescription()); @@ -165,6 +169,7 @@ public class RulesBackup implements Backupable { rule.setParent(parent) .setRepositoryKey(valuesRule.get("repositoryKey")) .setKey(valuesRule.get("key")) + .setConfigKey(valuesRule.get("configKey")) .setName(valuesRule.get("name")) .setDescription(valuesRule.get("description")) .setSeverity(RulePriority.valueOf(valuesRule.get("level"))); diff --git a/sonar-server/src/test/java/org/sonar/server/configuration/BackupTest.java b/sonar-server/src/test/java/org/sonar/server/configuration/BackupTest.java index 0e008fe8362..a9eac6a43a8 100644 --- a/sonar-server/src/test/java/org/sonar/server/configuration/BackupTest.java +++ b/sonar-server/src/test/java/org/sonar/server/configuration/BackupTest.java @@ -149,6 +149,7 @@ public class BackupTest { assertThat(rule.getParent().getKey(), is("test key")); assertThat(rule.getRepositoryKey(), is("test plugin")); assertThat(rule.getKey(), is("test key2")); + assertThat(rule.getConfigKey(), is("test config key")); assertThat(rule.getName(), is("test name")); assertThat(rule.getDescription(), is("test description")); assertThat(rule.getSeverity(), is(RulePriority.INFO)); @@ -264,6 +265,7 @@ public class BackupTest { Rule parentRule = Rule.create("test plugin", "test key", null); Rule rule = Rule.create("test plugin", "test key2", "test name") .setDescription("test description") + .setConfigKey("test config key") .setSeverity(RulePriority.INFO) .setParent(parentRule); rule.createParameter().setKey("test param key").setDefaultValue("test param value"); diff --git a/sonar-server/src/test/java/org/sonar/server/configuration/RulesBackupTest.java b/sonar-server/src/test/java/org/sonar/server/configuration/RulesBackupTest.java index d8caaa5a93c..f5d32822f83 100644 --- a/sonar-server/src/test/java/org/sonar/server/configuration/RulesBackupTest.java +++ b/sonar-server/src/test/java/org/sonar/server/configuration/RulesBackupTest.java @@ -72,6 +72,10 @@ public class RulesBackupTest extends AbstractDbUnitTestCase { sonarConfig.setRules(Arrays.asList(createUserRule())); rulesBackup.importXml(sonarConfig); + verify(); + } + + private void verify() { assertThat(getSession().getResults(Rule.class).size(), is(2)); Rule importedRule = getDao().getRulesDao().getRuleByKey("repo", "key2"); assertThat(importedRule.getParent(), is(rule)); @@ -88,12 +92,12 @@ public class RulesBackupTest extends AbstractDbUnitTestCase { @Test public void shouldUpdateRules() { getSession().save(rule); - getSession().save(createUserRule()); + getSession().save(Rule.create("repo", "key2", "")); sonarConfig.setRules(Arrays.asList(createUserRule())); rulesBackup.importXml(sonarConfig); - assertThat(getSession().getResults(Rule.class).size(), is(2)); + verify(); } @Test diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-restore-valid.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-restore-valid.xml index a7761157cb2..2f3f7dfa4e2 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-restore-valid.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-restore-valid.xml @@ -74,6 +74,7 @@ <parentKey><![CDATA[test key]]></parentKey> <repositoryKey><![CDATA[test plugin]]></repositoryKey> <key><![CDATA[test key2]]></key> + <configKey><![CDATA[test config key]]></configKey> <level><![CDATA[INFO]]></level> <name><![CDATA[test name]]></name> <description><![CDATA[test description]]></description> diff --git a/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-valid.xml b/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-valid.xml index 37235bd3765..37b9a64a06b 100644 --- a/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-valid.xml +++ b/sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-valid.xml @@ -76,6 +76,7 @@ <parentKey><![CDATA[test key]]></parentKey> <repositoryKey><![CDATA[test plugin]]></repositoryKey> <key><![CDATA[test key2]]></key> + <configKey><![CDATA[test config key]]></configKey> <level><![CDATA[INFO]]></level> <name><![CDATA[test name]]></name> <description><![CDATA[test description]]></description> |