This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch 3.9.x in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 80dbd75783c25ced232197392e5062b29c9374c4 Author: Quan Tran <[email protected]> AuthorDate: Tue Oct 28 15:28:25 2025 +0700 JAMES-4148 Additional information: mailboxName -> mailboxPath Allow knowing if the mailbox is a shared mailbox. --- docs/modules/servers/partials/operate/webadmin.adoc | 4 ++-- ...MQWebAdminServerTaskSerializationIntegrationTest.java | 2 +- .../james/webadmin/data/jmap/RunRulesOnMailboxTask.java | 16 ++++++++-------- .../RunRulesOnMailboxTaskAdditionalInformationDTO.java | 16 ++++++++-------- .../webadmin/data/jmap/RunRulesOnMailboxRoutesTest.java | 2 +- ...unRulesOnMailboxTaskAdditionalInformationDTOTest.java | 4 ++-- .../json/runRulesOnMailbox.additionalInformation.json | 2 +- 7 files changed, 23 insertions(+), 23 deletions(-) diff --git a/docs/modules/servers/partials/operate/webadmin.adoc b/docs/modules/servers/partials/operate/webadmin.adoc index 0bd32faead..b86cf502a1 100644 --- a/docs/modules/servers/partials/operate/webadmin.adoc +++ b/docs/modules/servers/partials/operate/webadmin.adoc @@ -1854,7 +1854,7 @@ the following `additionalInformation`: .... { - "mailboxName": "mbx1", + "mailboxPath": "#private:[email protected]:mbx1", "messagesFailCount": 9, "messagesSuccessCount": 10, "timestamp": "2007-12-03T10:15:30Z", @@ -1926,7 +1926,7 @@ the following `additionalInformation`: .... { - "mailboxName": "mbx1", + "mailboxPath": "#private:[email protected]:mbx1", "processedMessagesCount": 15, "rulesOnMessagesApplySuccessfully": 9, "rulesOnMessagesApplyFailed": 3, diff --git a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java index ea01f9eb62..3c47808de4 100644 --- a/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java +++ b/server/protocols/webadmin-integration-test/distributed-webadmin-integration-test/src/test/java/org/apache/james/webadmin/integration/rabbitmq/RabbitMQWebAdminServerTaskSerializationIntegrationTest.java @@ -777,7 +777,7 @@ class RabbitMQWebAdminServerTaskSerializationIntegrationTest { .body("additionalInformation.rulesOnMessagesApplySuccessfully", is(1)) .body("additionalInformation.rulesOnMessagesApplyFailed", is(0)) .body("additionalInformation.username", is(USERNAME)) - .body("additionalInformation.mailboxName", is(MailboxConstants.INBOX)); + .body("additionalInformation.mailboxPath", is(MailboxPath.forUser(Username.of(USERNAME), MailboxConstants.INBOX).asString())); } @Disabled("JAMES-4148: Route not plugged yet") diff --git a/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTask.java b/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTask.java index da99e07ceb..a478af63d7 100644 --- a/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTask.java +++ b/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTask.java @@ -134,15 +134,15 @@ public class RunRulesOnMailboxTask implements Task { public static class AdditionalInformation implements TaskExecutionDetails.AdditionalInformation { private static AdditionalInformation from(Username username, - MailboxName mailboxName, + MailboxPath mailboxPath, RunRulesOnMailboxTask.Context context) { Context.Snapshot snapshot = context.snapshot(); - return new AdditionalInformation(username, mailboxName, Clock.systemUTC().instant(), snapshot.rulesOnMessagesApplySuccessfully, + return new AdditionalInformation(username, mailboxPath, Clock.systemUTC().instant(), snapshot.rulesOnMessagesApplySuccessfully, snapshot.rulesOnMessagesApplyFailed, snapshot.maximumAppliedActionExceeded, snapshot.processedMessagesCount); } private final Username username; - private final MailboxName mailboxName; + private final MailboxPath mailboxPath; private final Instant timestamp; private final long rulesOnMessagesApplySuccessfully; private final long rulesOnMessagesApplyFailed; @@ -150,14 +150,14 @@ public class RunRulesOnMailboxTask implements Task { private final long processedMessagesCount; public AdditionalInformation(Username username, - MailboxName mailboxName, + MailboxPath mailboxPath, Instant timestamp, long rulesOnMessagesApplySuccessfully, long rulesOnMessagesApplyFailed, boolean maximumAppliedActionExceeded, long processedMessagesCount) { this.username = username; - this.mailboxName = mailboxName; + this.mailboxPath = mailboxPath; this.timestamp = timestamp; this.rulesOnMessagesApplySuccessfully = rulesOnMessagesApplySuccessfully; this.rulesOnMessagesApplyFailed = rulesOnMessagesApplyFailed; @@ -169,8 +169,8 @@ public class RunRulesOnMailboxTask implements Task { return username; } - public MailboxName getMailboxName() { - return mailboxName; + public MailboxPath getMailboxPath() { + return mailboxPath; } public Instant getTimestamp() { @@ -238,7 +238,7 @@ public class RunRulesOnMailboxTask implements Task { @Override public Optional<TaskExecutionDetails.AdditionalInformation> details() { - return Optional.of(AdditionalInformation.from(username, new MailboxName(mailboxPath.getName()), context)); + return Optional.of(AdditionalInformation.from(username, mailboxPath, context)); } public Username getUsername() { diff --git a/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTO.java b/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTO.java index 4f3feff328..14d2bc493c 100644 --- a/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTO.java +++ b/server/protocols/webadmin/webadmin-jmap/src/main/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTO.java @@ -23,9 +23,9 @@ import java.time.Instant; import org.apache.james.core.Username; import org.apache.james.json.DTOModule; +import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.server.task.json.dto.AdditionalInformationDTO; import org.apache.james.server.task.json.dto.AdditionalInformationDTOModule; -import org.apache.james.webadmin.validation.MailboxName; import com.fasterxml.jackson.annotation.JsonProperty; @@ -41,7 +41,7 @@ public class RunRulesOnMailboxTaskAdditionalInformationDTO implements Additional private static RunRulesOnMailboxTask.AdditionalInformation toDomainObject(RunRulesOnMailboxTaskAdditionalInformationDTO dto) { return new RunRulesOnMailboxTask.AdditionalInformation( Username.of(dto.getUsername()), - new MailboxName(dto.getMailboxName()), + MailboxPath.parseEscaped(dto.getMailboxPath()).orElseThrow(), dto.getTimestamp(), dto.getRulesOnMessagesApplySuccessfully(), dto.getRulesOnMessagesApplyFailed(), @@ -53,7 +53,7 @@ public class RunRulesOnMailboxTaskAdditionalInformationDTO implements Additional return new RunRulesOnMailboxTaskAdditionalInformationDTO( type, domain.getUsername().asString(), - domain.getMailboxName().asString(), + domain.getMailboxPath().asString(), domain.getTimestamp(), domain.getRulesOnMessagesApplySuccessfully(), domain.getRulesOnMessagesApplyFailed(), @@ -63,7 +63,7 @@ public class RunRulesOnMailboxTaskAdditionalInformationDTO implements Additional private final String type; private final String username; - private final String mailboxName; + private final String mailboxPath; private final Instant timestamp; private final long rulesOnMessagesApplySuccessfully; private final long rulesOnMessagesApplyFailed; @@ -72,7 +72,7 @@ public class RunRulesOnMailboxTaskAdditionalInformationDTO implements Additional public RunRulesOnMailboxTaskAdditionalInformationDTO(@JsonProperty("type") String type, @JsonProperty("username") String username, - @JsonProperty("mailboxName") String mailboxName, + @JsonProperty("mailboxPath") String mailboxPath, @JsonProperty("timestamp") Instant timestamp, @JsonProperty("rulesOnMessagesApplySuccessfully") long rulesOnMessagesApplySuccessfully, @JsonProperty("rulesOnMessagesApplyFailed") long rulesOnMessagesApplyFailed, @@ -80,7 +80,7 @@ public class RunRulesOnMailboxTaskAdditionalInformationDTO implements Additional @JsonProperty("processedMessagesCount") long processedMessagesCount) { this.type = type; this.username = username; - this.mailboxName = mailboxName; + this.mailboxPath = mailboxPath; this.timestamp = timestamp; this.rulesOnMessagesApplySuccessfully = rulesOnMessagesApplySuccessfully; this.rulesOnMessagesApplyFailed = rulesOnMessagesApplyFailed; @@ -102,8 +102,8 @@ public class RunRulesOnMailboxTaskAdditionalInformationDTO implements Additional return username; } - public String getMailboxName() { - return mailboxName; + public String getMailboxPath() { + return mailboxPath; } public long getRulesOnMessagesApplySuccessfully() { diff --git a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxRoutesTest.java b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxRoutesTest.java index 71ca7a9bf3..50b43be71e 100644 --- a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxRoutesTest.java +++ b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxRoutesTest.java @@ -1035,7 +1035,7 @@ public class RunRulesOnMailboxRoutesTest { .body("submitDate", Matchers.is(notNullValue())) .body("completedDate", Matchers.is(notNullValue())) .body("additionalInformation.username", Matchers.is(USERNAME.asString())) - .body("additionalInformation.mailboxName", Matchers.is(MAILBOX_NAME)) + .body("additionalInformation.mailboxPath", Matchers.is(MailboxPath.forUser(USERNAME, MAILBOX_NAME).asString())) .body("additionalInformation.rulesOnMessagesApplySuccessfully", Matchers.is(2)) .body("additionalInformation.rulesOnMessagesApplyFailed", Matchers.is(0)); } diff --git a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTOTest.java b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTOTest.java index b6cfcc7a35..6af7e3a24b 100644 --- a/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTOTest.java +++ b/server/protocols/webadmin/webadmin-jmap/src/test/java/org/apache/james/webadmin/data/jmap/RunRulesOnMailboxTaskAdditionalInformationDTOTest.java @@ -23,15 +23,15 @@ import java.time.Instant; import org.apache.james.JsonSerializationVerifier; import org.apache.james.core.Username; +import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.util.ClassLoaderUtils; -import org.apache.james.webadmin.validation.MailboxName; import org.junit.jupiter.api.Test; public class RunRulesOnMailboxTaskAdditionalInformationDTOTest { private static final Instant INSTANT = Instant.parse("2007-12-03T10:15:30.00Z"); private static final RunRulesOnMailboxTask.AdditionalInformation DOMAIN_OBJECT = new RunRulesOnMailboxTask.AdditionalInformation( - Username.of("[email protected]"), new MailboxName("mbx1"), INSTANT, 10, 9, false, 30); + Username.of("[email protected]"), MailboxPath.forUser(Username.of("[email protected]"), "mbx1"), INSTANT, 10, 9, false, 30); @Test void shouldMatchJsonSerializationContract() throws Exception { diff --git a/server/protocols/webadmin/webadmin-jmap/src/test/resources/json/runRulesOnMailbox.additionalInformation.json b/server/protocols/webadmin/webadmin-jmap/src/test/resources/json/runRulesOnMailbox.additionalInformation.json index 6be4f207e4..a9482c4dc1 100644 --- a/server/protocols/webadmin/webadmin-jmap/src/test/resources/json/runRulesOnMailbox.additionalInformation.json +++ b/server/protocols/webadmin/webadmin-jmap/src/test/resources/json/runRulesOnMailbox.additionalInformation.json @@ -1,5 +1,5 @@ { - "mailboxName": "mbx1", + "mailboxPath": "#private:[email protected]:mbx1", "rulesOnMessagesApplyFailed": 9, "rulesOnMessagesApplySuccessfully": 10, "processedMessagesCount": 30, --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
