This is an automated email from the ASF dual-hosted git repository. rcordier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit ebd8cea87d0fa547d806f788f27a1f210096e351 Author: Benoit Tellier <[email protected]> AuthorDate: Wed Aug 4 15:29:39 2021 +0700 JAMES-3544 Back UploadId with a UUID This is unique enough and enables the use of handy timeUUIDs. --- .../org/apache/james/jmap/api/model/UploadId.java | 24 ++++++++++++++-------- .../jmap/api/upload/UploadRepositoryContract.scala | 5 +---- 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/model/UploadId.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/model/UploadId.java index 7d58646..d71ae37 100644 --- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/model/UploadId.java +++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/model/UploadId.java @@ -19,37 +19,43 @@ package org.apache.james.jmap.api.model; -import org.apache.commons.text.RandomStringGenerator; +import java.util.UUID; import com.google.common.base.MoreObjects; import com.google.common.base.Objects; import com.google.common.base.Preconditions; public class UploadId { - public static final RandomStringGenerator RANDOM_STRING_GENERATOR = new RandomStringGenerator.Builder() - .withinRange('a', 'z') - .build(); - public static UploadId random() { - return new UploadId(RANDOM_STRING_GENERATOR.generate(20)); + return new UploadId(UUID.randomUUID()); } public static UploadId from(String id) { Preconditions.checkNotNull(id); Preconditions.checkArgument(!id.isEmpty()); + return new UploadId(UUID.fromString(id)); + } + + public static UploadId from(UUID id) { + Preconditions.checkNotNull(id); + return new UploadId(id); } - private final String id; + private final UUID id; - public UploadId(String id) { + public UploadId(UUID id) { this.id = id; } - public String getId() { + public UUID getId() { return id; } + public String asString() { + return id.toString(); + } + @Override public boolean equals(Object obj) { if (obj instanceof UploadId) { diff --git a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/upload/UploadRepositoryContract.scala b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/upload/UploadRepositoryContract.scala index 2bb529b..3a485eb 100644 --- a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/upload/UploadRepositoryContract.scala +++ b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/upload/UploadRepositoryContract.scala @@ -29,9 +29,6 @@ import org.junit.jupiter.api.Test import reactor.core.scala.publisher.SMono - import java.io.InputStream - import java.nio.charset.StandardCharsets - object UploadRepositoryContract { private lazy val CONTENT_TYPE: ContentType = ContentType .of("text/html") @@ -86,7 +83,7 @@ @Test def retrieveShouldThrowWhenUploadIdIsNotExist(): Unit = { - assertThatThrownBy(() => SMono.fromPublisher(testee.retrieve(UploadId.from("notFoundId"), USER)).block()) + assertThatThrownBy(() => SMono.fromPublisher(testee.retrieve(UploadId.from(UUID.randomUUID()), USER)).block()) .isInstanceOf(classOf[UploadNotFoundException]) } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
