public GenericRecord apply()

in spanner-data-validator-java/src/main/java/com/google/migration/DataTransforms.java [86:120]


    public GenericRecord apply(ResultSet resultSet) {

      if(schema == null) {
        schema = new org.apache.avro.Schema.Parser().parse(this.schemaString);
      }

      GenericRecord avroRecord = new GenericData.Record(schema);

      try {
        // ResultSet has 1 based indexing
        avroRecord.put("id", resultSet.getString(1));
        avroRecord.put("type", resultSet.getString(2));
        avroRecord.put("bucket", resultSet.getString(3));
        avroRecord.put("key", resultSet.getString(4));
        // TODO: consider Instant
        avroRecord.put("last_modified", resultSet.getTimestamp(5).getTime());
        avroRecord.put("recorded_at", resultSet.getTimestamp(6).getTime());
        avroRecord.put("version_id", resultSet.getString(7));
        avroRecord.put("gcs_bucket", resultSet.getString(8));
        avroRecord.put("gcs_key", resultSet.getString(9));
        avroRecord.put("gcs_confirmed", resultSet.getBoolean(10));
        avroRecord.put("version", resultSet.getString(11));
        avroRecord.put("extension", resultSet.getString(12));
        avroRecord.put("record_id", resultSet.getString(13));
        avroRecord.put("created_at", resultSet.getTimestamp(14).getTime());

        return avroRecord;
      } catch (Exception ex) {

        LOG.error(ex.getMessage());
        LOG.error(ex.getStackTrace().toString());

        return null;
      }
    }