This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
View the commit online: https://github.com/apache/james-project/commit/e5b2ed426a31188f64714a89c3c91afd81ed2f09 commit e5b2ed426a31188f64714a89c3c91afd81ed2f09 Author: Benoit Tellier <[email protected]> AuthorDate: Mon Nov 18 17:54:58 2019 +0700 [Refactoring] MailboxPathLocker::executeWithLock session parameter is never used --- .../apache/james/mailbox/MailboxPathLocker.java | 2 +- .../james/mailbox/maildir/MaildirFolder.java | 56 +++++++++++----------- .../apache/james/mailbox/maildir/MaildirStore.java | 6 +-- .../mailbox/maildir/mail/MaildirMailboxMapper.java | 8 ++-- .../mailbox/maildir/mail/MaildirMessageMapper.java | 16 +++---- .../james/mailbox/store/JVMMailboxPathLocker.java | 3 +- .../james/mailbox/store/NoMailboxPathLocker.java | 3 +- .../james/mailbox/store/StoreMailboxManager.java | 4 +- .../james/mailbox/store/StoreMessageManager.java | 6 +-- 9 files changed, 51 insertions(+), 53 deletions(-) diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxPathLocker.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxPathLocker.java index 8e283fd..3935eb5 100644 --- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxPathLocker.java +++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxPathLocker.java @@ -36,7 +36,7 @@ public interface MailboxPathLocker { * {@link MailboxPath}. If writeLock is true the implementation need to make sure that no other threads can read and write while the lock * is hold. The contract is the same as documented in {@link ReadWriteLock}. */ - <T> T executeWithLock(MailboxSession session, MailboxPath path, LockAwareExecution<T> execution, boolean writeLock) throws MailboxException; + <T> T executeWithLock(MailboxPath path, LockAwareExecution<T> execution, boolean writeLock) throws MailboxException; /** * Execute code while holding a lock 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 82b6816..02eab2b 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 @@ -199,9 +199,9 @@ public class MaildirFolder { /** * Returns the last uid used in this mailbox */ - public Optional<MessageUid> getLastUid(MailboxSession session) throws MailboxException { + public Optional<MessageUid> getLastUid() throws MailboxException { if (!lastUid.isPresent()) { - readLastUid(session); + readLastUid(); } return lastUid; } @@ -220,8 +220,8 @@ public class MaildirFolder { * * @throws MailboxException if there are problems with the uidList file */ - private void readLastUid(MailboxSession session) throws MailboxException { - locker.executeWithLock(session, path, + private void readLastUid() throws MailboxException { + locker.executeWithLock(path, (LockAwareExecution<Void>) () -> { File uidList = uidFile; @@ -352,9 +352,9 @@ public class MaildirFolder { * @return The {@link MaildirMessageName} that belongs to the uid * @throws MailboxException If the uidlist file cannot be found or read */ - public MaildirMessageName getMessageNameByUid(final MailboxSession session, final MessageUid uid) throws MailboxException { + public MaildirMessageName getMessageNameByUid(final MessageUid uid) throws MailboxException { - return locker.executeWithLock(session, path, () -> { + return locker.executeWithLock(path, () -> { File uidList = uidFile; try (FileReader fileReader = new FileReader(uidList); BufferedReader reader = new BufferedReader(fileReader)) { @@ -395,9 +395,9 @@ public class MaildirFolder { * @return a {@link Map} whith all uids in the given range and associated {@link MaildirMessageName}s * @throws MailboxException if there is a problem with the uid list file */ - public SortedMap<MessageUid, MaildirMessageName> getUidMap(final MailboxSession session, final MessageUid from, final MessageUid to) + public SortedMap<MessageUid, MaildirMessageName> getUidMap(final MessageUid from, final MessageUid to) throws MailboxException { - return locker.executeWithLock(session, path, () -> { + return locker.executeWithLock(path, () -> { final SortedMap<MessageUid, MaildirMessageName> uidMap = new TreeMap<>(); File uidList = uidFile; @@ -414,7 +414,7 @@ public class MaildirFolder { } } else { // the uidList is up to date - uidMap.putAll(readUidFile(session, from, to)); + uidMap.putAll(readUidFile(from, to)); } } else { // the uidList does not exist @@ -426,7 +426,7 @@ public class MaildirFolder { public SortedMap<MessageUid, MaildirMessageName> getUidMap(MailboxSession session, FilenameFilter filter, MessageUid from, MessageUid to) throws MailboxException { - SortedMap<MessageUid, MaildirMessageName> allUids = getUidMap(session, from, to); + SortedMap<MessageUid, MaildirMessageName> allUids = getUidMap(from, to); SortedMap<MessageUid, MaildirMessageName> filteredUids = new TreeMap<>(); for (Entry<MessageUid, MaildirMessageName> entry : allUids.entrySet()) { if (filter.accept(null, entry.getValue().getFullName())) { @@ -448,7 +448,7 @@ public class MaildirFolder { */ public SortedMap<MessageUid, MaildirMessageName> getUidMap(MailboxSession session, FilenameFilter filter, int limit) throws MailboxException { MessageUid to = null; - SortedMap<MessageUid, MaildirMessageName> allUids = getUidMap(session, MessageUid.MIN_VALUE, to); + SortedMap<MessageUid, MaildirMessageName> allUids = getUidMap(MessageUid.MIN_VALUE, to); SortedMap<MessageUid, MaildirMessageName> filteredUids = new TreeMap<>(); int theLimit = limit; if (limit < 1) { @@ -473,11 +473,11 @@ public class MaildirFolder { * @return A {@link Map} with all uids and associated {@link MaildirMessageName}s of recent messages * @throws MailboxException If there is a problem with the uid list file */ - public SortedMap<MessageUid, MaildirMessageName> getRecentMessages(final MailboxSession session) throws MailboxException { + public SortedMap<MessageUid, MaildirMessageName> getRecentMessages() throws MailboxException { final String[] recentFiles = getNewFolder().list(); final LinkedList<String> lines = new LinkedList<>(); final int theLimit = recentFiles.length; - return locker.executeWithLock(session, path, () -> { + return locker.executeWithLock(path, () -> { final SortedMap<MessageUid, MaildirMessageName> recentMessages = new TreeMap<>(); File uidList = uidFile; @@ -631,7 +631,7 @@ public class MaildirFolder { return uidMap; } - private Map<MessageUid, MaildirMessageName> readUidFile(MailboxSession session, MessageUid from, MessageUid to) throws MailboxException { + private Map<MessageUid, MaildirMessageName> readUidFile(MessageUid from, MessageUid to) throws MailboxException { final Map<MessageUid, MaildirMessageName> uidMap = new HashMap<>(); File uidList = uidFile; @@ -749,8 +749,8 @@ public class MaildirFolder { * @param name The name of the message's file * @return The uid of the message */ - public MessageUid appendMessage(MailboxSession session, final String name) throws MailboxException { - return locker.executeWithLock(session, path, () -> { + public MessageUid appendMessage(final String name) throws MailboxException { + return locker.executeWithLock(path, () -> { File uidList = uidFile; MessageUid uid = null; try { @@ -816,8 +816,8 @@ public class MaildirFolder { /** * Updates an entry in the uid list. */ - public void update(MailboxSession session, final MessageUid uid, final String messageName) throws MailboxException { - locker.executeWithLock(session, path, (LockAwareExecution<Void>) () -> { + public void update(final MessageUid uid, final String messageName) throws MailboxException { + locker.executeWithLock(path, (LockAwareExecution<Void>) () -> { File uidList = uidFile; try (FileReader fileReader = new FileReader(uidList); BufferedReader reader = new BufferedReader(fileReader)) { @@ -852,8 +852,8 @@ public class MaildirFolder { * @return The {@link MaildirMessageName} of the deleted message * @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, () -> { + public MaildirMessageName delete(final MessageUid uid) throws MailboxException { + return locker.executeWithLock(path, () -> { File uidList = uidFile; MaildirMessageName deletedMessage = null; try (FileReader fileReader = new FileReader(uidList); @@ -908,9 +908,9 @@ public class MaildirFolder { return getRootFile().getAbsolutePath(); } - public MailboxACL getACL(MailboxSession session) throws MailboxException { + public MailboxACL getACL() throws MailboxException { if (acl == null) { - acl = readACL(session); + acl = readACL(); } return acl; } @@ -920,9 +920,9 @@ public class MaildirFolder { * * @throws MailboxException if there are problems with the aclFile file */ - private MailboxACL readACL(MailboxSession session) throws MailboxException { + private MailboxACL readACL() throws MailboxException { // FIXME Do we need this locking? - return locker.executeWithLock(session, path, (LockAwareExecution<MailboxACL>) () -> { + return locker.executeWithLock(path, (LockAwareExecution<MailboxACL>) () -> { File f = aclFile; Properties props = new Properties(); if (f.exists()) { @@ -939,19 +939,19 @@ public class MaildirFolder { } - public void setACL(MailboxSession session, MailboxACL acl) throws MailboxException { + public void setACL(MailboxACL acl) throws MailboxException { MailboxACL old = this.acl; if (!Objects.equals(old, acl)) { /* change only if different */ - saveACL(acl, session); + saveACL(acl); this.acl = acl; } } - private void saveACL(final MailboxACL acl, MailboxSession session) throws MailboxException { + private void saveACL(final MailboxACL acl) throws MailboxException { // FIXME Do we need this locking? - locker.executeWithLock(session, path, new LockAwareExecution<Void>() { + locker.executeWithLock(path, new LockAwareExecution<Void>() { @Override public Void execute() throws MailboxException { 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 fe07f53..a2384ec 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 @@ -132,7 +132,7 @@ public class MaildirStore implements UidProvider, ModSeqProvider { try { Mailbox loadedMailbox = new Mailbox(mailboxPath, folder.getUidValidity()); loadedMailbox.setMailboxId(folder.readMailboxId()); - loadedMailbox.setACL(folder.getACL(session)); + loadedMailbox.setACL(folder.getACL()); return loadedMailbox; } catch (IOException e) { throw new MailboxException("Unable to load Mailbox " + mailboxPath, e); @@ -251,7 +251,7 @@ public class MaildirStore implements UidProvider, ModSeqProvider { @Override public MessageUid nextUid(MailboxSession session, Mailbox mailbox) throws MailboxException { try { - return createMaildirFolder(mailbox).getLastUid(session) + return createMaildirFolder(mailbox).getLastUid() .map(MessageUid::next) .orElse(MessageUid.MIN_VALUE); } catch (MailboxException e) { @@ -275,7 +275,7 @@ public class MaildirStore implements UidProvider, ModSeqProvider { @Override public Optional<MessageUid> lastUid(MailboxSession session, Mailbox mailbox) throws MailboxException { - return createMaildirFolder(mailbox).getLastUid(session); + return createMaildirFolder(mailbox).getLastUid(); } /** 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 9e0510f..50232e8 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 @@ -218,7 +218,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail } } } - folder.setACL(session, mailbox.getACL()); + folder.setACL(mailbox.getACL()); } catch (MailboxNotFoundException e) { // it cannot be found and is thus new MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); @@ -246,7 +246,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail throw new MailboxException("Failed to save Mailbox " + mailbox, ioe); } - folder.setACL(session, mailbox.getACL()); + folder.setACL(mailbox.getACL()); } return maildirId; } @@ -319,7 +319,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); MailboxACL oldACL = mailbox.getACL(); MailboxACL newACL = mailbox.getACL().apply(mailboxACLCommand); - folder.setACL(session, newACL); + folder.setACL(newACL); mailbox.setACL(newACL); return ACLDiff.computeDiff(oldACL, newACL); } @@ -328,7 +328,7 @@ public class MaildirMailboxMapper extends NonTransactionalMapper implements Mail public ACLDiff setACL(Mailbox mailbox, MailboxACL mailboxACL) throws MailboxException { MailboxACL oldAcl = mailbox.getACL(); MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); - folder.setACL(session, mailboxACL); + folder.setACL(mailboxACL); mailbox.setACL(mailboxACL); return ACLDiff.computeDiff(oldAcl, mailboxACL); } diff --git a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java index 2c9e427..6fccddd 100644 --- a/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java +++ b/mailbox/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java @@ -100,7 +100,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { public void delete(Mailbox mailbox, MailboxMessage message) throws MailboxException { MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); try { - folder.delete(mailboxSession, message.getUid()); + folder.delete(message.getUid()); } catch (MailboxException e) { throw new MailboxException("Unable to delete MailboxMessage " + message + " in Mailbox " + mailbox, e); } @@ -135,7 +135,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { @Override public List<MessageUid> findRecentMessageUidsInMailbox(Mailbox mailbox) throws MailboxException { MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); - SortedMap<MessageUid, MaildirMessageName> recentMessageNames = folder.getRecentMessages(mailboxSession); + SortedMap<MessageUid, MaildirMessageName> recentMessageNames = folder.getRecentMessages(); return new ArrayList<>(recentMessageNames.keySet()); } @@ -170,7 +170,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { Flags newFlags = member.createFlags(); try { - MaildirMessageName messageName = folder.getMessageNameByUid(mailboxSession, member.getUid()); + MaildirMessageName messageName = folder.getMessageNameByUid(member.getUid()); if (messageName != null) { File messageFile = messageName.getFile(); messageName.setFlags(member.createFlags()); @@ -207,7 +207,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { .build()); MessageUid uid = member.getUid(); - folder.update(mailboxSession, uid, newMessageName); + folder.update(uid, newMessageName); } } catch (IOException e) { throw new MailboxException("Failure while save MailboxMessage " + member + " in Mailbox " + mailbox, e); @@ -335,7 +335,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { throw new MailboxException("Failure while save MailboxMessage " + message + " in Mailbox " + mailbox, e); } try { - uid = folder.appendMessage(mailboxSession, newMessageFile.getName()); + uid = folder.appendMessage(newMessageFile.getName()); message.setUid(uid); message.setModSeq(newMessageFile.lastModified()); return message.metaData(); @@ -362,7 +362,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { throws MailboxException { MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); try { - MaildirMessageName messageName = folder.getMessageNameByUid(mailboxSession, from); + MaildirMessageName messageName = folder.getMessageNameByUid(from); ArrayList<MailboxMessage> messages = new ArrayList<>(); if (messageName != null && messageName.getFile().exists()) { @@ -384,7 +384,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { if (filter != null) { uidMap = folder.getUidMap(mailboxSession, filter, from, to); } else { - uidMap = folder.getUidMap(mailboxSession, from, to); + uidMap = folder.getUidMap(from, to); } ArrayList<MailboxMessage> messages = new ArrayList<>(); @@ -425,7 +425,7 @@ public class MaildirMessageMapper extends AbstractMessageMapper { throws MailboxException { MaildirFolder folder = maildirStore.createMaildirFolder(mailbox); try { - MaildirMessageName messageName = folder.getMessageNameByUid(mailboxSession, uid); + MaildirMessageName messageName = folder.getMessageNameByUid(uid); ArrayList<MailboxMessage> messages = new ArrayList<>(); if (MaildirMessageName.FILTER_DELETED_MESSAGES.accept(null, messageName.getFullName())) { messages.add(new MaildirMailboxMessage(mailbox, uid, messageName)); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java index c40f18c..81d5b08 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/JVMMailboxPathLocker.java @@ -25,7 +25,6 @@ import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.apache.james.mailbox.MailboxPathLocker; -import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.model.MailboxPath; @@ -38,7 +37,7 @@ public final class JVMMailboxPathLocker implements MailboxPathLocker { private final ConcurrentHashMap<MailboxPath, ReadWriteLock> paths = new ConcurrentHashMap<>(); @Override - public <T> T executeWithLock(MailboxSession session, MailboxPath path, LockAwareExecution<T> execution, boolean writeLock) throws MailboxException { + public <T> T executeWithLock(MailboxPath path, LockAwareExecution<T> execution, boolean writeLock) throws MailboxException { try { lock(path, writeLock); return execution.execute(); diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/NoMailboxPathLocker.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/NoMailboxPathLocker.java index 279ebbd..a744888 100644 --- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/NoMailboxPathLocker.java +++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/NoMailboxPathLocker.java @@ -20,7 +20,6 @@ package org.apache.james.mailbox.store; import org.apache.james.mailbox.MailboxPathLocker; -import org.apache.james.mailbox.MailboxSession; import org.apache.james.mailbox.exception.MailboxException; import org.apache.james.mailbox.model.MailboxPath; @@ -31,7 +30,7 @@ import org.apache.james.mailbox.model.MailboxPath; */ public class NoMailboxPathLocker implements MailboxPathLocker { @Override - public <T> T executeWithLock(MailboxSession session, MailboxPath path, LockAwareExecution<T> execution, boolean writeLock) throws MailboxException { + public <T> T executeWithLock(MailboxPath path, LockAwareExecution<T> execution, boolean writeLock) throws MailboxException { return execution.execute(); } } \ No newline at end of file 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 877fca0..d25539f 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 @@ -377,7 +377,7 @@ public class StoreMailboxManager implements MailboxManager { private List<MailboxId> performConcurrentMailboxCreation(MailboxSession mailboxSession, MailboxPath mailbox) throws MailboxException { List<MailboxId> mailboxIds = new ArrayList<>(); - locker.executeWithLock(mailboxSession, mailbox, (LockAwareExecution<Void>) () -> { + locker.executeWithLock(mailbox, (LockAwareExecution<Void>) () -> { if (!mailboxExists(mailbox, mailboxSession)) { Mailbox m = doCreateMailbox(mailbox); MailboxMapper mapper = mailboxSessionMapperFactory.getMailboxMapper(mailboxSession); @@ -506,7 +506,7 @@ public class StoreMailboxManager implements MailboxManager { .expression(new PrefixedWildcard(from.getName() + getDelimiter())) .build() .asUserBound(); - locker.executeWithLock(session, from, (LockAwareExecution<Void>) () -> { + locker.executeWithLock(from, (LockAwareExecution<Void>) () -> { List<Mailbox> subMailboxes = mapper.findMailboxWithPathLike(query); for (Mailbox sub : subMailboxes) { String subOriginalName = sub.getName(); 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 5cfca6d..4fb3e81 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 @@ -451,7 +451,7 @@ public class StoreMessageManager implements MessageManager { new QuotaChecker(quotaManager, quotaRootResolver, mailbox).tryAddition(1, size); - return locker.executeWithLock(mailboxSession, getMailboxPath(), () -> { + return locker.executeWithLock(getMailboxPath(), () -> { MessageMetaData data = appendMessageToStore(message, attachments, mailboxSession); Mailbox mailbox = getMailboxEntity(); @@ -650,7 +650,7 @@ public class StoreMessageManager implements MessageManager { throw new ReadOnlyException(toMailbox.getMailboxPath()); } - return locker.executeWithLock(session, toMailbox.getMailboxPath(), () -> { + return locker.executeWithLock(toMailbox.getMailboxPath(), () -> { SortedMap<MessageUid, MessageMetaData> copiedUids = copy(set, toMailbox, session); return MessageRange.toRanges(new ArrayList<>(copiedUids.keySet())); }, true); @@ -668,7 +668,7 @@ public class StoreMessageManager implements MessageManager { } //TODO lock the from mailbox too, in a non-deadlocking manner - how? - return locker.executeWithLock(session, toMailbox.getMailboxPath(), () -> { + return locker.executeWithLock(toMailbox.getMailboxPath(), () -> { SortedMap<MessageUid, MessageMetaData> movedUids = move(set, toMailbox, session); return MessageRange.toRanges(new ArrayList<>(movedUids.keySet())); }, true); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
