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 d0243f19f7ace4770747822863d647c3c1c0ace2 Author: Rene Cordier <rcord...@linagora.com> AuthorDate: Fri Mar 1 11:49:23 2019 +0700 MAILBOX-382 refactor ActionEvents --- .../java/org/apache/james/webadmin/dto/ActionEvents.java | 15 ++++++++------- .../james/webadmin/routes/EventDeadLettersRoutes.java | 6 ++++-- .../org/apache/james/webadmin/dto/ActionEventsTest.java | 14 ++++++++------ .../james/webadmin/routes/EventDeadLettersRoutesTest.java | 6 +++--- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/ActionEvents.java b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/ActionEvents.java index f18ad7d..6861f51 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/ActionEvents.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/main/java/org/apache/james/webadmin/dto/ActionEvents.java @@ -19,18 +19,19 @@ package org.apache.james.webadmin.dto; -import java.util.Arrays; +import java.util.Optional; import com.google.common.base.Preconditions; public enum ActionEvents { - reDeliver; + REDELIVER; - public static ActionEvents parse(String action) { + public static Optional<ActionEvents> find(String action) { Preconditions.checkArgument(action != null, "'action' url parameter is mandatory"); - return Arrays.stream(ActionEvents.values()) - .filter(element -> element.toString().equalsIgnoreCase(action)) - .findAny() - .orElseThrow(() -> new IllegalArgumentException("'" + action + "' is not a valid action query parameter")); + + if (action.equalsIgnoreCase(ActionEvents.REDELIVER.toString())) { + return Optional.of(ActionEvents.REDELIVER); + } + return Optional.empty(); } } 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 a838625..4fec31b 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 @@ -20,6 +20,7 @@ package org.apache.james.webadmin.routes; import java.util.List; +import java.util.Optional; import javax.inject.Inject; import javax.ws.rs.DELETE; @@ -300,9 +301,10 @@ public class EventDeadLettersRoutes implements Routes { } private void assertValidActionParameter(Request request) { - ActionEvents action = ActionEvents.parse(request.queryParams("action")); + String action = request.queryParams("action"); + Optional<ActionEvents> actionEvent = ActionEvents.find(action); - if (action != ActionEvents.reDeliver) { + if (!actionEvent.isPresent()) { throw new IllegalArgumentException(action + " is not a supported action"); } } diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/dto/ActionEventsTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/dto/ActionEventsTest.java index 9980815..f4a572a 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/dto/ActionEventsTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/dto/ActionEventsTest.java @@ -22,26 +22,28 @@ package org.apache.james.webadmin.dto; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; +import java.util.Optional; + import org.junit.jupiter.api.Test; class ActionEventsTest { - private static final String ACTION = "reDeliver"; + private static final String ACTION = "redeliver"; @Test void parseShouldSucceedWithCorrectActionEventsArgument() { - assertThat(ActionEvents.parse(ACTION)).isEqualTo(ActionEvents.reDeliver); + assertThat(ActionEvents.find(ACTION)) + .isEqualTo(Optional.of(ActionEvents.REDELIVER)); } @Test void parseShouldFailWithIncorrectActionEventsArgument() { - assertThatThrownBy(() -> ActionEvents.parse("incorrect-action")) - .isInstanceOf(IllegalArgumentException.class) - .hasMessage("'incorrect-action' is not a valid action query parameter"); + assertThat(ActionEvents.find("incorrect-action")) + .isEqualTo(Optional.empty()); } @Test void parseShouldFailWithMissingActionEventsArgument() { - assertThatThrownBy(() -> ActionEvents.parse(null)) + assertThatThrownBy(() -> ActionEvents.find(null)) .isInstanceOf(IllegalArgumentException.class) .hasMessage("'action' url parameter is mandatory"); } diff --git a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/EventDeadLettersRoutesTest.java b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/EventDeadLettersRoutesTest.java index c099607..f4c9e36 100644 --- a/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/EventDeadLettersRoutesTest.java +++ b/server/protocols/webadmin/webadmin-mailbox/src/test/java/org/apache/james/webadmin/routes/EventDeadLettersRoutesTest.java @@ -483,7 +483,7 @@ class EventDeadLettersRoutesTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("'invalid-action' is not a valid action query parameter")); + .body("details", is("invalid-action is not a supported action")); } @Test @@ -622,7 +622,7 @@ class EventDeadLettersRoutesTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("'invalid-action' is not a valid action query parameter")); + .body("details", is("invalid-action is not a supported action")); } @Test @@ -754,7 +754,7 @@ class EventDeadLettersRoutesTest { .body("statusCode", is(400)) .body("type", is(ErrorResponder.ErrorType.INVALID_ARGUMENT.getType())) .body("message", is("Invalid arguments supplied in the user request")) - .body("details", is("'invalid-action' is not a valid action query parameter")); + .body("details", is("invalid-action is not a supported action")); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org