Skip to content

Commit

Permalink
[JBPM-10075] - Fix in resolving dialect from quarkus properties EMF
Browse files Browse the repository at this point in the history
  • Loading branch information
afalhambra authored and MarianMacik committed Jun 1, 2022
1 parent da02ff8 commit 637ba3c
Showing 1 changed file with 16 additions and 7 deletions.
Expand Up @@ -20,6 +20,8 @@
import java.util.Arrays;
import java.util.Comparator;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;

import org.kie.processmigration.test.persistence.scripts.DatabaseScript;
Expand Down Expand Up @@ -88,25 +90,32 @@ public static DatabaseType getDatabaseType(final Properties dataSourceProperties
* If specified SQL dialect is not supported, throws IllegalArgumentException.
*/
public static DatabaseType getDatabaseTypeBySQLDialect(final String sqlDialect) {
if (sqlDialect.contains("DB2Dialect")) {
if (containsDialect(sqlDialect, "DB2")) {
return DatabaseType.DB2;
} else if (sqlDialect.contains("H2Dialect")) {
} else if (containsDialect(sqlDialect, "H2")) {
return DatabaseType.H2;
} else if (sqlDialect.contains("MySQL5Dialect")) {
} else if (containsDialect(sqlDialect, "MySQL")) {
return DatabaseType.MYSQL;
} else if (sqlDialect.contains("MySQL5InnoDBDialect")) {
} else if (containsDialect(sqlDialect, "MariaDB")) {
return DatabaseType.MARIADB;
} else if (sqlDialect.contains("Oracle")) {
} else if (containsDialect(sqlDialect, "Oracle")) {
return DatabaseType.ORACLE;
} else if (sqlDialect.contains("Postgre")) {
} else if (containsDialect(sqlDialect, "Postgre")) {
return DatabaseType.POSTGRESQL;
} else if (sqlDialect.contains("SQLServer2012Dialect")) {
} else if (containsDialect(sqlDialect, "SQLServer")) {
return DatabaseType.SQLSERVER;
} else {
throw new IllegalArgumentException("SQL dialect type " + sqlDialect + " is not supported!");
}
}

private static boolean containsDialect(String dialect, String dbType){
String regex = "(.*)%s(.*)Dialect";
Pattern p = Pattern.compile(String.format(regex, dbType));
Matcher m = p.matcher(dialect);
return m.matches();
}

public static byte[] hexStringToByteArray(final String hexString) {
int len = hexString.length();
byte[] data = new byte[len / 2];
Expand Down

0 comments on commit 637ba3c

Please sign in to comment.