Skip to content

Commit 4b7110e

Browse files
committed
Forgot to merge the latest other features.
Some refactoring should be done
1 parent 2084c28 commit 4b7110e

File tree

4 files changed

+20
-23
lines changed

4 files changed

+20
-23
lines changed

src/main/java/org/utplsql/cli/DataSourceProvider.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import com.zaxxer.hikari.HikariDataSource;
44
import org.utplsql.api.EnvironmentVariableUtil;
5+
import org.utplsql.cli.datasource.TestedDataSourceProvider;
56

67
import javax.sql.DataSource;
78
import java.io.File;
9+
import java.sql.SQLException;
810

911
/** Helper class to give you a ready-to-use datasource
1012
*
@@ -13,19 +15,20 @@
1315
public class DataSourceProvider {
1416

1517
static {
16-
String oracleHome = EnvironmentVariableUtil.getEnvValue("ORACLE_HOME");
17-
if (oracleHome != null) {
18+
String oracleHome = System.getenv("ORACLE_HOME");
19+
if (oracleHome != null && System.getProperty("oracle.net.tns_admin") == null) {
1820
System.setProperty("oracle.net.tns_admin",
1921
String.join(File.separator, oracleHome, "NETWORK", "ADMIN"));
2022
}
2123
}
2224

23-
public static DataSource getDataSource(ConnectionInfo info, int maxConnections ) {
25+
public static DataSource getDataSource(ConnectionInfo info, int maxConnections ) throws SQLException {
2426

2527
requireOjdbc();
2628

27-
HikariDataSource pds = new HikariDataSource();
28-
pds.setJdbcUrl("jdbc:oracle:thin:" + info.getConnectionString());
29+
ConnectionConfig config = new ConnectionConfig(info.getConnectionString());
30+
31+
HikariDataSource pds = new TestedDataSourceProvider(config).getDataSource();
2932
pds.setAutoCommit(false);
3033
pds.setMaximumPoolSize(maxConnections);
3134
return pds;

src/main/java/org/utplsql/cli/ReportersCommand.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,15 @@ private ConnectionInfo getConnectionInfo() {
3131
@Override
3232
public int run() {
3333

34-
DataSource ds = DataSourceProvider.getDataSource(getConnectionInfo(), 1);
35-
try (Connection con = ds.getConnection() ) {
34+
try {
35+
DataSource ds = DataSourceProvider.getDataSource(getConnectionInfo(), 1);
36+
try (Connection con = ds.getConnection()) {
3637

37-
ReporterFactory reporterFactory = ReporterFactoryProvider.createReporterFactory(con);
38+
ReporterFactory reporterFactory = ReporterFactoryProvider.createReporterFactory(con);
3839

39-
writeReporters(ReporterInspector.create(reporterFactory, con).getReporterInfos(), System.out);
40-
}
41-
catch ( Exception e ) {
40+
writeReporters(ReporterInspector.create(reporterFactory, con).getReporterInfos(), System.out);
41+
}
42+
} catch (Exception e) {
4243
e.printStackTrace();
4344
return 1;
4445
}

src/main/java/org/utplsql/cli/datasource/DataSourceProvider.java renamed to src/main/java/org/utplsql/cli/datasource/TestedDataSourceProvider.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,18 @@
1010
import java.util.ArrayList;
1111
import java.util.List;
1212

13-
public class DataSourceProvider {
13+
public class TestedDataSourceProvider {
1414

1515
interface ConnectStringPossibility {
1616
String getConnectString(ConnectionConfig config);
1717
String getMaskedConnectString(ConnectionConfig config);
1818
}
1919

20-
static {
21-
String oracleHome = System.getenv("ORACLE_HOME");
22-
if (oracleHome != null && System.getProperty("oracle.net.tns_admin") == null) {
23-
System.setProperty("oracle.net.tns_admin",
24-
String.join(File.separator, oracleHome, "NETWORK", "ADMIN"));
25-
}
26-
}
2720

2821
private final ConnectionConfig config;
2922
private List<ConnectStringPossibility> possibilities = new ArrayList<>();
3023

31-
public DataSourceProvider(ConnectionConfig config) {
24+
public TestedDataSourceProvider(ConnectionConfig config) {
3225
this.config = config;
3326

3427
possibilities.add(new ThickConnectStringPossibility());

src/test/java/org/utplsql/cli/DataSourceProviderIT.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package org.utplsql.cli;
22

33
import org.junit.jupiter.api.Test;
4-
import org.utplsql.cli.datasource.DataSourceProvider;
4+
import org.utplsql.cli.datasource.TestedDataSourceProvider;
55

66
import javax.sql.DataSource;
77
import java.io.IOException;
@@ -14,9 +14,9 @@ public class DataSourceProviderIT {
1414
@Test
1515
public void connectToDatabase() throws IOException, SQLException {
1616

17-
ConnectionConfig config = new ConnectionConfig(RunCommandTestHelper.getConnectionString());
17+
ConnectionConfig config = new ConnectionConfig(TestHelper.getConnectionString());
1818

19-
DataSource dataSource = new DataSourceProvider(config).getDataSource();
19+
DataSource dataSource = new TestedDataSourceProvider(config).getDataSource();
2020

2121
assertNotNull(dataSource);
2222
}

0 commit comments

Comments
 (0)