Skip to content

Commit

Permalink
JAMES-1746 As Maildir do not support NAMESPACE in the MailboxPath, in…
Browse files Browse the repository at this point in the history
…troduce a related mailbox feature
  • Loading branch information
chibenwa committed Jun 8, 2016
1 parent 311d63a commit e2a1708
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 3 deletions.
Expand Up @@ -72,7 +72,8 @@ public interface MailboxManager extends RequestAware, MailboxListenerSupport {

enum MailboxCapabilities {
Move,
UserFlag
UserFlag,
Namespace
}

EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities();
Expand Down
Expand Up @@ -64,7 +64,7 @@ public void setMessageSearchIndex(MessageSearchIndex index) {

@Override
public EnumSet<MailboxManager.MailboxCapabilities> getSupportedMailboxCapabilities() {
return EnumSet.of(MailboxCapabilities.Move, MailboxCapabilities.UserFlag);
return EnumSet.of(MailboxCapabilities.Move, MailboxCapabilities.UserFlag, MailboxCapabilities.Namespace);
}

@Override
Expand Down
Expand Up @@ -18,6 +18,8 @@
****************************************************************/
package org.apache.james.mailbox.hbase;

import java.util.EnumSet;

import org.apache.james.mailbox.MailboxPathLocker;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.acl.GroupMembershipResolver;
Expand Down Expand Up @@ -79,6 +81,11 @@ public void runVoid() throws MailboxException {
});
}

@Override
public EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities() {
return EnumSet.of(MailboxCapabilities.Namespace);
}

@Override
protected StoreMessageManager createMessageManager(Mailbox mailboxRow, MailboxSession session) throws MailboxException {
return new HBaseMessageManager(getMapperFactory(),
Expand Down
Expand Up @@ -18,6 +18,8 @@
****************************************************************/
package org.apache.james.mailbox.jcr;

import java.util.EnumSet;

import org.apache.james.mailbox.MailboxPathLocker;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.acl.GroupMembershipResolver;
Expand Down Expand Up @@ -50,6 +52,10 @@ public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory, Authentic
super(mapperFactory, authenticator, locker, aclResolver, groupMembershipResolver, messageParser);
}

@Override
public EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities() {
return EnumSet.of(MailboxCapabilities.Namespace);
}

@Override
protected StoreMessageManager createMessageManager(Mailbox mailboxEntity, MailboxSession session) throws MailboxException{
Expand Down
Expand Up @@ -18,6 +18,8 @@
****************************************************************/
package org.apache.james.mailbox.jpa;

import java.util.EnumSet;

import org.apache.james.mailbox.MailboxPathLocker;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.acl.GroupMembershipResolver;
Expand Down Expand Up @@ -47,6 +49,11 @@ protected Mailbox doCreateMailbox(MailboxPath path, MailboxSession session) thro
return new JPAMailbox(path, randomUidValidity());
}

@Override
public EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities() {
return EnumSet.of(MailboxCapabilities.UserFlag, MailboxCapabilities.Namespace);
}

/**
* Delete all mailboxes
*
Expand Down
Expand Up @@ -44,7 +44,7 @@ public InMemoryMailboxManager(MailboxSessionMapperFactory mailboxSessionMapperFa

@Override
public EnumSet<MailboxCapabilities> getSupportedMailboxCapabilities() {
return EnumSet.of(MailboxCapabilities.Move, MailboxCapabilities.UserFlag);
return EnumSet.of(MailboxCapabilities.Move, MailboxCapabilities.UserFlag, MailboxCapabilities.Namespace);
}

@Override
Expand Down

0 comments on commit e2a1708

Please sign in to comment.