Sort files returned by getFiles by time (oldest first).

This commit is contained in:
Torsten Grote
2022-02-07 09:36:48 -03:00
parent d3beb850ef
commit 5c153aeb6c
3 changed files with 15 additions and 9 deletions

View File

@@ -11,6 +11,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.List;
import javax.annotation.Nonnull;
import javax.annotation.concurrent.Immutable;
interface MailboxApi {
@@ -130,7 +131,7 @@ interface MailboxApi {
}
@JsonSerialize
class MailboxFile {
class MailboxFile implements Comparable<MailboxFile> {
public final MailboxId name;
public final long time;
@@ -138,6 +139,13 @@ interface MailboxApi {
this.name = name;
this.time = time;
}
@Override
public int compareTo(@Nonnull MailboxApi.MailboxFile mailboxFile) {
//noinspection UseCompareMethod
return time < mailboxFile.time ? -1 :
(time == mailboxFile.time ? 0 : 1);
}
}
@Immutable

View File

@@ -17,6 +17,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import javax.inject.Inject;
@@ -200,6 +201,7 @@ class MailboxApiImpl implements MailboxApi {
if (time < 1) throw new ApiException();
list.add(new MailboxFile(MailboxId.fromString(name), time));
}
Collections.sort(list);
return list;
} catch (JacksonException e) {
throw new ApiException();