]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-8785 make DbSession an interface
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Mon, 10 Jul 2017 12:47:40 +0000 (14:47 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Tue, 11 Jul 2017 08:15:10 +0000 (10:15 +0200)
server/sonar-db-dao/src/main/java/org/sonar/db/BatchSession.java
server/sonar-db-dao/src/main/java/org/sonar/db/DbSession.java
server/sonar-db-dao/src/main/java/org/sonar/db/DbSessionImpl.java [new file with mode: 0644]
server/sonar-db-dao/src/main/java/org/sonar/db/MyBatis.java

index 1e9d37a8176039c5cd4259655132ed70c4fa6ead..d851d5e707a70d07688ce6ce2032c7775ac28e5e 100644 (file)
@@ -30,7 +30,7 @@ import org.apache.ibatis.session.ResultHandler;
 import org.apache.ibatis.session.RowBounds;
 import org.apache.ibatis.session.SqlSession;
 
-public class BatchSession extends DbSession {
+public class BatchSession extends DbSessionImpl {
 
   public static final int MAX_BATCH_SIZE = 250;
 
index a53493d38013f12755d9023552f9d63cac20fea5..7ae9d3803fa6c11ab6b96aeb8c5a53998625ce55 100644 (file)
  */
 package org.sonar.db;
 
-import java.sql.Connection;
-import java.util.List;
-import java.util.Map;
-import org.apache.ibatis.executor.BatchResult;
-import org.apache.ibatis.session.Configuration;
-import org.apache.ibatis.session.ResultHandler;
-import org.apache.ibatis.session.RowBounds;
 import org.apache.ibatis.session.SqlSession;
 
-public class DbSession implements SqlSession {
-
-  private SqlSession session;
-
-  public DbSession(SqlSession session) {
-    this.session = session;
-  }
-
-  @Override
-  public void commit() {
-    session.commit();
-  }
-
-  @Override
-  public void commit(boolean force) {
-    session.commit(force);
-  }
-
-  /**
-   * We only care about the the commit section.
-   * The rest is simply passed to its parent.
-   */
-
-  @Override
-  public <T> T selectOne(String statement) {
-    return session.selectOne(statement);
-  }
-
-  @Override
-  public <T> T selectOne(String statement, Object parameter) {
-    return session.selectOne(statement, parameter);
-  }
-
-  @Override
-  public <E> List<E> selectList(String statement) {
-    return session.selectList(statement);
-  }
-
-  @Override
-  public <E> List<E> selectList(String statement, Object parameter) {
-    return session.selectList(statement, parameter);
-  }
-
-  @Override
-  public <E> List<E> selectList(String statement, Object parameter, RowBounds rowBounds) {
-    return session.selectList(statement, parameter, rowBounds);
-  }
-
-  @Override
-  public <K, V> Map<K, V> selectMap(String statement, String mapKey) {
-    return session.selectMap(statement, mapKey);
-  }
-
-  @Override
-  public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey) {
-    return session.selectMap(statement, parameter, mapKey);
-  }
-
-  @Override
-  public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey, RowBounds rowBounds) {
-    return session.selectMap(statement, parameter, mapKey, rowBounds);
-  }
-
-  @Override
-  public void select(String statement, Object parameter, ResultHandler handler) {
-    session.select(statement, parameter, handler);
-  }
-
-  @Override
-  public void select(String statement, ResultHandler handler) {
-    session.select(statement, handler);
-  }
-
-  @Override
-  public void select(String statement, Object parameter, RowBounds rowBounds, ResultHandler handler) {
-    session.select(statement, parameter, rowBounds, handler);
-  }
-
-  @Override
-  public int insert(String statement) {
-    return session.insert(statement);
-  }
-
-  @Override
-  public int insert(String statement, Object parameter) {
-    return session.insert(statement, parameter);
-  }
-
-  @Override
-  public int update(String statement) {
-    return session.update(statement);
-  }
-
-  @Override
-  public int update(String statement, Object parameter) {
-    return session.update(statement, parameter);
-  }
-
-  @Override
-  public int delete(String statement) {
-    return session.delete(statement);
-  }
-
-  @Override
-  public int delete(String statement, Object parameter) {
-    return session.delete(statement, parameter);
-  }
-
-  @Override
-  public void rollback() {
-    session.rollback();
-  }
-
-  @Override
-  public void rollback(boolean force) {
-    session.rollback(force);
-  }
-
-  @Override
-  public List<BatchResult> flushStatements() {
-    return session.flushStatements();
-  }
-
-  @Override
-  public void close() {
-    session.close();
-  }
-
-  @Override
-  public void clearCache() {
-    session.clearCache();
-  }
-
-  @Override
-  public Configuration getConfiguration() {
-    return session.getConfiguration();
-  }
-
-  @Override
-  public <T> T getMapper(Class<T> type) {
-    return session.getMapper(type);
-  }
-
-  @Override
-  public Connection getConnection() {
-    return session.getConnection();
-  }
+public interface DbSession extends SqlSession {
 }
diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/DbSessionImpl.java b/server/sonar-db-dao/src/main/java/org/sonar/db/DbSessionImpl.java
new file mode 100644 (file)
index 0000000..6e22851
--- /dev/null
@@ -0,0 +1,178 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2017 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+package org.sonar.db;
+
+import java.sql.Connection;
+import java.util.List;
+import java.util.Map;
+import org.apache.ibatis.executor.BatchResult;
+import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.session.SqlSession;
+
+public class DbSessionImpl implements DbSession {
+
+  private SqlSession session;
+
+  public DbSessionImpl(SqlSession session) {
+    this.session = session;
+  }
+
+  @Override
+  public void commit() {
+    session.commit();
+  }
+
+  @Override
+  public void commit(boolean force) {
+    session.commit(force);
+  }
+
+  /**
+   * We only care about the the commit section.
+   * The rest is simply passed to its parent.
+   */
+
+  @Override
+  public <T> T selectOne(String statement) {
+    return session.selectOne(statement);
+  }
+
+  @Override
+  public <T> T selectOne(String statement, Object parameter) {
+    return session.selectOne(statement, parameter);
+  }
+
+  @Override
+  public <E> List<E> selectList(String statement) {
+    return session.selectList(statement);
+  }
+
+  @Override
+  public <E> List<E> selectList(String statement, Object parameter) {
+    return session.selectList(statement, parameter);
+  }
+
+  @Override
+  public <E> List<E> selectList(String statement, Object parameter, RowBounds rowBounds) {
+    return session.selectList(statement, parameter, rowBounds);
+  }
+
+  @Override
+  public <K, V> Map<K, V> selectMap(String statement, String mapKey) {
+    return session.selectMap(statement, mapKey);
+  }
+
+  @Override
+  public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey) {
+    return session.selectMap(statement, parameter, mapKey);
+  }
+
+  @Override
+  public <K, V> Map<K, V> selectMap(String statement, Object parameter, String mapKey, RowBounds rowBounds) {
+    return session.selectMap(statement, parameter, mapKey, rowBounds);
+  }
+
+  @Override
+  public void select(String statement, Object parameter, ResultHandler handler) {
+    session.select(statement, parameter, handler);
+  }
+
+  @Override
+  public void select(String statement, ResultHandler handler) {
+    session.select(statement, handler);
+  }
+
+  @Override
+  public void select(String statement, Object parameter, RowBounds rowBounds, ResultHandler handler) {
+    session.select(statement, parameter, rowBounds, handler);
+  }
+
+  @Override
+  public int insert(String statement) {
+    return session.insert(statement);
+  }
+
+  @Override
+  public int insert(String statement, Object parameter) {
+    return session.insert(statement, parameter);
+  }
+
+  @Override
+  public int update(String statement) {
+    return session.update(statement);
+  }
+
+  @Override
+  public int update(String statement, Object parameter) {
+    return session.update(statement, parameter);
+  }
+
+  @Override
+  public int delete(String statement) {
+    return session.delete(statement);
+  }
+
+  @Override
+  public int delete(String statement, Object parameter) {
+    return session.delete(statement, parameter);
+  }
+
+  @Override
+  public void rollback() {
+    session.rollback();
+  }
+
+  @Override
+  public void rollback(boolean force) {
+    session.rollback(force);
+  }
+
+  @Override
+  public List<BatchResult> flushStatements() {
+    return session.flushStatements();
+  }
+
+  @Override
+  public void close() {
+    session.close();
+  }
+
+  @Override
+  public void clearCache() {
+    session.clearCache();
+  }
+
+  @Override
+  public Configuration getConfiguration() {
+    return session.getConfiguration();
+  }
+
+  @Override
+  public <T> T getMapper(Class<T> type) {
+    return session.getMapper(type);
+  }
+
+  @Override
+  public Connection getConnection() {
+    return session.getConnection();
+  }
+}
index 044086a79b3c56b18bb7d11a156ca79a4656b6e7..ea1251d69fe4c01e64ee497e2b154c16ec5a5775 100644 (file)
@@ -255,7 +255,7 @@ public class MyBatis implements Startable {
       return new BatchSession(session);
     }
     SqlSession session = sessionFactory.openSession(ExecutorType.REUSE);
-    return new DbSession(session);
+    return new DbSessionImpl(session);
   }
 
   /**