MAILBOX-365 Get rid of MailboxSession.getUser We should use core.getUser instead
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/46e26b8d Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/46e26b8d Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/46e26b8d Branch: refs/heads/master Commit: 46e26b8d325416b9543184b7a23aa952d84e062f Parents: 000f775 Author: Benoit Tellier <[email protected]> Authored: Sat Dec 15 15:09:27 2018 +0700 Committer: Benoit Tellier <[email protected]> Committed: Tue Dec 18 14:48:08 2018 +0700 ---------------------------------------------------------------------- .../apache/james/mailbox/MailboxSession.java | 21 +--------- .../apache/james/mailbox/model/MailboxPath.java | 4 +- .../mailbox/model/search/MailboxQuery.java | 7 ++-- .../james/mailbox/MailboxManagerTest.java | 2 +- .../james/mailbox/mock/DataProvisioner.java | 2 +- .../james/mailbox/mock/MockMailboxSession.java | 17 +------- .../cassandra/CassandraSubscriptionManager.java | 2 +- ...lasticSearchListeningMessageSearchIndex.java | 14 +++---- .../elasticsearch/json/IndexableMessage.java | 4 +- .../json/MessageToElasticSearchJson.java | 5 +-- ...icSearchListeningMessageSearchIndexTest.java | 4 +- .../json/IndexableMessageTest.java | 39 +++++++++---------- .../json/MessageToElasticSearchJsonTest.java | 41 ++++++++++---------- .../mailbox/jpa/JPASubscriptionManager.java | 2 +- .../lucene/search/LuceneMessageSearchIndex.java | 2 +- .../mailbox/store/SimpleMailboxSession.java | 23 ++--------- .../mailbox/store/StoreAttachmentManager.java | 3 +- .../mailbox/store/StoreMailboxManager.java | 6 +-- .../mailbox/store/StoreMessageIdManager.java | 4 +- .../james/mailbox/store/StoreRightManager.java | 6 +-- .../mailbox/store/StoreSubscriptionManager.java | 8 ++-- .../james/mailbox/store/event/EventFactory.java | 16 ++++---- .../mailbox/store/event/MessageMoveEvent.java | 2 +- .../mailbox/store/mail/model/Username.java | 2 +- .../mailbox/store/StoreMailboxManagerTest.java | 4 +- .../store/SystemMailboxesProviderImplTest.java | 4 +- .../DefaultDelegatingMailboxListenerTest.java | 2 +- .../DefaultMailboxesProvisioningFilter.java | 6 +-- .../org/apache/james/jmap/DownloadServlet.java | 2 +- .../james/jmap/UserProvisioningFilter.java | 9 ++--- .../event/PropagateLookupRightListener.java | 2 +- .../james/jmap/methods/GetFilterMethod.java | 2 +- .../jmap/methods/GetVacationResponseMethod.java | 4 +- .../james/jmap/methods/MessageSender.java | 2 +- .../james/jmap/methods/RequestHandler.java | 3 +- .../james/jmap/methods/SendMDNProcessor.java | 2 +- .../james/jmap/methods/SetFilterMethod.java | 2 +- .../methods/SetMailboxesCreationProcessor.java | 4 +- .../methods/SetMailboxesUpdateProcessor.java | 2 +- .../methods/SetMessagesCreationProcessor.java | 7 ++-- .../methods/SetMessagesUpdateProcessor.java | 9 +++-- .../jmap/methods/SetVacationResponseMethod.java | 2 +- .../org/apache/james/jmap/model/JmapMDN.java | 6 +-- .../apache/james/jmap/model/mailbox/Rights.java | 2 +- .../james/jmap/send/PostDequeueDecorator.java | 4 +- .../jmap/methods/GetMessagesMethodTest.java | 29 ++------------ .../methods/GetVacationResponseMethodTest.java | 8 ++-- .../methods/SetVacationResponseMethodTest.java | 34 +++------------- 48 files changed, 148 insertions(+), 239 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxSession.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxSession.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxSession.java index f81c229..51dd6b3 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxSession.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxSession.java @@ -25,6 +25,8 @@ import java.util.Locale; import java.util.Map; import java.util.Objects; +import org.apache.james.core.User; + import com.google.common.base.MoreObjects; /** @@ -131,25 +133,6 @@ public interface MailboxSession { List<Locale> getLocalePreferences(); /** - * A mailbox user. Useful for specialist mailbox implementation. - */ - interface User { - /** - * Gets the name of the user. - * - * @return not null - */ - String getUserName(); - - - boolean isSameUser(String username); - - default org.apache.james.core.User getCoreUser() { - return org.apache.james.core.User.fromUsername(getUserName()); - } - } - - /** * Gets the <a href='http://www.isi.edu/in-notes/rfc2342.txt' rel='tag'>RFC * 2342</a> personal namespace for the current session.<br> * Note that though servers may offer multiple personal namespaces, support http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java index 46924a1..2675d7c 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/MailboxPath.java @@ -41,7 +41,7 @@ public class MailboxPath { * @return inbox */ public static MailboxPath inbox(MailboxSession session) { - return MailboxPath.forUser(session.getUser().getUserName(), MailboxConstants.INBOX); + return MailboxPath.forUser(session.getUser().asString(), MailboxConstants.INBOX); } /** @@ -101,7 +101,7 @@ public class MailboxPath { } public boolean belongsTo(MailboxSession mailboxSession) { - return mailboxSession.getUser().isSameUser(user); + return user.equalsIgnoreCase(mailboxSession.getUser().asString()); } /** http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java index 2afec92..ed2f747 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/search/MailboxQuery.java @@ -21,6 +21,7 @@ package org.apache.james.mailbox.model.search; import java.util.Optional; +import org.apache.james.core.User; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxPath; @@ -42,7 +43,7 @@ public final class MailboxQuery { public static Builder privateMailboxesBuilder(MailboxSession session) { return builder() .namespace(MailboxConstants.USER_NAMESPACE) - .username(session.getUser().getUserName()) + .username(session.getUser().asString()) .matchesAllMailboxNames(); } @@ -137,9 +138,9 @@ public final class MailboxQuery { } public boolean isPrivateMailboxes(MailboxSession session) { - MailboxSession.User sessionUser = session.getUser(); + User sessionUser = session.getUser(); return namespace.map(MailboxConstants.USER_NAMESPACE::equals).orElse(false) - && user.map(sessionUser::isSameUser).orElse(false); + && user.map(User::fromUsername).map(sessionUser::equals).orElse(false); } @VisibleForTesting http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java index a9a2690..e8dd5a3 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java @@ -1194,7 +1194,7 @@ public abstract class MailboxManagerTest { void createUser1SystemSessionShouldReturnValidSession() throws Exception { session = mailboxManager.createSystemSession(USER_1); - assertThat(session.getUser().getUserName()).isEqualTo(USER_1); + assertThat(session.getUser().asString()).isEqualTo(USER_1); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java index 8914a6e..674c324 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java @@ -100,7 +100,7 @@ public class DataProvisioner { private static void createSubSubMailboxes(MailboxManager mailboxManager,MailboxSession mailboxSession, String subFolderName) { IntStream.range(0, SUB_SUB_MAILBOXES_COUNT) .mapToObj(i -> subFolderName + ".SUBSUB_FOLDER_" + i) - .forEach(name -> createMailbox(mailboxManager, mailboxSession, MailboxPath.forUser(mailboxSession.getUser().getUserName(), name))); + .forEach(name -> createMailbox(mailboxManager, mailboxSession, MailboxPath.forUser(mailboxSession.getUser().asString(), name))); } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java index 8e8e90c..8bf84f0 100644 --- a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java +++ b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/MockMailboxSession.java @@ -26,6 +26,7 @@ import java.util.Locale; import java.util.Map; import java.util.Random; +import org.apache.james.core.User; import org.apache.james.mailbox.MailboxSession; public class MockMailboxSession implements MailboxSession { @@ -41,21 +42,7 @@ public class MockMailboxSession implements MailboxSession { } public MockMailboxSession(String username, SessionId sessionId) { - this.user = new User() { - - @Override - public String getUserName() { - return username; - } - - @Override - public boolean isSameUser(String other) { - if (username == null) { - return other == null; - } - return username.equalsIgnoreCase(other); - } - }; + this.user = User.fromUsername(username); this.sessionId = sessionId; this.open = true; type = SessionType.User; http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java index f85b4f6..c1da5cd 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java @@ -39,6 +39,6 @@ public class CassandraSubscriptionManager extends StoreSubscriptionManager { @Override protected Subscription createSubscription(MailboxSession session, String mailbox) { - return new SimpleSubscription(session.getUser().getUserName(), mailbox); + return new SimpleSubscription(session.getUser().asString(), mailbox); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java index 8f5edb3..a925c04 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java @@ -123,12 +123,12 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe } @Override - public void add(MailboxSession session, Mailbox mailbox, MailboxMessage message) throws MailboxException { + public void add(MailboxSession session, Mailbox mailbox, MailboxMessage message) { try { LOGGER.info("Indexing mailbox {}-{} of user {} on message {}", mailbox.getName(), mailbox.getMailboxId(), - session.getUser().getUserName(), + session.getUser().asString(), message.getUid()); elasticSearchIndexer.index(indexIdFor(mailbox, message.getUid()), messageToElasticSearchJson.convertToJson(message, ImmutableList.of(session.getUser()))); } catch (Exception e) { @@ -136,7 +136,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe LOGGER.warn("Indexing mailbox {}-{} of user {} on message {} without attachments ", mailbox.getName(), mailbox.getMailboxId().serialize(), - session.getUser().getUserName(), + session.getUser().asString(), message.getUid(), e); elasticSearchIndexer.index(indexIdFor(mailbox, message.getUid()), messageToElasticSearchJson.convertToJsonWithoutAttachment(message, ImmutableList.of(session.getUser()))); @@ -144,7 +144,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe LOGGER.error("Error when indexing mailbox {}-{} of user {} on message {} without its attachment", mailbox.getName(), mailbox.getMailboxId().serialize(), - session.getUser().getUserName(), + session.getUser().asString(), message.getUid(), e1); } @@ -152,7 +152,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe } @Override - public void delete(MailboxSession session, Mailbox mailbox, Collection<MessageUid> expungedUids) throws MailboxException { + public void delete(MailboxSession session, Mailbox mailbox, Collection<MessageUid> expungedUids) { try { elasticSearchIndexer.delete(expungedUids.stream() .map(uid -> indexIdFor(mailbox, uid)) @@ -165,7 +165,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe } @Override - public void deleteAll(MailboxSession session, Mailbox mailbox) throws MailboxException { + public void deleteAll(MailboxSession session, Mailbox mailbox) { try { elasticSearchIndexer.deleteAllMatchingQuery( termQuery( @@ -177,7 +177,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe } @Override - public void update(MailboxSession session, Mailbox mailbox, List<UpdatedFlags> updatedFlagsList) throws MailboxException { + public void update(MailboxSession session, Mailbox mailbox, List<UpdatedFlags> updatedFlagsList) { try { elasticSearchIndexer.update(updatedFlagsList.stream() .map(updatedFlags -> createUpdatedDocumentPartFromUpdatedFlags(mailbox, updatedFlags)) http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java index b6d9527..5517ebc 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java @@ -28,7 +28,7 @@ import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.apache.james.mailbox.MailboxSession.User; +import org.apache.james.core.User; import org.apache.james.mailbox.elasticsearch.IndexAttachments; import org.apache.james.mailbox.elasticsearch.query.DateResolutionFormater; import org.apache.james.mailbox.extractor.TextExtractor; @@ -119,7 +119,7 @@ public class IndexableMessage { MimePart parsingResult = new MimePartParser(message, textExtractor).parse(); List<String> stringifiedUsers = users.stream() - .map(User::getUserName) + .map(User::asString) .collect(Guavate.toImmutableList()); Optional<String> bodyText = parsingResult.locateFirstTextBody(); http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java index aacd790..48b5baf 100644 --- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java +++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJson.java @@ -25,8 +25,7 @@ import java.util.List; import javax.inject.Inject; import javax.mail.Flags; -import org.apache.james.mailbox.MailboxManager; -import org.apache.james.mailbox.MailboxSession.User; +import org.apache.james.core.User; import org.apache.james.mailbox.elasticsearch.IndexAttachments; import org.apache.james.mailbox.extractor.TextExtractor; import org.apache.james.mailbox.store.mail.model.MailboxMessage; @@ -54,7 +53,7 @@ public class MessageToElasticSearchJson { } @Inject - public MessageToElasticSearchJson(TextExtractor textExtractor, IndexAttachments indexAttachments, MailboxManager mailboxManager) { + public MessageToElasticSearchJson(TextExtractor textExtractor, IndexAttachments indexAttachments) { this(textExtractor, ZoneId.systemDefault(), indexAttachments); } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java index d8ed910..f04852d 100644 --- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java +++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndexTest.java @@ -33,9 +33,9 @@ import javax.mail.Flags; import org.apache.james.backends.es.ElasticSearchIndexer; import org.apache.james.backends.es.UpdatedRepresentation; +import org.apache.james.core.User; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxSession; -import org.apache.james.mailbox.MailboxSession.User; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.elasticsearch.json.MessageToElasticSearchJson; import org.apache.james.mailbox.elasticsearch.search.ElasticSearchSearcher; @@ -84,7 +84,7 @@ public class ElasticSearchListeningMessageSearchIndexTest { testee = new ElasticSearchListeningMessageSearchIndex(mapperFactory, elasticSearchIndexer, elasticSearchSearcher, messageToElasticSearchJson, mockMailboxManager); session = new MockMailboxSession(USERNAME); - users = ImmutableList.of(session.getUser()); + users = ImmutableList.of(User.fromUsername(USERNAME)); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java index 40b641e..9723cb2 100644 --- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java +++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java @@ -31,12 +31,12 @@ import java.util.Optional; import javax.mail.Flags; +import org.apache.james.core.User; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.elasticsearch.IndexAttachments; import org.apache.james.mailbox.extractor.ParsedContent; import org.apache.james.mailbox.extractor.TextExtractor; import org.apache.james.mailbox.inmemory.InMemoryMessageId; -import org.apache.james.mailbox.mock.MockMailboxSession; import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.model.TestId; import org.apache.james.mailbox.store.extractor.DefaultTextExtractor; @@ -57,8 +57,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; public class IndexableMessageTest { - - public static final MessageUid MESSAGE_UID = MessageUid.of(154); + private static final MessageUid MESSAGE_UID = MessageUid.of(154); @ClassRule public static TikaContainerSingletonRule tika = TikaContainerSingletonRule.rule; @@ -91,7 +90,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -117,7 +116,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -143,7 +142,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -169,7 +168,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -195,7 +194,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -221,7 +220,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -247,7 +246,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -273,7 +272,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -310,7 +309,7 @@ public class IndexableMessageTest { // When IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.YES) @@ -341,7 +340,7 @@ public class IndexableMessageTest { // When IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -372,7 +371,7 @@ public class IndexableMessageTest { // When IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -401,7 +400,7 @@ public class IndexableMessageTest { // When IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.NO) @@ -430,7 +429,7 @@ public class IndexableMessageTest { // When IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(new DefaultTextExtractor()) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.YES) @@ -465,7 +464,7 @@ public class IndexableMessageTest { // When IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(textExtractor) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.YES) @@ -506,7 +505,7 @@ public class IndexableMessageTest { // When IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(textExtractor) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.YES) @@ -538,7 +537,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(textExtractor) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.YES) @@ -567,7 +566,7 @@ public class IndexableMessageTest { IndexableMessage indexableMessage = IndexableMessage.builder() .message(mailboxMessage) - .users(ImmutableList.of(new MockMailboxSession("username").getUser())) + .users(ImmutableList.of(User.fromUsername("username"))) .extractor(textExtractor) .zoneId(ZoneId.of("Europe/Paris")) .indexAttachments(IndexAttachments.YES) http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java ---------------------------------------------------------------------- diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java index fa080f3..b38076b 100644 --- a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java +++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/MessageToElasticSearchJsonTest.java @@ -32,12 +32,11 @@ import java.util.Date; import javax.mail.Flags; import javax.mail.util.SharedByteArrayInputStream; +import org.apache.james.core.User; import org.apache.james.mailbox.FlagsBuilder; -import org.apache.james.mailbox.MailboxSession.User; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.elasticsearch.IndexAttachments; import org.apache.james.mailbox.extractor.TextExtractor; -import org.apache.james.mailbox.mock.MockMailboxSession; import org.apache.james.mailbox.model.MessageId; import org.apache.james.mailbox.model.TestId; import org.apache.james.mailbox.model.TestMessageId; @@ -58,14 +57,14 @@ import org.junit.Test; import com.google.common.collect.ImmutableList; public class MessageToElasticSearchJsonTest { - - public static final int SIZE = 25; - public static final int BODY_START_OCTET = 100; - public static final TestId MAILBOX_ID = TestId.of(18L); - public static final MessageId MESSAGE_ID = TestMessageId.of(184L); - public static final long MOD_SEQ = 42L; - public static final MessageUid UID = MessageUid.of(25); - public static final MockMailboxSession MAILBOX_SESSION = new MockMailboxSession("username"); + private static final int SIZE = 25; + private static final int BODY_START_OCTET = 100; + private static final TestId MAILBOX_ID = TestId.of(18L); + private static final MessageId MESSAGE_ID = TestMessageId.of(184L); + private static final long MOD_SEQ = 42L; + private static final MessageUid UID = MessageUid.of(25); + private static final String USERNAME = "username"; + private static final User USER = User.fromUsername(USERNAME); private TextExtractor textExtractor; @@ -125,7 +124,7 @@ public class MessageToElasticSearchJsonTest { MAILBOX_ID); spamMail.setUid(UID); spamMail.setModSeq(MOD_SEQ); - assertThatJson(messageToElasticSearchJson.convertToJson(spamMail, ImmutableList.of(MAILBOX_SESSION.getUser()))) + assertThatJson(messageToElasticSearchJson.convertToJson(spamMail, ImmutableList.of(USER))) .when(IGNORING_ARRAY_ORDER) .isEqualTo(ClassLoaderUtils.getSystemResourceAsString("eml/spamMail.json")); } @@ -145,7 +144,7 @@ public class MessageToElasticSearchJsonTest { MAILBOX_ID); htmlMail.setModSeq(MOD_SEQ); htmlMail.setUid(UID); - assertThatJson(messageToElasticSearchJson.convertToJson(htmlMail, ImmutableList.of(MAILBOX_SESSION.getUser()))) + assertThatJson(messageToElasticSearchJson.convertToJson(htmlMail, ImmutableList.of(USER))) .when(IGNORING_ARRAY_ORDER) .isEqualTo(ClassLoaderUtils.getSystemResourceAsString("eml/htmlMail.json")); } @@ -165,7 +164,7 @@ public class MessageToElasticSearchJsonTest { MAILBOX_ID); pgpSignedMail.setModSeq(MOD_SEQ); pgpSignedMail.setUid(UID); - assertThatJson(messageToElasticSearchJson.convertToJson(pgpSignedMail, ImmutableList.of(MAILBOX_SESSION.getUser()))) + assertThatJson(messageToElasticSearchJson.convertToJson(pgpSignedMail, ImmutableList.of(USER))) .when(IGNORING_ARRAY_ORDER) .isEqualTo(ClassLoaderUtils.getSystemResourceAsString("eml/pgpSignedMail.json")); } @@ -186,7 +185,7 @@ public class MessageToElasticSearchJsonTest { mail.setModSeq(MOD_SEQ); mail.setUid(UID); assertThatJson(messageToElasticSearchJson.convertToJson(mail, - ImmutableList.of(new MockMailboxSession("user1").getUser(), new MockMailboxSession("user2").getUser()))) + ImmutableList.of(User.fromUsername("user1"), User.fromUsername("user2")))) .when(IGNORING_ARRAY_ORDER).when(IGNORING_VALUES) .isEqualTo(ClassLoaderUtils.getSystemResourceAsString("eml/mail.json")); } @@ -206,7 +205,7 @@ public class MessageToElasticSearchJsonTest { MAILBOX_ID); recursiveMail.setModSeq(MOD_SEQ); recursiveMail.setUid(UID); - assertThatJson(messageToElasticSearchJson.convertToJson(recursiveMail, ImmutableList.of(MAILBOX_SESSION.getUser()))) + assertThatJson(messageToElasticSearchJson.convertToJson(recursiveMail, ImmutableList.of(USER))) .when(IGNORING_ARRAY_ORDER).when(IGNORING_VALUES) .isEqualTo(ClassLoaderUtils.getSystemResourceAsString("eml/recursiveMail.json")); } @@ -226,7 +225,7 @@ public class MessageToElasticSearchJsonTest { MAILBOX_ID); mailWithNoInternalDate.setModSeq(MOD_SEQ); mailWithNoInternalDate.setUid(UID); - assertThatJson(messageToElasticSearchJson.convertToJson(mailWithNoInternalDate, ImmutableList.of(MAILBOX_SESSION.getUser()))) + assertThatJson(messageToElasticSearchJson.convertToJson(mailWithNoInternalDate, ImmutableList.of(USER))) .when(IGNORING_ARRAY_ORDER) .when(IGNORING_VALUES) .isEqualTo(ClassLoaderUtils.getSystemResourceAsString("eml/recursiveMail.json")); @@ -251,7 +250,7 @@ public class MessageToElasticSearchJsonTest { new DefaultTextExtractor(), ZoneId.of("Europe/Paris"), IndexAttachments.YES); - String convertToJson = messageToElasticSearchJson.convertToJson(mailWithNoInternalDate, ImmutableList.of(MAILBOX_SESSION.getUser())); + String convertToJson = messageToElasticSearchJson.convertToJson(mailWithNoInternalDate, ImmutableList.of(USER)); // Then assertThatJson(convertToJson) @@ -279,7 +278,7 @@ public class MessageToElasticSearchJsonTest { new DefaultTextExtractor(), ZoneId.of("Europe/Paris"), IndexAttachments.NO); - String convertToJson = messageToElasticSearchJson.convertToJson(mailWithNoInternalDate, ImmutableList.of(MAILBOX_SESSION.getUser())); + String convertToJson = messageToElasticSearchJson.convertToJson(mailWithNoInternalDate, ImmutableList.of(USER)); // Then assertThatJson(convertToJson) @@ -304,7 +303,7 @@ public class MessageToElasticSearchJsonTest { mailWithNoMailboxId.setUid(UID); assertThatThrownBy(() -> - messageToElasticSearchJson.convertToJson(mailWithNoMailboxId, ImmutableList.of(MAILBOX_SESSION.getUser()))) + messageToElasticSearchJson.convertToJson(mailWithNoMailboxId, ImmutableList.of(USER))) .isInstanceOf(NullPointerException.class); } @@ -353,7 +352,7 @@ public class MessageToElasticSearchJsonTest { spamMail.setUid(UID); spamMail.setModSeq(MOD_SEQ); - assertThatJson(messageToElasticSearchJson.convertToJson(spamMail, ImmutableList.of(MAILBOX_SESSION.getUser()))) + assertThatJson(messageToElasticSearchJson.convertToJson(spamMail, ImmutableList.of(USER))) .when(IGNORING_ARRAY_ORDER) .isEqualTo( ClassLoaderUtils.getSystemResourceAsString("eml/nonTextual.json", StandardCharsets.UTF_8)); @@ -378,7 +377,7 @@ public class MessageToElasticSearchJsonTest { new DefaultTextExtractor(), ZoneId.of("Europe/Paris"), IndexAttachments.NO); - String convertToJsonWithoutAttachment = messageToElasticSearchJson.convertToJsonWithoutAttachment(message, ImmutableList.of(MAILBOX_SESSION.getUser())); + String convertToJsonWithoutAttachment = messageToElasticSearchJson.convertToJsonWithoutAttachment(message, ImmutableList.of(USER)); // Then assertThatJson(convertToJsonWithoutAttachment) http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPASubscriptionManager.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPASubscriptionManager.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPASubscriptionManager.java index bd6a1a8..fae41ba 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPASubscriptionManager.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/JPASubscriptionManager.java @@ -38,6 +38,6 @@ public class JPASubscriptionManager extends StoreSubscriptionManager { @Override protected Subscription createSubscription(MailboxSession session, String mailbox) { - return new JPASubscription(session.getUser().getUserName(), mailbox); + return new JPASubscription(session.getUser().asString(), mailbox); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java ---------------------------------------------------------------------- diff --git a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java index b89ec37..63af04e 100644 --- a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java +++ b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java @@ -543,7 +543,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex { private Document createMessageDocument(final MailboxSession session, final MailboxMessage membership) throws MailboxException { final Document doc = new Document(); // TODO: Better handling - doc.add(new Field(USERS, session.getUser().getUserName().toUpperCase(Locale.US), Store.YES, Index.NOT_ANALYZED)); + doc.add(new Field(USERS, session.getUser().asString().toUpperCase(Locale.US), Store.YES, Index.NOT_ANALYZED)); doc.add(new Field(MAILBOX_ID_FIELD, membership.getMailboxId().serialize().toUpperCase(Locale.US), Store.YES, Index.NOT_ANALYZED)); doc.add(new NumericField(UID_FIELD,Store.YES, true).setLongValue(membership.getUid().asLong())); doc.add(new Field(HAS_ATTACHMENT_FIELD, Boolean.toString(hasAttachment(membership)), Store.YES, Index.NOT_ANALYZED)); http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java index 7f08b47..2e3f159 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/SimpleMailboxSession.java @@ -26,13 +26,14 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import org.apache.james.core.User; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.model.MailboxConstants; /** * Describes a mailbox session. */ -public class SimpleMailboxSession implements MailboxSession, MailboxSession.User { +public class SimpleMailboxSession implements MailboxSession { private final Collection<String> sharedSpaces; @@ -112,17 +113,7 @@ public class SimpleMailboxSession implements MailboxSession, MailboxSession.User */ @Override public User getUser() { - return this; - } - - /** - * Gets the name of the user executing this session. - * - * @return not null - */ - @Override - public String getUserName() { - return userName; + return User.fromUsername(userName); } @Override @@ -163,12 +154,4 @@ public class SimpleMailboxSession implements MailboxSession, MailboxSession.User return type; } - @Override - public boolean isSameUser(String username) { - if (this.userName == null) { - return username == null; - } - return this.userName.equalsIgnoreCase(username); - } - } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreAttachmentManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreAttachmentManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreAttachmentManager.java index b4cd5e6..3fbb36c 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreAttachmentManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreAttachmentManager.java @@ -24,6 +24,7 @@ import java.util.List; import javax.inject.Inject; +import org.apache.james.core.User; import org.apache.james.mailbox.AttachmentManager; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageIdManager; @@ -105,7 +106,7 @@ public class StoreAttachmentManager implements AttachmentManager { Collection<Username> explicitOwners = attachmentMapperFactory.getAttachmentMapper(mailboxSession) .getOwners(attachmentId); return explicitOwners.stream() - .anyMatch(username -> mailboxSession.getUser().isSameUser(username.getValue())); + .anyMatch(username -> mailboxSession.getUser().equals(User.fromUsername(username.getValue()))); } private Collection<MessageId> getRelatedMessageIds(AttachmentId attachmentId, MailboxSession mailboxSession) throws MailboxException { http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java index 4b322de..fba7edd 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java @@ -598,7 +598,7 @@ public class StoreMailboxManager implements MailboxManager { private void assertIsOwner(MailboxSession mailboxSession, MailboxPath mailboxPath) throws MailboxNotFoundException { if (!mailboxPath.belongsTo(mailboxSession)) { - LOGGER.info("Mailbox {} does not belong to {}", mailboxPath.asString(), mailboxSession.getUser().getUserName()); + LOGGER.info("Mailbox {} does not belong to {}", mailboxPath.asString(), mailboxSession.getUser().asString()); throw new MailboxNotFoundException(mailboxPath.asString()); } } @@ -700,7 +700,7 @@ public class StoreMailboxManager implements MailboxManager { + SQL_WILDCARD_CHAR; MailboxPath base = new MailboxPath( mailboxQuery.getNamespace().orElse(MailboxConstants.USER_NAMESPACE), - mailboxQuery.getUser().orElse(mailboxSession.getUser().getUserName()), + mailboxQuery.getUser().orElse(mailboxSession.getUser().asString()), combinedName); return new MailboxPath(base, combinedName); } @@ -710,7 +710,7 @@ public class StoreMailboxManager implements MailboxManager { if (mailboxQuery.isPrivateMailboxes(session)) { return Stream.of(); } - return mailboxMapper.findNonPersonalMailboxes(session.getUser().getUserName(), right).stream(); + return mailboxMapper.findNonPersonalMailboxes(session.getUser().asString(), right).stream(); } private SimpleMailboxMetaData toMailboxMetadata(MailboxSession session, List<Mailbox> mailboxes, Mailbox mailbox) { http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java index 1a5f789..0dfda8d 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java @@ -230,7 +230,7 @@ public class StoreMessageIdManager implements MessageIdManager { List<MailboxMessage> currentMailboxMessages = findRelatedMailboxMessages(messageId, mailboxSession); if (currentMailboxMessages.isEmpty()) { - LOGGER.info("Tried to access {} not accessible for {}", messageId, mailboxSession.getUser().getUserName()); + LOGGER.info("Tried to access {} not accessible for {}", messageId, mailboxSession.getUser().asString()); return; } @@ -399,7 +399,7 @@ public class StoreMessageIdManager implements MessageIdManager { .findFirst(); if (mailboxForbidden.isPresent()) { - LOGGER.info("Mailbox with Id {} does not belong to {}", mailboxForbidden.get(), mailboxSession.getUser().getUserName()); + LOGGER.info("Mailbox with Id {} does not belong to {}", mailboxForbidden.get(), mailboxSession.getUser().asString()); throw new MailboxNotFoundException(mailboxForbidden.get()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java index 5fd6491..b97793f 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreRightManager.java @@ -99,12 +99,12 @@ public class StoreRightManager implements RightManager { } public Rfc4314Rights myRights(Mailbox mailbox, MailboxSession session) throws UnsupportedRightException { - MailboxSession.User user = session.getUser(); + User user = session.getUser(); return Optional.ofNullable(user) .map(Throwing.function(value -> aclResolver.resolveRights( - user.getUserName(), + user.asString(), groupMembershipResolver, mailbox.getACL(), mailbox.getUser(), @@ -246,7 +246,7 @@ public class StoreRightManager implements RightManager { return acl; } - MailboxACL.EntryKey userAsKey = MailboxACL.EntryKey.createUserEntryKey(mailboxSession.getUser().getUserName()); + MailboxACL.EntryKey userAsKey = MailboxACL.EntryKey.createUserEntryKey(mailboxSession.getUser().asString()); Rfc4314Rights rights = acl.getEntries().getOrDefault(userAsKey, new Rfc4314Rights()); if (rights.contains(MailboxACL.Right.Administer)) { return acl; http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java index 60afcca..2e46cde 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java @@ -54,7 +54,7 @@ public class StoreSubscriptionManager implements SubscriptionManager { final SubscriptionMapper mapper = mapperFactory.getSubscriptionMapper(session); try { mapper.execute(Mapper.toTransaction(() -> { - Subscription subscription = mapper.findMailboxSubscriptionForUser(session.getUser().getUserName(), mailbox); + Subscription subscription = mapper.findMailboxSubscriptionForUser(session.getUser().asString(), mailbox); if (subscription == null) { Subscription newSubscription = createSubscription(session, mailbox); mapper.save(newSubscription); @@ -75,13 +75,13 @@ public class StoreSubscriptionManager implements SubscriptionManager { * @return subscription */ protected Subscription createSubscription(MailboxSession session, String mailbox) { - return new SimpleSubscription(session.getUser().getUserName(), mailbox); + return new SimpleSubscription(session.getUser().asString(), mailbox); } @Override public Collection<String> subscriptions(MailboxSession session) throws SubscriptionException { return mapperFactory.getSubscriptionMapper(session) - .findSubscriptionsForUser(session.getUser().getUserName()) + .findSubscriptionsForUser(session.getUser().asString()) .stream() .map(Subscription::getMailbox) .collect(Collectors.toCollection(() -> new HashSet<>(INITIAL_SIZE))); @@ -92,7 +92,7 @@ public class StoreSubscriptionManager implements SubscriptionManager { final SubscriptionMapper mapper = mapperFactory.getSubscriptionMapper(session); try { mapper.execute(Mapper.toTransaction(() -> { - Subscription subscription = mapper.findMailboxSubscriptionForUser(session.getUser().getUserName(), mailbox); + Subscription subscription = mapper.findMailboxSubscriptionForUser(session.getUser().asString(), mailbox); if (subscription != null) { mapper.delete(subscription); } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java index d9c087b..51106d9 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/EventFactory.java @@ -42,7 +42,7 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage; public class EventFactory { public MailboxListener.Added added(MailboxSession session, SortedMap<MessageUid, MessageMetaData> uids, Mailbox mailbox) { - return added(session.getSessionId(), session.getUser().getCoreUser(), uids, mailbox); + return added(session.getSessionId(), session.getUser(), uids, mailbox); } public MailboxListener.Added added(MailboxSession.SessionId sessionId, User user, SortedMap<MessageUid, MessageMetaData> uids, Mailbox mailbox) { @@ -50,7 +50,7 @@ public class EventFactory { } public MailboxListener.Expunged expunged(MailboxSession session, Map<MessageUid, MessageMetaData> uids, Mailbox mailbox) { - return expunged(session.getSessionId(), session.getUser().getCoreUser(), uids, mailbox); + return expunged(session.getSessionId(), session.getUser(), uids, mailbox); } public MailboxListener.Expunged expunged(MailboxSession.SessionId sessionId, User user, Map<MessageUid, MessageMetaData> uids, Mailbox mailbox) { @@ -58,7 +58,7 @@ public class EventFactory { } public MailboxListener.FlagsUpdated flagsUpdated(MailboxSession session, List<MessageUid> uids, Mailbox mailbox, List<UpdatedFlags> uflags) { - return flagsUpdated(session.getSessionId(), session.getUser().getCoreUser(), uids, mailbox, uflags); + return flagsUpdated(session.getSessionId(), session.getUser(), uids, mailbox, uflags); } public MailboxListener.FlagsUpdated flagsUpdated(MailboxSession.SessionId sessionId, User user, List<MessageUid> uids, Mailbox mailbox, List<UpdatedFlags> uflags) { @@ -66,7 +66,7 @@ public class EventFactory { } public MailboxListener.MailboxRenamed mailboxRenamed(MailboxSession session, MailboxPath from, Mailbox to) { - return mailboxRenamed(session.getSessionId(), session.getUser().getCoreUser(), from, to); + return mailboxRenamed(session.getSessionId(), session.getUser(), from, to); } public MailboxListener.MailboxRenamed mailboxRenamed(MailboxSession.SessionId sessionId, User user, MailboxPath from, Mailbox to) { @@ -75,7 +75,7 @@ public class EventFactory { public MailboxListener.MailboxDeletion mailboxDeleted(MailboxSession session, Mailbox mailbox, QuotaRoot quotaRoot, QuotaCount deletedMessageCount, QuotaSize totalDeletedSize) { - return mailboxDeleted(session.getSessionId(), session.getUser().getCoreUser(), mailbox, quotaRoot, deletedMessageCount, totalDeletedSize); + return mailboxDeleted(session.getSessionId(), session.getUser(), mailbox, quotaRoot, deletedMessageCount, totalDeletedSize); } public MailboxListener.MailboxDeletion mailboxDeleted(MailboxSession.SessionId sessionId, User user, Mailbox mailbox, QuotaRoot quotaRoot, @@ -84,7 +84,7 @@ public class EventFactory { } public MailboxListener.MailboxAdded mailboxAdded(MailboxSession session, Mailbox mailbox) { - return mailboxAdded(session.getSessionId(), session.getUser().getCoreUser(), mailbox); + return mailboxAdded(session.getSessionId(), session.getUser(), mailbox); } public MailboxListener.MailboxAdded mailboxAdded(MailboxSession.SessionId sessionId, User user, Mailbox mailbox) { @@ -92,7 +92,7 @@ public class EventFactory { } public MailboxListener.MailboxACLUpdated aclUpdated(MailboxSession session, MailboxPath mailboxPath, ACLDiff aclDiff, MailboxId mailboxId) { - return aclUpdated(session.getSessionId(), session.getUser().getCoreUser(), mailboxPath, aclDiff, mailboxId); + return aclUpdated(session.getSessionId(), session.getUser(), mailboxPath, aclDiff, mailboxId); } public MailboxListener.MailboxACLUpdated aclUpdated(MailboxSession.SessionId sessionId, User user, MailboxPath mailboxPath, ACLDiff aclDiff, MailboxId mailboxId) { @@ -101,7 +101,7 @@ public class EventFactory { public MessageMoveEvent moved(MailboxSession session, MessageMoves messageMoves, Map<MessageUid, MailboxMessage> messages) { return MessageMoveEvent.builder() - .user(session.getUser().getCoreUser()) + .user(session.getUser()) .messageMoves(messageMoves) .messages(messages) .build(); http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java index 022303e..4fb7be4 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/MessageMoveEvent.java @@ -49,7 +49,7 @@ public class MessageMoveEvent implements Event { } public Builder session(MailboxSession session) { - this.user = session.getUser().getCoreUser(); + this.user = session.getUser(); return this; } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Username.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Username.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Username.java index 5dacc38..e2346d8 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Username.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/Username.java @@ -31,7 +31,7 @@ public class Username { Preconditions.checkNotNull(mailboxSession); Preconditions.checkNotNull(mailboxSession.getUser()); - return fromRawValue(mailboxSession.getUser().getUserName()); + return fromRawValue(mailboxSession.getUser().asString()); } public static Username fromRawValue(String value) { http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java index 3707b98..102bb2a 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerTest.java @@ -141,7 +141,7 @@ public class StoreMailboxManagerTest { public void loginShouldCreateSessionWhenGoodPassword() throws Exception { MailboxSession expected = storeMailboxManager.login(CURRENT_USER, CURRENT_USER_PASSWORD); - assertThat(expected.getUser().getUserName()).isEqualTo(CURRENT_USER); + assertThat(expected.getUser().asString()).isEqualTo(CURRENT_USER); } @Test(expected = BadCredentialsException.class) @@ -183,7 +183,7 @@ public class StoreMailboxManagerTest { public void loginAsOtherUserShouldCreateUserSessionWhenAdminWithGoodPassword() throws Exception { MailboxSession expected = storeMailboxManager.loginAsOtherUser(ADMIN, ADMIN_PASSWORD, CURRENT_USER); - assertThat(expected.getUser().getUserName()).isEqualTo(CURRENT_USER); + assertThat(expected.getUser().asString()).isEqualTo(CURRENT_USER); } @Test http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/test/java/org/apache/james/mailbox/store/SystemMailboxesProviderImplTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SystemMailboxesProviderImplTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SystemMailboxesProviderImplTest.java index 0041f07..ed1c1ee 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/SystemMailboxesProviderImplTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/SystemMailboxesProviderImplTest.java @@ -61,7 +61,7 @@ public class SystemMailboxesProviderImplTest { when(mailboxManager.createSystemSession(MailboxFixture.ALICE)).thenReturn(mailboxSession); when(mailboxManager.getMailbox(eq(MailboxFixture.INBOX_ALICE), eq(mailboxSession))).thenThrow(MailboxNotFoundException.class); - assertThat(systemMailboxProvider.getMailboxByRole(Role.INBOX, mailboxSession.getUser().getCoreUser())).isEmpty(); + assertThat(systemMailboxProvider.getMailboxByRole(Role.INBOX, mailboxSession.getUser())).isEmpty(); } @Test @@ -69,7 +69,7 @@ public class SystemMailboxesProviderImplTest { when(mailboxManager.createSystemSession(MailboxFixture.ALICE)).thenReturn(mailboxSession); when(mailboxManager.getMailbox(eq(MailboxFixture.INBOX_ALICE), eq(mailboxSession))).thenReturn(inboxMessageManager); - assertThat(systemMailboxProvider.getMailboxByRole(Role.INBOX, mailboxSession.getUser().getCoreUser())) + assertThat(systemMailboxProvider.getMailboxByRole(Role.INBOX, mailboxSession.getUser())) .hasSize(1) .containsOnly(inboxMessageManager); } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java index a5657de..eca8099 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java @@ -169,7 +169,7 @@ public class DefaultDelegatingMailboxListenerTest { public void listenersErrorsShouldNotBePropageted() throws Exception { MailboxSession session = new MockMailboxSession("benwa"); MailboxListener.MailboxEvent event = new MailboxListener.MailboxEvent(session.getSessionId(), - session.getUser().getCoreUser(), MAILBOX_PATH, MAILBOX_ID) {}; + session.getUser(), MAILBOX_PATH, MAILBOX_ID) {}; MailboxListener mockedListener = mock(MailboxListener.class); when(mockedListener.getType()).thenReturn(MailboxListener.ListenerType.ONCE); doThrow(new RuntimeException()).when(mockedListener).event(event); http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilter.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilter.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilter.java index 4ddbfb9..b876ee9 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilter.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/DefaultMailboxesProvisioningFilter.java @@ -30,10 +30,10 @@ import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; +import org.apache.james.core.User; import org.apache.james.mailbox.DefaultMailboxes; import org.apache.james.mailbox.MailboxManager; import org.apache.james.mailbox.MailboxSession; -import org.apache.james.mailbox.MailboxSession.User; import org.apache.james.mailbox.SubscriptionManager; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.exception.MailboxExistsException; @@ -88,7 +88,7 @@ public class DefaultMailboxesProvisioningFilter implements Filter { } private void createDefaultMailboxes(User user) throws MailboxException { - MailboxSession session = mailboxManager.createSystemSession(user.getUserName()); + MailboxSession session = mailboxManager.createSystemSession(user.asString()); DefaultMailboxes.DEFAULT_MAILBOXES.stream() .map(toMailboxPath(session)) .filter(mailboxPath -> mailboxDoesntExist(mailboxPath, session)) @@ -104,7 +104,7 @@ public class DefaultMailboxesProvisioningFilter implements Filter { } private Function<String, MailboxPath> toMailboxPath(MailboxSession session) { - return mailbox -> MailboxPath.forUser(session.getUser().getUserName(), mailbox); + return mailbox -> MailboxPath.forUser(session.getUser().asString(), mailbox); } private void createMailbox(MailboxPath mailboxPath, MailboxSession session) { http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/DownloadServlet.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/DownloadServlet.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/DownloadServlet.java index f70d407..6e2b272 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/DownloadServlet.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/DownloadServlet.java @@ -90,7 +90,7 @@ public class DownloadServlet extends HttpServlet { return; } resp.setContentType(TEXT_PLAIN_CONTENT_TYPE); - resp.getOutputStream().print(simpleTokenFactory.generateAttachmentAccessToken(mailboxSession.getUser().getUserName(), blobId).serialize()); + resp.getOutputStream().print(simpleTokenFactory.generateAttachmentAccessToken(mailboxSession.getUser().asString(), blobId).serialize()); resp.setStatus(SC_OK); } catch (MailboxException | IOException e) { LOGGER.error("Error while asking attachment access token", e); http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/UserProvisioningFilter.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/UserProvisioningFilter.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/UserProvisioningFilter.java index b52d649..157f652 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/UserProvisioningFilter.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/UserProvisioningFilter.java @@ -31,9 +31,8 @@ import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; -import org.apache.james.core.MailAddress; +import org.apache.james.core.User; import org.apache.james.mailbox.MailboxSession; -import org.apache.james.mailbox.MailboxSession.User; import org.apache.james.metrics.api.MetricFactory; import org.apache.james.metrics.api.TimeMetric; import org.apache.james.user.api.AlreadyExistInUsersRepositoryException; @@ -93,9 +92,9 @@ public class UserProvisioningFilter implements Filter { private String getUsername(User user) throws UsersRepositoryException { try { - return usersRepository.getUser(new MailAddress(user.getUserName())); - } catch (AddressException e) { - return user.getUserName(); + return usersRepository.getUser(user.asMailAddress()); + } catch (IllegalStateException | AddressException e) { + return user.asString(); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java index cdf1701..f890c4a 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/event/PropagateLookupRightListener.java @@ -127,7 +127,7 @@ public class PropagateLookupRightListener implements MailboxListener { } catch (MailboxException e) { LOGGER.error(String.format("Mailbox '%s' does not exist, user '%s' cannot share mailbox", mailboxPath, - session.getUser().getUserName()), e); + session.getUser().asString()), e); } } } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetFilterMethod.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetFilterMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetFilterMethod.java index 275417e..56a3cd7 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetFilterMethod.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetFilterMethod.java @@ -81,7 +81,7 @@ public class GetFilterMethod implements Method { private Stream<JmapResponse> process(ClientId clientId, MailboxSession mailboxSession, GetFilterRequest request) { try { - return retrieveFilter(clientId, mailboxSession.getUser().getCoreUser()); + return retrieveFilter(clientId, mailboxSession.getUser()); } catch (Exception e) { LOGGER.warn("Failed to retrieve filter"); http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetVacationResponseMethod.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetVacationResponseMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetVacationResponseMethod.java index e242c7d..445c760 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetVacationResponseMethod.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/GetVacationResponseMethod.java @@ -82,9 +82,9 @@ public class GetVacationResponseMethod implements Method { } private GetVacationResponse process(MailboxSession mailboxSession) { - Vacation vacation = vacationRepository.retrieveVacation(AccountId.fromString(mailboxSession.getUser().getUserName())).join(); + Vacation vacation = vacationRepository.retrieveVacation(AccountId.fromString(mailboxSession.getUser().asString())).join(); return GetVacationResponse.builder() - .accountId(mailboxSession.getUser().getUserName()) + .accountId(mailboxSession.getUser().asString()) .vacationResponse(VacationResponse.builder() .fromVacation(vacation) .activated(vacation.isActiveAtDate(zonedDateTimeProvider.get())) http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageSender.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageSender.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageSender.java index d9d69a9..cab1956 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageSender.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/MessageSender.java @@ -56,7 +56,7 @@ public class MessageSender { public void sendMessage(MessageId messageId, Mail mail, MailboxSession session) throws MessagingException { - MailMetadata metadata = new MailMetadata(messageId, session.getUser().getUserName()); + MailMetadata metadata = new MailMetadata(messageId, session.getUser().asString()); mailSpool.send(mail, metadata); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/RequestHandler.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/RequestHandler.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/RequestHandler.java index a8c42f3..09a70aa 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/RequestHandler.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/RequestHandler.java @@ -30,6 +30,7 @@ import java.util.stream.Stream; import javax.inject.Inject; +import org.apache.james.core.User; import org.apache.james.jmap.JmapFieldNotSupportedException; import org.apache.james.jmap.model.AuthenticatedProtocolRequest; import org.apache.james.jmap.model.ProtocolResponse; @@ -58,7 +59,7 @@ public class RequestHandler { Optional<MailboxSession> mailboxSession = Optional.ofNullable(request.getMailboxSession()); try (Closeable closeable = MDCBuilder.create() - .addContext(MDCBuilder.USER, mailboxSession.map(MailboxSession::getUser).map(MailboxSession.User::getUserName)) + .addContext(MDCBuilder.USER, mailboxSession.map(MailboxSession::getUser).map(User::asString)) .addContext(MDCBuilder.SESSION_ID, mailboxSession.map(MailboxSession::getSessionId)) .addContext(MDCBuilder.ACTION, request.getMethodName().getName()) .build()) { http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SendMDNProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SendMDNProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SendMDNProcessor.java index 086c7dd..6ec6098 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SendMDNProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SendMDNProcessor.java @@ -189,7 +189,7 @@ public class SendMDNProcessor implements SetMessagesProcessor { private MessageManager getOutbox(MailboxSession mailboxSession) throws MailboxException { - return systemMailboxesProvider.getMailboxByRole(Role.OUTBOX, mailboxSession.getUser().getCoreUser()) + return systemMailboxesProvider.getMailboxByRole(Role.OUTBOX, mailboxSession.getUser()) .findAny() .orElseThrow(() -> new IllegalStateException("User don't have an Outbox")); } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetFilterMethod.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetFilterMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetFilterMethod.java index 72397ca..221638c 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetFilterMethod.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetFilterMethod.java @@ -121,7 +121,7 @@ public class SetFilterMethod implements Method { private Stream<JmapResponse> process(ClientId clientId, MailboxSession mailboxSession, SetFilterRequest request) { try { - return updateFilter(clientId, request, mailboxSession.getUser().getCoreUser()); + return updateFilter(clientId, request, mailboxSession.getUser()); } catch (MultipleMailboxIdException e) { LOGGER.debug("Rule targeting several mailboxes", e); return Stream.of(multipleMailboxesError(clientId, e)); http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java index 323df90..6113171 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesCreationProcessor.java @@ -178,10 +178,10 @@ public class SetMailboxesCreationProcessor implements SetMailboxesProcessor { assertBelongsToUser(parentPath, mailboxSession); - return MailboxPath.forUser(mailboxSession.getUser().getUserName(), + return MailboxPath.forUser(mailboxSession.getUser().asString(), parentPath.getName() + mailboxSession.getPathDelimiter() + mailboxRequest.getName()); } - return MailboxPath.forUser(mailboxSession.getUser().getUserName(), mailboxRequest.getName()); + return MailboxPath.forUser(mailboxSession.getUser().asString(), mailboxRequest.getName()); } private void assertBelongsToUser(MailboxPath mailboxPath, MailboxSession mailboxSession) throws MailboxNotOwnedException { http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java index 819a601..fcc122c 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMailboxesUpdateProcessor.java @@ -284,7 +284,7 @@ public class SetMailboxesUpdateProcessor implements SetMailboxesProcessor { Optional<MailboxId> parentId = updateRequest.getParentId(); if (parentId == null) { return MailboxPath.forUser( - mailboxSession.getUser().getUserName(), + mailboxSession.getUser().asString(), updateRequest.getName().orElse(mailbox.getName())); } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java index dc135e6..627e9a8 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesCreationProcessor.java @@ -29,6 +29,7 @@ import java.util.stream.Collectors; import javax.inject.Inject; import javax.mail.MessagingException; +import org.apache.james.core.User; import org.apache.james.jmap.exceptions.AttachmentsNotFoundException; import org.apache.james.jmap.exceptions.InvalidDraftKeywordsException; import org.apache.james.jmap.exceptions.InvalidMailboxForCreationException; @@ -283,9 +284,9 @@ public class SetMessagesCreationProcessor implements SetMessagesProcessor { private void assertUserIsSender(MailboxSession session, Optional<DraftEmailer> from) throws MailboxSendingNotAllowedException { if (!from.flatMap(DraftEmailer::getEmail) - .filter(email -> session.getUser().isSameUser(email)) + .filter(email -> session.getUser().equals(User.fromUsername(email))) .isPresent()) { - String allowedSender = session.getUser().getUserName(); + String allowedSender = session.getUser().asString(); throw new MailboxSendingNotAllowedException(allowedSender); } } @@ -309,7 +310,7 @@ public class SetMessagesCreationProcessor implements SetMessagesProcessor { } private Optional<MessageManager> getMailboxWithRole(MailboxSession mailboxSession, Role role) throws MailboxException { - return systemMailboxesProvider.getMailboxByRole(role, mailboxSession.getUser().getCoreUser()).findFirst(); + return systemMailboxesProvider.getMailboxByRole(role, mailboxSession.getUser()).findFirst(); } private SetError buildSetErrorFromValidationResult(List<ValidationResult> validationErrors) { http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java index 17a081a..14d88df 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetMessagesUpdateProcessor.java @@ -36,6 +36,7 @@ import javax.mail.Session; import javax.mail.internet.MimeMessage; import org.apache.james.core.MailAddress; +import org.apache.james.core.User; import org.apache.james.jmap.exceptions.DraftMessageMailboxUpdateException; import org.apache.james.jmap.exceptions.InvalidOutboxMoveException; import org.apache.james.jmap.model.Keyword; @@ -190,11 +191,11 @@ public class SetMessagesUpdateProcessor implements SetMessagesProcessor { } private void assertUserIsSender(MailboxSession session, Optional<MailAddress> sender) throws MailboxSendingNotAllowedException { - boolean userIsSender = sender.map(address -> session.getUser().isSameUser(address.asString())) + boolean userIsSender = sender.map(address -> session.getUser().equals(User.fromMailAddress(address))) .orElse(false); if (!userIsSender) { - String allowedSender = session.getUser().getUserName(); + String allowedSender = session.getUser().asString(); throw new MailboxSendingNotAllowedException(allowedSender); } } @@ -245,7 +246,7 @@ public class SetMessagesUpdateProcessor implements SetMessagesProcessor { } private List<MailboxId> mailboxIdFor(Role role, MailboxSession session) throws MailboxException { - return systemMailboxesProvider.getMailboxByRole(role, session.getUser().getCoreUser()) + return systemMailboxesProvider.getMailboxByRole(role, session.getUser()) .map(MessageManager::getId) .collect(Guavate.toImmutableList()); } @@ -273,7 +274,7 @@ public class SetMessagesUpdateProcessor implements SetMessagesProcessor { } private Set<MailboxId> listMailboxIdsForRole(MailboxSession session, Role role) throws MailboxException { - return systemMailboxesProvider.getMailboxByRole(role, session.getUser().getCoreUser()) + return systemMailboxesProvider.getMailboxByRole(role, session.getUser()) .map(MessageManager::getId) .collect(Guavate.toImmutableSet()); } http://git-wip-us.apache.org/repos/asf/james-project/blob/46e26b8d/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetVacationResponseMethod.java ---------------------------------------------------------------------- diff --git a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetVacationResponseMethod.java b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetVacationResponseMethod.java index d10cc3f..3cc6266 100644 --- a/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetVacationResponseMethod.java +++ b/server/protocols/jmap/src/main/java/org/apache/james/jmap/methods/SetVacationResponseMethod.java @@ -97,7 +97,7 @@ public class SetVacationResponseMethod implements Method { } return process(clientId, - AccountId.fromString(mailboxSession.getUser().getUserName()), + AccountId.fromString(mailboxSession.getUser().asString()), setVacationRequest.getUpdate().get(Vacation.ID)); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
