private DeidentifyConfig makeReIdentifyConfig()

in src/main/java/com/google/cloud/solutions/bqremoteencryptionfn/fns/dlp/DlpReIdRequestMaker.java [130:176]


  private DeidentifyConfig makeReIdentifyConfig() {
    var reIdConfigBuilder =
        DeidentifyConfig.newBuilder()
            .setTransformationErrorHandling(
                TransformationErrorHandling.newBuilder()
                    .setLeaveUntransformed(
                        TransformationErrorHandling.LeaveUntransformed.newBuilder()));

    switch (deidentifyConfig.getTransformationCase()) {
      case RECORD_TRANSFORMATIONS -> reIdConfigBuilder.setRecordTransformations(
          RecordTransformations.newBuilder()
              .addAllFieldTransformations(
                  deidentifyConfig.getRecordTransformations().getFieldTransformationsList().stream()
                      .map(
                          fieldTransformation -> {
                            var reIdFieldTransformationBuilder =
                                FieldTransformation.newBuilder(fieldTransformation);

                            switch (fieldTransformation.getTransformationCase()) {
                              case PRIMITIVE_TRANSFORMATION -> {
                                checkNotNull(
                                    getSurrogateInfoType(
                                        fieldTransformation.getPrimitiveTransformation()));

                                reIdFieldTransformationBuilder.setPrimitiveTransformation(
                                    fieldTransformation.getPrimitiveTransformation());
                              }

                              case INFO_TYPE_TRANSFORMATIONS -> reIdFieldTransformationBuilder
                                  .setInfoTypeTransformations(
                                      rewriteForReId(
                                          fieldTransformation.getInfoTypeTransformations()));

                              case TRANSFORMATION_NOT_SET -> throwUnknownTransformationException();
                            }

                            return reIdFieldTransformationBuilder.build();
                          })
                      .collect(toList())));

      case INFO_TYPE_TRANSFORMATIONS -> reIdConfigBuilder.setInfoTypeTransformations(
          rewriteForReId(deidentifyConfig.getInfoTypeTransformations()));

      case IMAGE_TRANSFORMATIONS, TRANSFORMATION_NOT_SET -> {}
    }
    return reIdConfigBuilder.build();
  }