TSK-1993 InvalidArgumentException extends TaskanaRuntimeException
This commit is contained in:
parent
20d389a7d5
commit
f9e6b26817
|
@ -1,7 +1,7 @@
|
||||||
package pro.taskana.common.api.exceptions;
|
package pro.taskana.common.api.exceptions;
|
||||||
|
|
||||||
/** This exception is thrown when a method is called with an invalid argument. */
|
/** This exception is thrown when a method is called with an invalid argument. */
|
||||||
public class InvalidArgumentException extends TaskanaException {
|
public class InvalidArgumentException extends TaskanaRuntimeException {
|
||||||
|
|
||||||
public static final String ERROR_KEY = "INVALID_ARGUMENT";
|
public static final String ERROR_KEY = "INVALID_ARGUMENT";
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,6 @@ import static java.util.function.Predicate.not;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
|
@ -1580,8 +1579,7 @@ public class TaskServiceImpl implements TaskService {
|
||||||
Iterator<String> taskIdIterator) {
|
Iterator<String> taskIdIterator) {
|
||||||
String currentTaskId = taskIdIterator.next();
|
String currentTaskId = taskIdIterator.next();
|
||||||
if (currentTaskId == null || currentTaskId.equals("")) {
|
if (currentTaskId == null || currentTaskId.equals("")) {
|
||||||
bulkLog.addError(
|
bulkLog.addError("", new TaskNotFoundException(null));
|
||||||
"", new InvalidArgumentException("IDs with EMPTY or NULL value are not allowed."));
|
|
||||||
taskIdIterator.remove();
|
taskIdIterator.remove();
|
||||||
} else {
|
} else {
|
||||||
MinimalTaskSummary foundSummary =
|
MinimalTaskSummary foundSummary =
|
||||||
|
@ -1620,8 +1618,7 @@ public class TaskServiceImpl implements TaskService {
|
||||||
CallbackState desiredCallbackState) {
|
CallbackState desiredCallbackState) {
|
||||||
String currentExternalId = externalIdIterator.next();
|
String currentExternalId = externalIdIterator.next();
|
||||||
if (currentExternalId == null || currentExternalId.equals("")) {
|
if (currentExternalId == null || currentExternalId.equals("")) {
|
||||||
bulkLog.addError(
|
bulkLog.addError("", new TaskNotFoundException(null));
|
||||||
"", new InvalidArgumentException("IDs with EMPTY or NULL value are not allowed."));
|
|
||||||
externalIdIterator.remove();
|
externalIdIterator.remove();
|
||||||
} else {
|
} else {
|
||||||
Optional<MinimalTaskSummary> foundSummary =
|
Optional<MinimalTaskSummary> foundSummary =
|
||||||
|
@ -1681,15 +1678,12 @@ public class TaskServiceImpl implements TaskService {
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return Optional.of(
|
return Optional.of(
|
||||||
new InvalidArgumentException(
|
new InvalidCallbackStateException(
|
||||||
String.format(
|
foundSummary.getTaskId(),
|
||||||
"desired callbackState has to be in '%s'",
|
currentTaskCallbackState,
|
||||||
Arrays.toString(
|
CallbackState.CALLBACK_PROCESSING_COMPLETED,
|
||||||
new CallbackState[] {
|
CallbackState.CLAIMED,
|
||||||
CallbackState.CALLBACK_PROCESSING_COMPLETED,
|
CallbackState.CALLBACK_PROCESSING_REQUIRED));
|
||||||
CallbackState.CLAIMED,
|
|
||||||
CallbackState.CALLBACK_PROCESSING_REQUIRED
|
|
||||||
}))));
|
|
||||||
}
|
}
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
}
|
}
|
||||||
|
|
|
@ -206,7 +206,7 @@ final class TaskTransferrer {
|
||||||
Set<String> sourceWorkbasketIds, String taskId, TaskSummary taskSummary) {
|
Set<String> sourceWorkbasketIds, String taskId, TaskSummary taskSummary) {
|
||||||
TaskanaException error = null;
|
TaskanaException error = null;
|
||||||
if (taskId == null || taskId.isEmpty()) {
|
if (taskId == null || taskId.isEmpty()) {
|
||||||
error = new InvalidArgumentException("TaskId should not be null or empty");
|
error = new TaskNotFoundException(null);
|
||||||
} else if (taskSummary == null) {
|
} else if (taskSummary == null) {
|
||||||
error = new TaskNotFoundException(taskId);
|
error = new TaskNotFoundException(taskId);
|
||||||
} else if (taskSummary.getState().isEndState()) {
|
} else if (taskSummary.getState().isEndState()) {
|
||||||
|
|
|
@ -294,8 +294,8 @@ class TransferTaskAccTest extends AbstractAccTest {
|
||||||
.isEqualTo(TaskNotFoundException.class);
|
.isEqualTo(TaskNotFoundException.class);
|
||||||
assertThat(results.getErrorForId("TKI:100000000000000000000000000000000006").getClass())
|
assertThat(results.getErrorForId("TKI:100000000000000000000000000000000006").getClass())
|
||||||
.isEqualTo(InvalidTaskStateException.class);
|
.isEqualTo(InvalidTaskStateException.class);
|
||||||
assertThat(results.getErrorForId("").getClass()).isEqualTo(InvalidArgumentException.class);
|
assertThat(results.getErrorForId("").getClass()).isEqualTo(TaskNotFoundException.class);
|
||||||
assertThat(results.getErrorForId(null).getClass()).isEqualTo(InvalidArgumentException.class);
|
assertThat(results.getErrorForId(null).getClass()).isEqualTo(TaskNotFoundException.class);
|
||||||
|
|
||||||
// verify valid requests
|
// verify valid requests
|
||||||
Task transferredTask = taskService.getTask("TKI:000000000000000000000000000000000006");
|
Task transferredTask = taskService.getTask("TKI:000000000000000000000000000000000006");
|
||||||
|
|
|
@ -137,7 +137,7 @@ public class TaskanaRestExceptionHandler extends ResponseEntityExceptionHandler
|
||||||
BeanInstantiationException ex, WebRequest req) {
|
BeanInstantiationException ex, WebRequest req) {
|
||||||
if (ex.getCause() instanceof InvalidArgumentException) {
|
if (ex.getCause() instanceof InvalidArgumentException) {
|
||||||
InvalidArgumentException cause = (InvalidArgumentException) ex.getCause();
|
InvalidArgumentException cause = (InvalidArgumentException) ex.getCause();
|
||||||
return handleTaskanaException(cause, req);
|
return handleTaskanaRuntimeException(cause, req);
|
||||||
}
|
}
|
||||||
return buildResponse(null, ex, req, HttpStatus.INTERNAL_SERVER_ERROR);
|
return buildResponse(null, ex, req, HttpStatus.INTERNAL_SERVER_ERROR);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue