You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/08/16 09:45:40 UTC
[07/18] james-project git commit: JAMES-2107 Run IntelliJ inspection:
"Convert to lambas"
JAMES-2107 Run IntelliJ inspection: "Convert to lambas"
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/855a3c87
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/855a3c87
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/855a3c87
Branch: refs/heads/master
Commit: 855a3c87e7a903649f986aeff8a5e03c63fd8db5
Parents: f40ce32
Author: benwa <bt...@linagora.com>
Authored: Tue Aug 1 17:22:01 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Wed Aug 16 16:44:07 2017 +0700
----------------------------------------------------------------------
.../james/backends/jpa/JpaTestCluster.java | 12 +-
.../james/mailbox/MailboxManagerStressTest.java | 43 +-
.../mailbox/hbase/mail/HBaseMessageMapper.java | 9 +-
.../mailbox/hbase/HBaseClusterSingleton.java | 14 +-
.../mailbox/jpa/mail/JPAAnnotationMapper.java | 84 +--
.../mailbox/jpa/mail/JPAMessageMapper.java | 8 +-
.../jpa/mail/TransactionalMailboxMapper.java | 7 +-
.../jpa/mail/TransactionalMessageMapper.java | 32 +-
.../lucene/search/LuceneMessageSearchIndex.java | 15 +-
.../james/mailbox/maildir/MaildirFolder.java | 596 +++++++++----------
.../mailbox/maildir/MaildirMessageName.java | 9 +-
.../james/mailbox/maildir/MaildirStore.java | 10 +-
.../maildir/mail/MaildirMailboxMapper.java | 8 +-
.../inmemory/InMemoryMessageIdManager.java | 43 +-
.../inmemory/mail/InMemoryAnnotationMapper.java | 45 +-
.../InMemoryMessageIdManagerTestSystem.java | 9 +-
.../quota/InMemoryCurrentQuotaManagerTest.java | 30 +-
.../mailbox/store/StoreMailboxManager.java | 139 ++---
.../mailbox/store/StoreMessageIdManager.java | 62 +-
.../mailbox/store/StoreMessageManager.java | 136 ++---
.../store/event/AsynchronousEventDelivery.java | 14 +-
.../dto/MailboxSessionDataTransferObject.java | 26 +-
.../dto/MessageMetaDataDataTransferObject.java | 8 +-
.../mail/AbstractLockingModSeqProvider.java | 12 +-
.../store/mail/AbstractLockingUidProvider.java | 12 +-
.../store/mail/AbstractMessageMapper.java | 10 +-
.../store/mail/model/impl/MessageParser.java | 54 +-
.../store/mail/model/impl/PropertyBuilder.java | 13 +-
.../mail/utils/ApplicableFlagCalculator.java | 12 +-
.../store/quota/CurrentQuotaCalculator.java | 14 +-
.../store/quota/DefaultQuotaRootResolver.java | 11 +-
.../mailbox/store/search/MessageSearches.java | 14 +-
.../store/search/SimpleMessageSearchIndex.java | 51 +-
.../search/comparator/CombinedComparator.java | 7 +-
.../store/AbstractCombinationManagerTest.java | 7 +-
.../AbstractMessageIdManagerStorageTest.java | 41 +-
.../james/mailbox/store/MessageBatcherTest.java | 19 +-
.../StoreMailboxManagerAnnotationTest.java | 10 +-
.../StoreMailboxMessageResultIteratorTest.java | 10 +-
.../store/TestMailboxSessionMapperFactory.java | 67 +--
.../DefaultDelegatingMailboxListenerTest.java | 11 +-
.../store/event/MixedEventDeliveryTest.java | 27 +-
.../BroadcastDelegatingMailboxListenerTest.java | 94 +--
.../DistantMailboxPathRegisterTest.java | 102 ++--
...RegisteredDelegatingMailboxListenerTest.java | 111 +---
.../store/mail/model/ListMailboxAssert.java | 12 +-
.../store/mail/model/ListMessageAssert.java | 19 +-
.../mail/model/ListMessagePropertiesAssert.java | 7 +-
.../store/mail/model/MessageIdMapperTest.java | 22 +-
.../store/mail/model/MessageMapperTest.java | 20 +-
.../quota/DefaultQuotaRootResolverTest.java | 18 +-
.../mailbox/store/quota/QuotaCheckerTest.java | 108 +---
.../store/quota/StoreQuotaManagerTest.java | 77 +--
.../james/mailbox/copier/MailboxCopierTest.java | 19 +-
.../mailbox/indexer/ReIndexerImplTest.java | 45 +-
.../org/apache/mailet/PerRecipientHeaders.java | 11 +-
.../mailet/base/MailetPipelineLogging.java | 21 +-
.../mailet/base/test/MimeMessageBuilder.java | 13 +-
.../james/mailet/AbstractMailetdocsReport.java | 9 +-
.../mailet/DefaultDescriptorsExtractor.java | 12 +-
.../transport/mailets/RecipientToLowerCase.java | 22 +-
.../transport/mailets/UseHeaderRecipients.java | 22 +-
.../utils/MailAddressCollectionReader.java | 22 +-
.../mailets/RecipientToLowerCaseTest.java | 10 +-
.../transport/mailets/StripAttachmentTest.java | 9 +-
.../james/mpt/session/ExternalSession.java | 12 +-
.../james/mpt/testsuite/HaveSpaceTest.java | 10 +-
.../api/AbstractProtocolTransport.java | 11 +-
.../api/handler/CommandDispatcher.java | 28 +-
.../api/AbstractProtocolTransportTest.java | 35 +-
.../james/imap/api/ImapConfiguration.java | 17 +-
.../imap/decode/parser/SearchCommandParser.java | 18 +-
.../parser/SetAnnotationCommandParser.java | 6 +-
.../imap/processor/AuthenticateProcessor.java | 19 +-
.../imap/processor/GetAnnotationProcessor.java | 44 +-
.../processor/base/SelectedMailboxImplTest.java | 40 +-
.../processor/base/UidMsnConverterTest.java | 27 +-
.../james/managesieve/core/CoreProcessor.java | 129 ++--
.../AllButStartTlsDelimiterChannelHandler.java | 17 +-
.../smtp/core/ReceivedDataLineFilter.java | 37 +-
.../protocols/smtp/AbstractSMTPServerTest.java | 8 +-
.../org/apache/james/DockerCassandraRule.java | 2 +-
.../java/org/apache/james/ESReporterTest.java | 6 +-
.../james/utils/ConfigurationsPerformer.java | 2 +-
.../org/apache/james/JPAJamesServerMain.java | 2 +-
.../james/onami/lifecycle/LifeCycleModule.java | 25 +-
.../onami/lifecycle/LifeCycleStageModule.java | 11 +-
.../james/onami/lifecycle/StageableMethod.java | 9 +-
.../onami/lifecycle/DefaultStagerTestCase.java | 42 +-
...AbstractOSGIAnnotationBeanPostProcessor.java | 10 +-
.../util/mime/MessageContentExtractor.java | 2 +-
.../concurrency/ConcurrentTestRunnerTest.java | 64 +-
.../mailrepository/jcr/JCRMailRepository.java | 19 +-
.../org/apache/james/rrt/lib/MappingsImpl.java | 15 +-
.../rrt/memory/MemoryRecipientRewriteTable.java | 35 +-
.../user/memory/MemoryUsersRepository.java | 19 +-
.../dnsservice/api/InMemoryDNSService.java | 14 +-
.../library/netmatcher/NetMatcher.java | 6 +-
.../mailetcontainer/impl/JamesMailSpooler.java | 62 +-
.../mailets/RecipientRewriteTableProcessor.java | 117 +---
.../transport/mailets/jsieve/DiscardAction.java | 13 +-
.../mailets/jsieve/SieveMailAdapter.java | 47 +-
.../mailets/jsieve/VacationAction.java | 7 +-
.../transport/mailets/jsieve/VacationReply.java | 25 +-
...ddressesArrayToMailAddressListConverter.java | 37 +-
.../remoteDelivery/DeliveryRunnable.java | 7 +-
.../EnhancedMessagingException.java | 7 +-
.../InternetAddressConverter.java | 10 +-
.../james/transport/util/MailAddressUtils.java | 9 +-
.../remoteDelivery/DeliveryRunnableTest.java | 7 +-
.../RemoteDeliveryRunningTest.java | 13 +-
.../cassandra/cucumber/CassandraStepdefs.java | 2 +-
.../cucumber/GetMessagesMethodStepdefs.java | 2 +-
.../james/jmap/JWTAuthenticationStrategy.java | 2 +-
...ameterAccessTokenAuthenticationStrategy.java | 2 +-
.../james/jmap/mailet/VacationMailet.java | 5 +-
.../methods/SetMailboxesCreationProcessor.java | 2 +-
.../methods/SetMessagesCreationProcessor.java | 2 +-
.../methods/SetMessagesUpdateProcessor.java | 2 +-
.../james/jmap/model/MessageProperties.java | 2 +-
.../SetMessagesCreationProcessorTest.java | 5 +-
.../james/jmap/model/FilterOperatorTest.java | 6 +-
.../apache/james/jmap/send/MailSpoolTest.java | 9 +-
.../apache/james/jwt/PublicKeyProviderTest.java | 2 +-
.../apache/james/pop3server/POP3ServerTest.java | 30 +-
.../james/queue/api/mock/MockMailQueue.java | 17 +-
.../apache/james/queue/file/FileMailQueue.java | 40 +-
.../queue/jms/AbstractJMSMailQueueTest.java | 20 +-
128 files changed, 1212 insertions(+), 2606 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
----------------------------------------------------------------------
diff --git a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
index 018d492..6baaa31 100644
--- a/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
+++ b/backends-common/jpa/src/test/java/org/apache/james/backends/jpa/JpaTestCluster.java
@@ -27,7 +27,6 @@ import javax.persistence.EntityManagerFactory;
import org.apache.openjpa.persistence.OpenJPAPersistence;
-import com.google.common.base.Function;
import com.google.common.base.Joiner;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
@@ -52,20 +51,11 @@ public class JpaTestCluster {
properties.put("openjpa.MetaDataFactory", "jpa(Types=" +
Joiner.on(";").join(
FluentIterable.from(clazz)
- .transform(toFQDN()))
+ .transform(Class::getName))
+ ")");
return new JpaTestCluster(OpenJPAPersistence.getEntityManagerFactory(properties));
}
- private static Function<Class<?>, String> toFQDN() {
- return new Function<Class<?>, String>() {
- @Override
- public String apply(Class<?> input) {
- return input.getName();
- }
- };
- }
-
private final EntityManagerFactory entityManagerFactory;
private JpaTestCluster(EntityManagerFactory entityManagerFactory) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
index f92cb11..d8276fe 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressTest.java
@@ -93,37 +93,34 @@ public abstract class MailboxManagerStressTest {
// fire of 1000 append operations
for (int i = 0; i < APPEND_OPERATIONS; i++) {
- pool.execute(new Runnable() {
-
- public void run() {
- if (fail.get()) {
- latch.countDown();
- return;
- }
+ pool.execute(() -> {
+ if (fail.get()) {
+ latch.countDown();
+ return;
+ }
- try {
- MailboxSession session = mailboxManager.createSystemSession(username, LoggerFactory.getLogger("Test"));
+ try {
+ MailboxSession mailboxSession = mailboxManager.createSystemSession(username, LoggerFactory.getLogger("Test"));
- mailboxManager.startProcessingRequest(session);
- MessageManager m = mailboxManager.getMailbox(path, session);
- ComposedMessageId messageId = m.appendMessage(new ByteArrayInputStream("Subject: test\r\n\r\ntestmail".getBytes()), new Date(), session, false, new Flags());
+ mailboxManager.startProcessingRequest(mailboxSession);
+ MessageManager m = mailboxManager.getMailbox(path, mailboxSession);
+ ComposedMessageId messageId = m.appendMessage(new ByteArrayInputStream("Subject: test\r\n\r\ntestmail".getBytes()), new Date(), mailboxSession, false, new Flags());
- System.out.println("Append message with uid=" + messageId.getUid());
- if (uids.put(messageId.getUid(), new Object()) != null) {
- fail.set(true);
- }
- mailboxManager.endProcessingRequest(session);
- mailboxManager.logout(session, false);
- } catch (Exception e) {
- e.printStackTrace();
+ System.out.println("Append message with uid=" + messageId.getUid());
+ if (uids.put(messageId.getUid(), new Object()) != null) {
fail.set(true);
- } finally {
- latch.countDown();
}
+ mailboxManager.endProcessingRequest(mailboxSession);
+ mailboxManager.logout(mailboxSession, false);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail.set(true);
+ } finally {
+ latch.countDown();
+ }
- }
});
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
index 6c0843f..b18579a 100644
--- a/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
+++ b/mailbox/hbase/src/main/java/org/apache/james/mailbox/hbase/mail/HBaseMessageMapper.java
@@ -85,7 +85,6 @@ import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.mail.utils.ApplicableFlagCalculator;
import org.apache.james.mailbox.store.transaction.NonTransactionalMapper;
-import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
@@ -98,12 +97,6 @@ import com.google.common.collect.Iterators;
public class HBaseMessageMapper extends NonTransactionalMapper implements MessageMapper {
private static final int UNLIMITED = -1;
- private static final Function<MailboxMessage, MessageUid> TO_UID = new Function<MailboxMessage, MessageUid>() {
- @Override
- public MessageUid apply(MailboxMessage mailboxMessage) {
- return mailboxMessage.getUid();
- }
- };
private final Configuration conf;
private final MailboxSession mailboxSession;
@@ -133,7 +126,7 @@ public class HBaseMessageMapper extends NonTransactionalMapper implements Messag
@Override
public Iterator<MessageUid> listAllMessageUids(final Mailbox mailbox) throws MailboxException {
- return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), TO_UID);
+ return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), MailboxMessage::getUid);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
----------------------------------------------------------------------
diff --git a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
index 42f1835..a69a9b8 100644
--- a/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
+++ b/mailbox/hbase/src/test/java/org/apache/james/mailbox/hbase/HBaseClusterSingleton.java
@@ -103,15 +103,11 @@ public final class HBaseClusterSingleton {
} finally {
if (hbaseCluster != null) {
// add a shutdown hook for shuting down the minicluster.
- Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
-
- @Override
- public void run() {
- try {
- hbaseCluster.shutdown();
- } catch (IOException e) {
- throw new RuntimeException("Exception shuting down cluster.");
- }
+ Runtime.getRuntime().addShutdownHook(new Thread(() -> {
+ try {
+ hbaseCluster.shutdown();
+ } catch (IOException e) {
+ throw new RuntimeException("Exception shuting down cluster.");
}
}));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
index 9aba4c6..84a78c6 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAAnnotationMapper.java
@@ -26,9 +26,6 @@ import javax.persistence.EntityManagerFactory;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceException;
-import com.google.common.base.Optional;
-import com.google.common.base.Preconditions;
-import com.google.common.base.Throwables;
import org.apache.james.mailbox.jpa.JPAId;
import org.apache.james.mailbox.jpa.JPATransactionalMapper;
import org.apache.james.mailbox.jpa.mail.model.JPAMailboxAnnotation;
@@ -41,7 +38,10 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.google.common.base.Function;
+import com.google.common.base.Optional;
+import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
+import com.google.common.base.Throwables;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
@@ -51,12 +51,8 @@ public class JPAAnnotationMapper extends JPATransactionalMapper implements Annot
private static final Logger LOGGER = LoggerFactory.getLogger(JPAAnnotationMapper.class);
- public static final Function<JPAMailboxAnnotation, MailboxAnnotation> READ_ROW = new Function<JPAMailboxAnnotation, MailboxAnnotation>() {
- @Override
- public MailboxAnnotation apply(JPAMailboxAnnotation input) {
- return MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue());
- }
- };
+ public static final Function<JPAMailboxAnnotation, MailboxAnnotation> READ_ROW =
+ input -> MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue());
public JPAAnnotationMapper(EntityManagerFactory entityManagerFactory) {
super(entityManagerFactory);
@@ -74,17 +70,13 @@ public class JPAAnnotationMapper extends JPATransactionalMapper implements Annot
public List<MailboxAnnotation> getAnnotationsByKeys(MailboxId mailboxId, Set<MailboxAnnotationKey> keys) {
try {
final JPAId jpaId = (JPAId) mailboxId;
- return ImmutableList.copyOf(Iterables.transform(keys, new Function<MailboxAnnotationKey, MailboxAnnotation>() {
- @Override
- public MailboxAnnotation apply(MailboxAnnotationKey input) {
- return READ_ROW.apply(
- getEntityManager()
- .createNamedQuery("retrieveByKey", JPAMailboxAnnotation.class)
- .setParameter("idParam", jpaId.getRawId())
- .setParameter("keyParam", input.asString())
- .getSingleResult());
- }
- }));
+ return ImmutableList.copyOf(Iterables.transform(keys,
+ input -> READ_ROW.apply(
+ getEntityManager()
+ .createNamedQuery("retrieveByKey", JPAMailboxAnnotation.class)
+ .setParameter("idParam", jpaId.getRawId())
+ .setParameter("keyParam", input.asString())
+ .getSingleResult())));
} catch (NoResultException e) {
return ImmutableList.of();
}
@@ -94,54 +86,32 @@ public class JPAAnnotationMapper extends JPATransactionalMapper implements Annot
public List<MailboxAnnotation> getAnnotationsByKeysWithOneDepth(MailboxId mailboxId, Set<MailboxAnnotationKey> keys) {
return getFilteredLikes((JPAId) mailboxId,
keys,
- new Function<MailboxAnnotationKey, Predicate<MailboxAnnotation>>() {
- @Override
- public Predicate<MailboxAnnotation> apply(final MailboxAnnotationKey key) {
- return new Predicate<MailboxAnnotation>() {
- @Override
- public boolean apply(MailboxAnnotation input) {
- return key.isParentOrIsEqual(input.getKey());
- }
- };
- }
- });
+ key ->
+ annotation ->
+ key.isParentOrIsEqual(annotation.getKey()));
}
@Override
public List<MailboxAnnotation> getAnnotationsByKeysWithAllDepth(MailboxId mailboxId, Set<MailboxAnnotationKey> keys) {
return getFilteredLikes((JPAId) mailboxId,
keys,
- new Function<MailboxAnnotationKey, Predicate<MailboxAnnotation>>() {
- @Override
- public Predicate<MailboxAnnotation> apply(final MailboxAnnotationKey key) {
- return new Predicate<MailboxAnnotation>() {
- @Override
- public boolean apply(MailboxAnnotation input) {
- return key.isAncestorOrIsEqual(input.getKey());
- }
- };
- }
- });
+ key ->
+ annotation -> key.isAncestorOrIsEqual(annotation.getKey()));
}
private List<MailboxAnnotation> getFilteredLikes(final JPAId jpaId, Set<MailboxAnnotationKey> keys, final Function<MailboxAnnotationKey, Predicate<MailboxAnnotation>> predicateFunction) {
try {
return flatMapToList(Iterables.transform(keys,
- new Function<MailboxAnnotationKey, List<MailboxAnnotation>>() {
- @Override
- public List<MailboxAnnotation> apply(final MailboxAnnotationKey key) {
- return ImmutableList.copyOf(
- Iterables.filter(
- Iterables.transform(
- getEntityManager()
- .createNamedQuery("retrieveByKeyLike", JPAMailboxAnnotation.class)
- .setParameter("idParam", jpaId.getRawId())
- .setParameter("keyParam", key.asString() + '%')
- .getResultList(),
- READ_ROW),
- predicateFunction.apply(key)));
- }
- }));
+ key -> ImmutableList.copyOf(
+ Iterables.filter(
+ Iterables.transform(
+ getEntityManager()
+ .createNamedQuery("retrieveByKeyLike", JPAMailboxAnnotation.class)
+ .setParameter("idParam", jpaId.getRawId())
+ .setParameter("keyParam", key.asString() + '%')
+ .getResultList(),
+ READ_ROW),
+ predicateFunction.apply(key)))));
} catch (NoResultException e) {
return ImmutableList.of();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
index b2d8c2a..3cf6cf3 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
@@ -66,12 +66,6 @@ import com.google.common.collect.Iterators;
public class JPAMessageMapper extends JPATransactionalMapper implements MessageMapper {
private static final int UNLIMIT_MAX_SIZE = -1;
private static final int UNLIMITED = -1;
- private static final Function<MailboxMessage, MessageUid> TO_UID = new Function<MailboxMessage, MessageUid>() {
- @Override
- public MessageUid apply(MailboxMessage mailboxMessage) {
- return mailboxMessage.getUid();
- }
- };
private final MessageUtils messageMetadataMapper;
@@ -90,7 +84,7 @@ public class JPAMessageMapper extends JPATransactionalMapper implements MessageM
@Override
public Iterator<MessageUid> listAllMessageUids(final Mailbox mailbox) throws MailboxException {
- return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), TO_UID);
+ return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Full, UNLIMITED), MailboxMessage::getUid);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 36ea643..6e8ba66 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
@@ -49,12 +49,7 @@ public class TransactionalMailboxMapper implements MailboxMapper {
@Override
public MailboxId save(final Mailbox mailbox) throws MailboxException {
- return wrapped.execute(new Transaction<MailboxId>() {
- @Override
- public MailboxId run() throws MailboxException {
- return wrapped.save(mailbox);
- }
- });
+ return wrapped.execute(() -> wrapped.save(mailbox));
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
index ab234c9..8b57d05 100644
--- a/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
+++ b/mailbox/jpa/src/test/java/org/apache/james/mailbox/jpa/mail/TransactionalMessageMapper.java
@@ -77,12 +77,8 @@ public class TransactionalMessageMapper implements MessageMapper {
@Override
public Map<MessageUid, MessageMetaData> expungeMarkedForDeletionInMailbox(final Mailbox mailbox, final MessageRange set)
throws MailboxException {
- Map<MessageUid, MessageMetaData> data = messageMapper.execute(new Transaction<Map<MessageUid, MessageMetaData>>() {
- @Override
- public Map<MessageUid, MessageMetaData> run() throws MailboxException {
- return messageMapper.expungeMarkedForDeletionInMailbox(mailbox, set);
- }
- });
+ Map<MessageUid, MessageMetaData> data = messageMapper.execute(
+ () -> messageMapper.expungeMarkedForDeletionInMailbox(mailbox, set));
return data;
}
@@ -118,35 +114,23 @@ public class TransactionalMessageMapper implements MessageMapper {
@Override
public MessageMetaData add(final Mailbox mailbox, final MailboxMessage message) throws MailboxException {
- MessageMetaData data = messageMapper.execute(new Transaction<MessageMetaData>() {
- @Override
- public MessageMetaData run() throws MailboxException {
- return messageMapper.add(mailbox, message);
- }
- });
+ MessageMetaData data = messageMapper.execute(
+ () -> messageMapper.add(mailbox, message));
return data;
}
@Override
public Iterator<UpdatedFlags> updateFlags(final Mailbox mailbox, final FlagsUpdateCalculator flagsUpdateCalculator,
final MessageRange set) throws MailboxException {
- Iterator<UpdatedFlags> data = messageMapper.execute(new Transaction<Iterator<UpdatedFlags>>() {
- @Override
- public Iterator<UpdatedFlags> run() throws MailboxException {
- return messageMapper.updateFlags(mailbox, flagsUpdateCalculator, set);
- }
- });
+ Iterator<UpdatedFlags> data = messageMapper.execute(
+ () -> messageMapper.updateFlags(mailbox, flagsUpdateCalculator, set));
return data;
}
@Override
public MessageMetaData copy(final Mailbox mailbox, final MailboxMessage original) throws MailboxException {
- MessageMetaData data = messageMapper.execute(new Transaction<MessageMetaData>() {
- @Override
- public MessageMetaData run() throws MailboxException {
- return messageMapper.copy(mailbox, original);
- }
- });
+ MessageMetaData data = messageMapper.execute(
+ () -> messageMapper.copy(mailbox, original));
return data;
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 e2c0f57..50c4ad3 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
@@ -120,7 +120,6 @@ import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.util.IOUtils;
import org.apache.lucene.util.Version;
-import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.base.Preconditions;
import com.google.common.collect.FluentIterable;
@@ -465,12 +464,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
.build();
return FluentIterable.from(searchMultimap(multimailboxesSearchQuery, session))
- .transform(new Function<SearchResult, MessageUid>() {
- @Override
- public MessageUid apply(SearchResult input) {
- return input.getMessageUid();
- }
- })
+ .transform(SearchResult::getMessageUid)
.iterator();
}
@@ -478,12 +472,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
public List<MessageId> search(MailboxSession session, MultimailboxesSearchQuery searchQuery, long limit) throws MailboxException {
Preconditions.checkArgument(session != null, "'session' is mandatory");
return FluentIterable.from(searchMultimap(searchQuery, session))
- .transform(new Function<SearchResult, MessageId>() {
- @Override
- public MessageId apply(SearchResult input) {
- return input.getMessageId().get();
- }
- })
+ .transform(searchResult -> searchResult.getMessageId().get())
.filter(SearchUtil.distinct())
.limit(Long.valueOf(limit).intValue())
.toList();
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
index 12e0d4c..03c0639 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirFolder.java
@@ -54,7 +54,6 @@ import org.apache.james.mailbox.model.MailboxACL.MailboxACLRights;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.SimpleMailboxACL;
-import com.google.common.base.Function;
import com.google.common.base.Optional;
public class MaildirFolder {
@@ -188,11 +187,7 @@ public class MaildirFolder {
* Returns the nextUid value and increases it.
*/
private MessageUid getNextUid() {
- MessageUid nextUid = lastUid.transform(new Function<MessageUid, MessageUid>() {
- @Override
- public MessageUid apply(MessageUid input) {
- return input.next();
- }}).or(MessageUid.MIN_VALUE);
+ MessageUid nextUid = lastUid.transform(MessageUid::next).or(MessageUid.MIN_VALUE);
lastUid = Optional.of(nextUid);
return nextUid;
}
@@ -223,28 +218,25 @@ public class MaildirFolder {
* @throws MailboxException if there are problems with the uidList file
*/
private void readLastUid(MailboxSession session) throws MailboxException {
- locker.executeWithLock(session, path, new LockAwareExecution<Void>() {
-
- @Override
- public Void execute() throws MailboxException {
- File uidList = uidFile;
- FileReader fileReader = null;
- BufferedReader reader = null;
- try {
- if (!uidList.exists())
- createUidFile();
- fileReader = new FileReader(uidList);
- reader = new BufferedReader(fileReader);
- String line = reader.readLine();
- if (line != null)
- readUidListHeader(line);
- return null;
- } catch (IOException e) {
- throw new MailboxException("Unable to read last uid", e);
- } finally {
- IOUtils.closeQuietly(reader);
- IOUtils.closeQuietly(fileReader);
- }
+ locker.executeWithLock(session, path,
+ (LockAwareExecution<Void>) () -> {
+ File uidList = uidFile;
+ FileReader fileReader = null;
+ BufferedReader reader = null;
+ try {
+ if (!uidList.exists())
+ createUidFile();
+ fileReader = new FileReader(uidList);
+ reader = new BufferedReader(fileReader);
+ String line = reader.readLine();
+ if (line != null)
+ readUidListHeader(line);
+ return null;
+ } catch (IOException e) {
+ throw new MailboxException("Unable to read last uid", e);
+ } finally {
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(fileReader);
}
}, true);
@@ -337,42 +329,38 @@ public class MaildirFolder {
*/
public MaildirMessageName getMessageNameByUid(final MailboxSession session, final MessageUid uid) throws MailboxException {
- return locker.executeWithLock(session, path, new LockAwareExecution<MaildirMessageName>() {
-
- @Override
- public MaildirMessageName execute() throws MailboxException {
- FileReader fileReader = null;
- BufferedReader reader = null;
- File uidList = uidFile;
- try {
- fileReader = new FileReader(uidList);
- reader = new BufferedReader(fileReader);
- String uidString = String.valueOf(uid.asLong());
- String line = reader.readLine(); // the header
- int lineNumber = 1;
- while ((line = reader.readLine()) != null) {
- if (!line.equals("")) {
- int gap = line.indexOf(" ");
- if (gap == -1) {
- // there must be some issues in the file if no gap can be found
- session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
- continue;
- }
-
- if (line.substring(0, gap).equals(uidString)) {
- return newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1));
- }
+ return locker.executeWithLock(session, path, () -> {
+ FileReader fileReader = null;
+ BufferedReader reader = null;
+ File uidList = uidFile;
+ try {
+ fileReader = new FileReader(uidList);
+ reader = new BufferedReader(fileReader);
+ String uidString = String.valueOf(uid.asLong());
+ String line = reader.readLine(); // the header
+ int lineNumber = 1;
+ while ((line = reader.readLine()) != null) {
+ if (!line.equals("")) {
+ int gap = line.indexOf(" ");
+ if (gap == -1) {
+ // there must be some issues in the file if no gap can be found
+ session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
+ continue;
+ }
+
+ if (line.substring(0, gap).equals(uidString)) {
+ return newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1));
}
}
-
- // TODO: Is this right!?
- return null;
- } catch (IOException e) {
- throw new MailboxException("Unable to read messagename for uid " + uid, e);
- } finally {
- IOUtils.closeQuietly(reader);
- IOUtils.closeQuietly(fileReader);
- }
+ }
+
+ // TODO: Is this right!?
+ return null;
+ } catch (IOException e) {
+ throw new MailboxException("Unable to read messagename for uid " + uid, e);
+ } finally {
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(fileReader);
}
}, true);
}
@@ -389,34 +377,30 @@ public class MaildirFolder {
*/
public SortedMap<MessageUid, MaildirMessageName> getUidMap(final MailboxSession session, final MessageUid from, final MessageUid to)
throws MailboxException {
- return locker.executeWithLock(session, path, new LockAwareExecution<SortedMap<MessageUid, MaildirMessageName>>() {
-
- @Override
- public SortedMap<MessageUid, MaildirMessageName> execute() throws MailboxException {
- final SortedMap<MessageUid, MaildirMessageName> uidMap = new TreeMap<MessageUid, MaildirMessageName>();
+ return locker.executeWithLock(session, path, () -> {
+ final SortedMap<MessageUid, MaildirMessageName> uidMap = new TreeMap<>();
- File uidList = uidFile;
+ File uidList = uidFile;
- if (uidList.isFile()) {
- if (isModified()) {
- try {
- uidMap.putAll(truncateMap(updateUidFile(), from, to));
- } catch (MailboxException e) {
- // weird case if someone deleted the uidlist after
- // checking its
- // existence and before trying to update it.
- uidMap.putAll(truncateMap(createUidFile(), from, to));
- }
- } else {
- // the uidList is up to date
- uidMap.putAll(readUidFile(session, from, to));
+ if (uidList.isFile()) {
+ if (isModified()) {
+ try {
+ uidMap.putAll(truncateMap(updateUidFile(), from, to));
+ } catch (MailboxException e) {
+ // weird case if someone deleted the uidlist after
+ // checking its
+ // existence and before trying to update it.
+ uidMap.putAll(truncateMap(createUidFile(), from, to));
}
} else {
- // the uidList does not exist
- uidMap.putAll(truncateMap(createUidFile(), from, to));
+ // the uidList is up to date
+ uidMap.putAll(readUidFile(session, from, to));
}
- return uidMap;
+ } else {
+ // the uidList does not exist
+ uidMap.putAll(truncateMap(createUidFile(), from, to));
}
+ return uidMap;
}, true);
}
@@ -471,84 +455,80 @@ public class MaildirFolder {
*/
public SortedMap<MessageUid, MaildirMessageName> getRecentMessages(final MailboxSession session) throws MailboxException {
final String[] recentFiles = getNewFolder().list();
- final LinkedList<String> lines = new LinkedList<String>();
+ final LinkedList<String> lines = new LinkedList<>();
final int theLimit = recentFiles.length;
- return locker.executeWithLock(session, path, new LockAwareExecution<SortedMap<MessageUid, MaildirMessageName>>() {
-
- @Override
- public SortedMap<MessageUid, MaildirMessageName> execute() throws MailboxException {
- final SortedMap<MessageUid, MaildirMessageName> recentMessages = new TreeMap<MessageUid, MaildirMessageName>();
-
- File uidList = uidFile;
-
+ return locker.executeWithLock(session, path, () -> {
+ final SortedMap<MessageUid, MaildirMessageName> recentMessages = new TreeMap<>();
+
+ File uidList = uidFile;
+
+ try {
+ if (!uidList.isFile()) {
+ if (!uidList.createNewFile())
+ throw new IOException("Could not create file " + uidList);
+ String[] curFiles = curFolder.list();
+ String[] newFiles = newFolder.list();
+ messageCount = curFiles.length + newFiles.length;
+ String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
+ for (String file : allFiles)
+ lines.add(String.valueOf(getNextUid().asLong()) + " " + file);
+ PrintWriter pw = new PrintWriter(uidList);
+ try {
+ pw.println(createUidListHeader());
+ for (String line : lines)
+ pw.println(line);
+ } finally {
+ IOUtils.closeQuietly(pw);
+ }
+ }
+ else {
+ FileReader fileReader = null;
+ BufferedReader reader = null;
try {
- if (!uidList.isFile()) {
- if (!uidList.createNewFile())
- throw new IOException("Could not create file " + uidList);
- String[] curFiles = curFolder.list();
- String[] newFiles = newFolder.list();
- messageCount = curFiles.length + newFiles.length;
- String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
- for (String file : allFiles)
- lines.add(String.valueOf(getNextUid().asLong()) + " " + file);
- PrintWriter pw = new PrintWriter(uidList);
- try {
- pw.println(createUidListHeader());
- for (String line : lines)
- pw.println(line);
- } finally {
- IOUtils.closeQuietly(pw);
- }
+ fileReader = new FileReader(uidList);
+ reader = new BufferedReader(fileReader);
+ String line = reader.readLine();
+ // the first line in the file contains the next uid and message count
+ while ((line = reader.readLine()) != null)
+ lines.add(line);
+ } finally {
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(fileReader);
}
- else {
- FileReader fileReader = null;
- BufferedReader reader = null;
+ }
+ int counter = 0;
+ String line;
+ while (counter < theLimit) {
+ // walk backwards as recent files are supposedly recent
try {
- fileReader = new FileReader(uidList);
- reader = new BufferedReader(fileReader);
- String line = reader.readLine();
- // the first line in the file contains the next uid and message count
- while ((line = reader.readLine()) != null)
- lines.add(line);
- } finally {
- IOUtils.closeQuietly(reader);
- IOUtils.closeQuietly(fileReader);
- }
+ line = lines.removeLast();
+ } catch (NoSuchElementException e) {
+ break; // the list is empty
}
- int counter = 0;
- String line;
- while (counter < theLimit) {
- // walk backwards as recent files are supposedly recent
- try {
- line = lines.removeLast();
- } catch (NoSuchElementException e) {
- break; // the list is empty
+ if (!line.equals("")) {
+ int gap = line.indexOf(" ");
+ if (gap == -1) {
+ // there must be some issues in the file if no gap can be found
+ // there must be some issues in the file if no gap can be found
+ session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lines.size());
+ continue;
}
- if (!line.equals("")) {
- int gap = line.indexOf(" ");
- if (gap == -1) {
- // there must be some issues in the file if no gap can be found
- // there must be some issues in the file if no gap can be found
- session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lines.size());
- continue;
- }
-
- MessageUid uid = MessageUid.of(Long.valueOf(line.substring(0, gap)));
- String name = line.substring(gap + 1, line.length());
- for (String recentFile : recentFiles) {
- if (recentFile.equals(name)) {
- recentMessages.put(uid, newMaildirMessageName(MaildirFolder.this, recentFile));
- counter++;
- break;
- }
+
+ MessageUid uid = MessageUid.of(Long.valueOf(line.substring(0, gap)));
+ String name = line.substring(gap + 1, line.length());
+ for (String recentFile : recentFiles) {
+ if (recentFile.equals(name)) {
+ recentMessages.put(uid, newMaildirMessageName(MaildirFolder.this, recentFile));
+ counter++;
+ break;
}
}
}
- } catch (IOException e) {
- throw new MailboxException("Unable to read recent messages", e);
- }
- return recentMessages;
+ }
+ } catch (IOException e) {
+ throw new MailboxException("Unable to read recent messages", e);
}
+ return recentMessages;
}, true);
}
@@ -726,13 +706,7 @@ public class MaildirFolder {
* @return the line which ought to be the header
*/
private String createUidListHeader() {
- Long last = lastUid.transform(new Function<MessageUid, Long>() {
- @Override
- public Long apply(MessageUid input) {
- return input.asLong();
- }
-
- }).or(0L);
+ Long last = lastUid.transform(MessageUid::asLong).or(0L);
return "1 " + String.valueOf(last) + " " + String.valueOf(messageCount);
}
@@ -757,67 +731,63 @@ public class MaildirFolder {
* @return The uid of the message
*/
public MessageUid appendMessage(MailboxSession session, final String name) throws MailboxException {
- return locker.executeWithLock(session, path, new LockAwareExecution<MessageUid>() {
-
- @Override
- public MessageUid execute() throws MailboxException {
- File uidList = uidFile;
- MessageUid uid = null;
- FileReader fileReader = null;
- BufferedReader reader = null;
- PrintWriter pw = null;
- try {
- if (uidList.isFile()) {
- fileReader = new FileReader(uidList);
- reader = new BufferedReader(fileReader);
- String line = reader.readLine();
- // the first line in the file contains the next uid and message count
- if (line != null)
- readUidListHeader(line);
- ArrayList<String> lines = new ArrayList<String>();
- while ((line = reader.readLine()) != null)
- lines.add(line);
- uid = getNextUid();
- lines.add(String.valueOf(uid.asLong()) + " " + name);
- messageCount++;
- pw = new PrintWriter(uidList);
- pw.println(createUidListHeader());
- for (String entry : lines)
- pw.println(entry);
- }
- else {
- // create the file
- if (!uidList.createNewFile())
- throw new IOException("Could not create file " + uidList);
- String[] curFiles = curFolder.list();
- String[] newFiles = newFolder.list();
- messageCount = curFiles.length + newFiles.length;
- ArrayList<String> lines = new ArrayList<String>();
- String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
- for (String file : allFiles) {
- MessageUid theUid = getNextUid();
- lines.add(String.valueOf(theUid.asLong()) + " " + file);
- // the listed names already include the message to append
- if (file.equals(name))
- uid = theUid;
- }
- pw = new PrintWriter(uidList);
- pw.println(createUidListHeader());
- for (String line : lines)
- pw.println(line);
- }
- } catch (IOException e) {
- throw new MailboxException("Unable to append msg", e);
- } finally {
- IOUtils.closeQuietly(pw);
- IOUtils.closeQuietly(reader);
- IOUtils.closeQuietly(fileReader);
+ return locker.executeWithLock(session, path, () -> {
+ File uidList = uidFile;
+ MessageUid uid = null;
+ FileReader fileReader = null;
+ BufferedReader reader = null;
+ PrintWriter pw = null;
+ try {
+ if (uidList.isFile()) {
+ fileReader = new FileReader(uidList);
+ reader = new BufferedReader(fileReader);
+ String line = reader.readLine();
+ // the first line in the file contains the next uid and message count
+ if (line != null)
+ readUidListHeader(line);
+ ArrayList<String> lines = new ArrayList<String>();
+ while ((line = reader.readLine()) != null)
+ lines.add(line);
+ uid = getNextUid();
+ lines.add(String.valueOf(uid.asLong()) + " " + name);
+ messageCount++;
+ pw = new PrintWriter(uidList);
+ pw.println(createUidListHeader());
+ for (String entry : lines)
+ pw.println(entry);
}
- if (uid == null) {
- throw new MailboxException("Unable to append msg");
- } else {
- return uid;
+ else {
+ // create the file
+ if (!uidList.createNewFile())
+ throw new IOException("Could not create file " + uidList);
+ String[] curFiles = curFolder.list();
+ String[] newFiles = newFolder.list();
+ messageCount = curFiles.length + newFiles.length;
+ ArrayList<String> lines = new ArrayList<String>();
+ String[] allFiles = (String[]) ArrayUtils.addAll(curFiles, newFiles);
+ for (String file : allFiles) {
+ MessageUid theUid = getNextUid();
+ lines.add(String.valueOf(theUid.asLong()) + " " + file);
+ // the listed names already include the message to append
+ if (file.equals(name))
+ uid = theUid;
+ }
+ pw = new PrintWriter(uidList);
+ pw.println(createUidListHeader());
+ for (String line : lines)
+ pw.println(line);
}
+ } catch (IOException e) {
+ throw new MailboxException("Unable to append msg", e);
+ } finally {
+ IOUtils.closeQuietly(pw);
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(fileReader);
+ }
+ if (uid == null) {
+ throw new MailboxException("Unable to append msg");
+ } else {
+ return uid;
}
}, true);
@@ -831,39 +801,35 @@ public class MaildirFolder {
* @throws MailboxException
*/
public void update(MailboxSession session, final MessageUid uid, final String messageName) throws MailboxException {
- locker.executeWithLock(session, path, new LockAwareExecution<Void>() {
-
- @Override
- public Void execute() throws MailboxException {
- File uidList = uidFile;
- FileReader fileReader = null;
- BufferedReader reader = null;
- PrintWriter writer = null;
- try {
- fileReader = new FileReader(uidList);
- reader = new BufferedReader(fileReader);
- String line = reader.readLine();
- readUidListHeader(line);
- ArrayList<String> lines = new ArrayList<String>();
- while ((line = reader.readLine()) != null) {
- if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
- line = String.valueOf(uid.asLong()) + " " + messageName;
- }
- lines.add(line);
+ locker.executeWithLock(session, path, (LockAwareExecution<Void>) () -> {
+ File uidList = uidFile;
+ FileReader fileReader = null;
+ BufferedReader reader = null;
+ PrintWriter writer = null;
+ try {
+ fileReader = new FileReader(uidList);
+ reader = new BufferedReader(fileReader);
+ String line = reader.readLine();
+ readUidListHeader(line);
+ ArrayList<String> lines = new ArrayList<String>();
+ while ((line = reader.readLine()) != null) {
+ if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
+ line = String.valueOf(uid.asLong()) + " " + messageName;
}
- writer = new PrintWriter(uidList);
- writer.println(createUidListHeader());
- for (String entry : lines)
- writer.println(entry);
- } catch (IOException e) {
- throw new MailboxException("Unable to update msg with uid " + uid, e);
- } finally {
- IOUtils.closeQuietly(writer);
- IOUtils.closeQuietly(reader);
- IOUtils.closeQuietly(fileReader);
- }
- return null;
+ lines.add(line);
+ }
+ writer = new PrintWriter(uidList);
+ writer.println(createUidListHeader());
+ for (String entry : lines)
+ writer.println(entry);
+ } catch (IOException e) {
+ throw new MailboxException("Unable to update msg with uid " + uid, e);
+ } finally {
+ IOUtils.closeQuietly(writer);
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(fileReader);
}
+ return null;
}, true);
}
@@ -876,56 +842,52 @@ public class MaildirFolder {
* @throws MailboxException If the file cannot be deleted of there is a problem with the uid list
*/
public MaildirMessageName delete(final MailboxSession session, final MessageUid uid) throws MailboxException {
- return locker.executeWithLock(session, path, new LockAwareExecution<MaildirMessageName>() {
-
- @Override
- public MaildirMessageName execute() throws MailboxException {
- File uidList = uidFile;
- FileReader fileReader = null;
- BufferedReader reader = null;
- PrintWriter writer = null;
- MaildirMessageName deletedMessage = null;
- try {
- fileReader = new FileReader(uidList);
- reader = new BufferedReader(fileReader);
- readUidListHeader(reader.readLine());
-
- // It may be possible that message count is 0 so we should better not try to calculate the size of the ArrayList
- ArrayList<String> lines = new ArrayList<String>();
- String line;
- int lineNumber = 1;
- while ((line = reader.readLine()) != null) {
- int gap = line.indexOf(" ");
- if (gap == -1) {
- // there must be some issues in the file if no gap can be found
- session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
- continue;
- }
-
- if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
- deletedMessage = newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1, line.length()));
- messageCount--;
- }
- else {
- lines.add(line);
- }
- }
- if (deletedMessage != null) {
- FileUtils.forceDelete(deletedMessage.getFile());
- writer = new PrintWriter(uidList);
- writer.println(createUidListHeader());
- for (String entry : lines)
- writer.println(entry);
+ return locker.executeWithLock(session, path, () -> {
+ File uidList = uidFile;
+ FileReader fileReader = null;
+ BufferedReader reader = null;
+ PrintWriter writer = null;
+ MaildirMessageName deletedMessage = null;
+ try {
+ fileReader = new FileReader(uidList);
+ reader = new BufferedReader(fileReader);
+ readUidListHeader(reader.readLine());
+
+ // It may be possible that message count is 0 so we should better not try to calculate the size of the ArrayList
+ ArrayList<String> lines = new ArrayList<String>();
+ String line;
+ int lineNumber = 1;
+ while ((line = reader.readLine()) != null) {
+ int gap = line.indexOf(" ");
+ if (gap == -1) {
+ // there must be some issues in the file if no gap can be found
+ session.getLog().info("Corrupted entry in uid-file " + uidList + " line " + lineNumber++);
+ continue;
}
- return deletedMessage;
- } catch (IOException e) {
- throw new MailboxException("Unable to delete msg with uid " + uid, e);
- } finally {
- IOUtils.closeQuietly(writer);
- IOUtils.closeQuietly(reader);
- IOUtils.closeQuietly(fileReader);
- }
+ if (uid.equals(MessageUid.of(Long.valueOf(line.substring(0, line.indexOf(" ")))))) {
+ deletedMessage = newMaildirMessageName(MaildirFolder.this, line.substring(gap + 1, line.length()));
+ messageCount--;
+ }
+ else {
+ lines.add(line);
+ }
+ }
+ if (deletedMessage != null) {
+ FileUtils.forceDelete(deletedMessage.getFile());
+ writer = new PrintWriter(uidList);
+ writer.println(createUidListHeader());
+ for (String entry : lines)
+ writer.println(entry);
+ }
+ return deletedMessage;
+
+ } catch (IOException e) {
+ throw new MailboxException("Unable to delete msg with uid " + uid, e);
+ } finally {
+ IOUtils.closeQuietly(writer);
+ IOUtils.closeQuietly(reader);
+ IOUtils.closeQuietly(fileReader);
}
}, true);
@@ -955,30 +917,26 @@ public class MaildirFolder {
*/
private MailboxACL readACL(MailboxSession session) throws MailboxException {
// FIXME Do we need this locking?
- return locker.executeWithLock(session, path, new LockAwareExecution<MailboxACL>() {
-
- @Override
- public MailboxACL execute() throws MailboxException {
- File f = aclFile;
- InputStream in = null;
- Properties props = new Properties();
- if (f.exists()) {
- try {
- in = new FileInputStream(f);
- props.load(in);
- } catch (FileNotFoundException e) {
- throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
- } catch (IOException e) {
- throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
- }
- finally {
- IOUtils.closeQuietly(in);
- }
+ return locker.executeWithLock(session, path, (LockAwareExecution<MailboxACL>) () -> {
+ File f = aclFile;
+ InputStream in = null;
+ Properties props = new Properties();
+ if (f.exists()) {
+ try {
+ in = new FileInputStream(f);
+ props.load(in);
+ } catch (FileNotFoundException e) {
+ throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
+ } catch (IOException e) {
+ throw new MailboxException("Unable to read last ACL from "+ f.getAbsolutePath(), e);
+ }
+ finally {
+ IOUtils.closeQuietly(in);
}
-
- return new SimpleMailboxACL(props);
-
}
+
+ return new SimpleMailboxACL(props);
+
}, true);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
----------------------------------------------------------------------
diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
index 8865e8b..6446dba 100644
--- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
+++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/MaildirMessageName.java
@@ -453,12 +453,9 @@ public class MaildirMessageName {
}
public static FilenameFilter createRegexFilter(final Pattern pattern) {
- return new FilenameFilter() {
- @Override
- public boolean accept(File dir, String name) {
- Matcher matcher = pattern.matcher(name);
- return matcher.matches();
- }
+ return (dir, name) -> {
+ Matcher matcher = pattern.matcher(name);
+ return matcher.matches();
};
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 bbb9244..bdc0c15 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
@@ -37,7 +37,6 @@ import org.apache.james.mailbox.store.mail.UidProvider;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
-import com.google.common.base.Function;
import com.google.common.base.Optional;
public class MaildirStore implements UidProvider, ModSeqProvider {
@@ -246,12 +245,9 @@ public class MaildirStore implements UidProvider, ModSeqProvider {
@Override
public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException {
try {
- return createMaildirFolder(mailbox).getLastUid(session).transform(new Function<MessageUid, MessageUid>() {
- @Override
- public MessageUid apply(MessageUid input) {
- return input.next();
- }
- }).or(MessageUid.MIN_VALUE);
+ return createMaildirFolder(mailbox).getLastUid(session)
+ .transform(MessageUid::next)
+ .or(MessageUid.MIN_VALUE);
} catch (MailboxException e) {
throw new MailboxException("Unable to generate next uid", e);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 5661b91..b7f5d9e 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
@@ -19,7 +19,6 @@
package org.apache.james.mailbox.maildir.mail;
import java.io.File;
-import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;
@@ -317,12 +316,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail
// List all INBOX sub folders.
- File[] mailboxes = user.listFiles(new FileFilter() {
- @Override
- public boolean accept(File pathname) {
- return pathname.getName().startsWith(".");
- }
- });
+ File[] mailboxes = user.listFiles(pathname -> pathname.getName().startsWith("."));
for (File mailbox: mailboxes) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
index 4de6ba9..896ebb9 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManager.java
@@ -124,16 +124,8 @@ public class InMemoryMessageIdManager implements MessageIdManager {
private List<MailboxId> getUsersMailboxIds(final MailboxSession mailboxSession) throws MailboxException {
return FluentIterable.from(mailboxManager.search(userMailboxes(mailboxSession), mailboxSession))
- .transform(getMailboxIdFromMetadata()).toList();
- }
-
- private Function<MailboxMetaData, MailboxId> getMailboxIdFromMetadata() {
- return new Function<MailboxMetaData, MailboxId>() {
- @Override
- public MailboxId apply(MailboxMetaData input) {
- return input.getId();
- }
- };
+ .transform(MailboxMetaData::getId)
+ .toList();
}
private MailboxQuery userMailboxes(MailboxSession mailboxSession) {
@@ -165,26 +157,19 @@ public class InMemoryMessageIdManager implements MessageIdManager {
}
private Predicate<MailboxId> findMailboxBelongsToAnotherSession(final MailboxSession mailboxSession) {
- return new Predicate<MailboxId>() {
- @Override
- public boolean apply(MailboxId input) {
- try {
- MailboxPath currentMailbox = mailboxManager.getMailbox(input, mailboxSession).getMailboxPath();
- return !mailboxSession.getUser().isSameUser(currentMailbox.getUser());
- } catch (MailboxException e) {
- return true;
- }
+ return input -> {
+ try {
+ MailboxPath currentMailbox = mailboxManager.getMailbox(input, mailboxSession).getMailboxPath();
+ return !mailboxSession.getUser().isSameUser(currentMailbox.getUser());
+ } catch (MailboxException e) {
+ return true;
}
};
}
private FluentIterable<MailboxId> currentMailboxes(List<MessageResult> messages) {
- return FluentIterable.from(messages).transform(new Function<MessageResult, MailboxId>() {
- @Override
- public MailboxId apply(MessageResult message) {
- return message.getMailboxId();
- }
- });
+ return FluentIterable.from(messages)
+ .transform(MessageResult::getMailboxId);
}
private Optional<MessageResult> findMessageWithId(MailboxId mailboxId, MessageId messageId, FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxException {
@@ -194,13 +179,7 @@ public class InMemoryMessageIdManager implements MessageIdManager {
}
private Predicate<MessageResult> filterByMessageId(final MessageId messageId) {
- return new Predicate<MessageResult>() {
-
- @Override
- public boolean apply(MessageResult messageResult) {
- return messageResult.getMessageId().equals(messageId);
- }
- };
+ return messageResult -> messageResult.getMessageId().equals(messageId);
}
private ImmutableList<MessageResult> retrieveAllMessages(MailboxId mailboxId, FetchGroup fetchGroup, MailboxSession mailboxSession) throws MailboxException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
index 3325f9d..514578e 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryAnnotationMapper.java
@@ -20,8 +20,6 @@
package org.apache.james.mailbox.inmemory.mail;
import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
import java.util.Set;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -34,7 +32,6 @@ import org.apache.james.mailbox.model.MailboxAnnotationKey;
import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.store.mail.AnnotationMapper;
-import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.collect.HashBasedTable;
@@ -65,12 +62,7 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
try {
return Iterables.transform(
mailboxesAnnotations.row(mailboxId).entrySet(),
- new Function<Map.Entry<String, String>, MailboxAnnotation>() {
- @Override
- public MailboxAnnotation apply(Entry<String, String> input) {
- return MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue());
- }
- });
+ input -> MailboxAnnotation.newInstance(new MailboxAnnotationKey(input.getKey()), input.getValue()));
} finally {
lock.readLock().unlock();
}
@@ -85,12 +77,7 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
public List<MailboxAnnotation> getAnnotationsByKeys(MailboxId mailboxId, final Set<MailboxAnnotationKey> keys) {
return ImmutableList.copyOf(
Iterables.filter(retrieveAllAnnotations((InMemoryId)mailboxId),
- new Predicate<MailboxAnnotation>() {
- @Override
- public boolean apply(MailboxAnnotation input) {
- return keys.contains(input.getKey());
- }
- }));
+ input -> keys.contains(input.getKey())));
}
@Override
@@ -104,39 +91,19 @@ public class InMemoryAnnotationMapper implements AnnotationMapper {
}
private Predicate<MailboxAnnotation> getPredicateFilterByAll(final Set<MailboxAnnotationKey> keys) {
- return new Predicate<MailboxAnnotation>() {
- @Override
- public boolean apply(final MailboxAnnotation input) {
- return Iterables.tryFind(keys, filterAnnotationsByPrefix(input)).isPresent();
- }
- };
+ return input -> Iterables.tryFind(keys, filterAnnotationsByPrefix(input)).isPresent();
}
private Predicate<MailboxAnnotation> getPredicateFilterByOne(final Set<MailboxAnnotationKey> keys) {
- return new Predicate<MailboxAnnotation>() {
- @Override
- public boolean apply(final MailboxAnnotation input) {
- return Iterables.tryFind(keys, filterAnnotationsByParentKey(input.getKey())).isPresent();
- }
- };
+ return input -> Iterables.tryFind(keys, filterAnnotationsByParentKey(input.getKey())).isPresent();
}
private Predicate<MailboxAnnotationKey> filterAnnotationsByParentKey(final MailboxAnnotationKey input) {
- return new Predicate<MailboxAnnotationKey>() {
- @Override
- public boolean apply(MailboxAnnotationKey key) {
- return input.countComponents() <= (key.countComponents() + 1);
- }
- };
+ return key -> input.countComponents() <= (key.countComponents() + 1);
}
private Predicate<MailboxAnnotationKey> filterAnnotationsByPrefix(final MailboxAnnotation input) {
- return new Predicate<MailboxAnnotationKey>() {
- @Override
- public boolean apply(MailboxAnnotationKey key) {
- return key.equals(input.getKey()) || StringUtils.startsWith(input.getKey().asString(), key.asString() + "/");
- }
- };
+ return key -> key.equals(input.getKey()) || StringUtils.startsWith(input.getKey().asString(), key.asString() + "/");
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
index 1bd6068..5e823ef 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/InMemoryMessageIdManagerTestSystem.java
@@ -39,7 +39,6 @@ import org.apache.james.mailbox.store.mail.model.impl.SimpleMailbox;
import com.google.common.base.Charsets;
import com.google.common.base.Optional;
-import com.google.common.base.Predicate;
import com.google.common.base.Throwables;
import com.google.common.collect.FluentIterable;
@@ -99,13 +98,7 @@ public class InMemoryMessageIdManagerTestSystem extends MessageIdManagerTestSyst
private Optional<MailboxMetaData> retrieveMailbox(final MailboxId mailboxId, MailboxSession mailboxSession) throws MailboxException {
MailboxQuery userMailboxesQuery = MailboxQuery.builder(mailboxSession).expression("*").build();
return FluentIterable.from(mailboxManager.search(userMailboxesQuery, mailboxSession))
- .filter(new Predicate<MailboxMetaData>() {
-
- @Override
- public boolean apply(MailboxMetaData mailboxMetaData) {
- return mailboxMetaData.getId().equals(mailboxId);
- }
- })
+ .filter(mailboxMetaData -> mailboxMetaData.getId().equals(mailboxId))
.first();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
index 524ee1e..9a82bc7 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
@@ -29,8 +29,6 @@ import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
import org.apache.james.mailbox.store.quota.QuotaRootImpl;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
public class InMemoryCurrentQuotaManagerTest {
@@ -48,35 +46,27 @@ public class InMemoryCurrentQuotaManagerTest {
@Test
public void getCurrentMessageCountShouldReturnRecalculateMessageCountWhenEntryIsNotInitialized() throws Exception {
- when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null)).thenAnswer(new Answer<CurrentQuotaCalculator.CurrentQuotas>() {
- @Override
- public CurrentQuotaCalculator.CurrentQuotas answer(InvocationOnMock invocationOnMock) throws Throwable {
- return new CurrentQuotaCalculator.CurrentQuotas(18, 512);
- }
- });
+ when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
+ .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+
assertThat(testee.getCurrentMessageCount(QUOTA_ROOT)).isEqualTo(18);
}
@Test
public void getCurrentStorageShouldReturnRecalculateSizeWhenEntryIsNotInitialized() throws Exception {
- when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null)).thenAnswer(new Answer<CurrentQuotaCalculator.CurrentQuotas>() {
- @Override
- public CurrentQuotaCalculator.CurrentQuotas answer(InvocationOnMock invocationOnMock) throws Throwable {
- return new CurrentQuotaCalculator.CurrentQuotas(18, 512);
- }
- });
+ when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
+ .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+
assertThat(testee.getCurrentStorage(QUOTA_ROOT)).isEqualTo(512);
}
@Test
public void getCurrentStorageShouldReRetrieveStoredQuotasWhenCalculateOnUnknownQuotaIsTrue() throws Exception {
- when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null)).thenAnswer(new Answer<CurrentQuotaCalculator.CurrentQuotas>() {
- @Override
- public CurrentQuotaCalculator.CurrentQuotas answer(InvocationOnMock invocationOnMock) throws Throwable {
- return new CurrentQuotaCalculator.CurrentQuotas(18, 512);
- }
- });
+ when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
+ .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+
testee.increase(QUOTA_ROOT, 10, 100);
+
assertThat(testee.getCurrentMessageCount(QUOTA_ROOT)).isEqualTo(28);
assertThat(testee.getCurrentStorage(QUOTA_ROOT)).isEqualTo(612);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org