aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-db-core
diff options
context:
space:
mode:
authorDaniel Schwarz <daniel.schwarz@sonarsource.com>2017-05-24 12:46:26 +0200
committerGrégoire Aubert <gregoire.aubert@sonarsource.com>2017-06-09 08:26:48 +0200
commit884e34739f55e058819001936945e89b41035ffa (patch)
treec57f8840b71ebdba5fa0bd783eb37e900870f205 /server/sonar-db-core
parent2fb2871f4be5ea216ab71e67b80622c040fd1791 (diff)
downloadsonarqube-884e34739f55e058819001936945e89b41035ffa.tar.gz
sonarqube-884e34739f55e058819001936945e89b41035ffa.zip
SONAR-9230 only index project measures, that will actually be used
Diffstat (limited to 'server/sonar-db-core')
-rw-r--r--server/sonar-db-core/src/main/java/org/sonar/db/DatabaseUtils.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/server/sonar-db-core/src/main/java/org/sonar/db/DatabaseUtils.java b/server/sonar-db-core/src/main/java/org/sonar/db/DatabaseUtils.java
index 46a8c91b7d0..777ca12b489 100644
--- a/server/sonar-db-core/src/main/java/org/sonar/db/DatabaseUtils.java
+++ b/server/sonar-db-core/src/main/java/org/sonar/db/DatabaseUtils.java
@@ -20,12 +20,14 @@
package org.sonar.db;
import com.google.common.base.Function;
+import com.google.common.base.Throwables;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import com.google.common.collect.Ordering;
import com.google.common.collect.Sets;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
+import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
@@ -39,6 +41,7 @@ import java.util.List;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.IntFunction;
+import java.util.function.Supplier;
import javax.annotation.CheckForNull;
import javax.annotation.Nullable;
import org.sonar.api.utils.log.Logger;
@@ -333,4 +336,17 @@ public class DatabaseUtils {
public static IllegalStateException wrapSqlException(SQLException e, String message, Object... messageArgs) {
return new IllegalStateException(format(message, messageArgs), e);
}
+
+ /**
+ * This method can be used as a method reference, for not to have to handle the checked exception {@link SQLException}
+ */
+ public static Consumer<String> setStrings(PreparedStatement stmt, Supplier<Integer> index) {
+ return value -> {
+ try {
+ stmt.setString(index.get(), value);
+ } catch (SQLException e) {
+ Throwables.propagate(e);
+ }
+ };
+ }
}