From: Sébastien Lesaint Date: Wed, 31 Oct 2018 08:45:07 +0000 (+0100) Subject: fix DialectUtils: Dialects should not be statically stored X-Git-Tag: 7.5~203 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=35229142c6eaf780a70fcf838280cc7aee4fe515;p=sonarqube.git fix DialectUtils: Dialects should not be statically stored --- diff --git a/server/sonar-db-core/src/main/java/org/sonar/db/dialect/DialectUtils.java b/server/sonar-db-core/src/main/java/org/sonar/db/dialect/DialectUtils.java index 8ecd7cb83cd..05cc5652205 100644 --- a/server/sonar-db-core/src/main/java/org/sonar/db/dialect/DialectUtils.java +++ b/server/sonar-db-core/src/main/java/org/sonar/db/dialect/DialectUtils.java @@ -19,15 +19,17 @@ */ package org.sonar.db.dialect; -import java.util.Arrays; +import com.google.common.collect.ImmutableSet; import java.util.Optional; +import java.util.Set; import java.util.function.Predicate; +import java.util.function.Supplier; import org.apache.commons.lang.StringUtils; import org.sonar.api.utils.MessageException; public final class DialectUtils { - private static final Dialect[] DIALECTS = new Dialect[] {new H2(), new MySql(), new Oracle(), new PostgreSql(), new MsSql()}; + private static final Set> DIALECTS = ImmutableSet.of(H2::new, MySql::new, Oracle::new, PostgreSql::new, MsSql::new); private DialectUtils() { // only static stuff @@ -48,7 +50,8 @@ public final class DialectUtils { } private static Optional findDialect(Predicate predicate) { - return Arrays.stream(DIALECTS) + return DIALECTS.stream() + .map(Supplier::get) .filter(predicate) .findFirst(); }