You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2022/11/27 07:10:15 UTC
[james-project] 03/05: JAMES-3861 LocalDelivery sets the `isDelivery` to true
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 5793e95a63b34d729d18da41208a448c09afba75
Author: Quan Tran <hq...@linagora.com>
AuthorDate: Tue Nov 22 17:30:01 2022 +0700
JAMES-3861 LocalDelivery sets the `isDelivery` to true
---
.../james/mailbox/store/StoreMessageManager.java | 19 ++++++++++++-------
.../mailets/delivery/MailboxAppenderImpl.java | 1 +
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
index 4beb9e6165..4967109955 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
@@ -327,7 +327,8 @@ public class StoreMessageManager implements MessageManager {
session,
appendCommand.isRecent(),
appendCommand.getFlags(),
- appendCommand.getMaybeParsedMessage()));
+ appendCommand.getMaybeParsedMessage(),
+ appendCommand.isDelivery()));
}
@Override
@@ -338,7 +339,8 @@ public class StoreMessageManager implements MessageManager {
session,
appendCommand.isRecent(),
appendCommand.getFlags(),
- appendCommand.getMaybeParsedMessage());
+ appendCommand.getMaybeParsedMessage(),
+ appendCommand.isDelivery());
}
@Override
@@ -379,7 +381,7 @@ public class StoreMessageManager implements MessageManager {
return finalFile.length();
}
}, propertyBuilder,
- getFlags(mailboxSession, isRecent, flagsToBeSet), bodyStartOctet, unparsedMimeMessqage, headers));
+ getFlags(mailboxSession, isRecent, flagsToBeSet), bodyStartOctet, unparsedMimeMessqage, headers, !IS_DELIVERY));
}
} catch (IOException | MimeException e) {
throw new MailboxException("Unable to parse message", e);
@@ -395,7 +397,8 @@ public class StoreMessageManager implements MessageManager {
}
}
- private Mono<AppendResult> appendMessage(Content msgIn, Date internalDate, final MailboxSession mailboxSession, boolean isRecent, Flags flagsToBeSet, Optional<Message> maybeMessage) {
+ private Mono<AppendResult> appendMessage(Content msgIn, Date internalDate, final MailboxSession mailboxSession, boolean isRecent, Flags flagsToBeSet,
+ Optional<Message> maybeMessage, boolean isDelivery) {
return Mono.fromCallable(() -> {
if (!isWriteable(mailboxSession)) {
throw new ReadOnlyException(getMailboxPath());
@@ -411,7 +414,7 @@ public class StoreMessageManager implements MessageManager {
return createAndDispatchMessage(computeInternalDate(internalDate),
mailboxSession, msgIn, propertyBuilder,
- getFlags(mailboxSession, isRecent, flagsToBeSet), bodyStartOctet, maybeMessage, headers);
+ getFlags(mailboxSession, isRecent, flagsToBeSet), bodyStartOctet, maybeMessage, headers, isDelivery);
} catch (IOException | MimeException e) {
throw new MailboxException("Unable to parse message", e);
}
@@ -513,7 +516,9 @@ public class StoreMessageManager implements MessageManager {
return bodyStartOctet;
}
- private Mono<AppendResult> createAndDispatchMessage(Date internalDate, MailboxSession mailboxSession, Content content, PropertyBuilder propertyBuilder, Flags flags, int bodyStartOctet, Optional<Message> maybeMessage, HeaderImpl headers) throws MailboxException {
+ private Mono<AppendResult> createAndDispatchMessage(Date internalDate, MailboxSession mailboxSession, Content content, PropertyBuilder propertyBuilder,
+ Flags flags, int bodyStartOctet, Optional<Message> maybeMessage, HeaderImpl headers,
+ boolean isDelivery) throws MailboxException {
int size = (int) content.size();
QuotaRoot quotaRoot = quotaRootResolver.getQuotaRoot(mailbox);
return Mono.from(quotaManager.getQuotasReactive(quotaRoot))
@@ -526,7 +531,7 @@ public class StoreMessageManager implements MessageManager {
.mailboxSession(mailboxSession)
.mailbox(mailbox)
.addMetaData(data.getLeft())
- .isDelivery(!IS_DELIVERY)
+ .isDelivery(isDelivery)
.build(),
new MailboxIdRegistrationKey(mailbox.getMailboxId()))
.thenReturn(computeAppendResult(data, mailbox))),
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppenderImpl.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppenderImpl.java
index 0f38b8ae4a..5ab493f0ae 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppenderImpl.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppenderImpl.java
@@ -88,6 +88,7 @@ public class MailboxAppenderImpl implements MailboxAppender {
.flatMap(mailbox -> Mono.from(mailbox.appendMessageReactive(
MessageManager.AppendCommand.builder()
.recent()
+ .delivery()
.build(extractContent(mail)),
session)));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org