Skip to content

Commit a0ad9bf

Browse files
ConnectionString calculation refactoring (#476)
1 parent 2657283 commit a0ad9bf

File tree

6 files changed

+33
-40
lines changed

6 files changed

+33
-40
lines changed

oracle-plugin/src/main/java/io/cdap/plugin/oracle/OracleAction.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,16 +57,9 @@ public static class OracleActionConfig extends DBSpecificQueryConfig {
5757

5858
@Override
5959
public String getConnectionString() {
60-
if (OracleConstants.TNS_CONNECTION_TYPE.equals(this.connectionType)) {
61-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_TNS_FORMAT, database);
62-
} else if (OracleConstants.SERVICE_CONNECTION_TYPE.equals(this.connectionType)) {
63-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT, host, port, database);
64-
} else {
65-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT, host, port, database);
66-
}
60+
return OracleConstants.getConnectionString(this.connectionType, host, port, database);
6761
}
6862

69-
7063
@Override
7164
protected Map<String, String> getDBSpecificArguments() {
7265
return ImmutableMap.of(OracleConstants.DEFAULT_BATCH_VALUE, String.valueOf(defaultBatchValue));

oracle-plugin/src/main/java/io/cdap/plugin/oracle/OracleConnector.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -125,15 +125,8 @@ protected String getConnectionString(@Nullable String database) {
125125
if (database == null) {
126126
return config.getConnectionString();
127127
}
128-
if (OracleConstants.TNS_CONNECTION_TYPE.equals(config.getConnectionType())) {
129-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_TNS_FORMAT, database);
130-
} else if (OracleConstants.SERVICE_CONNECTION_TYPE.equals(config.getConnectionType())) {
131-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT, config.getHost(),
132-
config.getPort(), database);
133-
} else {
134-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT,
135-
config.getHost(), config.getPort(), database);
136-
}
128+
return OracleConstants.getConnectionString(config.getConnectionType(),
129+
config.getHost(), config.getPort(), database);
137130
}
138131

139132
@Override

oracle-plugin/src/main/java/io/cdap/plugin/oracle/OracleConnectorConfig.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,7 @@ public OracleConnectorConfig(String host, int port, String user, String password
6363

6464
@Override
6565
public String getConnectionString() {
66-
if (OracleConstants.TNS_CONNECTION_TYPE.equals(getConnectionType())) {
67-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_TNS_FORMAT, database);
68-
} else if (OracleConstants.SERVICE_CONNECTION_TYPE.equals(getConnectionType())) {
69-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT, host, getPort(), database);
70-
} else {
71-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT, host, getPort(), database);
72-
}
66+
return OracleConstants.getConnectionString(database, host, getPort(), database);
7367
}
7468

7569
@Name(OracleConstants.CONNECTION_TYPE)

oracle-plugin/src/main/java/io/cdap/plugin/oracle/OracleConstants.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package io.cdap.plugin.oracle;
1818

19+
import javax.annotation.Nullable;
20+
1921
/**
2022
* Oracle Constants.
2123
*/
@@ -36,4 +38,28 @@ private OracleConstants() {
3638
public static final String NAME_DATABASE = "database";
3739
public static final String TNS_CONNECTION_TYPE = "TNS";
3840
public static final String TRANSACTION_ISOLATION_LEVEL = "transactionIsolationLevel";
41+
42+
/**
43+
* Returns the Connection String for the given ConnectionType.
44+
*
45+
* @param connectionType TNS/Service/SID
46+
* @param host Host name of the oracle server
47+
* @param port Port of the oracle server
48+
* @param database Database to connect to
49+
* @return Connection String based on the given ConnectionType
50+
*/
51+
public static String getConnectionString(String connectionType,
52+
@Nullable String host,
53+
@Nullable int port,
54+
String database) {
55+
if (OracleConstants.TNS_CONNECTION_TYPE.equalsIgnoreCase(connectionType)) {
56+
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_TNS_FORMAT, database);
57+
}
58+
if (OracleConstants.SERVICE_CONNECTION_TYPE.equalsIgnoreCase(connectionType)) {
59+
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT,
60+
host, port, database);
61+
}
62+
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT,
63+
host, port, database);
64+
}
3965
}

oracle-plugin/src/main/java/io/cdap/plugin/oracle/OraclePostAction.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,13 +57,7 @@ public static class OracleQueryActionConfig extends DBSpecificQueryActionConfig
5757

5858
@Override
5959
public String getConnectionString() {
60-
if (OracleConstants.TNS_CONNECTION_TYPE.equals(this.connectionType)) {
61-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_TNS_FORMAT, database);
62-
} else if (OracleConstants.SERVICE_CONNECTION_TYPE.equals(this.connectionType)) {
63-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT, host, port, database);
64-
} else {
65-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT, host, port, database);
66-
}
60+
return OracleConstants.getConnectionString(this.connectionType, host, port, database);
6761
}
6862

6963
@Override

oracle-plugin/src/main/java/io/cdap/plugin/oracle/OracleSource.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,8 @@ public OracleSourceConfig(String host, int port, String user, String password, S
131131

132132
@Override
133133
public String getConnectionString() {
134-
if (OracleConstants.TNS_CONNECTION_TYPE.equals(connection.getConnectionType())) {
135-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_TNS_FORMAT, connection.getDatabase());
136-
} else if (OracleConstants.SERVICE_CONNECTION_TYPE.equals(connection.getConnectionType())) {
137-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SERVICE_NAME_FORMAT, connection.getHost(),
138-
connection.getPort(), connection.getDatabase());
139-
} else {
140-
return String.format(OracleConstants.ORACLE_CONNECTION_STRING_SID_FORMAT,
141-
connection.getHost(), connection.getPort(), connection.getDatabase());
142-
}
134+
return OracleConstants.getConnectionString(connection.getConnectionType(), connection.getHost(),
135+
connection.getPort(), connection.getDatabase());
143136
}
144137

145138
@Override

0 commit comments

Comments
 (0)