You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2022/04/08 02:00:28 UTC

[james-project] 01/03: [REACTOR] Fix deprecations: context-> contextView

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

commit 727fcac59112ed99329b13463bf2ebc832ca6bde
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Tue Apr 5 22:34:44 2022 +0700

    [REACTOR] Fix deprecations: context-> contextView
---
 .../java/org/apache/james/events/ListenerExecutor.java   |  2 +-
 .../apache/james/events/delivery/InVmEventDelivery.java  |  2 +-
 .../main/java/org/apache/james/util/ReactorUtils.java    |  2 +-
 .../java/org/apache/james/util/ReactorUtilsTest.java     | 10 +++++-----
 .../apache/james/jmap/draft/methods/GetFilterMethod.java |  2 +-
 .../james/jmap/draft/methods/GetMailboxesMethod.java     |  2 +-
 .../james/jmap/draft/methods/GetMessageListMethod.java   |  2 +-
 .../james/jmap/draft/methods/GetMessagesMethod.java      |  2 +-
 .../jmap/draft/methods/GetVacationResponseMethod.java    |  2 +-
 .../apache/james/jmap/draft/methods/SetFilterMethod.java |  4 ++--
 .../james/jmap/draft/methods/SetMailboxesMethod.java     |  2 +-
 .../james/jmap/draft/methods/SetMessagesMethod.java      |  2 +-
 .../jmap/draft/methods/SetVacationResponseMethod.java    |  4 ++--
 .../org/apache/james/jmap/http/AuthenticationRoutes.java | 16 ++++++++--------
 .../java/org/apache/james/jmap/http/DownloadRoutes.java  | 12 ++++++------
 .../java/org/apache/james/jmap/http/JMAPApiRoutes.java   |  4 ++--
 .../java/org/apache/james/jmap/http/UploadRoutes.java    |  6 +++---
 .../org/apache/james/jmap/mail/MailboxFactory.scala      |  4 ++--
 18 files changed, 40 insertions(+), 40 deletions(-)

diff --git a/event-bus/distributed/src/main/java/org/apache/james/events/ListenerExecutor.java b/event-bus/distributed/src/main/java/org/apache/james/events/ListenerExecutor.java
index 0603b73cb9..39cae87d07 100644
--- a/event-bus/distributed/src/main/java/org/apache/james/events/ListenerExecutor.java
+++ b/event-bus/distributed/src/main/java/org/apache/james/events/ListenerExecutor.java
@@ -38,7 +38,7 @@ class ListenerExecutor {
         if (listener.isHandling(event)) {
             return Mono.from(metricFactory.decoratePublisherWithTimerMetric(timerName(listener),
                 Mono.from(listener.reactiveEvent(event))
-                    .subscriberContext(ReactorUtils.context("ListenerExecutor", mdc(listener, mdcBuilder, event)))));
+                    .contextWrite(ReactorUtils.context("ListenerExecutor", mdc(listener, mdcBuilder, event)))));
         }
         return Mono.empty();
     }
diff --git a/event-bus/in-vm/src/main/java/org/apache/james/events/delivery/InVmEventDelivery.java b/event-bus/in-vm/src/main/java/org/apache/james/events/delivery/InVmEventDelivery.java
index 952e627f98..f9a6d3be4d 100644
--- a/event-bus/in-vm/src/main/java/org/apache/james/events/delivery/InVmEventDelivery.java
+++ b/event-bus/in-vm/src/main/java/org/apache/james/events/delivery/InVmEventDelivery.java
@@ -81,7 +81,7 @@ public class InVmEventDelivery implements EventDelivery {
         if (listener.isHandling(event)) {
             return Mono.defer(() -> Mono.from(metricFactory.decoratePublisherWithTimerMetric(timerName(listener),
                     listener.reactiveEvent(event))))
-                .subscriberContext(context("deliver", buildMDC(listener, event)));
+                .contextWrite(context("deliver", buildMDC(listener, event)));
         }
         return Mono.empty();
     }
diff --git a/server/container/util/src/main/java/org/apache/james/util/ReactorUtils.java b/server/container/util/src/main/java/org/apache/james/util/ReactorUtils.java
index 9e643919b4..91640ead79 100644
--- a/server/container/util/src/main/java/org/apache/james/util/ReactorUtils.java
+++ b/server/container/util/src/main/java/org/apache/james/util/ReactorUtils.java
@@ -197,7 +197,7 @@ public class ReactorUtils {
     }
 
     private static MDCBuilder retrieveMDCBuilder(Signal<?> signal) {
-        return signal.getContext().stream()
+        return signal.getContextView().stream()
             .filter(entry -> entry.getKey() instanceof String)
             .filter(entry -> entry.getValue() instanceof MDCBuilder)
             .filter(entry -> ((String) entry.getKey()).startsWith(MDC_KEY_PREFIX))
diff --git a/server/container/util/src/test/java/org/apache/james/util/ReactorUtilsTest.java b/server/container/util/src/test/java/org/apache/james/util/ReactorUtilsTest.java
index a549c17182..418a99b6dd 100644
--- a/server/container/util/src/test/java/org/apache/james/util/ReactorUtilsTest.java
+++ b/server/container/util/src/test/java/org/apache/james/util/ReactorUtilsTest.java
@@ -746,7 +746,7 @@ class ReactorUtilsTest {
                 .doOnEach(ReactorUtils.log(() -> {
                     assertThat(MDC.get(key)).isEqualTo(value);
                 }))
-                .subscriberContext(ReactorUtils.context("test", MDCBuilder.ofValue(key, value)))
+                .contextWrite(ReactorUtils.context("test", MDCBuilder.ofValue(key, value)))
                 .blockLast();
         }
 
@@ -760,8 +760,8 @@ class ReactorUtilsTest {
                 .doOnEach(ReactorUtils.log(() -> {
                     assertThat(MDC.get(key)).isEqualTo(value1);
                 }))
-                .subscriberContext(ReactorUtils.context("test", MDCBuilder.ofValue(key, value1)))
-                .subscriberContext(ReactorUtils.context("test", MDCBuilder.ofValue(key, value2)))
+                .contextWrite(ReactorUtils.context("test", MDCBuilder.ofValue(key, value1)))
+                .contextWrite(ReactorUtils.context("test", MDCBuilder.ofValue(key, value2)))
                 .blockLast();
         }
 
@@ -777,8 +777,8 @@ class ReactorUtilsTest {
                     assertThat(MDC.get(key1)).isEqualTo(value1);
                     assertThat(MDC.get(key2)).isEqualTo(value2);
                 }))
-                .subscriberContext(ReactorUtils.context("test1", MDCBuilder.ofValue(key1, value1)))
-                .subscriberContext(ReactorUtils.context("test2", MDCBuilder.ofValue(key2, value2)))
+                .contextWrite(ReactorUtils.context("test1", MDCBuilder.ofValue(key1, value1)))
+                .contextWrite(ReactorUtils.context("test2", MDCBuilder.ofValue(key2, value2)))
                 .blockLast();
         }
     }
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetFilterMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetFilterMethod.java
index 44fbb16631..e471f6e379 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetFilterMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetFilterMethod.java
@@ -76,7 +76,7 @@ public class GetFilterMethod implements Method {
 
         return Flux.from(metricFactory.decoratePublisherWithTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(),
             process(methodCallId, mailboxSession, filterRequest)
-                .subscriberContext(context("GET_FILTER", MDCBuilder.ofValue(MDCBuilder.ACTION, "GET_FILTER")))));
+                .contextWrite(context("GET_FILTER", MDCBuilder.ofValue(MDCBuilder.ACTION, "GET_FILTER")))));
     }
 
     private Mono<JmapResponse> process(MethodCallId methodCallId, MailboxSession mailboxSession, GetFilterRequest request) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMailboxesMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMailboxesMethod.java
index be66d0a358..df912e06e1 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMailboxesMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMailboxesMethod.java
@@ -99,7 +99,7 @@ public class GetMailboxesMethod implements Method {
 
         return Flux.from(metricFactory.decoratePublisherWithTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(),
             process(methodCallId, mailboxSession, mailboxesRequest)
-                .subscriberContext(context(ACTION, mdc(mailboxesRequest)))));
+                .contextWrite(context(ACTION, mdc(mailboxesRequest)))));
     }
 
     private MDCBuilder mdc(GetMailboxesRequest mailboxesRequest) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessageListMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessageListMethod.java
index 5c83ae0335..325101bda3 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessageListMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessageListMethod.java
@@ -118,7 +118,7 @@ public class GetMessageListMethod implements Method {
 
         return Flux.from(metricFactory.decoratePublisherWithTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(),
             process(methodCallId, mailboxSession, messageListRequest)
-                .subscriberContext(context("GET_MESSAGE_LIST", mdc(messageListRequest)))));
+                .contextWrite(context("GET_MESSAGE_LIST", mdc(messageListRequest)))));
     }
 
     private MDCBuilder mdc(GetMessageListRequest messageListRequest) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessagesMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessagesMethod.java
index 5e222e801e..48ed43731a 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessagesMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetMessagesMethod.java
@@ -96,7 +96,7 @@ public class GetMessagesMethod implements Method {
                     .properties(outputProperties.getOptionalMessageProperties())
                     .filterProvider(integerSimpleFilterProviderPair)
                     .build()))
-            .subscriberContext(context("GET_MESSAGES", mdc(getMessagesRequest)))));
+            .contextWrite(context("GET_MESSAGES", mdc(getMessagesRequest)))));
     }
 
     private MDCBuilder mdc(GetMessagesRequest getMessagesRequest) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetVacationResponseMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetVacationResponseMethod.java
index 74ca25d115..24279f4684 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetVacationResponseMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/GetVacationResponseMethod.java
@@ -81,7 +81,7 @@ public class GetVacationResponseMethod implements Method {
                     .response(response)
                     .build())
                 .flux()))
-            .subscriberContext(jmapAction("VACATION"));
+            .contextWrite(jmapAction("VACATION"));
     }
 
     private Mono<GetVacationResponse> process(MailboxSession mailboxSession) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetFilterMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetFilterMethod.java
index eb33f1868c..ef419c43b6 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetFilterMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetFilterMethod.java
@@ -120,8 +120,8 @@ public class SetFilterMethod implements Method {
 
         return Flux.from(metricFactory.decoratePublisherWithTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(),
             process(methodCallId, mailboxSession, setFilterRequest)
-                .subscriberContext(jmapAction("SET_FILTER"))
-                .subscriberContext(context("SET_FILTER", MDCBuilder.ofValue("update", setFilterRequest.getSingleton().toString())))));
+                .contextWrite(jmapAction("SET_FILTER"))
+                .contextWrite(context("SET_FILTER", MDCBuilder.ofValue("update", setFilterRequest.getSingleton().toString())))));
     }
 
     private Mono<JmapResponse> process(MethodCallId methodCallId, MailboxSession mailboxSession, SetFilterRequest request) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesMethod.java
index 60dbbc0bd5..6864dc3223 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMailboxesMethod.java
@@ -78,7 +78,7 @@ public class SetMailboxesMethod implements Method {
                     .response(response)
                     .responseName(RESPONSE_NAME)
                     .build())))
-            .subscriberContext(context(ACTION, mdc(setMailboxesRequest)));
+            .contextWrite(context(ACTION, mdc(setMailboxesRequest)));
     }
 
     private MDCBuilder mdc(SetMailboxesRequest setMailboxesRequest) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesMethod.java
index a205c0cf71..04c66f7ba7 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetMessagesMethod.java
@@ -70,7 +70,7 @@ public class SetMessagesMethod implements Method {
                 .responseName(RESPONSE_NAME)
                 .build())
             .flux()
-            .subscriberContext(context(ACTION, mdc(setMessagesRequest)));
+            .contextWrite(context(ACTION, mdc(setMessagesRequest)));
     }
 
     private MDCBuilder mdc(SetMessagesRequest setMessagesRequest) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetVacationResponseMethod.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetVacationResponseMethod.java
index 0c0cea3852..1e3fb8fd15 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetVacationResponseMethod.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/draft/methods/SetVacationResponseMethod.java
@@ -80,8 +80,8 @@ public class SetVacationResponseMethod implements Method {
 
         return Flux.from(metricFactory.decoratePublisherWithTimerMetric(JMAP_PREFIX + METHOD_NAME.getName(),
             process(methodCallId, mailboxSession, setVacationRequest)
-                .subscriberContext(jmapAction("SET_VACATION"))
-                .subscriberContext(context("set-vacation", MDCBuilder.ofValue("update", setVacationRequest.getUpdate().toString())))));
+                .contextWrite(jmapAction("SET_VACATION"))
+                .contextWrite(context("set-vacation", MDCBuilder.ofValue("update", setVacationRequest.getUpdate().toString())))));
     }
 
     private Flux<JmapResponse> process(MethodCallId methodCallId, MailboxSession mailboxSession, SetVacationRequest setVacationRequest) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/AuthenticationRoutes.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/AuthenticationRoutes.java
index 8c0ccde3e6..a15d5a553f 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/AuthenticationRoutes.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/AuthenticationRoutes.java
@@ -141,22 +141,22 @@ public class AuthenticationRoutes implements JMAPRoutes {
             .onErrorResume(BadRequestException.class, e -> handleBadRequest(response, LOGGER, e))
             .doOnEach(logOnError(e -> LOGGER.error("Unexpected error", e)))
             .onErrorResume(e -> handleInternalError(response, LOGGER, e))
-            .subscriberContext(jmapContext(request))
-            .subscriberContext(jmapAction("auth-post"))
+            .contextWrite(jmapContext(request))
+            .contextWrite(jmapAction("auth-post"))
             .subscribeOn(Schedulers.elastic());
     }
 
     private Mono<Void> returnEndPointsResponse(HttpServerRequest req, HttpServerResponse resp) {
             return authenticator.authenticate(req)
                 .flatMap(session -> returnEndPointsResponse(resp)
-                    .subscriberContext(jmapAuthContext(session)))
+                    .contextWrite(jmapAuthContext(session)))
                 .onErrorResume(IllegalArgumentException.class, e -> handleBadRequest(resp, LOGGER, e))
                 .onErrorResume(BadRequestException.class, e -> handleBadRequest(resp, LOGGER, e))
                 .doOnEach(logOnError(e -> LOGGER.error("Unexpected error", e)))
                 .onErrorResume(InternalErrorException.class, e -> handleInternalError(resp, LOGGER, e))
                 .onErrorResume(UnauthorizedException.class, e -> handleAuthenticationFailure(resp, LOGGER, e))
-                .subscriberContext(jmapContext(req))
-                .subscriberContext(jmapAction("returnEndPoints"))
+                .contextWrite(jmapContext(req))
+                .contextWrite(jmapAction("returnEndPoints"))
                 .subscribeOn(Schedulers.elastic());
     }
 
@@ -186,10 +186,10 @@ public class AuthenticationRoutes implements JMAPRoutes {
         return authenticator.authenticate(req)
             .flatMap(session -> Mono.from(accessTokenManager.revoke(AccessToken.fromString(authorizationHeader)))
                     .then(resp.status(NO_CONTENT).send().then())
-                .subscriberContext(jmapAuthContext(session)))
+                .contextWrite(jmapAuthContext(session)))
             .onErrorResume(UnauthorizedException.class, e -> handleAuthenticationFailure(resp, LOGGER, e))
-            .subscriberContext(jmapContext(req))
-            .subscriberContext(jmapAction("auth-delete"))
+            .contextWrite(jmapContext(req))
+            .contextWrite(jmapAction("auth-delete"))
             .subscribeOn(Schedulers.elastic());
     }
 
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/DownloadRoutes.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/DownloadRoutes.java
index e672636d12..06b6bdf3a4 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/DownloadRoutes.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/DownloadRoutes.java
@@ -142,12 +142,12 @@ public class DownloadRoutes implements JMAPRoutes {
         return authenticator.authenticate(request)
             .flatMap(session -> Mono.from(metricFactory.decoratePublisherWithTimerMetric("JMAP-download-post",
                     respondAttachmentAccessToken(session, downloadPath, response)))
-                .subscriberContext(jmapAuthContext(session)))
+                .contextWrite(jmapAuthContext(session)))
             .onErrorResume(UnauthorizedException.class, e -> handleAuthenticationFailure(response, LOGGER, e))
             .doOnEach(logOnError(e -> LOGGER.error("Unexpected error", e)))
             .onErrorResume(e -> handleInternalError(response, LOGGER, e))
-            .subscriberContext(jmapContext(request))
-            .subscriberContext(jmapAction("download-post"))
+            .contextWrite(jmapContext(request))
+            .contextWrite(jmapAction("download-post"))
             .subscribeOn(Schedulers.elastic());
     }
 
@@ -172,13 +172,13 @@ public class DownloadRoutes implements JMAPRoutes {
         return authenticator.authenticate(request)
             .flatMap(session -> Mono.from(metricFactory.decoratePublisherWithTimerMetric("JMAP-download-get",
                     download(session, downloadPath, response)))
-                .subscriberContext(jmapAuthContext(session)))
+                .contextWrite(jmapAuthContext(session)))
             .onErrorResume(UnauthorizedException.class, e -> handleAuthenticationFailure(response, LOGGER, e))
             .doOnEach(logOnError(e -> LOGGER.error("Unexpected error", e)))
             .onErrorResume(IllegalArgumentException.class, e -> handleBadRequest(response, LOGGER, e))
             .onErrorResume(e -> handleInternalError(response, LOGGER, e))
-            .subscriberContext(jmapContext(request))
-            .subscriberContext(jmapAction("download-get"))
+            .contextWrite(jmapContext(request))
+            .contextWrite(jmapAction("download-get"))
             .subscribeOn(Schedulers.elastic());
     }
 
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/JMAPApiRoutes.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/JMAPApiRoutes.java
index dc5e68931c..e5392050c1 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/JMAPApiRoutes.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/JMAPApiRoutes.java
@@ -99,12 +99,12 @@ public class JMAPApiRoutes implements JMAPRoutes {
             .flatMap(session -> userProvisioner.provisionUser(session)
                 .then(Mono.from(metricFactory.decoratePublisherWithTimerMetric("JMAP-request",
                     post(request, response, session))))
-                .subscriberContext(jmapAuthContext(session)))
+                .contextWrite(jmapAuthContext(session)))
             .onErrorResume(BadRequestException.class, e -> handleBadRequest(response, LOGGER, e))
             .onErrorResume(UnauthorizedException.class, e -> handleAuthenticationFailure(response, LOGGER, e))
             .doOnEach(logOnError(e -> LOGGER.error("Unexpected error", e)))
             .onErrorResume(e -> response.status(INTERNAL_SERVER_ERROR).send())
-            .subscriberContext(jmapContext(request));
+            .contextWrite(jmapContext(request));
     }
 
     private Mono<Void> post(HttpServerRequest request, HttpServerResponse response, MailboxSession session) {
diff --git a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/UploadRoutes.java b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/UploadRoutes.java
index 1498a968e4..23bb80e09f 100644
--- a/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/UploadRoutes.java
+++ b/server/protocols/jmap-draft/src/main/java/org/apache/james/jmap/http/UploadRoutes.java
@@ -104,14 +104,14 @@ public class UploadRoutes implements JMAPRoutes {
         } else {
             return authenticator.authenticate(request)
                 .flatMap(session -> post(request, response, ContentType.of(contentType), session)
-                    .subscriberContext(jmapAuthContext(session)))
+                    .contextWrite(jmapAuthContext(session)))
                 .onErrorResume(CancelledUploadException.class, e -> handleCanceledUpload(response, e))
                 .onErrorResume(BadRequestException.class, e -> handleBadRequest(response, e))
                 .onErrorResume(UnauthorizedException.class, e -> handleAuthenticationFailure(response, LOGGER, e))
                 .doOnEach(logOnError(e -> LOGGER.error("Unexpected error", e)))
                 .onErrorResume(e -> handleInternalError(response, LOGGER, e))
-                .subscriberContext(jmapContext(request))
-                .subscriberContext(jmapAction("upload-get"))
+                .contextWrite(jmapContext(request))
+                .contextWrite(jmapAction("upload-get"))
                 .subscribeOn(Schedulers.elastic());
         }
     }
diff --git a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxFactory.scala b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxFactory.scala
index 03bcfd0e0c..fe04f0b509 100644
--- a/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxFactory.scala
+++ b/server/protocols/jmap-rfc-8621/src/main/scala/org/apache/james/jmap/mail/MailboxFactory.scala
@@ -121,7 +121,7 @@ class MailboxFactory @Inject() (mailboxManager: MailboxManager,
              subscriptions: Subscriptions,
              allMailboxesMetadata: Seq[MailboxMetaData],
              quotaLoader: QuotaLoader): SMono[Mailbox] = {
-    val sanitizedCounters: MailboxCounters = mailboxMetaData.getCounters.sanitize()
+    val sanitizedCounters: MailboxCounters.Sanitized = mailboxMetaData.getCounters.sanitize()
 
     MailboxValidation.validate(mailboxMetaData.getPath, mailboxSession.getPathDelimiter, sanitizedCounters.getUnseen, sanitizedCounters.getUnseen, sanitizedCounters.getCount, sanitizedCounters.getCount) match {
       case Left(error) => SMono.error(error)
@@ -169,7 +169,7 @@ class MailboxFactory @Inject() (mailboxManager: MailboxManager,
       mailbox
     }
 
-  private def instanciateMailbox(id: MailboxId, mailboxSession: MailboxSession, quotaLoader: QuotaLoader, messageManager: MessageManager, sanitizedCounters: MailboxCounters, subscriptions: Subscriptions): SMono[Mailbox] = {
+  private def instanciateMailbox(id: MailboxId, mailboxSession: MailboxSession, quotaLoader: QuotaLoader, messageManager: MessageManager, sanitizedCounters: MailboxCounters.Sanitized, subscriptions: Subscriptions): SMono[Mailbox] = {
     try {
       MailboxValidation.validate(messageManager.getMailboxPath, mailboxSession.getPathDelimiter, sanitizedCounters.getUnseen, sanitizedCounters.getUnseen, sanitizedCounters.getCount, sanitizedCounters.getCount) match {
         case Left(error) => SMono.error(error)


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