aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Lancelot <julien.lancelot@gmail.com>2013-10-09 09:58:53 +0200
committerJulien Lancelot <julien.lancelot@gmail.com>2013-10-09 09:59:02 +0200
commit653a69022c894f6bfcbf128710e565542138df3c (patch)
treef0c31aedd59ef25e9cd2d243e55034c28affd31f
parente7ba0bb850590959c0d39decb711d0d482228f1b (diff)
downloadsonarqube-653a69022c894f6bfcbf128710e565542138df3c.tar.gz
sonarqube-653a69022c894f6bfcbf128710e565542138df3c.zip
SONAR-4357 Rename method that initialize and merge plugins
-rw-r--r--sonar-core/src/main/java/org/sonar/core/technicaldebt/TechnicalDebtManager.java11
-rw-r--r--sonar-core/src/test/java/org/sonar/core/technicaldebt/TechnicalDebtManagerTest.java29
-rw-r--r--sonar-server/src/main/java/org/sonar/server/startup/RegisterTechnicalDebtModel.java2
-rw-r--r--sonar-server/src/test/java/org/sonar/server/startup/RegisterTechnicalDebtModelTest.java2
4 files changed, 26 insertions, 18 deletions
diff --git a/sonar-core/src/main/java/org/sonar/core/technicaldebt/TechnicalDebtManager.java b/sonar-core/src/main/java/org/sonar/core/technicaldebt/TechnicalDebtManager.java
index 12a114314f9..bab76985660 100644
--- a/sonar-core/src/main/java/org/sonar/core/technicaldebt/TechnicalDebtManager.java
+++ b/sonar-core/src/main/java/org/sonar/core/technicaldebt/TechnicalDebtManager.java
@@ -53,22 +53,22 @@ public class TechnicalDebtManager implements ServerExtension {
this.importer = importer;
}
- public Model init(ValidationMessages messages, TechnicalDebtRuleCache rulesCache) {
+ public Model initAndMergePlugins(ValidationMessages messages, TechnicalDebtRuleCache rulesCache) {
DatabaseSession session = sessionFactory.getSession();
- Model model = init(messages, rulesCache, session);
+ Model model = initAndMergePlugins(messages, rulesCache, session);
- session.save(model);
session.commit();
return model;
}
- public Model init(ValidationMessages messages, TechnicalDebtRuleCache rulesCache, DatabaseSession session) {
+ public Model initAndMergePlugins(ValidationMessages messages, TechnicalDebtRuleCache rulesCache, DatabaseSession session) {
disableRequirementsOnRemovedRules(rulesCache, session);
Model defaultModel = loadModelFromXml(TechnicalDebtModelRepository.DEFAULT_MODEL, messages, rulesCache);
Model model = loadOrCreateModelFromDb(defaultModel, messages, rulesCache);
mergePlugins(model, defaultModel, messages, rulesCache);
+ session.save(model);
return model;
}
@@ -80,8 +80,8 @@ public class TechnicalDebtManager implements ServerExtension {
Model model = loadModel();
if (model == null) {
model = Model.createByName(TechnicalDebtModel.MODEL_NAME);
- mergePlugin(defaultModel, model, messages, rulesCache);
}
+ mergePlugin(defaultModel, model, messages, rulesCache);
return model;
}
@@ -128,7 +128,6 @@ public class TechnicalDebtManager implements ServerExtension {
existingModel.removeCharacteristic(requirement);
}
}
- session.commit();
}
}
diff --git a/sonar-core/src/test/java/org/sonar/core/technicaldebt/TechnicalDebtManagerTest.java b/sonar-core/src/test/java/org/sonar/core/technicaldebt/TechnicalDebtManagerTest.java
index 6c9c52582bf..eeabb32499e 100644
--- a/sonar-core/src/test/java/org/sonar/core/technicaldebt/TechnicalDebtManagerTest.java
+++ b/sonar-core/src/test/java/org/sonar/core/technicaldebt/TechnicalDebtManagerTest.java
@@ -44,7 +44,7 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
private TechnicalDebtModelRepository technicalDebtModelRepository = mock(TechnicalDebtModelRepository.class);
@Before
- public void init() throws Exception {
+ public void initAndMerge() throws Exception {
technicalDebtModelRepository = mock(TechnicalDebtModelRepository.class);
when(technicalDebtModelRepository.createReaderForXMLFile("technical-debt")).thenReturn(
new FileReader(Resources.getResource(TechnicalDebtManagerTest.class, "TechnicalDebtManagerTest/fake-default-model.xml").getPath()));
@@ -56,7 +56,8 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
public void create_only_default_model_on_first_execution_when_no_plugin() throws Exception {
setupData("empty");
- manager.init(ValidationMessages.create(), defaultRuleCache());
+ manager.initAndMergePlugins(ValidationMessages.create(), defaultRuleCache());
+ getSession().commit();
checkTables("create_default_model_on_first_execution", "quality_models", "characteristics", "characteristic_edges");
}
@@ -75,7 +76,8 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
rule2.setId(2);
when(technicalDebtRuleCache.getRule("checkstyle", "export")).thenReturn(rule2);
- manager.init(ValidationMessages.create(), technicalDebtRuleCache);
+ manager.initAndMergePlugins(ValidationMessages.create(), technicalDebtRuleCache);
+ getSession().commit();
checkTables("create_model_with_requirements_from_plugin_on_first_execution", "quality_models", "characteristics", "characteristic_edges", "characteristic_properties");
}
@@ -86,7 +88,8 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
addPluginModel("java", "fake-java-model.xml");
- manager.init(ValidationMessages.create(), defaultRuleCache());
+ manager.initAndMergePlugins(ValidationMessages.create(), defaultRuleCache());
+ getSession().commit();
checkTables("add_new_requirements_from_plugin", "quality_models", "characteristics", "characteristic_edges", "characteristic_properties");
}
@@ -97,7 +100,8 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
addPluginModel("java", "fake-java-model.xml");
- manager.init(ValidationMessages.create(), defaultRuleCache());
+ manager.initAndMergePlugins(ValidationMessages.create(), defaultRuleCache());
+ getSession().commit();
checkTables("disable_requirements_on_removed_rules", "quality_models", "characteristics", "characteristic_edges", "characteristic_properties");
}
@@ -109,7 +113,8 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
addPluginModel("java", "fake-java-model-adding-unknown-characteristic.xml");
try {
- manager.init(ValidationMessages.create(), defaultRuleCache());
+ manager.initAndMergePlugins(ValidationMessages.create(), defaultRuleCache());
+ getSession().commit();
fail();
} catch (Exception e) {
assertThat(e).isInstanceOf(IllegalArgumentException.class);
@@ -123,14 +128,16 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
addPluginModel("java", "fake-java-model.xml");
- manager.init(ValidationMessages.create(), defaultRuleCache());
+ manager.initAndMergePlugins(ValidationMessages.create(), defaultRuleCache());
+ getSession().commit();
checkTables("recreate_previously_deleted_characteristic_from_default_model_when_plugin_define_requirements_on_it", "quality_models", "characteristics", "characteristic_edges", "characteristic_properties");
}
@Test
public void provided_plugin_should_not_override_default_characteristics_name() throws FileNotFoundException {
- Model model = manager.init(ValidationMessages.create(), defaultRuleCache());
+ Model model = manager.initAndMergePlugins(ValidationMessages.create(), defaultRuleCache());
+ getSession().commit();
// Default model values
assertThat(model.getCharacteristicByKey("PORTABILITY").getName()).isEqualTo("Portability");
assertThat(model.getCharacteristicByKey("COMPILER_RELATED_PORTABILITY").getName()).isEqualTo("Compiler related portability");
@@ -156,7 +163,8 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
when(technicalDebtRuleCache.getRule("checkstyle", "export")).thenReturn(rule2);
ValidationMessages messages = ValidationMessages.create();
- manager.init(messages, technicalDebtRuleCache);
+ manager.initAndMergePlugins(messages, technicalDebtRuleCache);
+ getSession().commit();
assertThat(messages.getWarnings()).hasSize(1);
assertThat(messages.getWarnings().get(0)).isEqualTo("Rule not found: [repository=checkstyle, key=ConstantNameCheck]");
@@ -169,7 +177,8 @@ public class TechnicalDebtManagerTest extends AbstractDbUnitTestCase {
addPluginModel("java", "fake-default-model-with-addtionnal-characteristic.xml");
try {
- manager.init(ValidationMessages.create(), defaultRuleCache());
+ manager.initAndMergePlugins(ValidationMessages.create(), defaultRuleCache());
+ getSession().commit();
fail();
} catch (Exception e) {
assertThat(e).isInstanceOf(IllegalArgumentException.class).hasMessage("The characteristic : SUB_ONE cannot be used as it's not available in default ones.");
diff --git a/sonar-server/src/main/java/org/sonar/server/startup/RegisterTechnicalDebtModel.java b/sonar-server/src/main/java/org/sonar/server/startup/RegisterTechnicalDebtModel.java
index 9c2a280b6a0..a1485847efb 100644
--- a/sonar-server/src/main/java/org/sonar/server/startup/RegisterTechnicalDebtModel.java
+++ b/sonar-server/src/main/java/org/sonar/server/startup/RegisterTechnicalDebtModel.java
@@ -45,7 +45,7 @@ public final class RegisterTechnicalDebtModel {
public void start() {
TimeProfiler profiler = new TimeProfiler(LOGGER).start("Register Technical Debt Model");
TechnicalDebtRuleCache technicalDebtRuleCache = new TechnicalDebtRuleCache(ruleFinder);
- technicalDebtManager.init(ValidationMessages.create(), technicalDebtRuleCache);
+ technicalDebtManager.initAndMergePlugins(ValidationMessages.create(), technicalDebtRuleCache);
profiler.stop();
}
diff --git a/sonar-server/src/test/java/org/sonar/server/startup/RegisterTechnicalDebtModelTest.java b/sonar-server/src/test/java/org/sonar/server/startup/RegisterTechnicalDebtModelTest.java
index ba5ac1cf71b..5fcaa1506e2 100644
--- a/sonar-server/src/test/java/org/sonar/server/startup/RegisterTechnicalDebtModelTest.java
+++ b/sonar-server/src/test/java/org/sonar/server/startup/RegisterTechnicalDebtModelTest.java
@@ -38,6 +38,6 @@ public class RegisterTechnicalDebtModelTest {
sqaleDefinition.start();
- verify(technicalDebtManager, times(1)).init(any(ValidationMessages.class), any(TechnicalDebtRuleCache.class));
+ verify(technicalDebtManager, times(1)).initAndMergePlugins(any(ValidationMessages.class), any(TechnicalDebtRuleCache.class));
}
}