MAILBOX-307 Allow full ACL reset operations
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/5accac0a Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/5accac0a Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/5accac0a Branch: refs/heads/master Commit: 5accac0a31e96a110629a34d6e05a3704735ddf9 Parents: d87584e Author: benwa <btell...@linagora.com> Authored: Mon Sep 25 16:16:40 2017 +0700 Committer: Matthieu Baechler <matth...@apache.org> Committed: Fri Sep 29 09:20:40 2017 +0200 ---------------------------------------------------------------------- .../apache/james/mailbox/MailboxManager.java | 8 +++++ .../mailbox/caching/CachingMailboxMapper.java | 5 +++ .../cassandra/mail/CassandraACLMapper.java | 16 +++++++-- .../cassandra/mail/CassandraMailboxMapper.java | 15 +++++++-- .../mailbox/hbase/mail/HBaseMailboxMapper.java | 5 +++ .../mailbox/jcr/mail/JCRMailboxMapper.java | 5 +++ .../mailbox/jpa/mail/JPAMailboxMapper.java | 5 +++ .../jpa/mail/TransactionalMailboxMapper.java | 6 ++++ .../maildir/mail/MaildirMailboxMapper.java | 7 ++++ .../inmemory/mail/InMemoryMailboxMapper.java | 5 +++ .../mailbox/store/StoreMailboxManager.java | 7 ++++ .../james/mailbox/store/mail/MailboxMapper.java | 8 +++++ .../store/TestMailboxSessionMapperFactory.java | 5 +++ .../store/mail/model/MailboxMapperACLTest.java | 35 ++++++++++++++++++++ .../base/MailboxEventAnalyserTest.java | 10 +++++- 15 files changed, 136 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java ---------------------------------------------------------------------- diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java index 0a34607..2963ad6 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java @@ -397,6 +397,14 @@ public interface MailboxManager extends RequestAware, MailboxListenerSupport { /** + * Reset the Mailbox ACL of the designated mailbox. + * + * @param mailboxACL New ACL value + * @throws UnsupportedRightException + */ + void resetRights(MailboxPath mailboxPath, MailboxACL mailboxACL, MailboxSession session) throws MailboxException; + + /** * Return a unmodifiable {@link List} of {@link MailboxPath} objects * * @param session http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMailboxMapper.java b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMailboxMapper.java index 2c326c4..737a33f 100644 --- a/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMailboxMapper.java +++ b/mailbox/caching/src/main/java/org/apache/james/mailbox/caching/CachingMailboxMapper.java @@ -110,6 +110,11 @@ public class CachingMailboxMapper implements MailboxMapper { mailbox.setACL(mailbox.getACL().apply(mailboxACLCommand)); } + @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + mailbox.setACL(mailboxACL); + } + private void invalidate(Mailbox mailbox) { cache.invalidate(mailbox); } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java index 9a951a2..f7df7d5 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraACLMapper.java @@ -53,6 +53,8 @@ import com.google.common.base.Preconditions; import com.google.common.base.Throwables; public class CassandraACLMapper { + private static final Logger LOG = LoggerFactory.getLogger(CassandraACLMapper.class); + public static final int INITIAL_VALUE = 0; @FunctionalInterface public interface CodeInjector { @@ -65,8 +67,6 @@ public class CassandraACLMapper { private final int maxRetry; private final CodeInjector codeInjector; - private static final Logger LOG = LoggerFactory.getLogger(CassandraACLMapper.class); - public CassandraACLMapper(CassandraId cassandraId, Session session, CassandraAsyncExecutor cassandraAsyncExecutor, CassandraConfiguration cassandraConfiguration) { this(cassandraId, session, cassandraAsyncExecutor, cassandraConfiguration, () -> {}); } @@ -107,6 +107,18 @@ public class CassandraACLMapper { } } + public void resetACL(MailboxACL mailboxACL) { + try { + session.execute( + insertInto(CassandraACLTable.TABLE_NAME) + .value(CassandraACLTable.ID, cassandraId.asUuid()) + .value(CassandraACLTable.ACL, SimpleMailboxACLJsonConverter.toJson(mailboxACL)) + .value(CassandraACLTable.VERSION, INITIAL_VALUE)); + } catch (JsonProcessingException e) { + throw Throwables.propagate(e); + } + } + private MailboxACL applyCommandOnEmptyACL(MailboxACL.MailboxACLCommand command) { try { return SimpleMailboxACL.EMPTY.apply(command); http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java index c170a73..81b43e7 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java @@ -27,6 +27,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; import java.util.regex.Pattern; import java.util.stream.Collectors; + import javax.inject.Inject; import org.apache.commons.lang3.StringUtils; @@ -46,13 +47,13 @@ import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox; import org.apache.james.util.CompletableFutureUtil; import org.apache.james.util.FluentFutureStream; import org.apache.james.util.OptionalUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.datastax.driver.core.Session; import com.datastax.driver.core.exceptions.InvalidQueryException; import com.github.steveash.guavate.Guavate; import com.google.common.base.Preconditions; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; public class CassandraMailboxMapper implements MailboxMapper { @@ -205,7 +206,15 @@ public class CassandraMailboxMapper implements MailboxMapper { @Override public void updateACL(Mailbox mailbox, MailboxACL.MailboxACLCommand mailboxACLCommand) throws MailboxException { CassandraId cassandraId = (CassandraId) mailbox.getMailboxId(); - new CassandraACLMapper(cassandraId, session, cassandraAsyncExecutor, cassandraConfiguration).updateACL(mailboxACLCommand); + new CassandraACLMapper(cassandraId, session, cassandraAsyncExecutor, cassandraConfiguration) + .updateACL(mailboxACLCommand); + } + + @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + CassandraId cassandraId = (CassandraId) mailbox.getMailboxId(); + new CassandraACLMapper(cassandraId, session, cassandraAsyncExecutor, cassandraConfiguration) + .resetACL(mailboxACL); } @Override http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java index 4b205fe..7675e4a 100644 --- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java +++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMailboxMapper.java @@ -417,4 +417,9 @@ public class HBaseMailboxMapper extends HBaseNonTransactionalMapper implements M public void updateACL(Mailbox mailbox, MailboxACL.MailboxACLCommand mailboxACLCommand) throws MailboxException { mailbox.setACL(mailbox.getACL().apply(mailboxACLCommand)); } + + @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + mailbox.setACL(mailboxACL); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java index 901a268..67f68c4 100644 --- a/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java +++ b/mailbox/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMailboxMapper.java @@ -254,4 +254,9 @@ public class JCRMailboxMapper extends AbstractJCRScalingMapper implements Mailbo public void updateACL(Mailbox mailbox, MailboxACL.MailboxACLCommand mailboxACLCommand) throws MailboxException { mailbox.setACL(mailbox.getACL().apply(mailboxACLCommand)); } + + @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + mailbox.setACL(mailboxACL); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java index a6a7abe..1f14941 100644 --- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java +++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMailboxMapper.java @@ -224,4 +224,9 @@ public class JPAMailboxMapper extends JPATransactionalMapper implements MailboxM public void updateACL(Mailbox mailbox, MailboxACL.MailboxACLCommand mailboxACLCommand) throws MailboxException { mailbox.setACL(mailbox.getACL().apply(mailboxACLCommand)); } + + @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + mailbox.setACL(mailboxACL); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java index f828dfd..e9a0186 100644 --- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java +++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMailboxMapper.java @@ -24,6 +24,7 @@ import java.util.List; import org.apache.commons.lang.NotImplementedException; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.exception.MailboxNotFoundException; +import org.apache.james.mailbox.model.MailboxACL; import org.apache.james.mailbox.model.MailboxACL.MailboxACLCommand; import org.apache.james.mailbox.model.MailboxId; import org.apache.james.mailbox.model.MailboxPath; @@ -84,6 +85,11 @@ public class TransactionalMailboxMapper implements MailboxMapper { } @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + wrapped.resetACL(mailbox, mailboxACL); + } + + @Override public List<Mailbox> list() throws MailboxException { return wrapped.list(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java index e24e4c7..164369a 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMailboxMapper.java @@ -339,4 +339,11 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail folder.setACL(session, newACL); mailbox.setACL(newACL); } + + @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); + folder.setACL(session, mailboxACL); + mailbox.setACL(mailboxACL); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java index 5d57d6c..918be78 100644 --- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java +++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMailboxMapper.java @@ -158,4 +158,9 @@ public class InMemoryMailboxMapper implements MailboxMapper { public void updateACL(Mailbox mailbox, MailboxACL.MailboxACLCommand mailboxACLCommand) throws MailboxException{ mailboxesByPath.get(mailbox.generateAssociatedPath()).setACL(mailbox.getACL().apply(mailboxACLCommand)); } + + @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + mailboxesByPath.get(mailbox.generateAssociatedPath()).setACL(mailboxACL); + } } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/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 a9398df..16391f9 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 @@ -822,6 +822,13 @@ public class StoreMailboxManager implements MailboxManager { final Mailbox mailbox = mapper.findMailboxByPath(mailboxPath); mapper.execute(Mapper.toTransaction(() -> mapper.updateACL(mailbox, mailboxACLCommand))); } + + @Override + public void resetRights(MailboxPath mailboxPath, MailboxACL mailboxACLCommand, MailboxSession session) throws MailboxException { + final MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(session); + final Mailbox mailbox = mapper.findMailboxByPath(mailboxPath); + mapper.execute(Mapper.toTransaction(() -> mapper.resetACL(mailbox, mailboxACLCommand))); + } @Override public List<MailboxAnnotation> getAllAnnotations(MailboxPath mailboxPath, MailboxSession session) throws MailboxException { http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java index f737328..bebf176 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java @@ -105,6 +105,14 @@ public interface MailboxMapper extends Mapper { void updateACL(Mailbox mailbox, MailboxACL.MailboxACLCommand mailboxACLCommand) throws MailboxException; /** + * Reset the ACL of the stored mailbox. + * + * @param mailbox Mailbox for whom we want to update ACL + * @param mailboxACL New value of the ACL for this mailbox + */ + void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException; + + /** * Return a unmodifable {@link List} of all {@link Mailbox} * * @return mailboxList http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java index e187de0..63dd590 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/TestMailboxSessionMapperFactory.java @@ -144,6 +144,11 @@ public class TestMailboxSessionMapperFactory extends MailboxSessionMapperFactory } @Override + public void resetACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { + throw new NotImplementedException(); + } + + @Override public List<Mailbox> list() throws MailboxException { throw new NotImplementedException(); } http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java ---------------------------------------------------------------------- diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java index fe5b593..8ba8e8c 100644 --- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java +++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/mail/model/MailboxMapperACLTest.java @@ -247,6 +247,41 @@ public abstract class MailboxMapperACLTest { .containsEntry(key, finalRights); } + @Test + public void resetAclShouldReplaceStoredAcl() throws MailboxException { + SimpleMailboxACL.SimpleMailboxACLEntryKey key = new SimpleMailboxACL.SimpleMailboxACLEntryKey("user", MailboxACL.NameType.user, NEGATIVE); + SimpleMailboxACL.Rfc4314Rights rights = new SimpleMailboxACL.Rfc4314Rights("asew"); + SimpleMailboxACL.Rfc4314Rights newRights = new SimpleMailboxACL.Rfc4314Rights("skate"); + mailboxMapper.updateACL(benwaInboxMailbox, + new SimpleMailboxACL.SimpleMailboxACLCommand(key, + MailboxACL.EditMode.REPLACE, + rights)); + mailboxMapper.resetACL(benwaInboxMailbox, + new SimpleMailboxACL(ImmutableMap.of(key, newRights))); + + assertThat( + mailboxMapper.findMailboxById(benwaInboxMailbox.getMailboxId()) + .getACL() + .getEntries()) + .hasSize(1) + .containsEntry(key, newRights); + } + + @Test + public void resetAclShouldInitializeStoredAcl() throws MailboxException { + SimpleMailboxACL.SimpleMailboxACLEntryKey key = new SimpleMailboxACL.SimpleMailboxACLEntryKey("user", MailboxACL.NameType.user, NEGATIVE); + SimpleMailboxACL.Rfc4314Rights rights = new SimpleMailboxACL.Rfc4314Rights("skate"); + mailboxMapper.resetACL(benwaInboxMailbox, + new SimpleMailboxACL(ImmutableMap.of(key, rights))); + + assertThat( + mailboxMapper.findMailboxById(benwaInboxMailbox.getMailboxId()) + .getACL() + .getEntries()) + .hasSize(1) + .containsEntry(key, rights); + } + private SimpleMailbox createMailbox(MailboxPath mailboxPath) { SimpleMailbox mailbox = new SimpleMailbox(mailboxPath, UID_VALIDITY); mailbox.setMailboxId(mapperProvider.generateId()); http://git-wip-us.apache.org/repos/asf/james-project/blob/5accac0a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java ---------------------------------------------------------------------- diff --git a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java index ae63f9f..1894ce4 100644 --- a/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java +++ b/protocols/imap/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java @@ -23,6 +23,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; + import java.io.IOException; import java.io.InputStream; import java.util.Collection; @@ -33,8 +34,10 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; + import javax.mail.Flags; +import org.apache.commons.lang.NotImplementedException; import org.apache.james.imap.api.ImapSessionState; import org.apache.james.imap.api.ImapSessionUtils; import org.apache.james.imap.api.process.ImapLineHandler; @@ -50,6 +53,7 @@ import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.model.ComposedMessageId; import org.apache.james.mailbox.model.Content; import org.apache.james.mailbox.model.Headers; +import org.apache.james.mailbox.model.MailboxACL; import org.apache.james.mailbox.model.MailboxACL.MailboxACLCommand; import org.apache.james.mailbox.model.MailboxACL.MailboxACLEntryKey; import org.apache.james.mailbox.model.MailboxACL.MailboxACLRight; @@ -74,7 +78,6 @@ import org.apache.james.mailbox.model.TestId; import org.apache.james.mailbox.model.UpdatedFlags; import org.apache.james.mailbox.store.mail.model.DefaultMessageId; import org.junit.Test; -import org.apache.commons.lang.NotImplementedException; import com.google.common.collect.ImmutableList; @@ -379,6 +382,11 @@ public class MailboxEventAnalyserTest { } @Override + public void resetRights(MailboxPath mailboxPath, MailboxACL mailboxACL, MailboxSession session) throws MailboxException { + throw new NotImplementedException("Not implemented"); + } + + @Override public List<MailboxAnnotation> getAllAnnotations(MailboxPath mailboxPath, MailboxSession session) throws MailboxException { return null; --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org