]> source.dussan.org Git - sonarqube.git/commitdiff
MyBatis implements Startable
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Thu, 23 Feb 2017 22:11:37 +0000 (23:11 +0100)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Sat, 25 Feb 2017 17:38:06 +0000 (18:38 +0100)
server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java
server/sonar-db-dao/src/test/java/org/sonar/db/MyBatisTest.java

index 64963c43d41e27c8340bdfc6d8161ee54a0da6a9..250da1dd1e6193bdeb63febb556b255fdec66b52 100644 (file)
@@ -29,6 +29,7 @@ import org.apache.ibatis.session.ExecutorType;
 import org.apache.ibatis.session.SqlSession;
 import org.apache.ibatis.session.SqlSessionFactory;
 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
+import org.sonar.api.Startable;
 import org.sonar.api.utils.log.Loggers;
 import org.sonar.db.ce.CeActivityMapper;
 import org.sonar.db.ce.CeQueueMapper;
@@ -120,7 +121,7 @@ import org.sonar.db.user.UserTokenDto;
 import org.sonar.db.user.UserTokenMapper;
 import org.sonar.db.webhook.WebhookDeliveryMapper;
 
-public class MyBatis {
+public class MyBatis implements Startable {
 
   private final Database database;
   private SqlSessionFactory sessionFactory;
@@ -144,7 +145,8 @@ public class MyBatis {
     }
   }
 
-  public MyBatis start() {
+  @Override
+  public void start() {
     LogFactory.useSlf4jLogging();
 
     MyBatisConfBuilder confBuilder = new MyBatisConfBuilder(database);
@@ -249,7 +251,11 @@ public class MyBatis {
     confBuilder.loadMappers(mappers);
 
     sessionFactory = new SqlSessionFactoryBuilder().build(confBuilder.build());
-    return this;
+  }
+
+  @Override
+  public void stop() {
+    // nothing to do
   }
 
   @VisibleForTesting
index cefcb6fdb6fb7df02d9bc5a99d64664e9064153f..b86390171235b0a981fd68d55a8b03e100323077 100644 (file)
@@ -21,6 +21,7 @@ package org.sonar.db;
 
 import org.apache.ibatis.session.Configuration;
 import org.hamcrest.core.Is;
+import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -43,12 +44,18 @@ public class MyBatisTest {
     database.stop();
   }
 
+  private MyBatis underTest = new MyBatis(database);
+
+  @After
+  public void tearDown() throws Exception {
+    underTest.stop();
+  }
+
   @Test
   public void shouldConfigureMyBatis() {
-    MyBatis myBatis = new MyBatis(database);
-    myBatis.start();
+    underTest.start();
 
-    Configuration conf = myBatis.getSessionFactory().getConfiguration();
+    Configuration conf = underTest.getSessionFactory().getConfiguration();
     assertThat(conf.isUseGeneratedKeys(), Is.is(true));
     assertThat(conf.hasMapper(RuleMapper.class), Is.is(true));
     assertThat(conf.isLazyLoadingEnabled(), Is.is(false));
@@ -56,10 +63,9 @@ public class MyBatisTest {
 
   @Test
   public void shouldOpenBatchSession() {
-    MyBatis myBatis = new MyBatis(database);
-    myBatis.start();
+    underTest.start();
 
-    try (DbSession session = myBatis.openSession(false)) {
+    try (DbSession session = underTest.openSession(false)) {
       assertThat(session.getConnection(), notNullValue());
       assertThat(session.getMapper(RuleMapper.class), notNullValue());
     }