JAMES-1925 Rely on mailbox::gererateAssociatedMailboxPath where we can
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/0ac25301 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/0ac25301 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/0ac25301 Branch: refs/heads/master Commit: 0ac2530127013530513014f881a4369aa658f9d9 Parents: 5c4c181 Author: Benoit Tellier <[email protected]> Authored: Tue Feb 14 12:08:57 2017 +0700 Committer: Antoine Duprat <[email protected]> Committed: Wed Feb 15 13:12:37 2017 +0100 ---------------------------------------------------------------------- .../java/org/apache/james/mailbox/model/MailboxPath.java | 2 -- .../mailbox/caching/guava/GuavaMailboxByPathCache.java | 2 +- .../org/apache/james/mailbox/maildir/MaildirStore.java | 2 +- .../apache/james/mailbox/store/StoreMailboxManager.java | 2 +- .../org/apache/james/mailbox/store/StoreMailboxPath.java | 2 +- .../james/mailbox/store/StoreMessageIdManager.java | 2 +- .../mailbox/store/quota/DefaultQuotaRootResolver.java | 2 +- .../apache/james/mailbox/store/quota/QuotaChecker.java | 2 +- .../james/mailbox/store/MailboxEventDispatcherTest.java | 11 +++++++---- .../store/event/MailboxAnnotationListenerTest.java | 10 ++++++++-- 10 files changed, 22 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/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 9bedf42..3654dfb 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 @@ -32,8 +32,6 @@ public class MailboxPath { private String namespace; private String user; private String name; - - public MailboxPath(String namespace, String user, String name) { if (namespace == null || namespace.equals("")) { http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxByPathCache.java ---------------------------------------------------------------------- diff --git a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxByPathCache.java b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxByPathCache.java index c6b4e29..f893b91 100644 --- a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxByPathCache.java +++ b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/guava/GuavaMailboxByPathCache.java @@ -48,7 +48,7 @@ public class GuavaMailboxByPathCache extends AbstractGuavaCache implements Mailb @Override public void invalidate(Mailbox mailbox) { - invalidate(new MailboxPath(mailbox.getNamespace(), mailbox.getUser(), mailbox.getName())); + invalidate(mailbox.generateAssociatedPath()); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java ---------------------------------------------------------------------- diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java index 0c7e4da..bbb9244 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirStore.java @@ -85,7 +85,7 @@ public class MaildirStore implements UidProvider, ModSeqProvider { * @return The MaildirFolder */ public MaildirFolder createMaildirFolder(Mailbox mailbox) { - MaildirFolder mf = new MaildirFolder(getFolderName(mailbox), new MailboxPath(mailbox.getNamespace(), mailbox.getUser(), mailbox.getName()), locker); + MaildirFolder mf = new MaildirFolder(getFolderName(mailbox), mailbox.generateAssociatedPath(), locker); mf.setMessageNameStrictParse(isMessageNameStrictParse()); return mf; } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/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 0175215..e426ebb 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 @@ -791,7 +791,7 @@ public class StoreMailboxManager implements MailboxManager { List<MailboxPath> mList = new ArrayList<MailboxPath>(); List<Mailbox> mailboxes = mailboxSessionMapperFactory.getMailboxMapper(session).list(); for (Mailbox m : mailboxes) { - mList.add(new MailboxPath(m.getNamespace(), m.getUser(), m.getName())); + mList.add(m.generateAssociatedPath()); } return Collections.unmodifiableList(mList); http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxPath.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxPath.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxPath.java index 2e905c2..85fff49 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxPath.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxPath.java @@ -37,7 +37,7 @@ public class StoreMailboxPath extends MailboxPath { } public StoreMailboxPath(Mailbox mailbox) { - super(mailbox.getNamespace(), mailbox.getUser(), mailbox.getName()); + super(mailbox.generateAssociatedPath()); } } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/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 6f436a1..cde6f3b 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 @@ -215,7 +215,7 @@ public class StoreMessageIdManager implements MessageIdManager { private QuotaRoot retrieveQuotaRoot(MailboxMapper mailboxMapper, MailboxId mailboxId) throws MailboxException { Mailbox mailbox = mailboxMapper.findMailboxById(mailboxId); - return quotaRootResolver.getQuotaRoot(new MailboxPath(mailbox.getNamespace(), mailbox.getUser(), mailbox.getName())); + return quotaRootResolver.getQuotaRoot(mailbox.generateAssociatedPath()); } private void addMessageToMailboxes(MessageIdMapper messageIdMapper, MailboxMessage mailboxMessage, SetView<MailboxId> mailboxIds, MailboxSession mailboxSession) throws MailboxException { http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java index 7dbf12e..1e49b7d 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java @@ -71,7 +71,7 @@ public class DefaultQuotaRootResolver implements QuotaRootResolver { new Function<Mailbox, MailboxPath>() { @Override public MailboxPath apply(Mailbox idMailbox) { - return new MailboxPath(idMailbox.getNamespace(), idMailbox.getUser(), idMailbox.getName()); + return idMailbox.generateAssociatedPath(); } }); } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaChecker.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaChecker.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaChecker.java index 2887086..c5a73b4 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaChecker.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/QuotaChecker.java @@ -35,7 +35,7 @@ public class QuotaChecker { private final QuotaRoot quotaRoot; public QuotaChecker(QuotaManager quotaManager, QuotaRootResolver quotaRootResolver, Mailbox mailbox) throws MailboxException { - this.quotaRoot = quotaRootResolver.getQuotaRoot(new MailboxPath(mailbox.getNamespace(), mailbox.getUser(), mailbox.getName())); + this.quotaRoot = quotaRootResolver.getQuotaRoot(mailbox.generateAssociatedPath()); this.messageQuota = quotaManager.getMessageQuota(quotaRoot); this.sizeQuota = quotaManager.getStorageQuota(quotaRoot); } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java index 552ac21..179d2f6 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MailboxEventDispatcherTest.java @@ -30,10 +30,14 @@ import org.apache.james.mailbox.MailboxListener; import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.MessageUid; import org.apache.james.mailbox.mock.MockMailboxSession; +import org.apache.james.mailbox.model.MailboxConstants; +import org.apache.james.mailbox.model.MailboxPath; import org.apache.james.mailbox.model.MessageResult; +import org.apache.james.mailbox.model.TestId; import org.apache.james.mailbox.model.UpdatedFlags; import org.apache.james.mailbox.store.event.MailboxEventDispatcher; import org.apache.james.mailbox.store.mail.model.Mailbox; +import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox; import org.apache.james.mailbox.util.EventCollector; import org.assertj.core.api.Condition; import org.junit.Before; @@ -50,6 +54,8 @@ public class MailboxEventDispatcherTest { return event instanceof MailboxListener.FlagsUpdated; } }; + public static final TestId MAILBOX_ID = TestId.of(147L); + public static final int UID_VALIDITY = 145; private MailboxEventDispatcher dispatcher; private EventCollector collector; @@ -69,12 +75,9 @@ public class MailboxEventDispatcherTest { dispatcher = MailboxEventDispatcher.ofListener(collector); result = mock(MessageResult.class); - mailbox = mock(Mailbox.class); + mailbox = new SimpleMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "user", "name"), UID_VALIDITY, MAILBOX_ID); when(result.getUid()).thenReturn(MessageUid.of(23)); - when(mailbox.getNamespace()).thenReturn("namespace"); - when(mailbox.getUser()).thenReturn("user"); - when(mailbox.getName()).thenReturn("name"); } http://git-wip-us.apache.org/repos/asf/james-project/blob/0ac25301/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java index fec0d22..5c94a3e 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MailboxAnnotationListenerTest.java @@ -31,11 +31,14 @@ import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.mock.MockMailboxSession; import org.apache.james.mailbox.model.MailboxAnnotation; import org.apache.james.mailbox.model.MailboxAnnotationKey; +import org.apache.james.mailbox.model.MailboxConstants; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; +import org.apache.james.mailbox.model.TestId; import org.apache.james.mailbox.store.MailboxSessionMapperFactory; import org.apache.james.mailbox.store.mail.AnnotationMapper; import org.apache.james.mailbox.store.mail.model.Mailbox; +import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox; import org.junit.Before; import org.junit.Test; import org.mockito.Mock; @@ -54,12 +57,14 @@ public class MailboxAnnotationListenerTest { private static final MailboxAnnotation SHARED_ANNOTATION = MailboxAnnotation.newInstance(SHARED_KEY, "My shared comment"); private static final List<MailboxAnnotation> ANNOTATIONS = ImmutableList.of(PRIVATE_ANNOTATION, SHARED_ANNOTATION); + public static final int UID_VALIDITY = 145; + public static final TestId MAILBOX_ID = TestId.of(45); @Mock private MailboxSessionMapperFactory mailboxSessionMapperFactory; @Mock private AnnotationMapper annotationMapper; - @Mock private Mailbox mailbox; @Mock private MailboxId mailboxId; + private Mailbox mailbox; private EventFactory eventFactory; private MailboxAnnotationListener listener; private MailboxListener.Event deleteEvent; @@ -69,9 +74,10 @@ public class MailboxAnnotationListenerTest { MockitoAnnotations.initMocks(this); listener = new MailboxAnnotationListener(mailboxSessionMapperFactory); eventFactory = new EventFactory(); + mailbox = new SimpleMailbox(new MailboxPath(MailboxConstants.USER_NAMESPACE, "user", "name"), UID_VALIDITY, mailboxId); + deleteEvent = eventFactory.mailboxDeleted(mailboxSession, mailbox); - when(mailbox.getMailboxId()).thenReturn(mailboxId); when(mailboxSessionMapperFactory.getAnnotationMapper(eq(deleteEvent.getSession()))).thenReturn(annotationMapper); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
