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 224793b5196a1c668a65aeb5078d04b82e9e86fc
Author: Benoit TELLIER <btell...@linagora.com>
AuthorDate: Wed Oct 9 09:06:08 2024 +0200

    JAMES-2182 Remove ImapSession::supportMultipleNamespaces
---
 .../apache/james/imap/api/process/ImapSession.java |  7 +---
 .../apache/james/imap/encode/FakeImapSession.java  |  5 ---
 .../james/imap/processor/NamespaceProcessor.java   |  7 +---
 .../imap/processor/NamespaceProcessorTest.java     | 49 ----------------------
 .../james/imapserver/netty/NettyImapSession.java   |  5 ---
 5 files changed, 3 insertions(+), 70 deletions(-)

diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/api/process/ImapSession.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/api/process/ImapSession.java
index bcb4f968c8..fa6b508551 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/api/process/ImapSession.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/api/process/ImapSession.java
@@ -237,12 +237,7 @@ public interface ImapSession extends 
CommandDetectionSession {
      * Pop the current {@link ImapLineHandler}
      */
     void popLineHandler();
-    
-    /**
-     * Return true if multiple namespaces are supported
-     */
-    boolean supportMultipleNamespaces();
-    
+
     /**
      * Return true if SSL is required when Authenticating
      */
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/FakeImapSession.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/FakeImapSession.java
index 690e320d29..ed312cf463 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/encode/FakeImapSession.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/encode/FakeImapSession.java
@@ -196,11 +196,6 @@ public class FakeImapSession implements ImapSession {
         return false;
     }
 
-    @Override
-    public boolean supportMultipleNamespaces() {
-        return false;
-    }
-
     @Override
     public boolean isCompressionActive() {
         return false;
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
index 4d708b571d..2f3a4a5679 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/NamespaceProcessor.java
@@ -73,9 +73,6 @@ public class NamespaceProcessor extends 
AbstractMailboxProcessor<NamespaceReques
     private List<NamespaceResponse.Namespace> 
buildPersonalNamespaces(MailboxSession mailboxSession, ImapSession session) {
         final List<NamespaceResponse.Namespace> personalSpaces = new 
ArrayList<>();
         String personal = "";
-        if (session.supportMultipleNamespaces()) {
-            personal = mailboxSession.getPersonalSpace();
-        }
         personalSpaces.add(new NamespaceResponse.Namespace(personal, 
mailboxSession.getPathDelimiter()));
         return personalSpaces;
     }
@@ -83,7 +80,7 @@ public class NamespaceProcessor extends 
AbstractMailboxProcessor<NamespaceReques
     private List<NamespaceResponse.Namespace> 
buildOtherUsersSpaces(MailboxSession mailboxSession,  ImapSession session) {
         final String otherUsersSpace = mailboxSession.getOtherUsersSpace();
         final List<NamespaceResponse.Namespace> otherUsersSpaces;
-        if (session.supportMultipleNamespaces() == false || otherUsersSpace == 
null) {
+        if (otherUsersSpace == null) {
             otherUsersSpaces = null;
         } else {
             otherUsersSpaces = new ArrayList<>(1);
@@ -95,7 +92,7 @@ public class NamespaceProcessor extends 
AbstractMailboxProcessor<NamespaceReques
     private List<NamespaceResponse.Namespace> 
buildSharedNamespaces(MailboxSession mailboxSession,  ImapSession session) {
         List<NamespaceResponse.Namespace> sharedNamespaces = null;
         final Collection<String> sharedSpaces = 
mailboxSession.getSharedSpaces();
-        if (session.supportMultipleNamespaces() && !sharedSpaces.isEmpty()) {
+        if (!sharedSpaces.isEmpty()) {
             sharedNamespaces = new ArrayList<>(sharedSpaces.size());
             for (String space : sharedSpaces) {
                 sharedNamespaces.add(new NamespaceResponse.Namespace(space, 
mailboxSession.getPathDelimiter()));
diff --git 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
index 96958a3a51..27551c665c 100644
--- 
a/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
+++ 
b/protocols/imap/src/test/java/org/apache/james/imap/processor/NamespaceProcessorTest.java
@@ -83,55 +83,6 @@ class NamespaceProcessorTest {
         imapSession.setMailboxSession(mailboxSession);
     }
 
-    @Test
-    void testNamespaceResponseShouldContainPersonalAndUserSpaces() {
-        when(imapSession.supportMultipleNamespaces()).thenReturn(true);
-
-        when(mailboxSession.getPersonalSpace()).thenReturn(PERSONAL_PREFIX);
-        when(mailboxSession.getOtherUsersSpace()).thenReturn(USERS_PREFIX);
-        when(mailboxSession.getSharedSpaces()).thenReturn(new ArrayList<>());
-        
when(mailboxSession.getPathDelimiter()).thenReturn(MailboxConstants.DEFAULT_DELIMITER);
-
-        
when(imapSession.getState()).thenReturn(ImapSessionState.AUTHENTICATED);
-        when(statusResponseStub.taggedOk(any(Tag.class), 
any(ImapCommand.class), any(HumanReadableText.class)))
-            .thenReturn(mock(StatusResponse.class));
-
-        final NamespaceResponse response = buildResponse(null);
-        final Responder responderMock = mock(Responder.class);
-
-        subject.doProcess(namespaceRequest, responderMock, 
imapSession).block();
-
-        verify(responderMock, times(1)).respond(response);
-        verify(responderMock, times(1)).respond(any(StatusResponse.class));
-        verifyNoMoreInteractions(responderMock);
-    }
-    
-    @Test
-    void testNamespaceResponseShouldContainSharedSpaces() {
-        when(imapSession.supportMultipleNamespaces()).thenReturn(true);
-
-        when(mailboxSession.getPersonalSpace()).thenReturn(PERSONAL_PREFIX);
-        when(mailboxSession.getOtherUsersSpace()).thenReturn(USERS_PREFIX);
-        
when(mailboxSession.getSharedSpaces()).thenReturn(Arrays.asList(SHARED_PREFIX));
-        
when(mailboxSession.getPathDelimiter()).thenReturn(MailboxConstants.DEFAULT_DELIMITER);
-
-        
when(imapSession.getState()).thenReturn(ImapSessionState.AUTHENTICATED);
-        when(statusResponseStub.taggedOk(any(Tag.class), 
any(ImapCommand.class), any(HumanReadableText.class)))
-            .thenReturn(mock(StatusResponse.class));
-        
-        final List<NamespaceResponse.Namespace> sharedSpaces = new 
ArrayList<>();
-        sharedSpaces.add(new NamespaceResponse.Namespace(SHARED_PREFIX, 
MailboxConstants.DEFAULT_DELIMITER));
-        final NamespaceResponse response = buildResponse(sharedSpaces);
-        
-        final Responder responderMock = mock(Responder.class);
-
-        subject.doProcess(namespaceRequest, responderMock, 
imapSession).block();
-
-        verify(responderMock, times(1)).respond(response);
-        verify(responderMock, times(1)).respond(any(StatusResponse.class));
-        verifyNoMoreInteractions(responderMock);
-    }
-
     private NamespaceResponse buildResponse(List<NamespaceResponse.Namespace> 
sharedSpaces) {
        
         final List<NamespaceResponse.Namespace> personalSpaces = new 
ArrayList<>();
diff --git 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
index 3f2bc05f17..ff61f4e692 100644
--- 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
+++ 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/NettyImapSession.java
@@ -310,11 +310,6 @@ public class NettyImapSession implements ImapSession, 
NettyConstants {
             .map(SSLEngine::getSession);
     }
 
-    @Override
-    public boolean supportMultipleNamespaces() {
-        return false;
-    }
-
     @Override
     public boolean isCompressionActive() {
         return channel.pipeline().get(ZLIB_DECODER) != null;


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

Reply via email to