From: Julien Lancelot Date: Wed, 9 Oct 2013 07:58:53 +0000 (+0200) Subject: SONAR-4357 Rename method that initialize and merge plugins X-Git-Tag: 4.0~198 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=653a69022c894f6bfcbf128710e565542138df3c;p=sonarqube.git SONAR-4357 Rename method that initialize and merge plugins --- 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)); } }