]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-4357 Rename method that initialize and merge plugins
authorJulien Lancelot <julien.lancelot@gmail.com>
Wed, 9 Oct 2013 07:58:53 +0000 (09:58 +0200)
committerJulien Lancelot <julien.lancelot@gmail.com>
Wed, 9 Oct 2013 07:59:02 +0000 (09:59 +0200)
sonar-core/src/main/java/org/sonar/core/technicaldebt/TechnicalDebtManager.java
sonar-core/src/test/java/org/sonar/core/technicaldebt/TechnicalDebtManagerTest.java
sonar-server/src/main/java/org/sonar/server/startup/RegisterTechnicalDebtModel.java
sonar-server/src/test/java/org/sonar/server/startup/RegisterTechnicalDebtModelTest.java

index 12a114314f96f7c4e05814781a00c0824f077bca..bab769856601ca1ee318c2e72409d38912085f59 100644 (file)
@@ -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();
     }
   }
 
index 6c9c52582bfc4a24217b69c73c24c4c087f1754c..eeabb32499ed6df474e08c2a70e04270ae1534c1 100644 (file)
@@ -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.");
index 9c2a280b6a0f91f7e5ec5bb849e83b918f7a6dfd..a1485847efba11fa23c230e585e8d3ea68e03f08 100644 (file)
@@ -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();
   }
 
index ba5ac1cf71baaaccba292df6c01ac458b45515e0..5fcaa1506e207ee2e4e35f28e476ff5a258ada12 100644 (file)
@@ -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));
   }
 }