public void processElement()

in spanner-data-validator-java/src/main/java/com/google/migration/dofns/MapWithRangeFn.java [83:121]


  public void processElement(ProcessContext c) {
    List<PartitionRange> siBRanges = c.sideInput(uuidRangesView);

    HashResult result = c.element();
    PartitionRange rangeForRecord = getPartitionRangeForRecord(result, siBRanges);

    String key = String.format("%s|%s",
        rangeForRecord.getStartRange(),
        rangeForRecord.getEndRange());
    HashResult resultOut = new HashResult(result.key,
        result.isSource,
        result.origValue,
        result.sha256,
        result.timestampThresholdValue);
    resultOut.range = key;

    switch(mappingType) {
      case RANGE_PLUS_HASH:
        key = String.format("%s|%s|%s",
            rangeForRecord.getStartRange(),
            rangeForRecord.getEndRange(),
            result.sha256);
        break;
      case RANGE_PLUS_KEY_PLUS_HASH:
        key = String.format("%s|%s|%s|%s",
            rangeForRecord.getStartRange(),
            rangeForRecord.getEndRange(),
            result.key,
            result.sha256);
        break;
      case JUST_RANGE:
      default:
        break;
    }

    KV<String, HashResult> outVal = KV.of(key, resultOut);

    c.output(outVal);
  }