Skip to content

Commit

Permalink
JAMES-2710 Rename VaultAction to support purge action
Browse files Browse the repository at this point in the history
  • Loading branch information
hoangdat committed Apr 18, 2019
1 parent 8d008f5 commit 6189ecd
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
Expand Up @@ -72,11 +72,11 @@
@Produces(Constants.JSON_CONTENT_TYPE) @Produces(Constants.JSON_CONTENT_TYPE)
public class DeletedMessagesVaultRoutes implements Routes { public class DeletedMessagesVaultRoutes implements Routes {


enum UserVaultAction { enum VaultAction {
RESTORE("restore"), RESTORE("restore"),
EXPORT("export"); EXPORT("export");


static Optional<UserVaultAction> getAction(String value) { static Optional<VaultAction> getAction(String value) {
Preconditions.checkNotNull(value, "action cannot be null"); Preconditions.checkNotNull(value, "action cannot be null");
Preconditions.checkArgument(StringUtils.isNotBlank(value), "action cannot be empty or blank"); Preconditions.checkArgument(StringUtils.isNotBlank(value), "action cannot be empty or blank");


Expand All @@ -87,13 +87,13 @@ static Optional<UserVaultAction> getAction(String value) {


private static List<String> plainValues() { private static List<String> plainValues() {
return Stream.of(values()) return Stream.of(values())
.map(UserVaultAction::getValue) .map(VaultAction::getValue)
.collect(Guavate.toImmutableList()); .collect(Guavate.toImmutableList());
} }


private final String value; private final String value;


UserVaultAction(String value) { VaultAction(String value) {
this.value = value; this.value = value;
} }


Expand Down Expand Up @@ -173,14 +173,14 @@ public void define(Service service) {
@ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "Internal server error - Something went bad on the server side.") @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "Internal server error - Something went bad on the server side.")
}) })
private TaskIdDto userActions(Request request, Response response) throws JsonExtractException { private TaskIdDto userActions(Request request, Response response) throws JsonExtractException {
UserVaultAction requestedAction = extractUserVaultAction(request); VaultAction requestedAction = extractVaultAction(request);


Task requestedTask = generateTask(requestedAction, request); Task requestedTask = generateTask(requestedAction, request);
TaskId taskId = taskManager.submit(requestedTask); TaskId taskId = taskManager.submit(requestedTask);
return TaskIdDto.respond(response, taskId); return TaskIdDto.respond(response, taskId);
} }


private Task generateTask(UserVaultAction requestedAction, Request request) throws JsonExtractException { private Task generateTask(VaultAction requestedAction, Request request) throws JsonExtractException {
User user = extractUser(request); User user = extractUser(request);
validateUserExist(user); validateUserExist(user);
Query query = translate(jsonExtractor.parse(request.body())); Query query = translate(jsonExtractor.parse(request.body()));
Expand Down Expand Up @@ -264,17 +264,17 @@ private User extractUser(Request request) {
} }
} }


private UserVaultAction extractUserVaultAction(Request request) { private VaultAction extractVaultAction(Request request) {
String actionParam = request.queryParams(ACTION_QUERY_PARAM); String actionParam = request.queryParams(ACTION_QUERY_PARAM);
return Optional.ofNullable(actionParam) return Optional.ofNullable(actionParam)
.map(this::getUserVaultAction) .map(this::getVaultAction)
.orElseThrow(() -> new IllegalArgumentException("action parameter is missing")); .orElseThrow(() -> new IllegalArgumentException("action parameter is missing"));
} }


private UserVaultAction getUserVaultAction(String actionString) { private VaultAction getVaultAction(String actionString) {
return UserVaultAction.getAction(actionString) return VaultAction.getAction(actionString)
.orElseThrow(() -> new IllegalArgumentException(String.format("'%s' is not a valid action. Supported values are: (%s)", .orElseThrow(() -> new IllegalArgumentException(String.format("'%s' is not a valid action. Supported values are: (%s)",
actionString, actionString,
Joiner.on(",").join(UserVaultAction.plainValues())))); Joiner.on(",").join(VaultAction.plainValues()))));
} }
} }
Expand Up @@ -201,7 +201,7 @@ void afterEach() {
} }


@Nested @Nested
class UserVaultActionsValidationTest { class VaultActionsValidationTest {


@Test @Test
void userVaultAPIShouldReturnInvalidWhenActionIsMissing() { void userVaultAPIShouldReturnInvalidWhenActionIsMissing() {
Expand Down

0 comments on commit 6189ecd

Please sign in to comment.