public Map partitionValueSerialization()

in xtable-core/src/main/java/org/apache/xtable/delta/DeltaPartitionExtractor.java [255:291]


  public Map<String, String> partitionValueSerialization(InternalDataFile internalDataFile) {
    Map<String, String> partitionValuesSerialized = new HashMap<>();
    if (internalDataFile.getPartitionValues() == null
        || internalDataFile.getPartitionValues().isEmpty()) {
      return partitionValuesSerialized;
    }
    for (PartitionValue partitionValue : internalDataFile.getPartitionValues()) {
      InternalPartitionField partitionField = partitionValue.getPartitionField();
      PartitionTransformType transformType = partitionField.getTransformType();
      String partitionValueSerialized;
      if (transformType == PartitionTransformType.VALUE) {
        partitionValueSerialized =
            convertToDeltaPartitionValue(
                partitionValue.getRange().getMaxValue(),
                partitionField.getSourceField().getSchema().getDataType(),
                transformType,
                "");
        partitionValuesSerialized.put(
            partitionField.getSourceField().getName(), partitionValueSerialized);
      } else if (transformType == PartitionTransformType.BUCKET) {
        partitionValueSerialized = partitionValue.getRange().getMaxValue().toString();
        partitionValuesSerialized.put(
            getGeneratedColumnName(partitionField), partitionValueSerialized);
      } else {
        // use appropriate date formatter for value serialization.
        partitionValueSerialized =
            convertToDeltaPartitionValue(
                partitionValue.getRange().getMaxValue(),
                partitionField.getSourceField().getSchema().getDataType(),
                transformType,
                getDateFormat(partitionField.getTransformType()));
        partitionValuesSerialized.put(
            getGeneratedColumnName(partitionField), partitionValueSerialized);
      }
    }
    return partitionValuesSerialized;
  }