public CephObjectMetadata setUserMetadata()

in src/main/java/com/epam/digital/data/platform/integration/ceph/service/impl/CephServiceS3Impl.java [228:247]


  public CephObjectMetadata setUserMetadata(String cephBucketName, String key,
      Map<String, String> userMetadata) {
    assertBucketExists(cephAmazonS3, cephBucketName);

    var newMetadata = new ObjectMetadata();
    newMetadata.setUserMetadata(userMetadata);

    var request = new CopyObjectRequest(cephBucketName, key, cephBucketName, key)
        .withSourceBucketName(cephBucketName)
        .withSourceKey(key)
        .withNewObjectMetadata(newMetadata);

    var result = execute(() -> {
      cephAmazonS3.copyObject(request);
      return cephAmazonS3.getObjectMetadata(cephBucketName, key);
    });
    log.info("User metadata has been assigned to the object with the key {} in the bucket {}",
        key, cephBucketName);
    return toCephObjectMetadata(result);
  }