This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 3bdff207754d475f17d82842544e3237b33254e8
Author: Benoit Tellier <btell...@linagora.com>
AuthorDate: Fri Dec 6 11:18:51 2019 +0700

    [Refactoring] Remove MailboxManager::logout(session, force)
    
    No implementation currently uses the force parameter, making it useless.
    
    MailboxManager::logout(session) should be used instead
---
 .../org/apache/james/mailbox/MailboxManager.java   | 28 ----------------------
 .../mailbox/MailboxManagerStressContract.java      |  4 ++--
 .../apache/james/mailbox/MailboxManagerTest.java   |  8 +++----
 .../apache/james/mailbox/mock/DataProvisioner.java |  8 +++----
 .../mailbox/tools/copier/MailboxCopierTest.java    |  3 +--
 .../apache/james/mpt/host/JamesImapHostSystem.java |  4 ++--
 .../james/imap/processor/LogoutProcessor.java      | 17 ++++---------
 .../imap/processor/SystemMessageProcessor.java     | 13 +++-------
 .../org/apache/james/modules/MailboxProbeImpl.java |  6 +----
 .../adapter/mailbox/MailboxManagerManagement.java  |  6 +----
 .../mailets/delivery/MailboxAppender.java          |  6 +----
 .../james/pop3server/mailbox/MailboxAdapter.java   |  4 +---
 12 files changed, 24 insertions(+), 83 deletions(-)

diff --git 
a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java 
b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
index b1c7134..8ab0941 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
@@ -251,34 +251,6 @@ public interface MailboxManager extends RequestAware, 
RightManager, MailboxAnnot
     }
 
     /**
-     * <p>
-     * Logs the session out, freeing any resources. Clients who open session
-     * should make best efforts to call this when the session is closed.
-     * </p>
-     * <p>
-     * Note that clients may not always be able to call logout (whether forced
-     * or not). Mailboxes that create sessions which are expensive to maintain
-     * <code>MUST</code> retain a reference and periodically check
-     * {@link MailboxSession#isOpen()}.
-     * </p>
-     * <p>
-     * Note that implementations much be aware that it is possible that this
-     * method may be called more than once with the same session.
-     * </p>
-     * 
-     * @param session
-     *            not null
-     * @param force
-     *            true when the session logout is forced by premature 
connection
-     *            termination
-     * @throws MailboxException
-     *             when logout fails
-     */
-    default void logout(MailboxSession session, boolean force) throws 
MailboxException {
-        logout(session);
-    }
-
-    /**
      * Return a unmodifiable {@link List} of {@link MailboxPath} objects
      */
     List<MailboxPath> list(MailboxSession session) throws MailboxException;
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
index 0112994..3bf6d8f 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerStressContract.java
@@ -71,7 +71,7 @@ public interface MailboxManagerStressContract<T extends 
MailboxManager> {
                 uList.add(u);
             }, new MailboxIdRegistrationKey(mailboxId));
         getManager().endProcessingRequest(session);
-        getManager().logout(session, false);
+        getManager().logout(session);
 
         final AtomicBoolean fail = new AtomicBoolean(false);
         final ConcurrentHashMap<MessageUid, Object> uids = new 
ConcurrentHashMap<>();
@@ -100,7 +100,7 @@ public interface MailboxManagerStressContract<T extends 
MailboxManager> {
                         fail.set(true);
                     }
                     getManager().endProcessingRequest(mailboxSession);
-                    getManager().logout(mailboxSession, false);
+                    getManager().logout(mailboxSession);
                 } catch (Exception e) {
                     e.printStackTrace();
                     fail.set(true);
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java 
b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
index 91bd97f..79a9fb0 100644
--- a/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
+++ b/mailbox/api/src/test/java/org/apache/james/mailbox/MailboxManagerTest.java
@@ -144,8 +144,8 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
     }
 
     @AfterEach
-    void tearDown() throws Exception {
-        mailboxManager.logout(session, false);
+    void tearDown() {
+        mailboxManager.logout(session);
         mailboxManager.endProcessingRequest(session);
     }
 
@@ -1591,11 +1591,11 @@ public abstract class MailboxManagerTest<T extends 
MailboxManager> {
         }
 
         @Test
-        void closingSessionShouldWork() throws Exception {
+        void closingSessionShouldWork() {
             session = mailboxManager.createSystemSession(USER_1);
             mailboxManager.startProcessingRequest(session);
 
-            mailboxManager.logout(session, false);
+            mailboxManager.logout(session);
             mailboxManager.endProcessingRequest(session);
 
             assertThat(session.isOpen()).isFalse();
diff --git 
a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java 
b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java
index ec59bee..e25ed5c 100644
--- 
a/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java
+++ 
b/mailbox/api/src/test/java/org/apache/james/mailbox/mock/DataProvisioner.java
@@ -30,8 +30,6 @@ import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.model.MailboxConstants;
 import org.apache.james.mailbox.model.MailboxPath;
 
-import com.github.fge.lambdas.Throwing;
-
 public class DataProvisioner {
     
     /**
@@ -81,10 +79,10 @@ public class DataProvisioner {
         IntStream.range(0, USER_COUNT)
             .mapToObj(i -> "user" + i + "@" + domain)
             .map(Username::of)
-            .forEach(Throwing.consumer(user -> provisionUser(mailboxManager, 
user)));
+            .forEach(user -> provisionUser(mailboxManager, user));
     }
 
-    private static void provisionUser(MailboxManager mailboxManager, Username 
user) throws MailboxException {
+    private static void provisionUser(MailboxManager mailboxManager, Username 
user) {
         MailboxSession mailboxSession = 
mailboxManager.createSystemSession(user);
         mailboxManager.startProcessingRequest(mailboxSession);
 
@@ -96,7 +94,7 @@ public class DataProvisioner {
             .forEach(name ->  createSubSubMailboxes(mailboxManager, 
mailboxSession, name));
 
         mailboxManager.endProcessingRequest(mailboxSession);
-        mailboxManager.logout(mailboxSession, true);
+        mailboxManager.logout(mailboxSession);
     }
 
     private static void createSubSubMailboxes(MailboxManager 
mailboxManager,MailboxSession mailboxSession, String subFolderName) {
diff --git 
a/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java
 
b/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java
index e51ce03..06dc53e 100644
--- 
a/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java
+++ 
b/mailbox/tools/copier/src/test/java/org/apache/james/mailbox/tools/copier/MailboxCopierTest.java
@@ -126,8 +126,7 @@ public class MailboxCopierTest {
         }
 
         mailboxManager.endProcessingRequest(mailboxSession);
-        mailboxManager.logout(mailboxSession, true);
-
+        mailboxManager.logout(mailboxSession);
     }
 
     /**
diff --git 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
index d2a2270..2abd31d 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
+++ 
b/mpt/impl/imap-mailbox/core/src/main/java/org/apache/james/mpt/host/JamesImapHostSystem.java
@@ -104,7 +104,7 @@ public abstract class JamesImapHostSystem implements 
ImapHostSystem, GrantRights
         MailboxSession mailboxSession = 
mailboxManager.createSystemSession(mailboxPath.getUser());
         mailboxManager.startProcessingRequest(mailboxSession);
         mailboxManager.createMailbox(mailboxPath, mailboxSession);
-        mailboxManager.logout(mailboxSession, true);
+        mailboxManager.logout(mailboxSession);
         mailboxManager.endProcessingRequest(mailboxSession);
     }
 
@@ -119,7 +119,7 @@ public abstract class JamesImapHostSystem implements 
ImapHostSystem, GrantRights
                 .rights(rights)
                 .asAddition()),
             mailboxManager.createSystemSession(username));
-        mailboxManager.logout(mailboxSession, true);
+        mailboxManager.logout(mailboxSession);
         mailboxManager.endProcessingRequest(mailboxSession);
     }
 
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
index c6b9e8c..338f8f3 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
@@ -22,14 +22,12 @@ package org.apache.james.imap.processor;
 import java.io.Closeable;
 
 import org.apache.james.imap.api.ImapSessionUtils;
-import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.api.message.response.StatusResponseFactory;
 import org.apache.james.imap.api.process.ImapProcessor;
 import org.apache.james.imap.api.process.ImapSession;
 import org.apache.james.imap.message.request.LogoutRequest;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
-import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.util.MDCBuilder;
 import org.slf4j.Logger;
@@ -45,16 +43,11 @@ public class LogoutProcessor extends 
AbstractMailboxProcessor<LogoutRequest> {
 
     @Override
     protected void processRequest(LogoutRequest request, ImapSession session, 
Responder responder) {
-        final MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);
-        try {
-            getMailboxManager().logout(mailboxSession, false);
-            session.logout();
-            bye(responder);
-            okComplete(request, responder);
-        } catch (MailboxException e) {
-            LOGGER.error("Logout failed for user {}", 
mailboxSession.getUser().asString(), e);
-            no(request, responder, 
HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
-        }
+        MailboxSession mailboxSession = 
ImapSessionUtils.getMailboxSession(session);
+        getMailboxManager().logout(mailboxSession);
+        session.logout();
+        bye(responder);
+        okComplete(request, responder);
     }
 
     @Override
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SystemMessageProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SystemMessageProcessor.java
index 632210f..1584d3c 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/SystemMessageProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/SystemMessageProcessor.java
@@ -28,7 +28,6 @@ import org.apache.james.imap.message.request.SystemMessage;
 import org.apache.james.imap.processor.base.AbstractChainedProcessor;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxSession;
-import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.util.MDCBuilder;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -48,17 +47,13 @@ public class SystemMessageProcessor extends 
AbstractChainedProcessor<SystemMessa
 
     @Override
     protected void doProcess(SystemMessage message, Responder responder, 
ImapSession session) {
-        try {
-            switch (message) {
+        switch (message) {
             case FORCE_LOGOUT:
                 forceLogout(session);
                 break;
             default:
                 LOGGER.info("Unknown system message {}", message);
                 break;
-            }
-        } catch (MailboxException e) {
-            LOGGER.error("Cannot force logout", e);
         }
     }
 
@@ -67,16 +62,14 @@ public class SystemMessageProcessor extends 
AbstractChainedProcessor<SystemMessa
      * 
      * @param imapSession
      *            not null
-     * @throws MailboxException
-     *             when forced logout fails
      */
-    private void forceLogout(ImapSession imapSession) throws MailboxException {
+    private void forceLogout(ImapSession imapSession) {
         final MailboxSession session = 
ImapSessionUtils.getMailboxSession(imapSession);
         if (session == null) {
             LOGGER.trace("No mailbox session so no force logout needed");
         } else {
             session.close();
-            mailboxManager.logout(session, true);
+            mailboxManager.logout(session);
         }
     }
 
diff --git 
a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
 
b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
index 3f49929..18b3458 100644
--- 
a/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
+++ 
b/server/container/guice/mailbox/src/main/java/org/apache/james/modules/MailboxProbeImpl.java
@@ -97,11 +97,7 @@ public class MailboxProbeImpl implements GuiceProbe, 
MailboxProbe {
     private void closeSession(MailboxSession session) {
         if (session != null) {
             mailboxManager.endProcessingRequest(session);
-            try {
-                mailboxManager.logout(session, true);
-            } catch (MailboxException e) {
-                throw new RuntimeException(e);
-            }
+            mailboxManager.logout(session);
         }
     }
 
diff --git 
a/server/container/mailbox-jmx/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
 
b/server/container/mailbox-jmx/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
index dddfa29..cbbaa73 100644
--- 
a/server/container/mailbox-jmx/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
+++ 
b/server/container/mailbox-jmx/src/main/java/org/apache/james/adapter/mailbox/MailboxManagerManagement.java
@@ -196,11 +196,7 @@ public class MailboxManagerManagement extends 
StandardMBean implements MailboxMa
     private void closeSession(MailboxSession session) {
         if (session != null) {
             mailboxManager.endProcessingRequest(session);
-            try {
-                mailboxManager.logout(session, true);
-            } catch (MailboxException e) {
-                LOGGER.error("Can not log session out", e);
-            }
+            mailboxManager.logout(session);
         }
     }
 
diff --git 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
index db0e89d..7719039 100644
--- 
a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
+++ 
b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/delivery/MailboxAppender.java
@@ -102,11 +102,7 @@ public class MailboxAppender {
     private void closeProcessing(MailboxSession session) throws 
MessagingException {
         session.close();
         try {
-            try {
-                mailboxManager.logout(session, true);
-            } catch (MailboxException e) {
-                throw new MessagingException("Can logout from mailbox", e);
-            }
+            mailboxManager.logout(session);
         } finally {
             mailboxManager.endProcessingRequest(session);
         }
diff --git 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
index cffb653..a1234d0 100644
--- 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
+++ 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/mailbox/MailboxAdapter.java
@@ -166,9 +166,7 @@ public class MailboxAdapter implements Mailbox {
     @Override
     public void close() throws IOException {
         try {
-            mailboxManager.logout(session, true);
-        } catch (MailboxException e) {
-            throw new IOException("Unable to close mailbox", e);
+            mailboxManager.logout(session);
         } finally {
             mailboxManager.endProcessingRequest(session);
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to