@Override
  public void transaction(ConfigSource config, Schema inputSchema, FilterPlugin.Control control) {
    PluginTask task = config.loadConfig(PluginTask.class);

    try {
      task.setJsonTable(buildJsonTable(task, loadJsonFile(task.getJsonFilePath())));
    } catch (IOException e) {
      logger.error(e.getMessage());
      throw new RuntimeException(e);
    }

    Schema outputSchema = buildOutputSchema(task, inputSchema, task.getJsonColumns());

    control.run(task.dump(), outputSchema);
  }
  @Override
  public ConfigDiff transaction(ConfigSource config, InputPlugin.Control control) {
    PluginTask task = config.loadConfig(getTaskClass());

    // if (task.getLastValue().isPresent() && !task.getOrderBy().isPresent()) {
    //    throw new ConfigException("order_by parameter must be set if last_value parameter is
    // set");
    // }

    Schema schema;
    try (JdbcInputConnection con = newConnection(task)) {
      schema = setupTask(con, task);
    } catch (SQLException ex) {
      throw Throwables.propagate(ex);
    }

    return buildNextConfigDiff(task, control.run(task.dump(), schema, 1));
  }
예제 #3
0
 @Override
 public void transaction(ConfigSource config, Control control) {
   PluginTask task = config.loadConfig(PluginTask.class);
   control.run(task.dump(), task.getSchemaConfig().toSchema());
 }
예제 #4
0
 public void transaction(ConfigSource config, EncoderPlugin.Control control) {
   PluginTask task = config.loadConfig(PluginTask.class);
   control.run(task.dump());
 }