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