|
1 | 1 | /*
|
2 |
| - * Copyright 2006-2007 the original author or authors. |
| 2 | + * Copyright 2006-2021 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
|
21 | 21 | import org.springframework.util.StringUtils;
|
22 | 22 |
|
23 | 23 | import javax.sql.DataSource;
|
| 24 | +import java.sql.DatabaseMetaData; |
24 | 25 | import java.util.HashMap;
|
25 | 26 | import java.util.Map;
|
26 | 27 |
|
@@ -99,17 +100,17 @@ public static DatabaseType fromProductName(String productName){
|
99 | 100 | */
|
100 | 101 | public static DatabaseType fromMetaData(DataSource dataSource) throws MetaDataAccessException {
|
101 | 102 | String databaseProductName =
|
102 |
| - JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductName").toString(); |
| 103 | + JdbcUtils.extractDatabaseMetaData(dataSource, DatabaseMetaData::getDatabaseProductName); |
103 | 104 | if (StringUtils.hasText(databaseProductName) && databaseProductName.startsWith("DB2")) {
|
104 | 105 | String databaseProductVersion =
|
105 |
| - JdbcUtils.extractDatabaseMetaData(dataSource, "getDatabaseProductVersion").toString(); |
| 106 | + JdbcUtils.extractDatabaseMetaData(dataSource, DatabaseMetaData::getDatabaseProductVersion); |
106 | 107 | if (databaseProductVersion.startsWith("ARI")) {
|
107 | 108 | databaseProductName = "DB2VSE";
|
108 | 109 | }
|
109 | 110 | else if (databaseProductVersion.startsWith("DSN")) {
|
110 | 111 | databaseProductName = "DB2ZOS";
|
111 | 112 | }
|
112 |
| - else if (databaseProductName.indexOf("AS") != -1 && (databaseProductVersion.startsWith("QSQ") || |
| 113 | + else if (databaseProductName.contains("AS") && (databaseProductVersion.startsWith("QSQ") || |
113 | 114 | databaseProductVersion.substring(databaseProductVersion.indexOf('V')).matches("V\\dR\\d[mM]\\d"))) {
|
114 | 115 | databaseProductName = "DB2AS400";
|
115 | 116 | }
|
|
0 commit comments