TSK-424: Exception is thrown if a completed task is getting transferred.
This commit is contained in:
parent
dc8b0dbc54
commit
5ef112bf97
|
|
@ -189,9 +189,12 @@ public interface TaskService {
|
||||||
* Thrown if the current user is not authorized to transfer this {@link Task} to the target work basket
|
* Thrown if the current user is not authorized to transfer this {@link Task} to the target work basket
|
||||||
* @throws InvalidWorkbasketException
|
* @throws InvalidWorkbasketException
|
||||||
* Thrown if either the source or the target workbasket has a missing required property
|
* Thrown if either the source or the target workbasket has a missing required property
|
||||||
|
* @throws InvalidStateException
|
||||||
|
* Thrown if the task is in a state which does not allow transferring
|
||||||
*/
|
*/
|
||||||
Task transfer(String taskId, String destinationWorkbasketId)
|
Task transfer(String taskId, String destinationWorkbasketId)
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException;
|
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException,
|
||||||
|
InvalidStateException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transfer a task to another work basket. The transfer sets the transferred flag and resets the read flag.
|
* Transfer a task to another work basket. The transfer sets the transferred flag and resets the read flag.
|
||||||
|
|
@ -211,9 +214,12 @@ public interface TaskService {
|
||||||
* Thrown if the current user is not authorized to transfer this {@link Task} to the target work basket
|
* Thrown if the current user is not authorized to transfer this {@link Task} to the target work basket
|
||||||
* @throws InvalidWorkbasketException
|
* @throws InvalidWorkbasketException
|
||||||
* Thrown if either the source or the target workbasket has a missing required property
|
* Thrown if either the source or the target workbasket has a missing required property
|
||||||
|
* @throws InvalidStateException
|
||||||
|
* Thrown if the task is in a state which does not allow transferring
|
||||||
*/
|
*/
|
||||||
Task transfer(String taskId, String workbasketKey, String domain)
|
Task transfer(String taskId, String workbasketKey, String domain)
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException;
|
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException,
|
||||||
|
InvalidStateException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Marks a task as read.
|
* Marks a task as read.
|
||||||
|
|
|
||||||
|
|
@ -398,13 +398,18 @@ public class TaskServiceImpl implements TaskService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Task transfer(String taskId, String destinationWorkbasketId)
|
public Task transfer(String taskId, String destinationWorkbasketId)
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException {
|
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException,
|
||||||
|
InvalidStateException {
|
||||||
LOGGER.debug("entry to transfer(taskId = {}, destinationWorkbasketId = {})", taskId, destinationWorkbasketId);
|
LOGGER.debug("entry to transfer(taskId = {}, destinationWorkbasketId = {})", taskId, destinationWorkbasketId);
|
||||||
TaskImpl task = null;
|
TaskImpl task = null;
|
||||||
try {
|
try {
|
||||||
taskanaEngine.openConnection();
|
taskanaEngine.openConnection();
|
||||||
task = (TaskImpl) getTask(taskId);
|
task = (TaskImpl) getTask(taskId);
|
||||||
|
|
||||||
|
if (task.getState() == TaskState.COMPLETED) {
|
||||||
|
throw new InvalidStateException("Completed task with id " + task.getId() + " cannot be transferred.");
|
||||||
|
}
|
||||||
|
|
||||||
// transfer requires TRANSFER in source and APPEND on destination workbasket
|
// transfer requires TRANSFER in source and APPEND on destination workbasket
|
||||||
workbasketService.checkAuthorization(destinationWorkbasketId, WorkbasketPermission.APPEND);
|
workbasketService.checkAuthorization(destinationWorkbasketId, WorkbasketPermission.APPEND);
|
||||||
workbasketService.checkAuthorization(task.getWorkbasketSummary().getId(),
|
workbasketService.checkAuthorization(task.getWorkbasketSummary().getId(),
|
||||||
|
|
@ -433,7 +438,8 @@ public class TaskServiceImpl implements TaskService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Task transfer(String taskId, String destinationWorkbasketKey, String domain)
|
public Task transfer(String taskId, String destinationWorkbasketKey, String domain)
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException {
|
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException,
|
||||||
|
InvalidStateException {
|
||||||
LOGGER.debug("entry to transfer(taskId = {}, destinationWorkbasketKey = {}, domain = {})", taskId,
|
LOGGER.debug("entry to transfer(taskId = {}, destinationWorkbasketKey = {}, domain = {})", taskId,
|
||||||
destinationWorkbasketKey, domain);
|
destinationWorkbasketKey, domain);
|
||||||
TaskImpl task = null;
|
TaskImpl task = null;
|
||||||
|
|
@ -441,6 +447,10 @@ public class TaskServiceImpl implements TaskService {
|
||||||
taskanaEngine.openConnection();
|
taskanaEngine.openConnection();
|
||||||
task = (TaskImpl) getTask(taskId);
|
task = (TaskImpl) getTask(taskId);
|
||||||
|
|
||||||
|
if (task.getState() == TaskState.COMPLETED) {
|
||||||
|
throw new InvalidStateException("Completed task with id " + task.getId() + " cannot be transferred.");
|
||||||
|
}
|
||||||
|
|
||||||
// transfer requires TRANSFER in source and APPEND on destination workbasket
|
// transfer requires TRANSFER in source and APPEND on destination workbasket
|
||||||
workbasketService.checkAuthorization(destinationWorkbasketKey, domain, WorkbasketPermission.APPEND);
|
workbasketService.checkAuthorization(destinationWorkbasketKey, domain, WorkbasketPermission.APPEND);
|
||||||
workbasketService.checkAuthorization(task.getWorkbasketSummary().getId(),
|
workbasketService.checkAuthorization(task.getWorkbasketSummary().getId(),
|
||||||
|
|
@ -550,6 +560,10 @@ public class TaskServiceImpl implements TaskService {
|
||||||
bulkLog.addError(currentTaskId,
|
bulkLog.addError(currentTaskId,
|
||||||
new TaskNotFoundException(currentTaskId, "Task with id " + currentTaskId + " was not found."));
|
new TaskNotFoundException(currentTaskId, "Task with id " + currentTaskId + " was not found."));
|
||||||
taskIdIterator.remove();
|
taskIdIterator.remove();
|
||||||
|
} else if (taskSummary.getTaskState() == TaskState.COMPLETED) {
|
||||||
|
bulkLog.addError(currentTaskId,
|
||||||
|
new InvalidStateException("Completed task with id " + currentTaskId + " cannot be transferred."));
|
||||||
|
taskIdIterator.remove();
|
||||||
} else if (!sourceWorkbaskets.stream()
|
} else if (!sourceWorkbaskets.stream()
|
||||||
.anyMatch(wb -> taskSummary.getWorkbasketId().equals(wb.getId()))) {
|
.anyMatch(wb -> taskSummary.getWorkbasketId().equals(wb.getId()))) {
|
||||||
bulkLog.addError(currentTaskId,
|
bulkLog.addError(currentTaskId,
|
||||||
|
|
|
||||||
|
|
@ -157,7 +157,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
|
||||||
List<TaskSummary> results = taskService.createTaskQuery()
|
List<TaskSummary> results = taskService.createTaskQuery()
|
||||||
.classificationKeyLike("L10%")
|
.classificationKeyLike("L10%")
|
||||||
.list();
|
.list();
|
||||||
assertThat(results.size(), equalTo(64));
|
assertThat(results.size(), equalTo(66));
|
||||||
|
|
||||||
String[] ids = results.stream()
|
String[] ids = results.stream()
|
||||||
.map(t -> t.getClassificationSummary().getKey())
|
.map(t -> t.getClassificationSummary().getKey())
|
||||||
|
|
@ -167,7 +167,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
|
||||||
List<TaskSummary> result2 = taskService.createTaskQuery()
|
List<TaskSummary> result2 = taskService.createTaskQuery()
|
||||||
.classificationKeyIn(ids)
|
.classificationKeyIn(ids)
|
||||||
.list();
|
.list();
|
||||||
assertThat(result2.size(), equalTo(64));
|
assertThat(result2.size(), equalTo(66));
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(
|
@WithAccessId(
|
||||||
|
|
@ -633,7 +633,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
TaskQuery taskQuery = taskService.createTaskQuery();
|
TaskQuery taskQuery = taskService.createTaskQuery();
|
||||||
long numberOfTasks = taskQuery.count();
|
long numberOfTasks = taskQuery.count();
|
||||||
Assert.assertEquals(22, numberOfTasks);
|
Assert.assertEquals(24, numberOfTasks);
|
||||||
List<TaskSummary> tasks = taskQuery
|
List<TaskSummary> tasks = taskQuery
|
||||||
.orderByDue(SortDirection.DESCENDING)
|
.orderByDue(SortDirection.DESCENDING)
|
||||||
.list();
|
.list();
|
||||||
|
|
@ -644,7 +644,7 @@ public class QueryTasksAccTest extends AbstractAccTest {
|
||||||
tasksp = taskQuery
|
tasksp = taskQuery
|
||||||
.orderByDue(SortDirection.DESCENDING)
|
.orderByDue(SortDirection.DESCENDING)
|
||||||
.listPage(5, 5);
|
.listPage(5, 5);
|
||||||
Assert.assertEquals(2, tasksp.size());
|
Assert.assertEquals(4, tasksp.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ public class QueryTasksByObjectReferenceAccTest extends AbstractAccTest {
|
||||||
List<TaskSummary> results = taskService.createTaskQuery()
|
List<TaskSummary> results = taskService.createTaskQuery()
|
||||||
.primaryObjectReferenceValueIn("11223344", "22334455")
|
.primaryObjectReferenceValueIn("11223344", "22334455")
|
||||||
.list();
|
.list();
|
||||||
Assert.assertEquals(32L, results.size());
|
Assert.assertEquals(33L, results.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(
|
@WithAccessId(
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ public class QueryTasksByTimeIntervalsAccTest extends AbstractAccTest {
|
||||||
.orderByCreated(asc)
|
.orderByCreated(asc)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
assertThat(results.size(), equalTo(36));
|
assertThat(results.size(), equalTo(37));
|
||||||
TaskSummary previousSummary = null;
|
TaskSummary previousSummary = null;
|
||||||
for (TaskSummary taskSummary : results) {
|
for (TaskSummary taskSummary : results) {
|
||||||
Instant cr = taskSummary.getCreated();
|
Instant cr = taskSummary.getCreated();
|
||||||
|
|
@ -113,7 +113,7 @@ public class QueryTasksByTimeIntervalsAccTest extends AbstractAccTest {
|
||||||
.orderByCreated(asc)
|
.orderByCreated(asc)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
assertThat(results.size(), equalTo(36));
|
assertThat(results.size(), equalTo(37));
|
||||||
TaskSummary previousSummary = null;
|
TaskSummary previousSummary = null;
|
||||||
for (TaskSummary taskSummary : results) {
|
for (TaskSummary taskSummary : results) {
|
||||||
Instant cr = taskSummary.getCreated();
|
Instant cr = taskSummary.getCreated();
|
||||||
|
|
@ -146,7 +146,7 @@ public class QueryTasksByTimeIntervalsAccTest extends AbstractAccTest {
|
||||||
.orderByCreated(asc)
|
.orderByCreated(asc)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
assertThat(results.size(), equalTo(24));
|
assertThat(results.size(), equalTo(25));
|
||||||
TaskSummary previousSummary = null;
|
TaskSummary previousSummary = null;
|
||||||
for (TaskSummary taskSummary : results) {
|
for (TaskSummary taskSummary : results) {
|
||||||
Instant cr = taskSummary.getClaimed();
|
Instant cr = taskSummary.getClaimed();
|
||||||
|
|
@ -233,7 +233,7 @@ public class QueryTasksByTimeIntervalsAccTest extends AbstractAccTest {
|
||||||
.orderByPlanned(asc)
|
.orderByPlanned(asc)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
assertThat(results.size(), equalTo(70));
|
assertThat(results.size(), equalTo(71));
|
||||||
TaskSummary previousSummary = null;
|
TaskSummary previousSummary = null;
|
||||||
for (TaskSummary taskSummary : results) {
|
for (TaskSummary taskSummary : results) {
|
||||||
Instant cr = taskSummary.getPlanned();
|
Instant cr = taskSummary.getPlanned();
|
||||||
|
|
@ -262,7 +262,7 @@ public class QueryTasksByTimeIntervalsAccTest extends AbstractAccTest {
|
||||||
.orderByPlanned(asc)
|
.orderByPlanned(asc)
|
||||||
.list();
|
.list();
|
||||||
|
|
||||||
assertThat(results.size(), equalTo(70));
|
assertThat(results.size(), equalTo(71));
|
||||||
TaskSummary previousSummary = null;
|
TaskSummary previousSummary = null;
|
||||||
for (TaskSummary taskSummary : results) {
|
for (TaskSummary taskSummary : results) {
|
||||||
Instant cr = taskSummary.getDue();
|
Instant cr = taskSummary.getDue();
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,8 @@ public class TransferTaskAccTest extends AbstractAccTest {
|
||||||
@Test
|
@Test
|
||||||
public void testDomainChangingWhenTransferTask()
|
public void testDomainChangingWhenTransferTask()
|
||||||
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException {
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
|
InvalidStateException {
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
String domain1 = task.getDomain();
|
String domain1 = task.getDomain();
|
||||||
|
|
@ -112,20 +113,36 @@ public class TransferTaskAccTest extends AbstractAccTest {
|
||||||
@Test(expected = NotAuthorizedException.class)
|
@Test(expected = NotAuthorizedException.class)
|
||||||
public void testThrowsExceptionIfTransferWithNoTransferAuthorization()
|
public void testThrowsExceptionIfTransferWithNoTransferAuthorization()
|
||||||
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException {
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
|
InvalidStateException {
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000001");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000001");
|
||||||
|
|
||||||
taskService.transfer(task.getId(), "WBI:100000000000000000000000000000000005");
|
taskService.transfer(task.getId(), "WBI:100000000000000000000000000000000005");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@WithAccessId(
|
||||||
|
userName = "teamlead_1",
|
||||||
|
groupNames = {"group_1"})
|
||||||
|
@Test(expected = InvalidStateException.class)
|
||||||
|
public void testThrowsExceptionIfTaskIsAlreadyCompleted()
|
||||||
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
|
InvalidStateException {
|
||||||
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
|
Task task = taskService.getTask("TKI:100000000000000000000000000000000006");
|
||||||
|
|
||||||
|
taskService.transfer(task.getId(), "WBI:100000000000000000000000000000000005");
|
||||||
|
}
|
||||||
|
|
||||||
@WithAccessId(
|
@WithAccessId(
|
||||||
userName = "user_1_1",
|
userName = "user_1_1",
|
||||||
groupNames = {"group_1"})
|
groupNames = {"group_1"})
|
||||||
@Test(expected = NotAuthorizedException.class)
|
@Test(expected = NotAuthorizedException.class)
|
||||||
public void testThrowsExceptionIfTransferWithNoAppendAuthorization()
|
public void testThrowsExceptionIfTransferWithNoAppendAuthorization()
|
||||||
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException {
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
|
InvalidStateException {
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000002");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000002");
|
||||||
|
|
||||||
|
|
@ -182,15 +199,17 @@ public class TransferTaskAccTest extends AbstractAccTest {
|
||||||
Instant before = Instant.now();
|
Instant before = Instant.now();
|
||||||
ArrayList<String> taskIdList = new ArrayList<>();
|
ArrayList<String> taskIdList = new ArrayList<>();
|
||||||
taskIdList.add("TKI:000000000000000000000000000000000006"); // working
|
taskIdList.add("TKI:000000000000000000000000000000000006"); // working
|
||||||
taskIdList.add("TKI:000000000000000000000000000000000041"); // NotAuthorized
|
taskIdList.add("TKI:000000000000000000000000000000000041"); // NotAuthorized READ
|
||||||
|
taskIdList.add("TKI:200000000000000000000000000000000006"); // NotAuthorized TRANSFER
|
||||||
taskIdList.add(""); // InvalidArgument
|
taskIdList.add(""); // InvalidArgument
|
||||||
taskIdList.add(null); // InvalidArgument (added with ""), duplicate
|
taskIdList.add(null); // InvalidArgument (added with ""), duplicate
|
||||||
taskIdList.add("TKI:000000000000000000000000000000000099"); // TaskNotFound
|
taskIdList.add("TKI:000000000000000000000000000000000099"); // TaskNotFound
|
||||||
|
taskIdList.add("TKI:100000000000000000000000000000000006"); // already completed
|
||||||
|
|
||||||
BulkOperationResults<String, TaskanaException> results = taskService
|
BulkOperationResults<String, TaskanaException> results = taskService
|
||||||
.transferTasks("WBI:100000000000000000000000000000000006", taskIdList);
|
.transferTasks("WBI:100000000000000000000000000000000006", taskIdList);
|
||||||
assertTrue(results.containsErrors());
|
assertTrue(results.containsErrors());
|
||||||
assertThat(results.getErrorMap().values().size(), equalTo(3));
|
assertThat(results.getErrorMap().values().size(), equalTo(5));
|
||||||
// react to result
|
// react to result
|
||||||
for (String taskId : results.getErrorMap().keySet()) {
|
for (String taskId : results.getErrorMap().keySet()) {
|
||||||
TaskanaException ex = results.getErrorForId(taskId);
|
TaskanaException ex = results.getErrorForId(taskId);
|
||||||
|
|
@ -200,6 +219,8 @@ public class TransferTaskAccTest extends AbstractAccTest {
|
||||||
System.out.println("InvalidArgumentException on bulkTransfer for EMPTY/NULL taskId='" + taskId + "'");
|
System.out.println("InvalidArgumentException on bulkTransfer for EMPTY/NULL taskId='" + taskId + "'");
|
||||||
} else if (ex instanceof TaskNotFoundException) {
|
} else if (ex instanceof TaskNotFoundException) {
|
||||||
System.out.println("TaskNotFoundException on bulkTransfer for taskId=" + taskId);
|
System.out.println("TaskNotFoundException on bulkTransfer for taskId=" + taskId);
|
||||||
|
} else if (ex instanceof InvalidStateException) {
|
||||||
|
System.out.println("InvalidStateException on bulkTransfer for taskId=" + taskId);
|
||||||
} else {
|
} else {
|
||||||
fail("Impossible failure Entry registered");
|
fail("Impossible failure Entry registered");
|
||||||
}
|
}
|
||||||
|
|
@ -218,6 +239,16 @@ public class TransferTaskAccTest extends AbstractAccTest {
|
||||||
assertNotNull(transferredTask);
|
assertNotNull(transferredTask);
|
||||||
assertFalse(transferredTask.isTransferred());
|
assertFalse(transferredTask.isTransferred());
|
||||||
assertEquals("USER_1_1", transferredTask.getWorkbasketKey());
|
assertEquals("USER_1_1", transferredTask.getWorkbasketKey());
|
||||||
|
|
||||||
|
transferredTask = taskService.getTask("TKI:200000000000000000000000000000000006");
|
||||||
|
assertNotNull(transferredTask);
|
||||||
|
assertFalse(transferredTask.isTransferred());
|
||||||
|
assertEquals("TEAMLEAD_2", transferredTask.getWorkbasketKey());
|
||||||
|
|
||||||
|
transferredTask = taskService.getTask("TKI:100000000000000000000000000000000006");
|
||||||
|
assertNotNull(transferredTask);
|
||||||
|
assertFalse(transferredTask.isTransferred());
|
||||||
|
assertEquals("TEAMLEAD_1", transferredTask.getWorkbasketKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,11 +49,11 @@ public class DeleteWorkbasketAccTest extends AbstractAccTest {
|
||||||
@Test
|
@Test
|
||||||
public void testDeleteWorkbasket()
|
public void testDeleteWorkbasket()
|
||||||
throws WorkbasketNotFoundException, NotAuthorizedException, WorkbasketInUseException, InvalidArgumentException {
|
throws WorkbasketNotFoundException, NotAuthorizedException, WorkbasketInUseException, InvalidArgumentException {
|
||||||
Workbasket wb = workbasketService.getWorkbasket("TEAMLEAD_2", "DOMAIN_A");
|
Workbasket wb = workbasketService.getWorkbasket("USER_2_2", "DOMAIN_A");
|
||||||
workbasketService.deleteWorkbasket(wb.getId());
|
workbasketService.deleteWorkbasket(wb.getId());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
workbasketService.getWorkbasket("TEAMLEAD_2", "DOMAIN_A");
|
workbasketService.getWorkbasket("USER_2_2", "DOMAIN_A");
|
||||||
fail("There should be no result for a deleted Workbasket.");
|
fail("There should be no result for a deleted Workbasket.");
|
||||||
} catch (WorkbasketNotFoundException e) {
|
} catch (WorkbasketNotFoundException e) {
|
||||||
// Workbasket is deleted
|
// Workbasket is deleted
|
||||||
|
|
|
||||||
|
|
@ -909,7 +909,8 @@ public class TaskServiceImplTest {
|
||||||
@Test
|
@Test
|
||||||
public void testTransferTaskToDestinationWorkbasketWithoutSecurity()
|
public void testTransferTaskToDestinationWorkbasketWithoutSecurity()
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
|
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
|
||||||
ClassificationAlreadyExistException, InvalidWorkbasketException, ClassificationNotFoundException {
|
ClassificationAlreadyExistException, InvalidWorkbasketException, ClassificationNotFoundException,
|
||||||
|
InvalidStateException {
|
||||||
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
||||||
Workbasket destinationWorkbasket = createWorkbasket("2", "k1");
|
Workbasket destinationWorkbasket = createWorkbasket("2", "k1");
|
||||||
Workbasket sourceWorkbasket = createWorkbasket("47", "key47");
|
Workbasket sourceWorkbasket = createWorkbasket("47", "key47");
|
||||||
|
|
@ -951,7 +952,8 @@ public class TaskServiceImplTest {
|
||||||
@Test
|
@Test
|
||||||
public void testTransferTaskToDestinationWorkbasketUsingSecurityTrue()
|
public void testTransferTaskToDestinationWorkbasketUsingSecurityTrue()
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
|
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
|
||||||
ClassificationAlreadyExistException, InvalidWorkbasketException, ClassificationNotFoundException {
|
ClassificationAlreadyExistException, InvalidWorkbasketException, ClassificationNotFoundException,
|
||||||
|
InvalidStateException {
|
||||||
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
||||||
Workbasket destinationWorkbasket = createWorkbasket("2", "k2");
|
Workbasket destinationWorkbasket = createWorkbasket("2", "k2");
|
||||||
Classification dummyClassification = createDummyClassification();
|
Classification dummyClassification = createDummyClassification();
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.DomainNotFoundException;
|
import pro.taskana.exceptions.DomainNotFoundException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
|
import pro.taskana.exceptions.InvalidStateException;
|
||||||
import pro.taskana.exceptions.InvalidWorkbasketException;
|
import pro.taskana.exceptions.InvalidWorkbasketException;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.exceptions.SystemException;
|
import pro.taskana.exceptions.SystemException;
|
||||||
|
|
@ -221,7 +222,8 @@ public class TaskServiceImplIntAutocommitTest {
|
||||||
public void shouldTransferTaskToOtherWorkbasket()
|
public void shouldTransferTaskToOtherWorkbasket()
|
||||||
throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
||||||
ClassificationAlreadyExistException, TaskNotFoundException, InterruptedException, TaskAlreadyExistException,
|
ClassificationAlreadyExistException, TaskNotFoundException, InterruptedException, TaskAlreadyExistException,
|
||||||
InvalidWorkbasketException, InvalidArgumentException, WorkbasketAlreadyExistException, DomainNotFoundException {
|
InvalidWorkbasketException, InvalidArgumentException, WorkbasketAlreadyExistException, DomainNotFoundException,
|
||||||
|
InvalidStateException {
|
||||||
Workbasket sourceWB;
|
Workbasket sourceWB;
|
||||||
Workbasket destinationWB;
|
Workbasket destinationWB;
|
||||||
WorkbasketImpl wb;
|
WorkbasketImpl wb;
|
||||||
|
|
@ -278,7 +280,7 @@ public class TaskServiceImplIntAutocommitTest {
|
||||||
@Test(expected = TaskNotFoundException.class)
|
@Test(expected = TaskNotFoundException.class)
|
||||||
public void shouldNotTransferAnyTask()
|
public void shouldNotTransferAnyTask()
|
||||||
throws WorkbasketNotFoundException, NotAuthorizedException, TaskNotFoundException, InvalidWorkbasketException,
|
throws WorkbasketNotFoundException, NotAuthorizedException, TaskNotFoundException, InvalidWorkbasketException,
|
||||||
ClassificationNotFoundException {
|
ClassificationNotFoundException, InvalidStateException {
|
||||||
taskServiceImpl.transfer(UUID.randomUUID() + "_X", "1");
|
taskServiceImpl.transfer(UUID.randomUUID() + "_X", "1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -287,7 +289,7 @@ public class TaskServiceImplIntAutocommitTest {
|
||||||
public void shouldNotTransferByFailingSecurity() throws WorkbasketNotFoundException,
|
public void shouldNotTransferByFailingSecurity() throws WorkbasketNotFoundException,
|
||||||
ClassificationNotFoundException, NotAuthorizedException, ClassificationAlreadyExistException, SQLException,
|
ClassificationNotFoundException, NotAuthorizedException, ClassificationAlreadyExistException, SQLException,
|
||||||
TaskNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException,
|
TaskNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException,
|
||||||
WorkbasketAlreadyExistException, DomainNotFoundException {
|
WorkbasketAlreadyExistException, DomainNotFoundException, InvalidStateException {
|
||||||
final String user = CurrentUserContext.getUserid();
|
final String user = CurrentUserContext.getUserid();
|
||||||
|
|
||||||
// Set up Security for this Test
|
// Set up Security for this Test
|
||||||
|
|
|
||||||
|
|
@ -38,6 +38,7 @@ import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.DomainNotFoundException;
|
import pro.taskana.exceptions.DomainNotFoundException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
|
import pro.taskana.exceptions.InvalidStateException;
|
||||||
import pro.taskana.exceptions.InvalidWorkbasketException;
|
import pro.taskana.exceptions.InvalidWorkbasketException;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
import pro.taskana.exceptions.SystemException;
|
import pro.taskana.exceptions.SystemException;
|
||||||
|
|
@ -300,7 +301,7 @@ public class TaskServiceImplIntExplicitTest {
|
||||||
throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
throws WorkbasketNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
||||||
ClassificationAlreadyExistException, TaskNotFoundException, InterruptedException, TaskAlreadyExistException,
|
ClassificationAlreadyExistException, TaskNotFoundException, InterruptedException, TaskAlreadyExistException,
|
||||||
SQLException, InvalidWorkbasketException, InvalidArgumentException, WorkbasketAlreadyExistException,
|
SQLException, InvalidWorkbasketException, InvalidArgumentException, WorkbasketAlreadyExistException,
|
||||||
DomainNotFoundException {
|
DomainNotFoundException, InvalidStateException {
|
||||||
Workbasket sourceWB;
|
Workbasket sourceWB;
|
||||||
Workbasket destinationWB;
|
Workbasket destinationWB;
|
||||||
WorkbasketImpl wb;
|
WorkbasketImpl wb;
|
||||||
|
|
@ -367,7 +368,7 @@ public class TaskServiceImplIntExplicitTest {
|
||||||
@Test(expected = TaskNotFoundException.class)
|
@Test(expected = TaskNotFoundException.class)
|
||||||
public void shouldNotTransferAnyTask()
|
public void shouldNotTransferAnyTask()
|
||||||
throws WorkbasketNotFoundException, NotAuthorizedException, TaskNotFoundException, SQLException,
|
throws WorkbasketNotFoundException, NotAuthorizedException, TaskNotFoundException, SQLException,
|
||||||
InvalidWorkbasketException, ClassificationNotFoundException {
|
InvalidWorkbasketException, ClassificationNotFoundException, InvalidStateException {
|
||||||
Connection connection = dataSource.getConnection();
|
Connection connection = dataSource.getConnection();
|
||||||
taskanaEngineImpl.setConnection(connection);
|
taskanaEngineImpl.setConnection(connection);
|
||||||
taskServiceImpl.transfer(UUID.randomUUID() + "_X", "1");
|
taskServiceImpl.transfer(UUID.randomUUID() + "_X", "1");
|
||||||
|
|
@ -378,7 +379,7 @@ public class TaskServiceImplIntExplicitTest {
|
||||||
public void shouldNotTransferByFailingSecurity() throws WorkbasketNotFoundException,
|
public void shouldNotTransferByFailingSecurity() throws WorkbasketNotFoundException,
|
||||||
ClassificationNotFoundException, NotAuthorizedException, ClassificationAlreadyExistException, SQLException,
|
ClassificationNotFoundException, NotAuthorizedException, ClassificationAlreadyExistException, SQLException,
|
||||||
TaskNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException,
|
TaskNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException,
|
||||||
WorkbasketAlreadyExistException, DomainNotFoundException {
|
WorkbasketAlreadyExistException, DomainNotFoundException, InvalidStateException {
|
||||||
final String user = "User";
|
final String user = "User";
|
||||||
|
|
||||||
// Set up Security for this Test
|
// Set up Security for this Test
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
-- TASK TABLE (ID , CREATED , CLAIMED , COMPLETED , modified , planned , due , name , creator , description , note , priority, state , classification_category , classification_key , classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, callback_info, custom_attributes, custom1, custom2, custom3, custom4, custom5, custom6, custom7, custom8, custom9, custom10, custom11, custom12, custom13, custom14, custom15, custom16
|
-- TASK TABLE (ID , CREATED , CLAIMED , COMPLETED , modified , planned , due , name , creator , description , note , priority, state , classification_category , classification_key , classification_id , workbasket_id , workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, callback_info, custom_attributes, custom1, custom2, custom3, custom4, custom5, custom6, custom7, custom8, custom9, custom10, custom11, custom12, custom13, custom14, custom15, custom16
|
||||||
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', null , '2018-01-30 15:55:00', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task99' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , 'CLAIMED' , 'MANUAL' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', null , '2018-01-30 15:55:00', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task99' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , 'CLAIMED' , 'MANUAL' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000001', '2018-01-29 15:55:01', '2018-01-30 15:55:00', null , '2018-01-30 15:55:01', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task01' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 2 , 'CLAIMED' , 'EXTERN' , 'L110102' , 'CLI:100000000000000000000000000000000005', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , 'pqr' , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000001', '2018-01-29 15:55:01', '2018-01-30 15:55:00', null , '2018-01-30 15:55:01', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task01' , 'creator_user_id' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 2 , 'CLAIMED' , 'EXTERN' , 'L110102' , 'CLI:100000000000000000000000000000000005', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , 'pqr' , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000002', '2018-01-29 15:55:02', '2018-01-30 15:55:00', null , '2018-01-30 15:55:02', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task02' , 'creator_user_id' , 'Lorem ipsum was n Quatsch t. Aber stimmt.', 'Some custom Note' , 2 , 'CLAIMED' , 'MANUAL' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000002', '2018-01-29 15:55:02', '2018-01-30 15:55:00', null , '2018-01-30 15:55:02', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task02' , 'creator_user_id' , 'Lorem ipsum was n Quatsch t. Aber stimmt.', 'Some custom Note' , 2 , 'CLAIMED' , 'MANUAL' , 'T2000' , 'CLI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000006' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
|
|
@ -72,3 +72,6 @@ INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000062', '201
|
||||||
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000063', '2018-01-29 15:55:22', null , null , '2018-01-29 15:55:22', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER_3_2' , 'DOMAIN_B', 'PI_0000000000022' , 'DOC_0000000000000000022' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000063', '2018-01-29 15:55:22', null , null , '2018-01-29 15:55:22', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER_3_2' , 'DOMAIN_B', 'PI_0000000000022' , 'DOC_0000000000000000022' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000064', '2018-01-29 15:55:23', null , null , '2018-01-29 15:55:23', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER_3_2' , 'DOMAIN_B', 'PI_0000000000020' , 'DOC_0000000000000000021' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000064', '2018-01-29 15:55:23', null , null , '2018-01-29 15:55:23', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER_3_2' , 'DOMAIN_B', 'PI_0000000000020' , 'DOC_0000000000000000021' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000065', '2018-01-29 15:55:24', null , null , '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER_3_2' , 'DOMAIN_B', 'PI_0000000000024' , 'DOC_0000000000000000024' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
INSERT INTO TASKANA.TASK VALUES('TKI:000000000000000000000000000000000065', '2018-01-29 15:55:24', null , null , '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'READY' , 'EXTERN' , 'L1060' , 'CLI:200000000000000000000000000000000017', 'WBI:100000000000000000000000000000000015' , 'USER_3_2' , 'DOMAIN_B', 'PI_0000000000024' , 'DOC_0000000000000000024' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
|
-- Task for TransferAccTest
|
||||||
|
INSERT INTO TASKANA.TASK VALUES('TKI:100000000000000000000000000000000006', '2018-01-29 15:55:06', '2018-01-30 15:55:06', '2018-01-30 16:55:06', '2018-01-30 16:55:06', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000004' , 'TEAMLEAD_1' , 'DOMAIN_A', 'PI_0000000000006' , 'DOC_0000000000000000006' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
|
INSERT INTO TASKANA.TASK VALUES('TKI:200000000000000000000000000000000006', '2018-03-29 15:55:06', '2018-03-30 15:55:06', null , '2018-03-30 15:55:06', '2018-03-29 15:55:00', '2018-03-30 15:55:00', 'Widerruf' , 'creator_user_id' , 'Widerruf' , null , 2 , 'COMPLETED' , 'EXTERN' , 'L1050' , 'CLI:100000000000000000000000000000000003', 'WBI:100000000000000000000000000000000005' , 'TEAMLEAD_2' , 'DOMAIN_A', 'PI_0000000000006' , 'DOC_0000000000000000006' , null , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , null , null , null , null , null , null , null , null , null , null , null , null , null , null , 'abc' , null , null );
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
-- KSC authorizations ( ID, WB_ID, ACCESS_ID, READ, OPEN, APPEND, TRANSFER, DISTRIBUTE, C1, .., C12)
|
-- KSC authorizations (ID , WB_ID , ACCESS_ID, READ, OPEN, APPEND, TRANSFER, DISTRIBUTE, C1, .., C12)
|
||||||
-- PPKs
|
-- PPKs
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000001', 'WBI:100000000000000000000000000000000004', 'teamlead_1', true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000001', 'WBI:100000000000000000000000000000000004', 'teamlead_1', true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000002', 'WBI:100000000000000000000000000000000005', 'teamlead_2', true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000002', 'WBI:100000000000000000000000000000000005', 'teamlead_2', true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);
|
||||||
|
|
@ -15,11 +15,11 @@ INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000012', 'WBI:100000000000000000000000000000000009', 'group_2', true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000012', 'WBI:100000000000000000000000000000000009', 'group_2', true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||||
-- teamlead substitution
|
-- teamlead substitution
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000013', 'WBI:100000000000000000000000000000000004', 'teamlead_2', true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000013', 'WBI:100000000000000000000000000000000004', 'teamlead_2', true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000014', 'WBI:100000000000000000000000000000000005', 'teamlead_1', true, true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000014', 'WBI:100000000000000000000000000000000005', 'teamlead_1', true, true, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||||
-- cross team tranfers
|
-- cross team tranfers
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000015', 'WBI:100000000000000000000000000000000006', 'group_2', true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000015', 'WBI:100000000000000000000000000000000006', 'group_2', true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000007', 'group_2', true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000016', 'WBI:100000000000000000000000000000000007', 'group_2', true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000017', 'WBI:100000000000000000000000000000000008', 'group_1', true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000017', 'WBI:100000000000000000000000000000000008', 'group_1', true, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000018', 'WBI:100000000000000000000000000000000009', 'group_1', true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000018', 'WBI:100000000000000000000000000000000009', 'group_1', true, false, true, false, false, false, false, false, false, false, false, false, false, false, false, false, false);
|
||||||
-- Team GPK access
|
-- Team GPK access
|
||||||
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000019', 'WBI:100000000000000000000000000000000002', 'group_1', true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);
|
INSERT INTO TASKANA.WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000019', 'WBI:100000000000000000000000000000000002', 'group_1', true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);
|
||||||
|
|
|
||||||
|
|
@ -169,7 +169,8 @@ public class TaskController extends AbstractPagingController {
|
||||||
@RequestMapping(path = "/{taskId}/transfer/{workbasketKey}")
|
@RequestMapping(path = "/{taskId}/transfer/{workbasketKey}")
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ResponseEntity<TaskResource> transferTask(@PathVariable String taskId, @PathVariable String workbasketKey)
|
public ResponseEntity<TaskResource> transferTask(@PathVariable String taskId, @PathVariable String workbasketKey)
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException {
|
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException,
|
||||||
|
InvalidStateException {
|
||||||
Task updatedTask = taskService.transfer(taskId, workbasketKey);
|
Task updatedTask = taskService.transfer(taskId, workbasketKey);
|
||||||
ResponseEntity<TaskResource> result = new ResponseEntity<>(taskResourceAssembler.toResource(updatedTask),
|
ResponseEntity<TaskResource> result = new ResponseEntity<>(taskResourceAssembler.toResource(updatedTask),
|
||||||
HttpStatus.OK);
|
HttpStatus.OK);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue