public static JdbcExportArgs fromPipelineOptions()

in dbeam-core/src/main/java/com/spotify/dbeam/options/JdbcExportArgsFactory.java [61:82]


  public static JdbcExportArgs fromPipelineOptions(final PipelineOptions options)
      throws ClassNotFoundException, IOException {
    final JdbcExportPipelineOptions exportOptions = options.as(JdbcExportPipelineOptions.class);
    final JdbcAvroArgs jdbcAvroArgs =
        JdbcAvroArgs.create(
            JdbcConnectionArgs.create(exportOptions.getConnectionUrl())
                .withUsername(exportOptions.getUsername())
                .withPassword(PasswordReader.INSTANCE.readPassword(exportOptions).orElse(null)),
            exportOptions.getFetchSize(),
            exportOptions.getAvroCodec(),
            Optional.ofNullable(exportOptions.getPreCommand()).orElse(Collections.emptyList()));

    return JdbcExportArgs.create(
        jdbcAvroArgs,
        createQueryArgs(exportOptions),
        exportOptions.getAvroSchemaNamespace(),
        Optional.ofNullable(exportOptions.getAvroSchemaName()),
        Optional.ofNullable(exportOptions.getAvroDoc()),
        exportOptions.isUseAvroLogicalTypes(),
        Duration.parse(exportOptions.getExportTimeout()),
        BeamJdbcAvroSchema.parseOptionalInputAvroSchemaFile(exportOptions.getAvroSchemaFilePath()));
  }