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]

Reply via email to