aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server
diff options
context:
space:
mode:
authorGodin <mandrikov@gmail.com>2010-12-08 16:30:08 +0000
committerGodin <mandrikov@gmail.com>2010-12-08 16:30:08 +0000
commit18ab14ce36c568dca402041feb5a053cba316071 (patch)
tree4afbaaa3073c80ef2c5a278aac4b24f184cf9d28 /sonar-server
parentb899ff096685f5802670af56c3e42a9edea89ce6 (diff)
downloadsonarqube-18ab14ce36c568dca402041feb5a053cba316071.tar.gz
sonarqube-18ab14ce36c568dca402041feb5a053cba316071.zip
SONAR-1987: Add rule configKey to backup too
Diffstat (limited to 'sonar-server')
-rw-r--r--sonar-server/src/main/java/org/sonar/server/configuration/RulesBackup.java5
-rw-r--r--sonar-server/src/test/java/org/sonar/server/configuration/BackupTest.java2
-rw-r--r--sonar-server/src/test/java/org/sonar/server/configuration/RulesBackupTest.java8
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-restore-valid.xml1
-rw-r--r--sonar-server/src/test/resources/org/sonar/server/configuration/BackupTest/backup-valid.xml1
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>