public JdbcConfiguration jdbcConfiguration()

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;
  }