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();
}