You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/05/16 08:48:24 UTC

[james-project] 09/23: JAMES-2149 Extract 'returnNoContent' is a static method

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 bbfb2fb9fed8e64068793ed0739807c05eb6aa7a
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Wed May 15 11:00:24 2019 +0700

    JAMES-2149 Extract 'returnNoContent' is a static method
---
 .../apache/james/webadmin/routes/TasksRoutes.java  |  5 ++--
 .../org/apache/james/webadmin/utils/Responses.java | 32 ++++++++++++++++++++++
 .../webadmin/routes/DLPConfigurationRoutes.java    |  8 ++----
 .../james/webadmin/routes/SieveQuotaRoutes.java    | 21 +++++---------
 .../apache/james/webadmin/routes/UserRoutes.java   |  5 ++--
 .../apache/james/webadmin/service/UserService.java |  3 +-
 .../james/webadmin/routes/DomainQuotaRoutes.java   | 22 ++++++---------
 .../webadmin/routes/EventDeadLettersRoutes.java    |  6 ++--
 .../james/webadmin/routes/GlobalQuotaRoutes.java   | 16 ++++-------
 .../james/webadmin/routes/UserMailboxesRoutes.java | 13 ++++-----
 .../james/webadmin/routes/UserQuotaRoutes.java     | 22 ++++++---------
 .../james/webadmin/routes/MailQueueRoutes.java     |  6 ++--
 .../webadmin/routes/MailRepositoriesRoutes.java    |  7 ++---
 13 files changed, 84 insertions(+), 82 deletions(-)

diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java
index 02305b8..7dd1204 100644
--- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/TasksRoutes.java
@@ -34,11 +34,11 @@ import org.apache.james.task.TaskExecutionDetails;
 import org.apache.james.task.TaskId;
 import org.apache.james.task.TaskManager;
 import org.apache.james.task.TaskNotFoundException;
-import org.apache.james.webadmin.Constants;
 import org.apache.james.webadmin.Routes;
 import org.apache.james.webadmin.dto.ExecutionDetailsDto;
 import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.JsonTransformer;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 
 import io.swagger.annotations.Api;
@@ -166,8 +166,7 @@ public class TasksRoutes implements Routes {
     public Object cancel(Request req, Response response) {
         TaskId taskId = getTaskId(req);
         taskManager.cancel(taskId);
-        response.status(HttpStatus.NO_CONTENT_204);
-        return Constants.EMPTY_BODY;
+        return Responses.returnNoContent(response);
     }
 
     private TaskId getTaskId(Request req) {
diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/utils/Responses.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/utils/Responses.java
new file mode 100644
index 0000000..52d943a
--- /dev/null
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/utils/Responses.java
@@ -0,0 +1,32 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.webadmin.utils;
+
+import org.apache.james.webadmin.Constants;
+import org.eclipse.jetty.http.HttpStatus;
+
+import spark.Response;
+
+public class Responses {
+    public static String returnNoContent(Response response) {
+        response.status(HttpStatus.NO_CONTENT_204);
+        return Constants.EMPTY_BODY;
+    }
+}
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DLPConfigurationRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DLPConfigurationRoutes.java
index 1b550b9..2a8769c 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DLPConfigurationRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/DLPConfigurationRoutes.java
@@ -20,7 +20,6 @@
 package org.apache.james.webadmin.routes;
 
 import static com.google.common.net.HttpHeaders.CONTENT_TYPE;
-import static org.apache.james.webadmin.Constants.EMPTY_BODY;
 import static org.apache.james.webadmin.Constants.JSON_CONTENT_TYPE;
 import static org.apache.james.webadmin.Constants.SEPARATOR;
 
@@ -46,6 +45,7 @@ import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.ErrorResponder.ErrorType;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 
 import io.swagger.annotations.Api;
@@ -131,8 +131,7 @@ public class DLPConfigurationRoutes implements Routes {
 
             dlpConfigurationStore.store(senderDomain, rules);
 
-            response.status(HttpStatus.NO_CONTENT_204);
-            return EMPTY_BODY;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -197,8 +196,7 @@ public class DLPConfigurationRoutes implements Routes {
             Domain senderDomain = parseDomain(request);
             dlpConfigurationStore.clear(senderDomain);
 
-            response.status(HttpStatus.NO_CONTENT_204);
-            return EMPTY_BODY;
+            return Responses.returnNoContent(response);
         }, jsonTransformer);
     }
 
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/SieveQuotaRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/SieveQuotaRoutes.java
index d0d8cc5..5ae5def 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/SieveQuotaRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/SieveQuotaRoutes.java
@@ -19,7 +19,6 @@
 
 package org.apache.james.webadmin.routes;
 
-import static org.apache.james.webadmin.Constants.EMPTY_BODY;
 import static org.apache.james.webadmin.Constants.SEPARATOR;
 
 import javax.inject.Inject;
@@ -33,12 +32,12 @@ import org.apache.james.core.User;
 import org.apache.james.core.quota.QuotaSize;
 import org.apache.james.sieverepository.api.SieveQuotaRepository;
 import org.apache.james.sieverepository.api.exception.QuotaNotFoundException;
-import org.apache.james.webadmin.Constants;
 import org.apache.james.webadmin.Routes;
 import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.JsonExtractException;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -107,8 +106,7 @@ public class SieveQuotaRoutes implements Routes {
                 response.status(HttpStatus.OK_200);
                 return sieveQuota.asLong();
             } catch (QuotaNotFoundException e) {
-                response.status(HttpStatus.NO_CONTENT_204);
-                return EMPTY_BODY;
+                return Responses.returnNoContent(response);
             }
         }, jsonTransformer);
     }
@@ -128,8 +126,7 @@ public class SieveQuotaRoutes implements Routes {
             try {
                 QuotaSize requestedSize = extractRequestedQuotaSizeFromRequest(request);
                 sieveQuotaRepository.setDefaultQuota(requestedSize);
-                response.status(HttpStatus.NO_CONTENT_204);
-                return Constants.EMPTY_BODY;
+                return Responses.returnNoContent(response);
             } catch (JsonExtractException e) {
                 LOGGER.info("Malformed JSON", e);
                 throw ErrorResponder.builder()
@@ -155,8 +152,7 @@ public class SieveQuotaRoutes implements Routes {
             } catch (QuotaNotFoundException e) {
                 // Do nothing
             }
-            response.status(HttpStatus.NO_CONTENT_204);
-            return Constants.EMPTY_BODY;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -178,8 +174,7 @@ public class SieveQuotaRoutes implements Routes {
                 response.status(HttpStatus.OK_200);
                 return userQuota.asLong();
             } catch (QuotaNotFoundException e) {
-                response.status(HttpStatus.NO_CONTENT_204);
-                return EMPTY_BODY;
+                return Responses.returnNoContent(response);
             }
         }, jsonTransformer);
     }
@@ -201,7 +196,7 @@ public class SieveQuotaRoutes implements Routes {
             try {
                 QuotaSize requestedSize = extractRequestedQuotaSizeFromRequest(request);
                 sieveQuotaRepository.setQuota(userId, requestedSize);
-                response.status(HttpStatus.NO_CONTENT_204);
+                return Responses.returnNoContent(response);
             } catch (JsonExtractException e) {
                 LOGGER.info("Malformed JSON", e);
                 throw ErrorResponder.builder()
@@ -211,7 +206,6 @@ public class SieveQuotaRoutes implements Routes {
                     .cause(e)
                     .haltError();
             }
-            return Constants.EMPTY_BODY;
         }, jsonTransformer);
     }
 
@@ -232,8 +226,7 @@ public class SieveQuotaRoutes implements Routes {
             } catch (QuotaNotFoundException e) {
                 // Do nothing
             }
-            response.status(HttpStatus.NO_CONTENT_204);
-            return Constants.EMPTY_BODY;
+            return Responses.returnNoContent(response);
         });
     }
 
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/UserRoutes.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/UserRoutes.java
index aa373a6..6054d0e 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/UserRoutes.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/routes/UserRoutes.java
@@ -29,7 +29,6 @@ import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
 
 import org.apache.james.user.api.UsersRepositoryException;
-import org.apache.james.webadmin.Constants;
 import org.apache.james.webadmin.Routes;
 import org.apache.james.webadmin.dto.AddUserRequest;
 import org.apache.james.webadmin.dto.UserResponse;
@@ -39,6 +38,7 @@ import org.apache.james.webadmin.utils.ErrorResponder.ErrorType;
 import org.apache.james.webadmin.utils.JsonExtractException;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -142,8 +142,7 @@ public class UserRoutes implements Routes {
         String username = request.params(USER_NAME);
         try {
             userService.removeUser(username);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return Constants.EMPTY_BODY;
+            return Responses.returnNoContent(response);
         } catch (UsersRepositoryException e) {
             throw ErrorResponder.builder()
                 .statusCode(HttpStatus.NO_CONTENT_204)
diff --git a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/service/UserService.java b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/service/UserService.java
index 3b09e4b..6f6fe41 100644
--- a/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/service/UserService.java
+++ b/server/protocols/webadmin/webadmin-data/src/main/java/org/apache/james/webadmin/service/UserService.java
@@ -30,6 +30,7 @@ import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.user.api.model.User;
 import org.apache.james.util.streams.Iterators;
 import org.apache.james.webadmin.dto.UserResponse;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -71,7 +72,7 @@ public class UserService {
         User user = usersRepository.getUserByName(username);
         try {
             upsert(user, username, password);
-            response.status(HttpStatus.NO_CONTENT_204);
+            return Responses.returnNoContent(response);
         } catch (UsersRepositoryException e) {
             LOGGER.info("Error creating or updating user : {}", e.getMessage());
             response.status(HttpStatus.CONFLICT_409);
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/DomainQuotaRoutes.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/DomainQuotaRoutes.java
index 8c33381..c8da44f 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/DomainQuotaRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/DomainQuotaRoutes.java
@@ -47,6 +47,7 @@ import org.apache.james.webadmin.utils.JsonExtractException;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
 import org.apache.james.webadmin.utils.JsonTransformerModule;
+import org.apache.james.webadmin.utils.Responses;
 import org.apache.james.webadmin.validation.Quotas;
 import org.eclipse.jetty.http.HttpStatus;
 
@@ -133,8 +134,7 @@ public class DomainQuotaRoutes implements Routes {
             Domain domain = checkDomainExist(request);
             QuotaDTO quotaDTO = parseQuotaDTO(request);
             domainQuotaService.defineQuota(domain, quotaDTO);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         }));
     }
 
@@ -169,8 +169,7 @@ public class DomainQuotaRoutes implements Routes {
         service.delete(SIZE_ENDPOINT, (request, response) -> {
             Domain domain = checkDomainExist(request);
             domainQuotaService.remoteMaxQuotaSize(domain);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -193,8 +192,7 @@ public class DomainQuotaRoutes implements Routes {
             Domain domain = checkDomainExist(request);
             QuotaSize quotaSize = Quotas.quotaSize(request.body());
             domainQuotaService.setMaxSizeQuota(domain, quotaSize);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -215,8 +213,7 @@ public class DomainQuotaRoutes implements Routes {
             if (maxSizeQuota.isPresent()) {
                 return maxSizeQuota;
             }
-            response.status(HttpStatus.NO_CONTENT_204);
-            return null;
+            return Responses.returnNoContent(response);
         }, jsonTransformer);
     }
 
@@ -233,8 +230,7 @@ public class DomainQuotaRoutes implements Routes {
         service.delete(COUNT_ENDPOINT, (request, response) -> {
             Domain domain = checkDomainExist(request);
             domainQuotaService.remoteMaxQuotaCount(domain);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -257,8 +253,7 @@ public class DomainQuotaRoutes implements Routes {
             Domain domain = checkDomainExist(request);
             QuotaCount quotaCount = Quotas.quotaCount(request.body());
             domainQuotaService.setMaxCountQuota(domain, quotaCount);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -278,8 +273,7 @@ public class DomainQuotaRoutes implements Routes {
             if (maxCountQuota.isPresent()) {
                 return maxCountQuota;
             }
-            response.status(HttpStatus.NO_CONTENT_204);
-            return null;
+            return Responses.returnNoContent(response);
         }, jsonTransformer);
     }
 
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/EventDeadLettersRoutes.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/EventDeadLettersRoutes.java
index 8921a3b..6f21a88 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/EventDeadLettersRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/EventDeadLettersRoutes.java
@@ -42,6 +42,7 @@ import org.apache.james.webadmin.dto.TaskIdDto;
 import org.apache.james.webadmin.service.EventDeadLettersService;
 import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.JsonTransformer;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 
 import io.swagger.annotations.Api;
@@ -252,13 +253,12 @@ public class EventDeadLettersRoutes implements Routes {
         @ApiResponse(code = HttpStatus.BAD_REQUEST_400, message = "Invalid group name or insertion id"),
         @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = INTERNAL_SERVER_ERROR)
     })
-    private Response deleteEvent(Request request, Response response) {
+    private String deleteEvent(Request request, Response response) {
         Group group = parseGroup(request);
         EventDeadLetters.InsertionId insertionId = parseInsertionId(request);
 
         eventDeadLettersService.deleteEvent(group, insertionId);
-        response.status(HttpStatus.NO_CONTENT_204);
-        return response;
+        return Responses.returnNoContent(response);
     }
 
     @POST
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/GlobalQuotaRoutes.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/GlobalQuotaRoutes.java
index 623ded1..c4df685 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/GlobalQuotaRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/GlobalQuotaRoutes.java
@@ -40,6 +40,7 @@ import org.apache.james.webadmin.utils.ErrorResponder.ErrorType;
 import org.apache.james.webadmin.utils.JsonExtractException;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
+import org.apache.james.webadmin.utils.Responses;
 import org.apache.james.webadmin.validation.Quotas;
 import org.eclipse.jetty.http.HttpStatus;
 
@@ -115,8 +116,7 @@ public class GlobalQuotaRoutes implements Routes {
             try {
                 QuotaDTO quotaDTO = jsonExtractor.parse(request.body());
                 globalQuotaService.defineQuota(quotaDTO);
-                response.status(HttpStatus.NO_CONTENT_204);
-                return response;
+                return Responses.returnNoContent(response);
             } catch (JsonExtractException e) {
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.BAD_REQUEST_400)
@@ -158,8 +158,7 @@ public class GlobalQuotaRoutes implements Routes {
     public void defineDeleteQuotaSize() {
         service.delete(SIZE_ENDPOINT, (request, response) -> {
             globalQuotaService.deleteMaxSizeQuota();
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -178,8 +177,7 @@ public class GlobalQuotaRoutes implements Routes {
         service.put(SIZE_ENDPOINT, (request, response) -> {
             QuotaSize quotaSize = Quotas.quotaSize(request.body());
             globalQuotaService.defineMaxSizeQuota(quotaSize);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -213,8 +211,7 @@ public class GlobalQuotaRoutes implements Routes {
     public void defineDeleteQuotaCount() {
         service.delete(COUNT_ENDPOINT, (request, response) -> {
             globalQuotaService.deleteMaxCountQuota();
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -233,8 +230,7 @@ public class GlobalQuotaRoutes implements Routes {
         service.put(COUNT_ENDPOINT, (request, response) -> {
             QuotaCount quotaRequest = Quotas.quotaCount(request.body());
             globalQuotaService.defineMaxCountQuota(quotaRequest);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java
index 97303c8..95f324d 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserMailboxesRoutes.java
@@ -33,6 +33,7 @@ import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.ErrorResponder.ErrorType;
 import org.apache.james.webadmin.utils.JsonTransformer;
 import org.apache.james.webadmin.utils.MailboxHaveChildrenException;
+import org.apache.james.webadmin.utils.Responses;
 import org.apache.james.webadmin.validation.MailboxName;
 import org.eclipse.jetty.http.HttpStatus;
 import org.slf4j.Logger;
@@ -136,7 +137,7 @@ public class UserMailboxesRoutes implements Routes {
         service.delete(SPECIFIC_MAILBOX, (request, response) -> {
             try {
                 userMailboxesService.deleteMailbox(request.params(USER_NAME), new MailboxName(request.params(MAILBOX_NAME)));
-                response.status(HttpStatus.NO_CONTENT_204);
+                return Responses.returnNoContent(response);
             } catch (IllegalStateException e) {
                 LOGGER.info("Invalid delete on user mailbox", e);
                 throw ErrorResponder.builder()
@@ -162,7 +163,6 @@ public class UserMailboxesRoutes implements Routes {
                     .cause(e)
                     .haltError();
             }
-            return Constants.EMPTY_BODY;
         });
     }
 
@@ -181,7 +181,7 @@ public class UserMailboxesRoutes implements Routes {
         service.delete(USER_MAILBOXES_BASE, (request, response) -> {
             try {
                 userMailboxesService.deleteMailboxes(request.params(USER_NAME));
-                response.status(HttpStatus.NO_CONTENT_204);
+                return Responses.returnNoContent(response);
             } catch (IllegalStateException e) {
                 LOGGER.info("Invalid delete on user mailboxes", e);
                 throw ErrorResponder.builder()
@@ -191,7 +191,6 @@ public class UserMailboxesRoutes implements Routes {
                     .cause(e)
                     .haltError();
             }
-            return Constants.EMPTY_BODY;
         });
     }
 
@@ -213,7 +212,7 @@ public class UserMailboxesRoutes implements Routes {
         service.get(SPECIFIC_MAILBOX, (request, response) -> {
             try {
                 if (userMailboxesService.testMailboxExists(request.params(USER_NAME), new MailboxName(request.params(MAILBOX_NAME)))) {
-                    response.status(HttpStatus.NO_CONTENT_204);
+                    return Responses.returnNoContent(response);
                 } else {
                     throw ErrorResponder.builder()
                         .statusCode(HttpStatus.NOT_FOUND_404)
@@ -238,7 +237,6 @@ public class UserMailboxesRoutes implements Routes {
                     .cause(e)
                     .haltError();
             }
-            return Constants.EMPTY_BODY;
         });
     }
 
@@ -260,7 +258,7 @@ public class UserMailboxesRoutes implements Routes {
         service.put(SPECIFIC_MAILBOX, (request, response) -> {
             try {
                 userMailboxesService.createMailbox(request.params(USER_NAME), new MailboxName(request.params(MAILBOX_NAME)));
-                response.status(HttpStatus.NO_CONTENT_204);
+                return Responses.returnNoContent(response);
             } catch (IllegalStateException e) {
                 LOGGER.info("Invalid put on user mailbox", e);
                 throw ErrorResponder.builder()
@@ -278,7 +276,6 @@ public class UserMailboxesRoutes implements Routes {
                     .cause(e)
                     .haltError();
             }
-            return Constants.EMPTY_BODY;
         });
     }
 }
diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserQuotaRoutes.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserQuotaRoutes.java
index 11e4166..7b1d201 100644
--- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserQuotaRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/routes/UserQuotaRoutes.java
@@ -54,6 +54,7 @@ import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
 import org.apache.james.webadmin.utils.JsonTransformerModule;
 import org.apache.james.webadmin.utils.ParametersExtractor;
+import org.apache.james.webadmin.utils.Responses;
 import org.apache.james.webadmin.validation.Quotas;
 import org.eclipse.jetty.http.HttpStatus;
 
@@ -134,8 +135,7 @@ public class UserQuotaRoutes implements Routes {
             User user = checkUserExist(request);
             QuotaDTO quotaDTO = parseQuotaDTO(request);
             userQuotaService.defineQuota(user, quotaDTO);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         }));
     }
 
@@ -250,8 +250,7 @@ public class UserQuotaRoutes implements Routes {
         service.delete(SIZE_ENDPOINT, (request, response) -> {
             User user = checkUserExist(request);
             userQuotaService.deleteMaxSizeQuota(user);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -273,8 +272,7 @@ public class UserQuotaRoutes implements Routes {
             User user = checkUserExist(request);
             QuotaSize quotaSize = Quotas.quotaSize(request.body());
             userQuotaService.defineMaxSizeQuota(user, quotaSize);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -294,8 +292,7 @@ public class UserQuotaRoutes implements Routes {
             if (maxSizeQuota.isPresent()) {
                 return maxSizeQuota;
             }
-            response.status(HttpStatus.NO_CONTENT_204);
-            return null;
+            return Responses.returnNoContent(response);
         }, jsonTransformer);
     }
 
@@ -311,8 +308,7 @@ public class UserQuotaRoutes implements Routes {
         service.delete(COUNT_ENDPOINT, (request, response) -> {
             User user = checkUserExist(request);
             userQuotaService.deleteMaxCountQuota(user);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -334,8 +330,7 @@ public class UserQuotaRoutes implements Routes {
             User user = checkUserExist(request);
             QuotaCount quotaCount = Quotas.quotaCount(request.body());
             userQuotaService.defineMaxCountQuota(user, quotaCount);
-            response.status(HttpStatus.NO_CONTENT_204);
-            return response;
+            return Responses.returnNoContent(response);
         });
     }
 
@@ -355,8 +350,7 @@ public class UserQuotaRoutes implements Routes {
             if (maxCountQuota.isPresent()) {
                 return maxCountQuota;
             }
-            response.status(HttpStatus.NO_CONTENT_204);
-            return null;
+            return Responses.returnNoContent(response);
         }, jsonTransformer);
     }
 
diff --git a/server/protocols/webadmin/webadmin-mailqueue/src/main/java/org/apache/james/webadmin/routes/MailQueueRoutes.java b/server/protocols/webadmin/webadmin-mailqueue/src/main/java/org/apache/james/webadmin/routes/MailQueueRoutes.java
index 7fe0788..1b0b86e 100644
--- a/server/protocols/webadmin/webadmin-mailqueue/src/main/java/org/apache/james/webadmin/routes/MailQueueRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailqueue/src/main/java/org/apache/james/webadmin/routes/MailQueueRoutes.java
@@ -53,6 +53,7 @@ import org.apache.james.webadmin.utils.JsonExtractException;
 import org.apache.james.webadmin.utils.JsonExtractor;
 import org.apache.james.webadmin.utils.JsonTransformer;
 import org.apache.james.webadmin.utils.ParametersExtractor;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 
 import com.github.fge.lambdas.Throwing;
@@ -382,15 +383,14 @@ public class MailQueueRoutes implements Routes {
             jsonTransformer);
     }
 
-    private Response forceDelayedMailsDelivery(Request request, Response response) throws JsonExtractException, MailQueueException {
+    private String forceDelayedMailsDelivery(Request request, Response response) throws JsonExtractException, MailQueueException {
         assertDelayedParamIsTrue(request);
         assertPayloadContainsDelayedEntry(request);
         ManageableMailQueue mailQueue = assertMailQueueExists(request);
 
         mailQueue.flush();
 
-        response.status(HttpStatus.NO_CONTENT_204);
-        return response;
+        return Responses.returnNoContent(response);
     }
 
     private ManageableMailQueue assertMailQueueExists(Request request) {
diff --git a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/routes/MailRepositoriesRoutes.java b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/routes/MailRepositoriesRoutes.java
index 5260653..7a956a1 100644
--- a/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/routes/MailRepositoriesRoutes.java
+++ b/server/protocols/webadmin/webadmin-mailrepository/src/main/java/org/apache/james/webadmin/routes/MailRepositoriesRoutes.java
@@ -61,6 +61,7 @@ import org.apache.james.webadmin.utils.ErrorResponder;
 import org.apache.james.webadmin.utils.ErrorResponder.ErrorType;
 import org.apache.james.webadmin.utils.JsonTransformer;
 import org.apache.james.webadmin.utils.ParametersExtractor;
+import org.apache.james.webadmin.utils.Responses;
 import org.eclipse.jetty.http.HttpStatus;
 
 import com.github.steveash.guavate.Guavate;
@@ -148,8 +149,7 @@ public class MailRepositoriesRoutes implements Routes {
             String protocol = request.queryParams("protocol");
             try {
                 repositoryStoreService.createMailRepository(path, protocol);
-                response.status(HttpStatus.NO_CONTENT_204);
-                return Constants.EMPTY_BODY;
+                return Responses.returnNoContent(response);
             } catch (MailRepositoryStore.MailRepositoryStoreException e) {
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500)
@@ -359,9 +359,8 @@ public class MailRepositoriesRoutes implements Routes {
             MailRepositoryPath path = decodedRepositoryPath(request);
             MailKey mailKey = new MailKey(request.params("mailKey"));
             try {
-                response.status(HttpStatus.NO_CONTENT_204);
                 repositoryStoreService.deleteMail(path, mailKey);
-                return Constants.EMPTY_BODY;
+                return Responses.returnNoContent(response);
             } catch (MailRepositoryStore.MailRepositoryStoreException | MessagingException e) {
                 throw ErrorResponder.builder()
                     .statusCode(HttpStatus.INTERNAL_SERVER_ERROR_500)


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