TSK-106: Created Workbasket-Interface for public-interaction. Updated

tests. Package-private constructor added.
This commit is contained in:
Marcel Lengl 2017-12-13 15:45:21 +01:00 committed by Holger Hagen
parent f750dcf94d
commit a1cbfd5262
21 changed files with 278 additions and 180 deletions

View File

@ -19,7 +19,8 @@ import pro.taskana.exceptions.InvalidStateException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.model.Workbasket;
import pro.taskana.Workbasket;
import pro.taskana.Task;
@Path("/test")
public class TaskanaRestTest {
@ -34,7 +35,7 @@ public class TaskanaRestTest {
@GET
public Response startTask() throws NotAuthorizedException, WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException {
Workbasket workbasket = new Workbasket();
Workbasket workbasket = taskanaEjb.getWorkbasketService().newWorkbasket();;
workbasket.setName("wb");
taskanaEjb.getWorkbasketService().createWorkbasket(workbasket);
Classification classification = classificationService.newClassification();

View File

@ -0,0 +1,76 @@
package pro.taskana;
import java.sql.Timestamp;
import java.util.List;
/**
* Workbasket entity interface.
*/
public interface Workbasket {
/**
* Returns the unique id of a workbasket.
* @return workbasketId
*/
String getId();
/**
* Returns the timestamp when the workbasket was created.
* @return created timestamp
*/
Timestamp getCreated();
/**
* Returns the timestamp when the workbasket was modified the last time.
* @return modified timestamp
*/
Timestamp getModified();
/**
* Sets the time when the workbasket was modified the last time.
* @param modified timestamp
*/
void setModified(Timestamp modified);
/**
* Returns the name of the workbasket.
* @return workbasketName
*/
String getName();
/**
* Sets the name of the workbasket.
* @param workbasketName
*/
void setName(String workbasketName);
/**
* Returns the workbasket-descriptions.
* @return description
*/
String getDescription();
/**
* Sets the workbasket-descriptions.
* @param description
*/
void setDescription(String description);
/**
* Returns the Id of the workbasket-owner.
* @return ownerId
*/
String getOwner();
/**
* Returns a list of all distribution targets.
* @return distributionTargets
*/
List<Workbasket> getDistributionTargets();
/**
* Sets the list of distribution targets for this workbasket.
* @param distributionTargets
*/
void setDistributionTargets(List<Workbasket> distributionTargets);
}

View File

@ -3,7 +3,6 @@ package pro.taskana;
import java.util.Date;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAuthorization;
/**

View File

@ -1,13 +1,12 @@
package pro.taskana;
import java.util.List;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAccessItem;
import pro.taskana.model.WorkbasketAuthorization;
import java.util.List;
/**
* This service manages the Workbaskets.
*/
@ -114,4 +113,10 @@ public interface WorkbasketService {
* @return a {@link WorkbasketQuery}
*/
WorkbasketQuery createWorkbasketQuery();
/**
* Returns a new workbasket which is not persisted.
* @return newWorkbasket
*/
Workbasket newWorkbasket();
}

View File

@ -1,13 +1,15 @@
package pro.taskana.model;
package pro.taskana.impl;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import pro.taskana.Workbasket;
/**
* Workbasket entity.
*/
public class Workbasket {
public class WorkbasketImpl implements Workbasket {
private String id;
private Timestamp created;
@ -17,6 +19,9 @@ public class Workbasket {
private String owner;
private List<Workbasket> distributionTargets = new ArrayList<>();
WorkbasketImpl() { }
@Override
public String getId() {
return id;
}
@ -25,6 +30,7 @@ public class Workbasket {
this.id = id;
}
@Override
public Timestamp getCreated() {
return created;
}
@ -33,30 +39,37 @@ public class Workbasket {
this.created = created;
}
@Override
public Timestamp getModified() {
return modified;
}
@Override
public void setModified(Timestamp modified) {
this.modified = modified;
}
@Override
public String getName() {
return name;
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getDescription() {
return description;
}
@Override
public void setDescription(String description) {
this.description = description;
}
@Override
public String getOwner() {
return owner;
}
@ -65,10 +78,12 @@ public class Workbasket {
this.owner = owner;
}
@Override
public List<Workbasket> getDistributionTargets() {
return distributionTargets;
}
@Override
public void setDistributionTargets(List<Workbasket> distributionTargets) {
this.distributionTargets = distributionTargets;
}

View File

@ -9,11 +9,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pro.taskana.TaskanaEngine;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketQuery;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.impl.util.LoggerUtils;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAuthorization;
/**
@ -118,7 +118,7 @@ public class WorkbasketQueryImpl implements WorkbasketQuery {
@Override
public Workbasket single() throws NotAuthorizedException {
LOGGER.debug("entry to single(), this = {}", this);
Workbasket result = null;
WorkbasketImpl result = null;
try {
taskanaEngineImpl.openConnection();
result = taskanaEngineImpl.getSqlSession().selectOne(LINK_TO_MAPPER, this);

View File

@ -1,28 +1,29 @@
package pro.taskana.impl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pro.taskana.TaskanaEngine;
import pro.taskana.WorkbasketQuery;
import pro.taskana.WorkbasketService;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.util.IdGenerator;
import pro.taskana.impl.util.LoggerUtils;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAccessItem;
import pro.taskana.model.WorkbasketAuthorization;
import pro.taskana.model.mappings.DistributionTargetMapper;
import pro.taskana.model.mappings.WorkbasketAccessMapper;
import pro.taskana.model.mappings.WorkbasketMapper;
import pro.taskana.security.CurrentUserContext;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pro.taskana.TaskanaEngine;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketQuery;
import pro.taskana.WorkbasketService;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.util.IdGenerator;
import pro.taskana.impl.util.LoggerUtils;
import pro.taskana.model.WorkbasketAccessItem;
import pro.taskana.model.WorkbasketAuthorization;
import pro.taskana.model.mappings.DistributionTargetMapper;
import pro.taskana.model.mappings.WorkbasketAccessMapper;
import pro.taskana.model.mappings.WorkbasketMapper;
import pro.taskana.security.CurrentUserContext;
/**
* This is the implementation of WorkbasketService.
*/
@ -98,24 +99,26 @@ public class WorkbasketServiceImpl implements WorkbasketService {
@Override
public List<Workbasket> getWorkbaskets() {
LOGGER.debug("entry to getWorkbaskets()");
List<Workbasket> result = null;
List<Workbasket> workbaskets = new ArrayList<>();
try {
taskanaEngineImpl.openConnection();
result = workbasketMapper.findAll();
return result;
List<WorkbasketImpl> results = workbasketMapper.findAll();
results.stream().forEach(w -> workbaskets.add(w));
return workbaskets;
} finally {
taskanaEngineImpl.returnConnection();
if (LOGGER.isDebugEnabled()) {
int numberOfResultObjects = result == null ? 0 : result.size();
LOGGER.debug("exit from getWorkbaskets(). Returning {} resulting Objects: {} ", numberOfResultObjects, LoggerUtils.listToString(result));
int numberOfResultObjects = workbaskets == null ? 0 : workbaskets.size();
LOGGER.debug("exit from getWorkbaskets(). Returning {} resulting Objects: {} ", numberOfResultObjects, LoggerUtils.listToString(workbaskets));
}
}
}
@Override
public Workbasket createWorkbasket(Workbasket workbasket) {
LOGGER.debug("entry to createtWorkbasket(workbasket)", workbasket);
public Workbasket createWorkbasket(Workbasket newWorkbasket) {
LOGGER.debug("entry to createtWorkbasket(workbasket)", newWorkbasket);
Workbasket result = null;
WorkbasketImpl workbasket = (WorkbasketImpl) newWorkbasket;
try {
taskanaEngineImpl.openConnection();
Timestamp now = new Timestamp(System.currentTimeMillis());
@ -129,9 +132,11 @@ public class WorkbasketServiceImpl implements WorkbasketService {
if (workbasket.getDistributionTargets() != null) {
for (Workbasket distributionTarget : workbasket.getDistributionTargets()) {
if (workbasketMapper.findById(distributionTarget.getId()) == null) {
distributionTarget.setCreated(now);
distributionTarget.setModified(now);
workbasketMapper.insert(distributionTarget);
WorkbasketImpl tempBasket = (WorkbasketImpl) distributionTarget;
tempBasket.setCreated(now);
tempBasket.setModified(now);
workbasketMapper.insert(tempBasket);
distributionTarget = tempBasket;
LOGGER.debug("Method createWorkbasket() created distributionTarget '{}'", distributionTarget);
}
distributionTargetMapper.insert(workbasket.getId(), distributionTarget.getId());
@ -147,9 +152,10 @@ public class WorkbasketServiceImpl implements WorkbasketService {
}
@Override
public Workbasket updateWorkbasket(Workbasket workbasket) throws NotAuthorizedException {
LOGGER.debug("entry to updateWorkbasket(workbasket)", workbasket);
public Workbasket updateWorkbasket(Workbasket workbasketToUpdate) throws NotAuthorizedException {
LOGGER.debug("entry to updateWorkbasket(workbasket)", workbasketToUpdate);
Workbasket result = null;
WorkbasketImpl workbasket = (WorkbasketImpl) workbasketToUpdate;
try {
taskanaEngineImpl.openConnection();
workbasket.setModified(new Timestamp(System.currentTimeMillis()));
@ -160,7 +166,9 @@ public class WorkbasketServiceImpl implements WorkbasketService {
for (Workbasket distributionTarget : distributionTargets) {
if (!oldDistributionTargets.contains(distributionTarget.getId())) {
if (workbasketMapper.findById(distributionTarget.getId()) == null) {
workbasketMapper.insert(distributionTarget);
WorkbasketImpl tempBasket = (WorkbasketImpl) distributionTarget;
workbasketMapper.insert(tempBasket);
distributionTarget = tempBasket;
LOGGER.debug(" Method updateWorkbasket() created distributionTarget '{}'", distributionTarget);
}
distributionTargetMapper.insert(workbasket.getId(), distributionTarget.getId());
@ -310,4 +318,9 @@ public class WorkbasketServiceImpl implements WorkbasketService {
public WorkbasketQuery createWorkbasketQuery() {
return new WorkbasketQueryImpl(taskanaEngine);
}
@Override
public Workbasket newWorkbasket() {
return new WorkbasketImpl();
}
}

View File

@ -12,10 +12,10 @@ import pro.taskana.impl.ClassificationQueryImpl;
import pro.taskana.impl.ObjectReferenceQueryImpl;
import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskQueryImpl;
import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.model.ClassificationImpl;
import pro.taskana.impl.WorkbasketQueryImpl;
import pro.taskana.model.ObjectReference;
import pro.taskana.model.Workbasket;
/**
* This class provides a mapper for all queries.
@ -194,7 +194,7 @@ public interface QueryMapper {
@Result(property = "description", column = "DESCRIPTION"),
@Result(property = "owner", column = "OWNER"),
@Result(property = "distributionTargets", column = "id", javaType = List.class, many = @Many(select = "findDistributionTargets"))})
List<Workbasket> queryWorkbasket(WorkbasketQueryImpl workbasketQuery);
List<WorkbasketImpl> queryWorkbasket(WorkbasketQueryImpl workbasketQuery);
@Select("<script>SELECT TARGET_ID from DISTRIBUTION_TARGETS "
+ "<where>"

View File

@ -2,7 +2,8 @@ package pro.taskana.model.mappings;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.mapping.FetchType;
import pro.taskana.model.Workbasket;
import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.model.WorkbasketAuthorization;
import java.util.List;
@ -19,7 +20,7 @@ public interface WorkbasketMapper {
@Result(property = "description", column = "DESCRIPTION"),
@Result(property = "owner", column = "OWNER"),
@Result(property = "distributionTargets", column = "ID", javaType = List.class, many = @Many(fetchType = FetchType.DEFAULT, select = "findByDistributionTargets")) })
Workbasket findById(@Param("id") String id);
WorkbasketImpl findById(@Param("id") String id);
@Select("SELECT * FROM WORKBASKET WHERE id IN (SELECT TARGET_ID FROM DISTRIBUTION_TARGETS WHERE SOURCE_ID = #{id})")
@Results(value = {
@ -30,7 +31,7 @@ public interface WorkbasketMapper {
@Result(property = "description", column = "DESCRIPTION"),
@Result(property = "owner", column = "OWNER"),
@Result(property = "distributionTargets", column = "ID", javaType = List.class, many = @Many(fetchType = FetchType.DEFAULT, select = "findByDistributionTargets")) })
List<Workbasket> findByDistributionTargets(@Param("id") String id);
List<WorkbasketImpl> findByDistributionTargets(@Param("id") String id);
@Select("SELECT * FROM WORKBASKET ORDER BY id")
@Results(value = {
@ -41,7 +42,7 @@ public interface WorkbasketMapper {
@Result(property = "description", column = "DESCRIPTION"),
@Result(property = "owner", column = "OWNER"),
@Result(property = "distributionTargets", column = "ID", javaType = List.class, many = @Many(fetchType = FetchType.DEFAULT, select = "findByDistributionTargets")) })
List<Workbasket> findAll();
List<WorkbasketImpl> findAll();
@Select("<script>SELECT W.ID, W.CREATED, W.MODIFIED, W.NAME, W.DESCRIPTION, W.OWNER FROM WORKBASKET AS W "
+ "INNER JOIN WORKBASKET_ACCESS_LIST AS ACL " + "ON (W.ID = ACL.WORKBASKET_ID AND ACL.ACCESS_ID = #{accessId}) "
@ -68,14 +69,14 @@ public interface WorkbasketMapper {
@Result(property = "description", column = "DESCRIPTION"),
@Result(property = "owner", column = "OWNER"),
@Result(property = "distributionTargets", column = "ID", javaType = List.class, many = @Many(fetchType = FetchType.DEFAULT, select = "findByDistributionTargets")) })
List<Workbasket> findByPermission(@Param("authorizations") List<WorkbasketAuthorization> authorizations, @Param("accessId") String accessId);
List<WorkbasketImpl> findByPermission(@Param("authorizations") List<WorkbasketAuthorization> authorizations, @Param("accessId") String accessId);
@Insert("INSERT INTO WORKBASKET (ID, CREATED, MODIFIED, NAME, DESCRIPTION, OWNER) VALUES (#{workbasket.id}, #{workbasket.created}, #{workbasket.modified}, #{workbasket.name}, #{workbasket.description}, #{workbasket.owner})")
@Options(keyProperty = "id", keyColumn = "ID")
void insert(@Param("workbasket") Workbasket workbasket);
void insert(@Param("workbasket") WorkbasketImpl workbasket);
@Update("UPDATE WORKBASKET SET MODIFIED = #{workbasket.modified}, NAME = #{workbasket.name}, DESCRIPTION = #{workbasket.description}, OWNER = #{workbasket.owner} WHERE id = #{workbasket.id}")
void update(@Param("workbasket") Workbasket workbasket);
void update(@Param("workbasket") WorkbasketImpl workbasket);
@Delete("DELETE FROM WORKBASKET where id = #{id}")
void delete(@Param("id") String id);

View File

@ -47,7 +47,6 @@ import pro.taskana.model.ClassificationImpl;
import pro.taskana.model.ObjectReference;
import pro.taskana.model.TaskState;
import pro.taskana.model.TaskSummary;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAuthorization;
import pro.taskana.model.mappings.ObjectReferenceMapper;
import pro.taskana.model.mappings.TaskMapper;
@ -107,8 +106,9 @@ public class TaskServiceImplTest {
@Test
public void testCreateSimpleTask() throws NotAuthorizedException, WorkbasketNotFoundException,
ClassificationNotFoundException, ClassificationAlreadyExistException {
Mockito.doNothing().when(taskMapperMock).insert(any());
TaskImpl expectedTask = createUnitTestTask("1", "DUMMYTASK", "1");
Workbasket wb = new Workbasket();
WorkbasketImpl wb = new WorkbasketImpl();
wb.setId("1");
wb.setName("workbasket");
doReturn(wb).when(workbasketServiceMock).getWorkbasket(wb.getId());
@ -142,7 +142,7 @@ public class TaskServiceImplTest {
ObjectReference expectedObjectReference = new ObjectReference();
expectedObjectReference.setId("1");
expectedObjectReference.setType("DUMMY");
Workbasket wb = new Workbasket();
WorkbasketImpl wb = new WorkbasketImpl();
wb.setId("1");
wb.setName("workbasket");
TaskImpl expectedTask = createUnitTestTask("1", "DUMMYTASK", wb.getId());
@ -181,7 +181,7 @@ public class TaskServiceImplTest {
ObjectReference expectedObjectReference = new ObjectReference();
expectedObjectReference.setId("1");
expectedObjectReference.setType("DUMMY");
Workbasket wb = new Workbasket();
WorkbasketImpl wb = new WorkbasketImpl();
wb.setId("1");
wb.setName("workbasket");
doReturn(wb).when(workbasketServiceMock).getWorkbasket(wb.getId());
@ -227,7 +227,7 @@ public class TaskServiceImplTest {
Classification classification = (Classification) new ClassificationImpl();
classification.setName("Name");
classification.setCategory("MANUAL");
Workbasket wb = new Workbasket();
WorkbasketImpl wb = new WorkbasketImpl();
wb.setId("workbasketId");
wb.setName("workbasket");
TaskImpl task = new TaskImpl();
@ -548,8 +548,8 @@ public class TaskServiceImplTest {
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
ClassificationAlreadyExistException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
Workbasket destinationWorkbasket = createWorkbasket("2");
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "1");
WorkbasketImpl destinationWorkbasket = createWorkbasket("2");
task.setRead(true);
doReturn(destinationWorkbasket).when(workbasketServiceMock).getWorkbasket(destinationWorkbasket.getId());
doReturn(taskanaEngineConfigurationMock).when(taskanaEngineMock).getConfiguration();
@ -584,8 +584,8 @@ public class TaskServiceImplTest {
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
ClassificationAlreadyExistException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
Workbasket destinationWorkbasket = createWorkbasket("2");
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "1");
WorkbasketImpl destinationWorkbasket = createWorkbasket("2");
task.setRead(true);
doReturn(taskanaEngineConfigurationMock).when(taskanaEngineMock).getConfiguration();
doReturn(true).when(taskanaEngineConfigurationMock).isSecurityEnabled();
@ -787,7 +787,7 @@ public class TaskServiceImplTest {
doThrow(new IllegalArgumentException("Invalid ID: " + workbasketId)).when(taskMapperMock)
.findTaskSummariesByWorkbasketId(workbasketId);
doNothing().when(taskanaEngineImpl).returnConnection();
doReturn(new Workbasket()).when(workbasketServiceMock).getWorkbasket(any());
doReturn(new WorkbasketImpl()).when(workbasketServiceMock).getWorkbasket(any());
// when - make the call
List<TaskSummary> actualResultList = cut.getTaskSummariesByWorkbasketId(workbasketId);
@ -808,7 +808,7 @@ public class TaskServiceImplTest {
List<TaskSummary> expectedResultList = Arrays.asList(new TaskSummary(), new TaskSummary());
doNothing().when(taskanaEngineImpl).openConnection();
doNothing().when(taskanaEngineImpl).returnConnection();
doReturn(new Workbasket()).when(workbasketServiceMock).getWorkbasket(any());
doReturn(new WorkbasketImpl()).when(workbasketServiceMock).getWorkbasket(any());
doReturn(expectedResultList).when(taskMapperMock).findTaskSummariesByWorkbasketId(workbasketId);
List<TaskSummary> actualResultList = cut.getTaskSummariesByWorkbasketId(workbasketId);
@ -829,7 +829,7 @@ public class TaskServiceImplTest {
doNothing().when(taskanaEngineImpl).openConnection();
doNothing().when(taskanaEngineImpl).returnConnection();
doReturn(null).when(taskMapperMock).findTaskSummariesByWorkbasketId(workbasketId);
doReturn(new Workbasket()).when(workbasketServiceMock).getWorkbasket(any());
doReturn(new WorkbasketImpl()).when(workbasketServiceMock).getWorkbasket(any());
List<TaskSummary> actualResultList = cut.getTaskSummariesByWorkbasketId(workbasketId);
@ -858,8 +858,8 @@ public class TaskServiceImplTest {
return task;
}
private Workbasket createWorkbasket(String id) {
Workbasket workbasket = new Workbasket();
private WorkbasketImpl createWorkbasket(String id) {
WorkbasketImpl workbasket = new WorkbasketImpl();
workbasket.setId(id);
workbasket.setName("Workbasket " + id);
return workbasket;

View File

@ -1,6 +1,14 @@
package pro.taskana.impl;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.doNothing;
import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import java.util.ArrayList;
import java.util.List;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
@ -10,22 +18,16 @@ import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.mockito.junit.MockitoJUnitRunner;
import pro.taskana.Workbasket;
import pro.taskana.configuration.TaskanaEngineConfiguration;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAccessItem;
import pro.taskana.model.WorkbasketAuthorization;
import pro.taskana.model.mappings.DistributionTargetMapper;
import pro.taskana.model.mappings.WorkbasketAccessMapper;
import pro.taskana.model.mappings.WorkbasketMapper;
import java.util.ArrayList;
import java.util.List;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;
/**
* Unit Test for workbasketServiceImpl.
* @author EH
@ -59,7 +61,7 @@ public class WorkbasketServiceImplTest {
}
@Test
public void should_ReturnWorkbasket_when_WorkbasketIdExists() throws WorkbasketNotFoundException {
when(workbasketMapper.findById(any())).thenReturn(new Workbasket());
when(workbasketMapper.findById(any())).thenReturn(new WorkbasketImpl());
Workbasket workbasket = workbasketServiceImpl.getWorkbasket("fail");
@ -75,7 +77,7 @@ public class WorkbasketServiceImplTest {
@Test
public void should_ReturnListOfWorkbaskets_when_PermissionAndUserExists() {
when(workbasketMapper.findByPermission(any(), any())).thenReturn(new ArrayList<Workbasket>());
when(workbasketMapper.findByPermission(any(), any())).thenReturn(new ArrayList<WorkbasketImpl>());
List<WorkbasketAuthorization> authorizations = new ArrayList<>();
authorizations.add(WorkbasketAuthorization.OPEN);
@ -88,7 +90,7 @@ public class WorkbasketServiceImplTest {
@Test
public void should_ReturnAllWorkbaskets_when_AllWorkbaskets() {
when(workbasketMapper.findAll()).thenReturn(new ArrayList<Workbasket>());
when(workbasketMapper.findAll()).thenReturn(new ArrayList<WorkbasketImpl>());
List<Workbasket> workbaskets = workbasketServiceImpl.getWorkbaskets();
@ -100,7 +102,7 @@ public class WorkbasketServiceImplTest {
public void should_InitializeAndStoreWorkbasket_when_WorkbasketIsCreated() throws NotAuthorizedException {
doNothing().when(workbasketMapper).insert(any());
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = new WorkbasketImpl();
workbasket.setId("1");
workbasketServiceImpl.createWorkbasket(workbasket);
@ -117,11 +119,11 @@ public class WorkbasketServiceImplTest {
doNothing().when(workbasketMapper).insert(any());
doNothing().when(distributionTargetMapper).insert(any(), any());
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = new WorkbasketImpl();
workbasket.setId("1");
Workbasket workbasket1 = new Workbasket();
WorkbasketImpl workbasket1 = new WorkbasketImpl();
workbasket1.setId("2");
Workbasket workbasket2 = new Workbasket();
WorkbasketImpl workbasket2 = new WorkbasketImpl();
workbasket2.setId("3");
workbasket.setDistributionTargets(new ArrayList<Workbasket>() {
{
@ -144,7 +146,7 @@ public class WorkbasketServiceImplTest {
throws NotAuthorizedException {
doNothing().when(workbasketMapper).insert(any());
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = new WorkbasketImpl();
workbasket.setId("0");
workbasket.setDescription("TestDescription");
workbasket.setName("Cool New WorkintheBasket");
@ -164,9 +166,9 @@ public class WorkbasketServiceImplTest {
throws NotAuthorizedException {
doNothing().when(workbasketMapper).insert(any());
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = new WorkbasketImpl();
workbasket.setId("0");
Workbasket workbasket1 = new Workbasket();
WorkbasketImpl workbasket1 = new WorkbasketImpl();
workbasket1.setId("1");
workbasket.setDistributionTargets(new ArrayList<Workbasket>() {
{
@ -188,17 +190,17 @@ public class WorkbasketServiceImplTest {
public void should_UpdateModifiedTimestamp_when_ExistingWorkbasketDistributionTargetIsChanged() throws Exception {
doNothing().when(workbasketMapper).insert(any());
Workbasket workbasket0 = new Workbasket();
WorkbasketImpl workbasket0 = new WorkbasketImpl();
workbasket0.setId("0");
Workbasket workbasket1 = new Workbasket();
WorkbasketImpl workbasket1 = new WorkbasketImpl();
workbasket1.setId("1");
Workbasket workbasket2 = new Workbasket();
WorkbasketImpl workbasket2 = new WorkbasketImpl();
workbasket2.setId("2");
workbasket2.getDistributionTargets().add(workbasket0);
workbasket2.getDistributionTargets().add(workbasket1);
workbasketServiceImpl.createWorkbasket(workbasket2);
Workbasket workbasket3 = new Workbasket();
WorkbasketImpl workbasket3 = new WorkbasketImpl();
workbasket3.setId("3");
workbasket2.getDistributionTargets().clear();
workbasket2.getDistributionTargets().add(workbasket3);

View File

@ -25,6 +25,7 @@ import pro.taskana.ObjectReferenceQuery;
import pro.taskana.Task;
import pro.taskana.TaskanaEngine;
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.configuration.TaskanaEngineConfiguration;
import pro.taskana.exceptions.ClassificationAlreadyExistException;
@ -37,11 +38,11 @@ import pro.taskana.impl.ObjectReferenceQueryImpl;
import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskServiceImpl;
import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.impl.configuration.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.model.TaskState;
import pro.taskana.model.TaskSummary;
import pro.taskana.model.Workbasket;
/**
* Integration Test for TaskServiceImpl transactions with connection management mode AUTOCOMMIT.
@ -90,7 +91,7 @@ public class TaskServiceImplIntAutocommitTest {
public void testStart() throws FileNotFoundException, SQLException, TaskNotFoundException,
WorkbasketNotFoundException, NotAuthorizedException, ClassificationNotFoundException,
ClassificationAlreadyExistException {
Workbasket wb = new Workbasket();
Workbasket wb = workbasketService.newWorkbasket();
wb.setName("workbasket");
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
@ -115,7 +116,7 @@ public class TaskServiceImplIntAutocommitTest {
public void testStartTransactionFail()
throws FileNotFoundException, SQLException, TaskNotFoundException, NotAuthorizedException,
WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException {
Workbasket wb = new Workbasket();
Workbasket wb = workbasketService.newWorkbasket();
wb.setName("sdf");
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
@ -138,7 +139,7 @@ public class TaskServiceImplIntAutocommitTest {
public void testCreateTaskInTaskanaWithDefaultDb()
throws FileNotFoundException, SQLException, TaskNotFoundException, NotAuthorizedException,
WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException {
Workbasket wb = new Workbasket();
Workbasket wb = workbasketService.newWorkbasket();
wb.setName("workbasket");
wb = taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
@ -158,7 +159,7 @@ public class TaskServiceImplIntAutocommitTest {
@Test
public void should_ReturnList_when_BuilderIsUsed() throws SQLException, NotAuthorizedException,
WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException {
Workbasket wb = new Workbasket();
Workbasket wb = workbasketService.newWorkbasket();
wb.setName("workbasket");
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
@ -206,8 +207,7 @@ public class TaskServiceImplIntAutocommitTest {
@Test
public void shouldReturnTaskSummaryListWithValues() throws Exception {
Workbasket dummyWorkbasket = new Workbasket();
dummyWorkbasket.setId("1");
Workbasket dummyWorkbasket = workbasketService.newWorkbasket();
dummyWorkbasket.setName("Dummy-Basket");
dummyWorkbasket = workbasketService.createWorkbasket(dummyWorkbasket);
@ -247,10 +247,11 @@ public class TaskServiceImplIntAutocommitTest {
@Test(expected = WorkbasketNotFoundException.class)
public void shouldThrowWorkbasketNotFoundExceptionByInvalidWorkbasketParameter()
throws WorkbasketNotFoundException {
Workbasket wb = new Workbasket();
WorkbasketImpl wb = (WorkbasketImpl) workbasketService.newWorkbasket();
wb.setName("wb");
workbasketService.createWorkbasket(wb);
taskServiceImpl.getTaskSummariesByWorkbasketId("1");
wb = (WorkbasketImpl) workbasketService.createWorkbasket(wb);
wb.setId(wb.getId() + " - 1");
taskServiceImpl.getTaskSummariesByWorkbasketId(wb.getId());
}
@AfterClass

View File

@ -26,6 +26,7 @@ import pro.taskana.ObjectReferenceQuery;
import pro.taskana.Task;
import pro.taskana.TaskanaEngine;
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.configuration.TaskanaEngineConfiguration;
import pro.taskana.exceptions.ClassificationAlreadyExistException;
@ -38,6 +39,7 @@ import pro.taskana.impl.ClassificationServiceImpl;
import pro.taskana.impl.ObjectReferenceQueryImpl;
import pro.taskana.impl.TaskServiceImpl;
import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.impl.WorkbasketServiceImpl;
import pro.taskana.impl.configuration.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
@ -45,7 +47,6 @@ import pro.taskana.impl.util.IdGenerator;
import pro.taskana.model.ClassificationImpl;
import pro.taskana.model.ObjectReference;
import pro.taskana.model.TaskState;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAccessItem;
import pro.taskana.security.JAASRunner;
import pro.taskana.security.WithAccessId;
@ -95,7 +96,7 @@ public class TaskServiceImplIntExplicitTest {
generateSampleAccessItems();
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = (WorkbasketImpl) workBasketService.newWorkbasket();
workbasket.setName("workbasket");
workbasket.setId("1"); // set id manually for authorization tests
Classification classification = classificationService.newClassification();
@ -149,7 +150,7 @@ public class TaskServiceImplIntExplicitTest {
WorkbasketServiceImpl workbasketServiceImpl = (WorkbasketServiceImpl) te.getWorkbasketService();
ClassificationServiceImpl classificationServiceImpl = (ClassificationServiceImpl) te.getClassificationService();
Workbasket workbasket = new Workbasket();
Workbasket workbasket = workBasketService.newWorkbasket();
workbasket.setName("workbasket");
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
@ -252,7 +253,7 @@ public class TaskServiceImplIntExplicitTest {
generateSampleAccessItems();
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = (WorkbasketImpl) workBasketService.newWorkbasket();
workbasket.setName("workbasket");
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
@ -285,7 +286,7 @@ public class TaskServiceImplIntExplicitTest {
}
private Task generateDummyTask() throws ClassificationAlreadyExistException {
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = (WorkbasketImpl) workBasketService.newWorkbasket();
workbasket.setName("wb");
workbasket.setId("1"); // set id manually for authorization tests
taskanaEngine.getWorkbasketService().createWorkbasket(workbasket);

View File

@ -23,6 +23,7 @@ import org.junit.Test;
import pro.taskana.TaskanaEngine;
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketQuery;
import pro.taskana.WorkbasketService;
import pro.taskana.configuration.TaskanaEngineConfiguration;
@ -32,10 +33,10 @@ import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.impl.WorkbasketImpl;
import pro.taskana.impl.configuration.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.impl.util.IdGenerator;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAccessItem;
import pro.taskana.model.WorkbasketAuthorization;
import pro.taskana.security.GroupPrincipal;
@ -84,7 +85,7 @@ public class WorkbasketServiceImplIntAutocommitTest {
@Test
public void testInsertWorkbasket() throws NotAuthorizedException {
int before = workBasketService.getWorkbaskets().size();
Workbasket workbasket = new Workbasket();
WorkbasketImpl workbasket = (WorkbasketImpl) workBasketService.newWorkbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket.setId(id1);
workbasket.setName("Megabasket");
@ -95,17 +96,17 @@ public class WorkbasketServiceImplIntAutocommitTest {
@Test
public void testSelectAllWorkbaskets() throws NotAuthorizedException {
int before = workBasketService.getWorkbaskets().size();
Workbasket workbasket0 = new Workbasket();
WorkbasketImpl workbasket0 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
workbasket0.setName("Superbasket");
workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = new Workbasket();
WorkbasketImpl workbasket1 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket1.setName("Megabasket");
workBasketService.createWorkbasket(workbasket1);
Workbasket workbasket2 = new Workbasket();
WorkbasketImpl workbasket2 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket2.setName("Hyperbasket");
@ -115,17 +116,17 @@ public class WorkbasketServiceImplIntAutocommitTest {
@Test
public void testSelectWorkbasket() throws WorkbasketNotFoundException, NotAuthorizedException {
Workbasket workbasket0 = new Workbasket();
WorkbasketImpl workbasket0 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
workbasket0.setName("Superbasket");
workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = new Workbasket();
WorkbasketImpl workbasket1 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket1.setName("Megabasket");
workBasketService.createWorkbasket(workbasket1);
Workbasket workbasket2 = new Workbasket();
WorkbasketImpl workbasket2 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket2.setName("Hyperbasket");
@ -141,15 +142,15 @@ public class WorkbasketServiceImplIntAutocommitTest {
@Test
public void testSelectWorkbasketWithDistribution() throws WorkbasketNotFoundException, NotAuthorizedException {
Workbasket workbasket0 = new Workbasket();
WorkbasketImpl workbasket0 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
workbasket0.setName("Superbasket");
Workbasket workbasket1 = new Workbasket();
WorkbasketImpl workbasket1 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket1.setName("Megabasket");
Workbasket workbasket2 = new Workbasket();
WorkbasketImpl workbasket2 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket2.setName("Hyperbasket");
@ -164,15 +165,15 @@ public class WorkbasketServiceImplIntAutocommitTest {
@Test
public void testUpdateWorkbasket() throws Exception {
Workbasket workbasket0 = new Workbasket();
WorkbasketImpl workbasket0 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
workbasket0.setName("Superbasket");
Workbasket workbasket1 = new Workbasket();
WorkbasketImpl workbasket1 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket1.setName("Megabasket");
Workbasket workbasket2 = new Workbasket();
WorkbasketImpl workbasket2 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket2.setName("Hyperbasket");
@ -180,7 +181,7 @@ public class WorkbasketServiceImplIntAutocommitTest {
workbasket2.getDistributionTargets().add(workbasket1);
workBasketService.createWorkbasket(workbasket2);
Workbasket workbasket3 = new Workbasket();
WorkbasketImpl workbasket3 = (WorkbasketImpl) workBasketService.newWorkbasket();
String id3 = IdGenerator.generateWithPrefix("TWB");
workbasket3.setId(id3);
workbasket3.setName("hm ... irgend ein basket");
@ -315,28 +316,28 @@ public class WorkbasketServiceImplIntAutocommitTest {
public void generateSampleDataForQuery() {
Date now = new Date();
Workbasket basket2 = new Workbasket();
WorkbasketImpl basket2 = (WorkbasketImpl) workBasketService.newWorkbasket();
basket2.setCreated(new Timestamp(now.getTime() - DIFF2));
basket2.setId("2");
basket2.setName("Basket2");
basket2.setOwner("Eberhardt");
workBasketService.createWorkbasket(basket2);
Workbasket basket3 = new Workbasket();
WorkbasketImpl basket3 = (WorkbasketImpl) workBasketService.newWorkbasket();
basket3.setCreated(new Timestamp(now.getTime() - DIFF1));
basket3.setId("3");
basket3.setName("Basket3");
basket3.setOwner("Konstantin");
workBasketService.createWorkbasket(basket3);
Workbasket basket4 = new Workbasket();
WorkbasketImpl basket4 = (WorkbasketImpl) workBasketService.newWorkbasket();
basket4.setCreated(new Timestamp(now.getTime() - DIFF1));
basket4.setId("4");
basket4.setName("Basket4");
basket4.setOwner("Holger");
workBasketService.createWorkbasket(basket4);
Workbasket basket1 = new Workbasket();
WorkbasketImpl basket1 = (WorkbasketImpl) workBasketService.newWorkbasket();
basket1.setCreated(new Timestamp(now.getTime() - DIFF1));
basket1.setId("1");
basket1.setName("Basket1");

View File

@ -19,6 +19,7 @@ import org.junit.Test;
import pro.taskana.TaskanaEngine;
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.configuration.TaskanaEngineConfiguration;
import pro.taskana.exceptions.NotAuthorizedException;
@ -27,7 +28,6 @@ import pro.taskana.impl.TaskanaEngineImpl;
import pro.taskana.impl.configuration.DBCleaner;
import pro.taskana.impl.configuration.TaskanaEngineConfigurationTest;
import pro.taskana.impl.util.IdGenerator;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAccessItem;
/**
@ -72,11 +72,9 @@ public class WorkbasketServiceImplIntExplicitTest {
taskanaEngineImpl.setConnection(connection);
workBasketService = taskanaEngine.getWorkbasketService();
int before = workBasketService.getWorkbaskets().size();
Workbasket workbasket = new Workbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket.setId(id1);
Workbasket workbasket = workBasketService.newWorkbasket();
workbasket.setName("Megabasket");
workBasketService.createWorkbasket(workbasket);
workbasket = workBasketService.createWorkbasket(workbasket);
Assert.assertEquals(before + 1, workBasketService.getWorkbaskets().size());
taskanaEngineImpl.closeConnection();
}
@ -87,21 +85,15 @@ public class WorkbasketServiceImplIntExplicitTest {
taskanaEngineImpl.setConnection(connection);
workBasketService = taskanaEngine.getWorkbasketService();
int before = workBasketService.getWorkbaskets().size();
Workbasket workbasket0 = new Workbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
Workbasket workbasket0 = workBasketService.newWorkbasket();
workbasket0.setName("Superbasket");
workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = new Workbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket0 = workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = workBasketService.newWorkbasket();
workbasket1.setName("Megabasket");
workBasketService.createWorkbasket(workbasket1);
Workbasket workbasket2 = new Workbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket1 = workBasketService.createWorkbasket(workbasket1);
Workbasket workbasket2 = workBasketService.newWorkbasket();
workbasket2.setName("Hyperbasket");
workBasketService.createWorkbasket(workbasket2);
workbasket2 = workBasketService.createWorkbasket(workbasket2);
Assert.assertEquals(before + THREE, workBasketService.getWorkbaskets().size());
connection.commit();
taskanaEngineImpl.closeConnection();
@ -112,21 +104,16 @@ public class WorkbasketServiceImplIntExplicitTest {
Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection);
workBasketService = taskanaEngine.getWorkbasketService();
Workbasket workbasket0 = new Workbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
Workbasket workbasket0 = workBasketService.newWorkbasket();
workbasket0.setName("Superbasket");
workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = new Workbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket0 = workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = workBasketService.newWorkbasket();
workbasket1.setName("Megabasket");
workBasketService.createWorkbasket(workbasket1);
Workbasket workbasket2 = new Workbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket1 = workBasketService.createWorkbasket(workbasket1);
Workbasket workbasket2 = workBasketService.newWorkbasket();
workbasket2.setName("Hyperbasket");
workBasketService.createWorkbasket(workbasket2);
workbasket2 = workBasketService.createWorkbasket(workbasket2);
String id2 = workbasket2.getId();
Workbasket foundWorkbasket = workBasketService.getWorkbasket(id2);
Assert.assertEquals(id2, foundWorkbasket.getId());
connection.commit();
@ -148,22 +135,19 @@ public class WorkbasketServiceImplIntExplicitTest {
Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection);
workBasketService = taskanaEngine.getWorkbasketService();
Workbasket workbasket0 = new Workbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
Workbasket workbasket0 = workBasketService.newWorkbasket();
workbasket0.setName("Superbasket");
Workbasket workbasket1 = new Workbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket0 = workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = workBasketService.newWorkbasket();
workbasket1.setName("Megabasket");
Workbasket workbasket2 = new Workbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket1 = workBasketService.createWorkbasket(workbasket1);
Workbasket workbasket2 = workBasketService.newWorkbasket();
workbasket2.setName("Hyperbasket");
workbasket2.setDistributionTargets(new ArrayList<>());
workbasket2.getDistributionTargets().add(workbasket0);
workbasket2.getDistributionTargets().add(workbasket1);
workBasketService.createWorkbasket(workbasket2);
workbasket2 = workBasketService.createWorkbasket(workbasket2);
String id2 = workbasket2.getId();
Workbasket foundWorkbasket = workBasketService.getWorkbasket(id2);
Assert.assertEquals(id2, foundWorkbasket.getId());
Assert.assertEquals(2, foundWorkbasket.getDistributionTargets().size());
@ -175,30 +159,28 @@ public class WorkbasketServiceImplIntExplicitTest {
Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection);
workBasketService = taskanaEngine.getWorkbasketService();
Workbasket workbasket0 = new Workbasket();
String id0 = IdGenerator.generateWithPrefix("TWB");
workbasket0.setId(id0);
Workbasket workbasket0 = workBasketService.newWorkbasket();
workbasket0.setName("Superbasket");
Workbasket workbasket1 = new Workbasket();
String id1 = IdGenerator.generateWithPrefix("TWB");
workbasket1.setId(id1);
workbasket0 = workBasketService.createWorkbasket(workbasket0);
Workbasket workbasket1 = workBasketService.newWorkbasket();
workbasket1.setName("Megabasket");
Workbasket workbasket2 = new Workbasket();
String id2 = IdGenerator.generateWithPrefix("TWB");
workbasket2.setId(id2);
workbasket1 = workBasketService.createWorkbasket(workbasket1);
String id1 = workbasket1.getId();
Workbasket workbasket2 = workBasketService.newWorkbasket();
workbasket2.setName("Hyperbasket");
workbasket2.setDistributionTargets(new ArrayList<>());
workbasket2.getDistributionTargets().add(workbasket0);
workbasket2.getDistributionTargets().add(workbasket1);
workBasketService.createWorkbasket(workbasket2);
Workbasket workbasket3 = new Workbasket();
String id3 = IdGenerator.generateWithPrefix("TWB");
workbasket3.setId(id3);
workbasket2 = workBasketService.createWorkbasket(workbasket2);
String id2 = workbasket2.getId();
Workbasket workbasket3 = workBasketService.newWorkbasket();
workbasket3.setName("hm ... irgend ein basket");
workbasket3 = workBasketService.createWorkbasket(workbasket3);
String id3 = workbasket3.getId();
workbasket2.getDistributionTargets().clear();
workbasket2.getDistributionTargets().add(workbasket3);
Thread.sleep(SLEEP_TIME);
workBasketService.updateWorkbasket(workbasket2);
workbasket2 = workBasketService.updateWorkbasket(workbasket2);
Workbasket foundBasket = workBasketService.getWorkbasket(workbasket2.getId());

View File

@ -18,7 +18,7 @@ import pro.taskana.WorkbasketService;
import pro.taskana.model.DueWorkbasketCounter;
import pro.taskana.model.TaskState;
import pro.taskana.model.TaskStateCounter;
import pro.taskana.model.Workbasket;
import pro.taskana.Workbasket;
import pro.taskana.rest.model.WorkbasketCounterDataDto;
import pro.taskana.rest.model.WorkbasketCounterDto;

View File

@ -21,9 +21,9 @@ import pro.taskana.ClassificationService;
import pro.taskana.TaskMonitorService;
import pro.taskana.TaskService;
import pro.taskana.TaskanaEngine;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.configuration.TaskanaEngineConfiguration;
import pro.taskana.model.Workbasket;
import pro.taskana.rest.serialization.WorkbasketMixIn;
import pro.taskana.sampledata.SampleDataGenerator;

View File

@ -17,10 +17,10 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.model.Workbasket;
import pro.taskana.model.WorkbasketAccessItem;
import pro.taskana.model.WorkbasketAuthorization;

View File

@ -8,9 +8,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import pro.taskana.WorkbasketService;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.model.Workbasket;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
@ -18,6 +15,10 @@ import com.fasterxml.jackson.core.JsonToken;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.exceptions.WorkbasketNotFoundException;
/**
* This class deserializes the string list to real workbaskets
*/

View File

@ -4,12 +4,12 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import pro.taskana.model.Workbasket;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
import pro.taskana.Workbasket;
/**
* This class serializes the distribution targets to an string array with ids
*/

View File

@ -2,11 +2,11 @@ package pro.taskana.rest.serialization;
import java.util.List;
import pro.taskana.model.Workbasket;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import pro.taskana.Workbasket;
/**
* This class is used to override the distributiontargets with non standard
* serialization classes