diff --git a/s3/src/main/scala/akka/stream/alpakka/s3/impl/HttpRequests.scala b/s3/src/main/scala/akka/stream/alpakka/s3/impl/HttpRequests.scala index 2eb4190070..706fecbb43 100644 --- a/s3/src/main/scala/akka/stream/alpakka/s3/impl/HttpRequests.scala +++ b/s3/src/main/scala/akka/stream/alpakka/s3/impl/HttpRequests.scala @@ -184,7 +184,7 @@ import scala.concurrent.{ExecutionContext, Future} // @formatter:off val payload = { - parts.map { case (partNumber, etag) => { partNumber }{ etag } } + parts.map { case (partNumber, eTag) => { partNumber }{ eTag } } } // @formatter:on diff --git a/s3/src/main/scala/akka/stream/alpakka/s3/impl/S3Stream.scala b/s3/src/main/scala/akka/stream/alpakka/s3/impl/S3Stream.scala index e417b7e040..f7c2b03b11 100644 --- a/s3/src/main/scala/akka/stream/alpakka/s3/impl/S3Stream.scala +++ b/s3/src/main/scala/akka/stream/alpakka/s3/impl/S3Stream.scala @@ -53,7 +53,7 @@ import scala.util.{Failure, Success, Try} /** Internal Api */ @InternalApi private[impl] final case class SuccessfulUploadPart(multipartUpload: MultipartUpload, index: Int, - etag: String) + eTag: String) extends UploadPartResponse /** Internal Api */ @@ -66,7 +66,7 @@ import scala.util.{Failure, Success, Try} @InternalApi private[impl] final case class CompleteMultipartUploadResult(location: Uri, bucket: String, key: String, - etag: String, + eTag: String, versionId: Option[String] = None) /** Internal Api */ @@ -797,7 +797,7 @@ import scala.util.{Failure, Success, Try} Source .future( - completeMultipartUploadRequest(parts.head.multipartUpload, parts.map(p => p.index -> p.etag), headers) + completeMultipartUploadRequest(parts.head.multipartUpload, parts.map(p => p.index -> p.eTag), headers) ) .flatMapConcat(signAndGetAs[CompleteMultipartUploadResult](_, populateResult(_, _))) .runWith(Sink.head) @@ -985,11 +985,11 @@ import scala.util.{Failure, Success, Try} } case Success(r) => r.entity.discardBytes() - val etag = r.headers.find(_.lowercaseName() == "etag").map(_.value) - etag + val eTag = r.headers.find(_.lowercaseName() == "etag").map(_.value) + eTag .map(t => Future.successful(SuccessfulUploadPart(upload, index, t))) .getOrElse( - Future.successful(FailedUploadPart(upload, index, new RuntimeException(s"Cannot find etag in ${r}"))) + Future.successful(FailedUploadPart(upload, index, new RuntimeException(s"Cannot find ETag in $r"))) ) case Failure(e) => Future.successful(FailedUploadPart(upload, index, e)) @@ -1027,7 +1027,7 @@ import scala.util.{Failure, Success, Try} } .flatMap(completeMultipartUpload(s3Location, _, sse)) } - .mapMaterializedValue(_.map(r => MultipartUploadResult(r.location, r.bucket, r.key, r.etag, r.versionId))) + .mapMaterializedValue(_.map(r => MultipartUploadResult(r.location, r.bucket, r.key, r.eTag, r.versionId))) } .mapMaterializedValue(_.flatMap(identity)(ExecutionContexts.parasitic)) diff --git a/s3/src/main/scala/akka/stream/alpakka/s3/model.scala b/s3/src/main/scala/akka/stream/alpakka/s3/model.scala index e005351131..7cc025109d 100644 --- a/s3/src/main/scala/akka/stream/alpakka/s3/model.scala +++ b/s3/src/main/scala/akka/stream/alpakka/s3/model.scala @@ -20,10 +20,14 @@ final class MultipartUploadResult private ( val location: Uri, val bucket: String, val key: String, - val etag: String, + val eTag: String, val versionId: Option[String] ) { + /** Scala API */ + @deprecated("Use eTag", "3.0.3") + val etag: String = eTag + /** Java API */ def getLocation: akka.http.javadsl.model.Uri = akka.http.javadsl.model.Uri.create(location) @@ -34,7 +38,11 @@ final class MultipartUploadResult private ( def getKey: String = key /** Java API */ - def getEtag: String = etag + def getETag: String = eTag + + /** Java API */ + @deprecated("Use getETag", "3.0.3") + def getEtag: String = eTag /** Java API */ def getVersionId: java.util.Optional[String] = versionId.asJava @@ -42,20 +50,22 @@ final class MultipartUploadResult private ( def withLocation(value: Uri): MultipartUploadResult = copy(location = value) def withBucket(value: String): MultipartUploadResult = copy(bucket = value) def withKey(value: String): MultipartUploadResult = copy(key = value) - def withEtag(value: String): MultipartUploadResult = copy(etag = value) + def withETag(value: String): MultipartUploadResult = copy(eTag = value) + @deprecated("Use withETag", "3.0.3") + def withEtag(value: String): MultipartUploadResult = copy(eTag = value) def withVersionId(value: String): MultipartUploadResult = copy(versionId = Option(value)) private def copy( location: Uri = location, bucket: String = bucket, key: String = key, - etag: String = etag, + eTag: String = eTag, versionId: Option[String] = versionId ): MultipartUploadResult = new MultipartUploadResult( location = location, bucket = bucket, key = key, - etag = etag, + eTag = eTag, versionId = versionId ) @@ -64,7 +74,7 @@ final class MultipartUploadResult private ( s"location=$location," + s"bucket=$bucket," + s"key=$key," + - s"etag=$etag," + + s"eTag=$eTag," + s"versionId=$versionId" + ")" @@ -73,13 +83,13 @@ final class MultipartUploadResult private ( Objects.equals(this.location, that.location) && Objects.equals(this.bucket, that.bucket) && Objects.equals(this.key, that.key) && - Objects.equals(this.etag, that.etag) && + Objects.equals(this.eTag, that.eTag) && Objects.equals(this.versionId, that.versionId) case _ => false } override def hashCode(): Int = - Objects.hash(location, bucket, key, etag, versionId) + Objects.hash(location, bucket, key, eTag, versionId) } object MultipartUploadResult { @@ -89,13 +99,13 @@ object MultipartUploadResult { location: Uri, bucket: String, key: String, - etag: String, + eTag: String, versionId: Option[String] ): MultipartUploadResult = new MultipartUploadResult( location, bucket, key, - etag, + eTag, versionId ) @@ -104,13 +114,13 @@ object MultipartUploadResult { location: akka.http.javadsl.model.Uri, bucket: String, key: String, - etag: String, + eTag: String, versionId: java.util.Optional[String] ): MultipartUploadResult = apply( location.asScala(), bucket, key, - etag, + eTag, versionId.asScala ) } diff --git a/s3/src/test/scala/akka/stream/alpakka/s3/scaladsl/S3IntegrationSpec.scala b/s3/src/test/scala/akka/stream/alpakka/s3/scaladsl/S3IntegrationSpec.scala index be5679b0fe..2503a4411c 100644 --- a/s3/src/test/scala/akka/stream/alpakka/s3/scaladsl/S3IntegrationSpec.scala +++ b/s3/src/test/scala/akka/stream/alpakka/s3/scaladsl/S3IntegrationSpec.scala @@ -716,7 +716,7 @@ trait S3IntegrationSpec _ <- S3.deleteObject(defaultBucket, objectKey).withAttributes(attributes).runWith(Sink.head) } yield upload - upload.futureValue.etag should not be empty + upload.futureValue.eTag should not be empty } private def uploadAndAndCheckParts(source: Source[ByteString, _], expectedParts: Int): Assertion = {