From 884e34739f55e058819001936945e89b41035ffa Mon Sep 17 00:00:00 2001 From: Daniel Schwarz Date: Wed, 24 May 2017 12:46:26 +0200 Subject: SONAR-9230 only index project measures, that will actually be used --- .../src/main/java/org/sonar/db/DatabaseUtils.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'server/sonar-db-core') 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 setStrings(PreparedStatement stmt, Supplier index) { + return value -> { + try { + stmt.setString(index.get(), value); + } catch (SQLException e) { + Throwables.propagate(e); + } + }; + } } -- cgit v1.2.3