in src/main/java/com/google/cloud/solutions/autotokenize/pipeline/JdbcConfigurationExtractor.java [42:75]
public JdbcConfiguration jdbcConfiguration() {
var sourceType = options.getSourceType();
if (SourceType.JDBC_TABLE.equals(sourceType) || SourceType.JDBC_QUERY.equals(sourceType)) {
checkArgument(
isNotBlank(options.getJdbcConnectionUrl()) && isNotBlank(options.getJdbcDriverClass()),
"Provide both jdbcDriverClass and jdbcConnectionUrl parameters.");
checkArgument(isNotBlank(options.getJdbcUserName()), "jdbcUserName should not be blank.");
checkArgument(
logicalXor(
options.getJdbcPassword() != null, isNotBlank(options.getJdbcPasswordSecretsKey())),
"Provide jdbcPassword or jdbcPasswordSecretsKey, found none or both");
var configBuilder =
JdbcConfiguration.newBuilder()
.setConnectionUrl(options.getJdbcConnectionUrl())
.setDriverClassName(options.getJdbcDriverClass())
.setUserName(options.getJdbcUserName());
if (options.getJdbcFilterClause() != null) {
configBuilder.setFilterClause(options.getJdbcFilterClause());
}
if (options.getJdbcPassword() != null) {
configBuilder.setPassword(options.getJdbcPassword());
} else {
configBuilder.setPasswordSecretsKey(options.getJdbcPasswordSecretsKey());
}
return configBuilder.build();
}
return null;
}