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:39 UTC
[06/18] james-project git commit: JAMES-2107 Run IntelliJ inspection:
"Convert to lambas"
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 355070b..cc7083c 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
@@ -547,26 +547,23 @@ public class StoreMailboxManager implements MailboxManager {
final List<MailboxId> mailboxIds = new ArrayList<MailboxId>();
for (final MailboxPath mailbox : mailboxPath.getHierarchyLevels(getDelimiter()))
- locker.executeWithLock(mailboxSession, mailbox, new LockAwareExecution<Void>() {
+ locker.executeWithLock(mailboxSession, mailbox, (LockAwareExecution<Void>) () -> {
+ if (!mailboxExists(mailbox, mailboxSession)) {
+ final Mailbox m = doCreateMailbox(mailbox, mailboxSession);
+ final MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
+ mapper.execute(new TransactionalMapper.VoidTransaction() {
- public Void execute() throws MailboxException {
- if (!mailboxExists(mailbox, mailboxSession)) {
- final org.apache.james.mailbox.store.mail.model.Mailbox m = doCreateMailbox(mailbox, mailboxSession);
- final MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
- mapper.execute(new TransactionalMapper.VoidTransaction() {
+ public void runVoid() throws MailboxException {
+ mailboxIds.add(mapper.save(m));
+ }
- public void runVoid() throws MailboxException {
- mailboxIds.add(mapper.save(m));
- }
-
- });
-
- // notify listeners
- dispatcher.mailboxAdded(mailboxSession, m);
- }
- return null;
+ });
+ // notify listeners
+ dispatcher.mailboxAdded(mailboxSession, m);
}
+ return null;
+
}, true);
if (!mailboxIds.isEmpty()) {
@@ -581,21 +578,17 @@ public class StoreMailboxManager implements MailboxManager {
session.getLog().info("deleteMailbox " + mailboxPath);
final MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(session);
- Mailbox mailbox = mapper.execute(new Mapper.Transaction<Mailbox>() {
-
- public Mailbox run() throws MailboxException {
- final Mailbox mailbox = mapper.findMailboxByPath(mailboxPath);
- if (mailbox == null) {
- throw new MailboxNotFoundException("Mailbox not found");
- }
-
- // We need to create a copy of the mailbox as maybe we can not refer to the real
- // mailbox once we remove it
- SimpleMailbox m = new SimpleMailbox(mailbox);
- mapper.delete(mailbox);
- return m;
+ Mailbox mailbox = mapper.execute((Mapper.Transaction<Mailbox>) () -> {
+ final Mailbox mailbox1 = mapper.findMailboxByPath(mailboxPath);
+ if (mailbox1 == null) {
+ throw new MailboxNotFoundException("Mailbox not found");
}
+ // We need to create a copy of the mailbox as maybe we can not refer to the real
+ // mailbox once we remove it
+ SimpleMailbox m = new SimpleMailbox(mailbox1);
+ mapper.delete(mailbox1);
+ return m;
});
dispatcher.mailboxDeleted(session, mailbox);
@@ -629,24 +622,21 @@ public class StoreMailboxManager implements MailboxManager {
// rename submailboxes
final MailboxPath children = new MailboxPath(MailboxConstants.USER_NAMESPACE, from.getUser(), from.getName() + getDelimiter() + "%");
- locker.executeWithLock(session, children, new LockAwareExecution<Void>() {
-
- public Void execute() throws MailboxException {
- final List<Mailbox> subMailboxes = mapper.findMailboxWithPathLike(children);
- for (Mailbox sub : subMailboxes) {
- final String subOriginalName = sub.getName();
- final String subNewName = to.getName() + subOriginalName.substring(from.getName().length());
- final MailboxPath fromPath = new MailboxPath(children, subOriginalName);
- sub.setName(subNewName);
- mapper.save(sub);
- dispatcher.mailboxRenamed(session, fromPath, sub);
-
- if (log.isDebugEnabled())
- log.debug("Rename mailbox sub-mailbox " + subOriginalName + " to " + subNewName);
- }
- return null;
-
+ locker.executeWithLock(session, children, (LockAwareExecution<Void>) () -> {
+ final List<Mailbox> subMailboxes = mapper.findMailboxWithPathLike(children);
+ for (Mailbox sub : subMailboxes) {
+ final String subOriginalName = sub.getName();
+ final String subNewName = to.getName() + subOriginalName.substring(from.getName().length());
+ final MailboxPath fromPath = new MailboxPath(children, subOriginalName);
+ sub.setName(subNewName);
+ mapper.save(sub);
+ dispatcher.mailboxRenamed(session, fromPath, sub);
+
+ if (log.isDebugEnabled())
+ log.debug("Rename mailbox sub-mailbox " + subOriginalName + " to " + subNewName);
}
+ return null;
+
}, true);
}
});
@@ -672,11 +662,8 @@ public class StoreMailboxManager implements MailboxManager {
private List<MessageRange> copyMessages(MessageRange set, final MailboxSession session,
final StoreMessageManager toMailbox, final StoreMessageManager fromMailbox) throws MailboxException {
- return copyBatcher.batchMessages(set, new MessageBatcher.BatchedOperation() {
- public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
- return fromMailbox.copyTo(messageRange, toMailbox, session);
- }
- });
+ return copyBatcher.batchMessages(set,
+ messageRange -> fromMailbox.copyTo(messageRange, toMailbox, session));
}
@Override
@@ -684,11 +671,8 @@ public class StoreMailboxManager implements MailboxManager {
final StoreMessageManager toMailbox = (StoreMessageManager) getMailbox(to, session);
final StoreMessageManager fromMailbox = (StoreMessageManager) getMailbox(from, session);
- return moveBatcher.batchMessages(set, new MessageBatcher.BatchedOperation() {
- public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
- return fromMailbox.moveTo(messageRange, toMailbox, session);
- }
- });
+ return moveBatcher.batchMessages(set,
+ messageRange -> fromMailbox.moveTo(messageRange, toMailbox, session));
}
@Override
@@ -737,16 +721,7 @@ public class StoreMailboxManager implements MailboxManager {
private boolean hasChildIn(Mailbox parentMailbox, List<Mailbox> mailboxesWithPathLike, MailboxSession mailboxSession) {
return FluentIterable.from(mailboxesWithPathLike)
- .anyMatch(isChildren(parentMailbox, mailboxSession));
- }
-
- private Predicate<Mailbox> isChildren(final Mailbox parentMailbox, final MailboxSession mailboxSession) {
- return new Predicate<Mailbox>() {
- @Override
- public boolean apply(Mailbox mailbox) {
- return mailbox.isChildOf(parentMailbox, mailboxSession);
- }
- };
+ .anyMatch(mailbox -> mailbox.isChildOf(parentMailbox, mailboxSession));
}
@Override
@@ -871,12 +846,8 @@ public class StoreMailboxManager implements MailboxManager {
final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
- return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
- @Override
- public List<MailboxAnnotation> run() throws MailboxException {
- return annotationMapper.getAllAnnotations(mailboxId);
- }
- });
+ return annotationMapper.execute(
+ () -> annotationMapper.getAllAnnotations(mailboxId));
}
@Override
@@ -885,12 +856,8 @@ public class StoreMailboxManager implements MailboxManager {
final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
- return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
- @Override
- public List<MailboxAnnotation> run() throws MailboxException {
- return annotationMapper.getAnnotationsByKeys(mailboxId, keys);
- }
- });
+ return annotationMapper.execute(
+ () -> annotationMapper.getAnnotationsByKeys(mailboxId, keys));
}
@Override
@@ -935,12 +902,8 @@ public class StoreMailboxManager implements MailboxManager {
final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
- return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
- @Override
- public List<MailboxAnnotation> run() throws MailboxException {
- return annotationMapper.getAnnotationsByKeysWithOneDepth(mailboxId, keys);
- }
- });
+ return annotationMapper.execute(
+ () -> annotationMapper.getAnnotationsByKeysWithOneDepth(mailboxId, keys));
}
@Override
@@ -949,12 +912,8 @@ public class StoreMailboxManager implements MailboxManager {
final AnnotationMapper annotationMapper = mailboxSessionMapperFactory.getAnnotationMapper(session);
final MailboxId mailboxId = getMailbox(mailboxPath, session).getId();
- return annotationMapper.execute(new Mapper.Transaction<List<MailboxAnnotation>>() {
- @Override
- public List<MailboxAnnotation> run() throws MailboxException {
- return annotationMapper.getAnnotationsByKeysWithAllDepth(mailboxId, keys);
- }
- });
+ return annotationMapper.execute(
+ () -> annotationMapper.getAnnotationsByKeysWithAllDepth(mailboxId, keys));
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
index 3d06f87..fc9da70 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
@@ -66,21 +66,6 @@ import com.google.common.collect.Sets;
import com.google.common.collect.Sets.SetView;
public class StoreMessageIdManager implements MessageIdManager {
-
- private static final Function<MailboxMessage, MetadataWithMailboxId> EXTRACT_METADATA_FUNCTION = new Function<MailboxMessage, MetadataWithMailboxId>() {
- @Override
- public MetadataWithMailboxId apply(MailboxMessage mailboxMessage) {
- return new MetadataWithMailboxId(new SimpleMessageMetaData(mailboxMessage), mailboxMessage.getMailboxId());
- }
- };
-
- private static final Function<MailboxMessage, MailboxId> EXTRACT_MAILBOX_ID_FUNCTION = new Function<MailboxMessage, MailboxId>() {
- @Override
- public MailboxId apply(MailboxMessage input) {
- return input.getMailboxId();
- }
- };
-
private final MailboxSessionMapperFactory mailboxSessionMapperFactory;
private final MailboxEventDispatcher dispatcher;
private final MessageId.Factory messageIdFactory;
@@ -118,7 +103,7 @@ public class StoreMessageIdManager implements MessageIdManager {
final MailboxMapper mailboxMapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession);
List<MailboxMessage> messageList = messageIdMapper.find(messageIds, MessageMapper.FetchType.Full);
ImmutableSet<MailboxId> mailboxIds = FluentIterable.from(messageList)
- .transform(EXTRACT_MAILBOX_ID_FUNCTION)
+ .transform(MailboxMessage::getMailboxId)
.toSet();
final ImmutableSet<MailboxId> allowedMailboxIds = FluentIterable.from(mailboxIds)
.filter(mailboxBelongsToUser(mailboxSession, mailboxMapper))
@@ -142,7 +127,9 @@ public class StoreMessageIdManager implements MessageIdManager {
Iterable<MetadataWithMailboxId> metadatasWithMailbox = FluentIterable
.from(messageIdMapper.find(ImmutableList.of(messageId), MessageMapper.FetchType.Metadata))
.filter(inMailboxes(mailboxIds))
- .transform(EXTRACT_METADATA_FUNCTION);
+ .transform(mailboxMessage -> new MetadataWithMailboxId(
+ new SimpleMessageMetaData(mailboxMessage),
+ mailboxMessage.getMailboxId()));
messageIdMapper.delete(messageId, mailboxIds);
@@ -164,7 +151,7 @@ public class StoreMessageIdManager implements MessageIdManager {
if (!mailboxMessages.isEmpty()) {
ImmutableSet<MailboxId> currentMailboxes = FluentIterable.from(mailboxMessages)
- .transform(EXTRACT_MAILBOX_ID_FUNCTION)
+ .transform(MailboxMessage::getMailboxId)
.toSet();
HashSet<MailboxId> targetMailboxes = Sets.newHashSet(mailboxIds);
List<MailboxId> mailboxesToRemove = ImmutableList.copyOf(Sets.difference(currentMailboxes, targetMailboxes));
@@ -253,38 +240,27 @@ public class StoreMessageIdManager implements MessageIdManager {
}
private Function<MailboxMessage, MessageResult> messageResultConverter(final MessageResult.FetchGroup fetchGroup) {
- return new Function<MailboxMessage, MessageResult>() {
- @Override
- public MessageResult apply(MailboxMessage input) {
- try {
- return ResultUtils.loadMessageResult(input, fetchGroup);
- } catch (MailboxException e) {
- throw new WrappedException(e);
- }
+ return input -> {
+ try {
+ return ResultUtils.loadMessageResult(input, fetchGroup);
+ } catch (MailboxException e) {
+ throw new WrappedException(e);
}
};
}
private Predicate<MailboxMessage> inMailboxes(final Collection<MailboxId> mailboxIds) {
- return new Predicate<MailboxMessage>() {
- @Override
- public boolean apply(MailboxMessage mailboxMessage) {
- return mailboxIds.contains(mailboxMessage.getMailboxId());
- }
- };
+ return mailboxMessage -> mailboxIds.contains(mailboxMessage.getMailboxId());
}
private Predicate<MailboxId> mailboxBelongsToUser(final MailboxSession mailboxSession, final MailboxMapper mailboxMapper) {
- return new Predicate<MailboxId>() {
- @Override
- public boolean apply(MailboxId mailboxId) {
- try {
- Mailbox currentMailbox = mailboxMapper.findMailboxById(mailboxId);
- return belongsToCurrentUser(currentMailbox, mailboxSession);
- } catch (MailboxException e) {
- mailboxSession.getLog().error(String.format("Can not retrieve mailboxPath associated with %s", mailboxId.serialize()), e);
- return false;
- }
+ return mailboxId -> {
+ try {
+ Mailbox currentMailbox = mailboxMapper.findMailboxById(mailboxId);
+ return belongsToCurrentUser(currentMailbox, mailboxSession);
+ } catch (MailboxException e) {
+ mailboxSession.getLog().error(String.format("Can not retrieve mailboxPath associated with %s", mailboxId.serialize()), e);
+ return false;
}
};
}
@@ -292,7 +268,7 @@ public class StoreMessageIdManager implements MessageIdManager {
private Predicate<MailboxMessage> messageBelongsToUser(MailboxSession mailboxSession, MailboxMapper mailboxMapper) {
return Predicates.compose(
mailboxBelongsToUser(mailboxSession, mailboxMapper),
- EXTRACT_MAILBOX_ID_FUNCTION);
+ MailboxMessage::getMailboxId);
}
private void allowOnMailboxSession(List<MailboxId> mailboxIds, MailboxSession mailboxSession, MailboxMapper mailboxMapper) throws MailboxNotFoundException {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
index 137433c..e4e3c30 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
@@ -82,7 +82,6 @@ import org.apache.james.mailbox.store.quota.QuotaChecker;
import org.apache.james.mailbox.store.search.MessageSearchIndex;
import org.apache.james.mailbox.store.streaming.BodyOffsetInputStream;
import org.apache.james.mailbox.store.streaming.CountingInputStream;
-import org.apache.james.mailbox.store.transaction.Mapper;
import org.apache.james.mime4j.MimeException;
import org.apache.james.mime4j.message.DefaultBodyDescriptorBuilder;
import org.apache.james.mime4j.message.HeaderImpl;
@@ -95,7 +94,6 @@ import org.apache.james.util.IteratorWrapper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
@@ -140,15 +138,6 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
private static final Logger LOG = LoggerFactory.getLogger(StoreMessageManager.class);
- private static final Predicate<MessageAttachment> NOT_INLINE_ATTACHMENT() {
- return new Predicate<MessageAttachment>() {
- @Override
- public boolean apply(MessageAttachment input) {
- return !input.isInlinedWithCid();
- }
- };
- }
-
private final Mailbox mailbox;
private final MailboxEventDispatcher dispatcher;
@@ -427,16 +416,12 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
new QuotaChecker(quotaManager, quotaRootResolver, mailbox).tryAddition(1, size);
- return locker.executeWithLock(mailboxSession, getMailboxPath(), new MailboxPathLocker.LockAwareExecution<ComposedMessageId>() {
-
- @Override
- public ComposedMessageId execute() throws MailboxException {
- MessageMetaData data = appendMessageToStore(message, attachments, mailboxSession);
+ return locker.executeWithLock(mailboxSession, getMailboxPath(), () -> {
+ MessageMetaData data = appendMessageToStore(message, attachments, mailboxSession);
- Mailbox mailbox = getMailboxEntity();
- dispatcher.added(mailboxSession, mailbox, message);
- return new ComposedMessageId(mailbox.getMailboxId(), data.getMessageId(), data.getUid());
- }
+ Mailbox mailbox = getMailboxEntity();
+ dispatcher.added(mailboxSession, mailbox, message);
+ return new ComposedMessageId(mailbox.getMailboxId(), data.getMessageId(), data.getUid());
}, true);
} catch (IOException e) {
@@ -462,7 +447,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
}
private boolean hasNonInlinedAttachment(List<MessageAttachment> attachments) {
- return FluentIterable.from(attachments).anyMatch(NOT_INLINE_ATTACHMENT());
+ return FluentIterable.from(attachments)
+ .anyMatch(messageAttachment -> !messageAttachment.isInlinedWithCid());
}
private List<MessageAttachment> extractAttachments(SharedFileInputStream contentIn) {
@@ -500,10 +486,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
final Flags permanentFlags = getPermanentFlags(mailboxSession);
final long uidValidity = getMailboxEntity().getUidValidity();
MessageUid uidNext = mapperFactory.getMessageMapper(mailboxSession).getLastUid(mailbox)
- .transform(new Function<MessageUid, MessageUid>() {
- public MessageUid apply(MessageUid input) {
- return input.next();
- }})
+ .transform(MessageUid::next)
.or(MessageUid.MIN_VALUE);
final long highestModSeq = mapperFactory.getMessageMapper(mailboxSession).getHighestModSeq(mailbox);
final long messageCount;
@@ -597,12 +580,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
final MessageMapper messageMapper = mapperFactory.getMessageMapper(mailboxSession);
- Iterator<UpdatedFlags> it = messageMapper.execute(new Mapper.Transaction<Iterator<UpdatedFlags>>() {
-
- public Iterator<UpdatedFlags> run() throws MailboxException {
- return messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(flags, flagsUpdateMode), set);
- }
- });
+ Iterator<UpdatedFlags> it = messageMapper.execute(() -> messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(flags, flagsUpdateMode), set));
final SortedMap<MessageUid, UpdatedFlags> uFlags = new TreeMap<MessageUid, UpdatedFlags>();
@@ -612,7 +590,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
uFlags.put(flag.getUid(), flag);
}
- dispatcher.flagsUpdated(mailboxSession, new ArrayList<MessageUid>(uFlags.keySet()), getMailboxEntity(), new ArrayList<UpdatedFlags>(uFlags.values()));
+ dispatcher.flagsUpdated(mailboxSession, new ArrayList<>(uFlags.keySet()), getMailboxEntity(), new ArrayList<UpdatedFlags>(uFlags.values()));
return newFlagsByUid;
}
@@ -630,13 +608,9 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
throw new ReadOnlyException(new StoreMailboxPath(toMailbox.getMailboxEntity()), session.getPathDelimiter());
}
- return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), new MailboxPathLocker.LockAwareExecution<List<MessageRange>>() {
-
- @Override
- public List<MessageRange> execute() throws MailboxException {
- SortedMap<MessageUid, MessageMetaData> copiedUids = copy(set, toMailbox, session);
- return MessageRange.toRanges(new ArrayList<MessageUid>(copiedUids.keySet()));
- }
+ return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), () -> {
+ SortedMap<MessageUid, MessageMetaData> copiedUids = copy(set, toMailbox, session);
+ return MessageRange.toRanges(new ArrayList<>(copiedUids.keySet()));
}, true);
}
@@ -657,30 +631,22 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
}
//TODO lock the from mailbox too, in a non-deadlocking manner - how?
- return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), new MailboxPathLocker.LockAwareExecution<List<MessageRange>>() {
-
- @Override
- public List<MessageRange> execute() throws MailboxException {
- SortedMap<MessageUid, MessageMetaData> movedUids = move(set, toMailbox, session);
- return MessageRange.toRanges(new ArrayList<MessageUid>(movedUids.keySet()));
- }
+ return locker.executeWithLock(session, new StoreMailboxPath(toMailbox.getMailboxEntity()), () -> {
+ SortedMap<MessageUid, MessageMetaData> movedUids = move(set, toMailbox, session);
+ return MessageRange.toRanges(new ArrayList<>(movedUids.keySet()));
}, true);
}
protected MessageMetaData appendMessageToStore(final MailboxMessage message, final List<MessageAttachment> messageAttachments, MailboxSession session) throws MailboxException {
final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
final AttachmentMapper attachmentMapper = mapperFactory.getAttachmentMapper(session);
- return mapperFactory.getMessageMapper(session).execute(new Mapper.Transaction<MessageMetaData>() {
-
- public MessageMetaData run() throws MailboxException {
- ImmutableList.Builder<Attachment> attachments = ImmutableList.builder();
- for (MessageAttachment attachment : messageAttachments) {
- attachments.add(attachment.getAttachment());
- }
- attachmentMapper.storeAttachments(attachments.build());
- return messageMapper.add(getMailboxEntity(), message);
+ return mapperFactory.getMessageMapper(session).execute(() -> {
+ ImmutableList.Builder<Attachment> attachments = ImmutableList.builder();
+ for (MessageAttachment attachment : messageAttachments) {
+ attachments.add(attachment.getAttachment());
}
-
+ attachmentMapper.storeAttachments(attachments.build());
+ return messageMapper.add(getMailboxEntity(), message);
});
}
@@ -713,23 +679,19 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
}
final MessageMapper messageMapper = mapperFactory.getMessageMapper(mailboxSession);
- return messageMapper.execute(new Mapper.Transaction<List<MessageUid>>() {
-
- public List<MessageUid> run() throws MailboxException {
- final List<MessageUid> members = messageMapper.findRecentMessageUidsInMailbox(getMailboxEntity());
+ return messageMapper.execute(() -> {
+ final List<MessageUid> members = messageMapper.findRecentMessageUidsInMailbox(getMailboxEntity());
- // Convert to MessageRanges so we may be able to optimize the
- // flag update
- List<MessageRange> ranges = MessageRange.toRanges(members);
- for (MessageRange range : ranges) {
- if (reset) {
- // only call save if we need to
- messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REMOVE), range);
- }
+ // Convert to MessageRanges so we may be able to optimize the
+ // flag update
+ List<MessageRange> ranges = MessageRange.toRanges(members);
+ for (MessageRange range : ranges) {
+ if (reset) {
+ // only call save if we need to
+ messageMapper.updateFlags(getMailboxEntity(), new FlagsUpdateCalculator(new Flags(Flag.RECENT), FlagsUpdateMode.REMOVE), range);
}
- return members;
}
-
+ return members;
});
}
@@ -738,13 +700,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
- return messageMapper.execute(new Mapper.Transaction<Map<MessageUid, MessageMetaData>>() {
-
- public Map<MessageUid, MessageMetaData> run() throws MailboxException {
- return messageMapper.expungeMarkedForDeletionInMailbox(getMailboxEntity(), range);
- }
-
- });
+ return messageMapper.execute(
+ () -> messageMapper.expungeMarkedForDeletionInMailbox(getMailboxEntity(), range));
}
@Override
@@ -763,13 +720,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
while (originalRows.hasNext()) {
final MailboxMessage originalMessage = originalRows.next();
quotaChecker.tryAddition(1, originalMessage.getFullContentOctets());
- MessageMetaData data = messageMapper.execute(new Mapper.Transaction<MessageMetaData>() {
- public MessageMetaData run() throws MailboxException {
- return messageMapper.copy(getMailboxEntity(), originalMessage);
-
- }
-
- });
+ MessageMetaData data = messageMapper.execute(
+ () -> messageMapper.copy(getMailboxEntity(), originalMessage));
copiedRows.add(data);
}
return copiedRows.iterator();
@@ -783,12 +735,8 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
while (originalRows.hasNext()) {
final MailboxMessage originalMessage = originalRows.next();
originalRowsCopy.add(new SimpleMessageMetaData(originalMessage));
- MessageMetaData data = messageMapper.execute(new Mapper.Transaction<MessageMetaData>() {
- public MessageMetaData run() throws MailboxException {
- return messageMapper.move(getMailboxEntity(), originalMessage);
- }
-
- });
+ MessageMetaData data = messageMapper.execute(
+ () -> messageMapper.move(getMailboxEntity(), originalMessage));
movedRows.add(data);
}
return new MoveResult(movedRows.iterator(), originalRowsCopy.iterator());
@@ -897,11 +845,7 @@ public class StoreMessageManager implements org.apache.james.mailbox.MessageMana
private Iterator<MessageUid> listAllMessageUids(MailboxSession session) throws MailboxException {
final MessageMapper messageMapper = mapperFactory.getMessageMapper(session);
- return messageMapper.execute(new Mapper.Transaction<Iterator<MessageUid>>() {
- @Override
- public Iterator<MessageUid> run() throws MailboxException {
- return messageMapper.listAllMessageUids(mailbox);
- }
- });
+ return messageMapper.execute(
+ () -> messageMapper.listAllMessageUids(mailbox));
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
index 33f1e75..81c5793 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/event/AsynchronousEventDelivery.java
@@ -19,12 +19,13 @@
package org.apache.james.mailbox.store.event;
-import org.apache.james.mailbox.MailboxListener;
-
-import javax.annotation.PreDestroy;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
+import javax.annotation.PreDestroy;
+
+import org.apache.james.mailbox.MailboxListener;
+
public class AsynchronousEventDelivery implements EventDelivery {
private final ExecutorService threadPoolExecutor;
@@ -37,12 +38,7 @@ public class AsynchronousEventDelivery implements EventDelivery {
@Override
public void deliver(final MailboxListener mailboxListener, final MailboxListener.Event event) {
- threadPoolExecutor.submit(new Runnable() {
- @Override
- public void run() {
- synchronousEventDelivery.deliver(mailboxListener, event);
- }
- });
+ threadPoolExecutor.submit(() -> synchronousEventDelivery.deliver(mailboxListener, event));
}
@PreDestroy
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
index 3277d4c..3598eaa 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MailboxSessionDataTransferObject.java
@@ -19,18 +19,18 @@
package org.apache.james.mailbox.store.json.event.dto;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.base.Function;
-import com.google.common.collect.Lists;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.store.SimpleMailboxSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Locale;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.collect.Lists;
public class MailboxSessionDataTransferObject {
@JsonProperty()
@@ -61,11 +61,7 @@ public class MailboxSessionDataTransferObject {
separator = session.getPathDelimiter();
sessionType = extractSessionType(session);
sessionId = session.getSessionId();
- locales = Lists.transform(session.getUser().getLocalePreferences(), new Function<Locale, LocaleDataTransferObject>() {
- public LocaleDataTransferObject apply(Locale locale) {
- return new LocaleDataTransferObject(locale);
- }
- });
+ locales = Lists.transform(session.getUser().getLocalePreferences(), LocaleDataTransferObject::new);
}
@JsonIgnore
@@ -83,11 +79,7 @@ public class MailboxSessionDataTransferObject {
private List<Locale> retrieveLocales() {
if (locales != null) {
- return Lists.transform(locales, new Function<LocaleDataTransferObject, Locale>() {
- public Locale apply(LocaleDataTransferObject localeDataTransferObject) {
- return localeDataTransferObject.getLocale();
- }
- });
+ return Lists.transform(locales, LocaleDataTransferObject::getLocale);
} else {
return new ArrayList<Locale>();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
index e7c3e93..637d003 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/json/event/dto/MessageMetaDataDataTransferObject.java
@@ -49,12 +49,8 @@ public class MessageMetaDataDataTransferObject {
private static final Logger LOG = LoggerFactory.getLogger(MessageMetaDataDataTransferObject.class);
- private static final ThreadLocal<SimpleDateFormat> simpleDateFormat = new ThreadLocal<SimpleDateFormat>(){
- protected SimpleDateFormat initialValue()
- {
- return new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
- }
- };
+ private static final ThreadLocal<SimpleDateFormat> simpleDateFormat = ThreadLocal.withInitial(
+ () -> new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"));
private static Date parse(String date) throws ParseException {
if (date != null) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
index bd0a31c..e5d8103 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingModSeqProvider.java
@@ -20,7 +20,6 @@ package org.apache.james.mailbox.store.mail;
import org.apache.commons.lang.NotImplementedException;
import org.apache.james.mailbox.MailboxPathLocker;
-import org.apache.james.mailbox.MailboxPathLocker.LockAwareExecution;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxId;
@@ -43,13 +42,10 @@ public abstract class AbstractLockingModSeqProvider implements ModSeqProvider{
@Override
public long nextModSeq(final MailboxSession session, final Mailbox mailbox) throws MailboxException {
- return locker.executeWithLock(session, new StoreMailboxPath(mailbox), new LockAwareExecution<Long>() {
-
- @Override
- public Long execute() throws MailboxException {
- return lockedNextModSeq(session, mailbox);
- }
- }, true);
+ boolean writeLock = true;
+ return locker.executeWithLock(session, new StoreMailboxPath(mailbox),
+ () -> lockedNextModSeq(session, mailbox),
+ writeLock);
}
@Override
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
index 33586dc..d3d5c8e 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractLockingUidProvider.java
@@ -20,7 +20,6 @@ package org.apache.james.mailbox.store.mail;
import org.apache.commons.lang.NotImplementedException;
import org.apache.james.mailbox.MailboxPathLocker;
-import org.apache.james.mailbox.MailboxPathLocker.LockAwareExecution;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
@@ -45,13 +44,10 @@ public abstract class AbstractLockingUidProvider implements UidProvider{
@Override
public MessageUid nextUid(final MailboxSession session, final Mailbox mailbox) throws MailboxException {
- return locker.executeWithLock(session, new StoreMailboxPath(mailbox), new LockAwareExecution<MessageUid>() {
-
- @Override
- public MessageUid execute() throws MailboxException {
- return lockedNextUid(session, mailbox);
- }
- }, true);
+ boolean writeLock = true;
+ return locker.executeWithLock(session, new StoreMailboxPath(mailbox),
+ () -> lockedNextUid(session, mailbox),
+ writeLock);
}
/**
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
index cae0753..0cf6d8b 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/AbstractMessageMapper.java
@@ -36,7 +36,6 @@ import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.transaction.TransactionalMapper;
-import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.collect.Iterators;
@@ -46,12 +45,6 @@ import com.google.common.collect.Iterators;
*
*/
public abstract class AbstractMessageMapper extends TransactionalMapper implements MessageMapper {
- private static final Function<MailboxMessage, MessageUid> TO_UID = new Function<MailboxMessage, MessageUid>() {
- @Override
- public MessageUid apply(MailboxMessage input) {
- return input.getUid();
- }
- };
private static final int UNLIMITED = -1;
@@ -159,6 +152,7 @@ public abstract class AbstractMessageMapper extends TransactionalMapper implemen
@Override
public Iterator<MessageUid> listAllMessageUids(Mailbox mailbox) throws MailboxException {
- return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Metadata, UNLIMITED), TO_UID);
+ return Iterators.transform(findInMailbox(mailbox, MessageRange.all(), FetchType.Metadata, UNLIMITED),
+ MailboxMessage::getUid);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
index 62bf74e..63f80af 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/MessageParser.java
@@ -161,28 +161,19 @@ public class MessageParser {
}
private Optional<String> contentType(Optional<ContentTypeField> contentTypeField) {
- return contentTypeField.transform(new Function<ContentTypeField, Optional<String>>() {
- @Override
- public Optional<String> apply(ContentTypeField field) {
- return Optional.fromNullable(field.getMimeType());
- }
- }).or(Optional.<String> absent());
+ return contentTypeField.transform(field -> Optional.fromNullable(field.getMimeType()))
+ .or(Optional.<String> absent());
}
private Optional<String> name(Optional<ContentTypeField> contentTypeField) {
- return contentTypeField.transform(new Function<ContentTypeField, Optional<String>>() {
- @Override
- public Optional<String> apply(ContentTypeField field) {
- return Optional.fromNullable(field.getParameter("name"))
- .transform(
- new Function<String, String>() {
- public String apply(String input) {
- DecodeMonitor monitor = null;
- return DecoderUtil.decodeEncodedWords(input, monitor);
- }
- });
- }
- }).or(Optional.<String> absent());
+ return contentTypeField
+ .transform(field -> Optional.fromNullable(field.getParameter("name"))
+ .transform(
+ fieldValue -> {
+ DecodeMonitor monitor = null;
+ return DecoderUtil.decodeEncodedWords(fieldValue, monitor);
+ }))
+ .or(Optional.<String> absent());
}
private Optional<Cid> cid(Optional<ContentIdField> contentIdField) {
@@ -194,12 +185,7 @@ public class MessageParser {
}
private Function<ContentIdField, Optional<Cid>> toCid() {
- return new Function<ContentIdField, Optional<Cid>>() {
- @Override
- public Optional<Cid> apply(ContentIdField input) {
- return cidParser.parse(input.getId());
- }
- };
+ return contentIdField -> cidParser.parse(contentIdField.getId());
}
private boolean isMultipart(Entity entity) {
@@ -207,12 +193,8 @@ public class MessageParser {
}
private boolean isInline(Optional<ContentDispositionField> contentDispositionField) {
- return contentDispositionField.transform(new Function<ContentDispositionField, Boolean>() {
- @Override
- public Boolean apply(ContentDispositionField field) {
- return field.isInline();
- }
- }).or(false);
+ return contentDispositionField.transform(ContentDispositionField::isInline)
+ .or(false);
}
private boolean isAttachment(Entity part, Context context) {
@@ -220,13 +202,9 @@ public class MessageParser {
return false;
}
return Optional.fromNullable(part.getDispositionType())
- .transform(new Function<String, Boolean>() {
-
- @Override
- public Boolean apply(String dispositionType) {
- return ATTACHMENT_CONTENT_DISPOSITIONS.contains(dispositionType.toLowerCase(Locale.US));
- }
- }).or(false);
+ .transform(dispositionType -> ATTACHMENT_CONTENT_DISPOSITIONS.contains(
+ dispositionType.toLowerCase(Locale.US)))
+ .or(false);
}
private boolean isTextPart(Entity part) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
index f69a458..2c88849 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/PropertyBuilder.java
@@ -62,14 +62,9 @@ public class PropertyBuilder {
public static final String HAS_ATTACHMENT = "HAS_ATTACHMENT";
public static Predicate<Property> isHasAttachmentProperty() {
- return new Predicate<Property>() {
- @Override
- public boolean apply(Property input) {
- return input.getNamespace().equals(PropertyBuilder.JAMES_INTERNALS)
- && input.getLocalName().equals(PropertyBuilder.HAS_ATTACHMENT)
- && input.getValue().equals("true");
- }
- };
+ return property -> property.getNamespace().equals(PropertyBuilder.JAMES_INTERNALS)
+ && property.getLocalName().equals(PropertyBuilder.HAS_ATTACHMENT)
+ && property.getValue().equals("true");
}
private Long textualLineCount;
@@ -77,7 +72,7 @@ public class PropertyBuilder {
public PropertyBuilder(List<Property> props) {
textualLineCount = null;
- properties = new ArrayList<SimpleProperty>(props.size());
+ properties = new ArrayList<>(props.size());
for (Property property:props) {
properties.add(new SimpleProperty(property));
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
index 110430f..b95e153 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/mail/utils/ApplicableFlagCalculator.java
@@ -24,21 +24,11 @@ import javax.mail.Flags;
import org.apache.james.mailbox.ApplicableFlagBuilder;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
-import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.collect.FluentIterable;
public class ApplicableFlagCalculator {
- private static Function<MailboxMessage, Flags> toFlags() {
- return new Function<MailboxMessage, Flags>() {
- @Override
- public Flags apply(MailboxMessage mailboxMessage) {
- return mailboxMessage.createFlags();
- }
- };
- }
-
private final Iterable<MailboxMessage> mailboxMessages;
public ApplicableFlagCalculator(Iterable<MailboxMessage> mailboxMessages) {
@@ -49,7 +39,7 @@ public class ApplicableFlagCalculator {
public Flags computeApplicableFlags() {
return ApplicableFlagBuilder.builder()
.add(FluentIterable.from(mailboxMessages)
- .transform(toFlags())
+ .transform(MailboxMessage::createFlags)
.toArray(Flags.class))
.build();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
index 0a7df7d..4c66901 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
@@ -36,7 +36,6 @@ import org.apache.james.mailbox.store.mail.MessageMapper;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
-import com.google.common.base.Function;
import com.google.common.base.Throwables;
import com.google.common.collect.Lists;
@@ -70,14 +69,11 @@ public class CurrentQuotaCalculator {
private List<Mailbox> retrieveMailboxes(QuotaRoot quotaRoot, MailboxSession session) throws MailboxException {
List<MailboxPath> paths = quotaRootResolver.retrieveAssociatedMailboxes(quotaRoot, session);
final MailboxMapper mapper = factory.getMailboxMapper(session);
- return Lists.transform(paths, new Function<MailboxPath, Mailbox>() {
- @Override
- public Mailbox apply(MailboxPath mailboxPath) {
- try {
- return mapper.findMailboxByPath(mailboxPath);
- } catch (MailboxException e) {
- throw Throwables.propagate(e);
- }
+ return Lists.transform(paths, mailboxPath -> {
+ try {
+ return mapper.findMailboxByPath(mailboxPath);
+ } catch (MailboxException e) {
+ throw Throwables.propagate(e);
}
});
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
index 1e49b7d..4fa9cf6 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
@@ -31,7 +31,6 @@ import org.apache.james.mailbox.quota.QuotaRootResolver;
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
import org.apache.james.mailbox.store.mail.model.Mailbox;
-import com.google.common.base.Function;
import com.google.common.base.Preconditions;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
@@ -67,12 +66,8 @@ public class DefaultQuotaRootResolver implements QuotaRootResolver {
}
String namespace = parts.get(0);
String user = parts.get(1);
- return Lists.transform(factory.getMailboxMapper(mailboxSession).findMailboxWithPathLike(new MailboxPath(namespace, user, "%")),
- new Function<Mailbox, MailboxPath>() {
- @Override
- public MailboxPath apply(Mailbox idMailbox) {
- return idMailbox.generateAssociatedPath();
- }
- });
+ return Lists.transform(factory.getMailboxMapper(mailboxSession)
+ .findMailboxWithPathLike(new MailboxPath(namespace, user, "%")),
+ Mailbox::generateAssociatedPath);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
index 84dc5fc..78fa9af 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
@@ -70,7 +70,6 @@ import org.apache.james.mime4j.stream.MimeConfig;
import org.apache.james.mime4j.util.MimeUtil;
import org.apache.james.mime4j.utils.search.MessageMatcher;
-import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
@@ -123,15 +122,10 @@ public class MessageSearches implements Iterable<SimpleMessageSearchIndex.Search
List<MailboxMessage> sortedResults = FluentIterable.from(builder.build())
.toSortedList(CombinedComparator.create(query.getSorts()));
return FluentIterable.from(sortedResults)
- .transform(new Function<MailboxMessage, SimpleMessageSearchIndex.SearchResult>() {
- @Override
- public SimpleMessageSearchIndex.SearchResult apply(MailboxMessage input) {
- return new SimpleMessageSearchIndex.SearchResult(
- Optional.of(input.getMessageId()),
- input.getMailboxId(),
- input.getUid());
- }
- })
+ .transform(mailboxMessage -> new SimpleMessageSearchIndex.SearchResult(
+ Optional.of(mailboxMessage.getMessageId()),
+ mailboxMessage.getMailboxId(),
+ mailboxMessage.getUid()))
.iterator();
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
index d95b22a..082d90c 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
@@ -22,7 +22,6 @@ import java.util.ArrayList;
import java.util.EnumSet;
import java.util.Iterator;
import java.util.List;
-import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
@@ -32,7 +31,6 @@ import org.apache.james.mailbox.MailboxManager.SearchCapabilities;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
-import org.apache.james.mailbox.model.MailboxId;
import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.model.MessageRange;
@@ -49,9 +47,7 @@ import org.apache.james.mailbox.store.mail.MessageMapperFactory;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
-import com.google.common.base.Function;
import com.google.common.base.Preconditions;
-import com.google.common.base.Predicate;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableList;
@@ -103,8 +99,8 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
public Iterator<MessageUid> search(MailboxSession session, final Mailbox mailbox, SearchQuery query) throws MailboxException {
Preconditions.checkArgument(session != null, "'session' is mandatory");
return FluentIterable.from(searchResults(session, ImmutableList.of(mailbox), query))
- .filter(isInMailbox(mailbox))
- .transform(toMessageUid())
+ .filter(searchResult -> searchResult.getMailboxId().equals(mailbox.getMailboxId()))
+ .transform(SearchResult::getMessageUid)
.iterator();
}
@@ -155,8 +151,9 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
public List<MessageId> search(MailboxSession session, final MultimailboxesSearchQuery searchQuery, long limit) throws MailboxException {
List<Mailbox> allUserMailboxes = mailboxMapperFactory.getMailboxMapper(session)
.findMailboxWithPathLike(new MailboxPath(session.getPersonalSpace(), session.getUser().getUserName(), WILDCARD));
- FluentIterable<Mailbox> filteredMailboxes = FluentIterable.from(allUserMailboxes)
- .filter(notInMailboxes(searchQuery.getNotInMailboxes()));
+ FluentIterable<Mailbox> filteredMailboxes = FluentIterable
+ .from(allUserMailboxes)
+ .filter(mailbox -> !searchQuery.getNotInMailboxes().contains(mailbox.getMailboxId()));
if (searchQuery.getInMailboxes().isEmpty()) {
return getAsMessageIds(searchResults(session, filteredMailboxes, searchQuery.getSearchQuery()), limit);
}
@@ -169,48 +166,12 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
return getAsMessageIds(searchResults(session, queriedMailboxes, searchQuery.getSearchQuery()), limit);
}
- private Predicate<Mailbox> notInMailboxes(final Set<MailboxId> mailboxIds) {
- return new Predicate<Mailbox>() {
- @Override
- public boolean apply(Mailbox input) {
- return !mailboxIds.contains(input.getMailboxId());
- }
- };
- }
-
private List<MessageId> getAsMessageIds(List<SearchResult> temp, long limit) {
return FluentIterable.from(temp)
- .transform(toMessageId())
+ .transform(searchResult -> searchResult.getMessageId().get())
.filter(SearchUtil.distinct())
.limit(Long.valueOf(limit).intValue())
.toList();
}
- private Function<SearchResult, MessageId> toMessageId() {
- return new Function<SearchResult, MessageId>() {
- @Override
- public MessageId apply(SearchResult input) {
- return input.getMessageId().get();
- }
- };
- }
-
- private Function<SearchResult, MessageUid> toMessageUid() {
- return new Function<SearchResult, MessageUid>() {
- @Override
- public MessageUid apply(SearchResult input) {
- return input.getMessageUid();
- }
- };
- }
-
- private Predicate<SearchResult> isInMailbox(final Mailbox mailbox) {
- return new Predicate<SearchResult>() {
- @Override
- public boolean apply(SearchResult input) {
- return input.getMailboxId().equals(mailbox.getMailboxId());
- }
- };
- }
-
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
index 436fcea..38bae1d 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/comparator/CombinedComparator.java
@@ -44,12 +44,7 @@ public class CombinedComparator implements Comparator<MailboxMessage>{
}
private static Function<Sort, Comparator<MailboxMessage>> toComparator() {
- return new Function<Sort, Comparator<MailboxMessage>>() {
- @Override
- public Comparator<MailboxMessage> apply(Sort input) {
- return optionalResverse(toComparator(input), input.isReverse());
- }
- };
+ return sort -> optionalResverse(toComparator(sort), sort.isReverse());
}
private static Comparator<MailboxMessage> toComparator(Sort sort) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
index b524d7c..a78e7c0 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractCombinationManagerTest.java
@@ -474,12 +474,7 @@ public abstract class AbstractCombinationManagerTest {
}
private Predicate<MessageResult> messageInMailbox2() {
- return new Predicate<MessageResult>() {
- @Override
- public boolean apply(MessageResult input) {
- return input.getMailboxId().equals(mailbox2.getMailboxId());
- }
- };
+ return messageResult -> messageResult.getMailboxId().equals(mailbox2.getMailboxId());
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
index 4dcd687..0e6bdd8 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerStorageTest.java
@@ -58,32 +58,10 @@ public abstract class AbstractMessageIdManagerStorageTest {
private static final MessageUid messageUid1 = MessageUid.of(111);
private static final MessageUid messageUid2 = MessageUid.of(222);
- private static final Function<MessageResult, Flags> getFlags() {
- return new Function<MessageResult, Flags>() {
- @Override
- public Flags apply(MessageResult input) {
- return input.getFlags();
- }
- };
- }
-
private static final Function<MessageResult, Map.Entry<MessageId, Flags>> toMapEntryOfFlags() {
- return new Function<MessageResult, Map.Entry<MessageId, Flags>>() {
- @Override
- public Map.Entry<MessageId, Flags> apply(MessageResult input) {
- return new AbstractMap.SimpleEntry<MessageId, Flags>(input.getMessageId(), input.getFlags());
- }
- };
+ return messageResult -> new AbstractMap.SimpleEntry<>(messageResult.getMessageId(), messageResult.getFlags());
}
- private static Function<MessageResult, MailboxId> getMailboxId() {
- return new Function<MessageResult, MailboxId>() {
- @Override
- public MailboxId apply(MessageResult input) {
- return input.getMailboxId();
- }
- };
- }
private MessageIdManagerTestSystem testingData;
private MessageIdManager messageIdManager;
@@ -252,7 +230,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
messageIdManager.setInMailboxes(messageId, ImmutableList.of(mailbox1.getMailboxId(), mailbox3.getMailboxId()), session);
List<MailboxId> messageMailboxIds = FluentIterable.from(messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroupImpl.MINIMAL, session))
- .transform(getMailboxId())
+ .transform(MessageResult::getMailboxId)
.toList();
assertThat(messageMailboxIds).containsOnly(mailbox1.getMailboxId(), mailbox3.getMailboxId());
@@ -414,7 +392,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
List<Flags> flags = FluentIterable
.from(messageIdManager.getMessages(ImmutableList.of(messageId), FetchGroupImpl.MINIMAL, session))
- .transform(getFlags())
+ .transform(MessageResult::getFlags)
.toList();
assertThat(flags).hasSize(2);
@@ -432,7 +410,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
List<Flags> flags = FluentIterable
.from(messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroupImpl.MINIMAL, session))
- .transform(getFlags())
+ .transform(MessageResult::getFlags)
.toList();
assertThat(flags).hasSize(1);
@@ -448,7 +426,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
List<Flags> flags = FluentIterable
.from(messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroupImpl.MINIMAL, session))
- .transform(getFlags())
+ .transform(MessageResult::getFlags)
.toList();
assertThat(flags).hasSize(1);
@@ -464,7 +442,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
List<Flags> flags = FluentIterable
.from(messageIdManager.getMessages(ImmutableList.of(messageId1), FetchGroupImpl.MINIMAL, session))
- .transform(getFlags())
+ .transform(MessageResult::getFlags)
.toList();
assertThat(flags).hasSize(1);
@@ -545,12 +523,7 @@ public abstract class AbstractMessageIdManagerStorageTest {
}
private Predicate<MessageResult> inMailbox(final MailboxId mailboxId) {
- return new Predicate<MessageResult>() {
- @Override
- public boolean apply(MessageResult input) {
- return input.getMailboxId().equals(mailboxId);
- }
- };
+ return messageResult -> messageResult.getMailboxId().equals(mailboxId);
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
index 58ac911..97dade9 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/MessageBatcherTest.java
@@ -21,8 +21,6 @@ package org.apache.james.mailbox.store;
import static org.assertj.core.api.Assertions.assertThat;
-import java.util.List;
-
import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MessageRange;
@@ -32,12 +30,10 @@ import com.google.common.collect.Lists;
public class MessageBatcherTest {
- private MessageBatcher.BatchedOperation incrementBatcher = new MessageBatcher.BatchedOperation() {
- @Override
- public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
- return Lists.<MessageRange>newArrayList(MessageRange.range(messageRange.getUidFrom().next(), messageRange.getUidTo().next()));
- }
- };
+ private MessageBatcher.BatchedOperation incrementBatcher =
+ messageRange -> Lists.<MessageRange>newArrayList(MessageRange.range(
+ messageRange.getUidFrom().next(),
+ messageRange.getUidTo().next()));
@Test
public void batchMessagesShouldWorkOnSingleRangeMode() throws Exception {
@@ -59,11 +55,10 @@ public class MessageBatcherTest {
public void batchMessagesShouldPropagateExceptions() throws Exception {
MessageBatcher messageBatcher = new MessageBatcher(0);
- messageBatcher.batchMessages(MessageRange.range(MessageUid.of(1), MessageUid.of(10)), new MessageBatcher.BatchedOperation() {
- public List<MessageRange> execute(MessageRange messageRange) throws MailboxException {
+ messageBatcher.batchMessages(MessageRange.range(MessageUid.of(1), MessageUid.of(10)),
+ messageRange -> {
throw new MailboxException();
- }
- });
+ });
}
@Test(expected = IllegalArgumentException.class)
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
index dbccca7..a517fa5 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxManagerAnnotationTest.java
@@ -51,8 +51,6 @@ import org.junit.Before;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -96,13 +94,11 @@ public class StoreMailboxManagerAnnotationTest {
when(mailboxSessionMapperFactory.getAnnotationMapper(eq(session))).thenReturn(annotationMapper);
when(mailbox.getMailboxId()).thenReturn(mailboxId);
when(mailboxMapper.findMailboxByPath(eq(mailboxPath))).thenReturn(mailbox);
- when(annotationMapper.execute(any(Mapper.Transaction.class))).thenAnswer(new Answer<Object>() {
- @Override
- public Object answer(InvocationOnMock invocationOnMock) throws Throwable {
+ when(annotationMapper.execute(any(Mapper.Transaction.class)))
+ .thenAnswer(invocationOnMock -> {
Mapper.Transaction<?> transaction = (Mapper.Transaction<?>) invocationOnMock.getArguments()[0];
return transaction.run();
- }
- });
+ });
storeMailboxManager = spy(new StoreMailboxManager(mailboxSessionMapperFactory, authenticator, authorizator, aclResolver, groupMembershipResolver,
messageParser, messageIdFactory, MailboxConstants.DEFAULT_LIMIT_ANNOTATIONS_ON_MAILBOX, MailboxConstants.DEFAULT_LIMIT_ANNOTATION_SIZE));
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
index 67107c2..e21ea94 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/StoreMailboxMessageResultIteratorTest.java
@@ -38,7 +38,6 @@ import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.MailboxCounters;
import org.apache.james.mailbox.model.MessageMetaData;
import org.apache.james.mailbox.model.MessageRange;
-import org.apache.james.mailbox.model.MessageResult;
import org.apache.james.mailbox.model.MessageResult.FetchGroup;
import org.apache.james.mailbox.model.TestId;
import org.apache.james.mailbox.model.UpdatedFlags;
@@ -48,7 +47,6 @@ import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.MailboxMessage;
import org.apache.james.mailbox.store.mail.model.impl.PropertyBuilder;
import org.apache.james.mailbox.store.mail.model.impl.SimpleMailboxMessage;
-import org.assertj.core.api.iterable.Extractor;
import org.junit.Test;
import com.google.common.base.Optional;
@@ -199,12 +197,8 @@ public class StoreMailboxMessageResultIteratorTest {
BatchSizes batchSize = BatchSizes.uniqueBatchSize(3);
StoreMessageResultIterator it = new StoreMessageResultIterator(new TestMessageMapper(MessageRange.all()), null, range, batchSize, new TestFetchGroup());
- assertThat(it).extracting(new Extractor<MessageResult, Long>(){
- @Override
- public Long extract(MessageResult input) {
- return input.getUid().asLong();
- }
- }).containsExactly(1l, 2l, 3l, 4l, 5l, 6l, 7l, 8l, 9l, 10l);
+ assertThat(it).extracting(input -> input.getUid().asLong())
+ .containsExactly(1l, 2l, 3l, 4l, 5l, 6l, 7l, 8l, 9l, 10l);
}
@Test
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/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 0c048b5..bef60ea 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
@@ -171,7 +171,7 @@ public class TestMailboxSessionMapperFactory extends MailboxSessionMapperFactory
public List<MailboxId> findMailboxes(final MessageId messageId) {
return FluentIterable.from(messages)
.filter(withMessageId(messageId))
- .transform(toMailboxId())
+ .transform(MailboxMessage::getMailboxId)
.toList();
}
@@ -291,73 +291,36 @@ public class TestMailboxSessionMapperFactory extends MailboxSessionMapperFactory
messages.clear();
}
- private Function<MailboxMessage, MailboxId> toMailboxId() {
- return new Function<MailboxMessage, MailboxId>() {
- @Override
- public MailboxId apply(MailboxMessage input) {
- return input.getMailboxId();
- }
- };
- }
-
private Predicate<MailboxMessage> withMessageIdOneOf(final List<MessageId> messageIds) {
- return new Predicate<MailboxMessage>() {
- @Override
- public boolean apply(MailboxMessage input) {
- return messageIds.contains(input.getMessageId());
- }
- };
+ return mailboxMessage -> messageIds.contains(mailboxMessage.getMessageId());
}
private Predicate<MailboxMessage> inMailbox(final MessageId messageId) {
- return new Predicate<MailboxMessage>() {
- @Override
- public boolean apply(MailboxMessage input) {
- return input.getMailboxId().equals(messageId);
- }
- };
+ return mailboxMessage -> mailboxMessage.getMailboxId().equals(messageId);
}
private Predicate<MailboxMessage> inMailboxes(final List<MailboxId> mailboxIds) {
- return new Predicate<MailboxMessage>() {
- @Override
- public boolean apply(MailboxMessage input) {
- return mailboxIds.contains(input.getMailboxId());
- }
- };
+ return mailboxMessage -> mailboxIds.contains(mailboxMessage.getMailboxId());
}
private Predicate<MailboxMessage> withMessageId(final MessageId messageId) {
- return new Predicate<MailboxMessage>() {
- @Override
- public boolean apply(MailboxMessage input) {
- return input.getMessageId().equals(messageId);
- }
- };
+ return mailboxMessage -> mailboxMessage.getMessageId().equals(messageId);
}
private Predicate<Map.Entry<MailboxId, UpdatedFlags>> isChanged() {
- return new Predicate<Map.Entry<MailboxId, UpdatedFlags>>() {
- @Override
- public boolean apply(Map.Entry<MailboxId, UpdatedFlags> entry) {
- return entry.getValue().flagsChanged();
- }
- };
+ return entry -> entry.getValue().flagsChanged();
}
private Function<MailboxMessage, Map.Entry<MailboxId, UpdatedFlags>> toMapEntryOfUpdatedFlags(final Flags newState, final MessageManager.FlagsUpdateMode updateMode) {
- return new Function<MailboxMessage, Map.Entry<MailboxId, UpdatedFlags>>() {
- @Override
- public Map.Entry<MailboxId, UpdatedFlags> apply(MailboxMessage input) {
- Preconditions.checkState(updateMode.equals(MessageManager.FlagsUpdateMode.ADD));
- return new AbstractMap.SimpleEntry<MailboxId, UpdatedFlags>(input.getMailboxId(),
- UpdatedFlags.builder()
- .uid(input.getUid())
- .modSeq(input.getModSeq())
- .newFlags(newState)
- .oldFlags(input.createFlags())
- .build());
- }
+ return mailboxMessage -> {
+ Preconditions.checkState(updateMode.equals(MessageManager.FlagsUpdateMode.ADD));
+ return new AbstractMap.SimpleEntry<>(mailboxMessage.getMailboxId(),
+ UpdatedFlags.builder()
+ .uid(mailboxMessage.getUid())
+ .modSeq(mailboxMessage.getModSeq())
+ .newFlags(newState)
+ .oldFlags(mailboxMessage.createFlags())
+ .build());
};
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
index 4b9d6d5..44fde73 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/DefaultDelegatingMailboxListenerTest.java
@@ -32,8 +32,6 @@ import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.util.EventCollector;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
public class DefaultDelegatingMailboxListenerTest {
@@ -191,14 +189,11 @@ public class DefaultDelegatingMailboxListenerTest {
MailboxSession session = new MockMailboxSession("benwa");
MailboxListener.Event event = new MailboxListener.Event(session, MAILBOX_PATH) {};
MailboxListener mockedListener = mock(MailboxListener.class);
- when(mockedListener.getType()).thenAnswer(new Answer<MailboxListener.ListenerType>() {
- @Override
- public MailboxListener.ListenerType answer(InvocationOnMock invocation) throws Throwable {
- return MailboxListener.ListenerType.ONCE;
- }
- });
+ when(mockedListener.getType()).thenReturn(MailboxListener.ListenerType.ONCE);
doThrow(new RuntimeException()).when(mockedListener).event(event);
+
defaultDelegatingMailboxListener.addGlobalListener(mockedListener, null);
+
defaultDelegatingMailboxListener.event(event);
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/855a3c87/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
index 7630138..5cb359e 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/event/MixedEventDeliveryTest.java
@@ -19,22 +19,20 @@
package org.apache.james.mailbox.store.event;
-import org.apache.james.mailbox.MailboxListener;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
-
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.james.mailbox.MailboxListener;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
public class MixedEventDeliveryTest {
@@ -75,12 +73,9 @@ public class MixedEventDeliveryTest {
MailboxListener.Event event = new MailboxListener.Event(null, null) {};
when(listener.getExecutionMode()).thenReturn(MailboxListener.ExecutionMode.ASYNCHRONOUS);
final CountDownLatch latch = new CountDownLatch(1);
- doAnswer(new Answer<Void>() {
- @Override
- public Void answer(InvocationOnMock invocation) throws Throwable {
- latch.await();
- return null;
- }
+ doAnswer(invocation -> {
+ latch.await();
+ return null;
}).when(listener).event(event);
mixedEventDelivery.deliver(listener, event);
latch.countDown();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org