TSK-121 Task.setClassificationKey instead of setClassification

This commit is contained in:
BerndBreier 2018-01-08 08:40:29 +01:00 committed by Holger Hagen
parent 5175256bea
commit 7ee001950d
32 changed files with 550 additions and 402 deletions

View File

@ -48,10 +48,11 @@ public class TaskanaRestTest {
taskanaEjb.getWorkbasketService().createWorkbasket(workbasket);
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("cdiDomain");
taskanaEjb.getClassificationService().createClassification(classification);
Task task = taskanaEjb.getTaskService().newTask();
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setWorkbasketKey(workbasket.getKey());
ObjectReference objRef = new ObjectReference();
objRef.setCompany("aCompany");
@ -78,7 +79,7 @@ public class TaskanaRestTest {
@DELETE
@Path("{id}")
public void completeTask(@PathParam("id") String id)
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException {
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, ClassificationNotFoundException {
logger.info(id);
taskanaEjb.getTaskService().completeTask(id, true);
}

View File

@ -28,9 +28,9 @@ public interface ClassificationService {
* classification.
*
* @param key
* TODO
* the key of the searched-for classifications
* @param domain
* TODO
* the domain of the searched-for classifications
* @return List with all versions of the Classification
*/
List<Classification> getAllClassificationsWithKey(String key, String domain);
@ -40,12 +40,12 @@ public interface ClassificationService {
* domain.
*
* @param key
* TODO
* the key of the searched-for classifications
* @param domain
* TODO
* the domain of the searched-for classifications
* @return If exist: domain-specific classification, else root classification
* @throws ClassificationNotFoundException
* TODO
* if no classification is found that matches key and domain.
*/
Classification getClassification(String key, String domain) throws ClassificationNotFoundException;

View File

@ -121,12 +121,13 @@ public interface Task {
Classification getClassification();
/**
* Sets the {@link Classification} to specify this kind of task.
* Sets the Classification key that - together with the Domain from this task's work basket - selects the
* appropriate {@link Classification} for this task.
*
* @param classification
* the classification of the task
* @param classificationKey
* the classification key for the task
*/
void setClassification(Classification classification);
void setClassificationKey(String classificationKey);
/**
* Returns the key of the Workbasket where the task is stored in.

View File

@ -47,14 +47,13 @@ public interface TaskQuery extends BaseQuery<Task> {
TaskQuery state(TaskState... states);
/**
* Add your classification to your query. The classification query can be
* obtained from the ClassificationService
* Add your classificationKey to your query.
*
* @param classificationQuery
* the classification query
* @param classificationKey
* the classification key
* @return the query
*/
TaskQuery classification(ClassificationQuery classificationQuery);
TaskQuery classificationKeyIn(String... classificationKey);
/**
* Add your workbasket key to the query.

View File

@ -32,8 +32,11 @@ public interface TaskService {
* if the state of the task with taskId is not {@link TaskState#READY}
* @throws InvalidOwnerException
* if the task with taskId is claimed by some else
* @throws ClassificationNotFoundException
* if the task refers to a classification that cannot be found
*/
Task claim(String taskId) throws TaskNotFoundException, InvalidStateException, InvalidOwnerException;
Task claim(String taskId)
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, ClassificationNotFoundException;
/**
* Claim an existing task for the current user. Enable forced claim.
@ -49,9 +52,11 @@ public interface TaskService {
* if the state of the task with taskId is not {@link TaskState#READY}
* @throws InvalidOwnerException
* if the task with taskId is claimed by someone else
* @throws ClassificationNotFoundException
* if the task refers to a classification that cannot be found
*/
Task claim(String taskId, boolean forceClaim)
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException;
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, ClassificationNotFoundException;
/**
* Complete a claimed Task as owner/admin and update State and Timestamps.
@ -65,8 +70,11 @@ public interface TaskService {
* if the given Task can´t be found in DB.
* @throws InvalidOwnerException
* if current user is not the task-owner or administrator.
* @throws ClassificationNotFoundException
* if the task refers to a classification that cannot be found
*/
Task completeTask(String taskId) throws TaskNotFoundException, InvalidOwnerException, InvalidStateException;
Task completeTask(String taskId)
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, ClassificationNotFoundException;
/**
* Complete a claimed Task and update State and Timestamps.
@ -82,9 +90,11 @@ public interface TaskService {
* if the given Task can´t be found in DB.
* @throws InvalidOwnerException
* if current user is not the task-owner or administrator.
* @throws ClassificationNotFoundException
* if the task refers to a classification that cannot be found
*/
Task completeTask(String taskId, boolean isForced)
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException;
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, ClassificationNotFoundException;
/**
* Persists a not persisted Task which does not exist already.
@ -117,8 +127,10 @@ public interface TaskService {
* @return the Task
* @throws TaskNotFoundException
* thrown of the {@link Task} with taskId is not found
* @throws ClassificationNotFoundException
* if the classification associated to the task is not found
*/
Task getTask(String taskId) throws TaskNotFoundException;
Task getTask(String taskId) throws TaskNotFoundException, ClassificationNotFoundException;
/**
* Transfer a task to another work basket. The transfer sets the transferred flag and resets the read flag.
@ -136,9 +148,12 @@ public interface TaskService {
* Thrown if the current user is not authorized to transfer this {@link Task} to the target work basket
* @throws InvalidWorkbasketException
* Thrown if either the source or the target workbasket has a missing required property
* @throws ClassificationNotFoundException
* if the task refers to a classification that cannot be found
*/
Task transfer(String taskId, String workbasketKey)
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException;
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException,
ClassificationNotFoundException;
/**
* Marks a task as read.
@ -150,8 +165,10 @@ public interface TaskService {
* @return the updated Task
* @throws TaskNotFoundException
* Thrown if the {@link Task} with taskId was not found
* @throws ClassificationNotFoundException
* if the task refers to a classification that cannot be found
*/
Task setTaskRead(String taskId, boolean isRead) throws TaskNotFoundException;
Task setTaskRead(String taskId, boolean isRead) throws TaskNotFoundException, ClassificationNotFoundException;
/**
* This method provides a query builder for quering the database.
@ -218,6 +235,16 @@ public interface TaskService {
* if the id of the task is not found in the database
* @throws ConcurrencyException
* if the task has already been updated by another user
* @throws InvalidWorkbasketException
* if the updated task refers to a workbasket that has missing required properties
* @throws ClassificationNotFoundException
* if the updated task refers to a classification that cannot be found
* @throws WorkbasketNotFoundException
* if the updated task refers to a work basket that cannot be found
* @throws NotAuthorizedException
* if the current user is not authorized to update the task
*/
Task updateTask(Task task) throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException;
Task updateTask(Task task) throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException,
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidWorkbasketException,
NotAuthorizedException;
}

View File

@ -5,8 +5,8 @@ package pro.taskana.exceptions;
*/
public class ClassificationNotFoundException extends NotFoundException {
public ClassificationNotFoundException(String id) {
super("Classification '" + id + "' not found");
public ClassificationNotFoundException(String msg) {
super(msg);
}
private static final long serialVersionUID = 1L;

View File

@ -0,0 +1,14 @@
package pro.taskana.exceptions;
/**
* This exception is thrown when a generic taskana problem is encountered.
*/
public class SystemException extends TaskanaRuntimeException {
public SystemException(String msg) {
super(msg);
}
private static final long serialVersionUID = 1L;
}

View File

@ -12,6 +12,7 @@ import org.slf4j.LoggerFactory;
import pro.taskana.Classification;
import pro.taskana.ClassificationQuery;
import pro.taskana.ClassificationService;
import pro.taskana.Task;
import pro.taskana.TaskanaEngine;
import pro.taskana.exceptions.ClassificationAlreadyExistException;
import pro.taskana.exceptions.ClassificationNotFoundException;
@ -260,7 +261,8 @@ public class ClassificationServiceImpl implements ClassificationService {
@Override
public Classification getClassification(String key, String domain) throws ClassificationNotFoundException {
if (key == null) {
throw new ClassificationNotFoundException(null);
throw new ClassificationNotFoundException(
"Classification for key " + key + " and domain " + domain + " was not found.");
}
LOGGER.debug("entry to getClassification(key = {}, domain = {})", key, domain);
Classification result = null;
@ -270,7 +272,7 @@ public class ClassificationServiceImpl implements ClassificationService {
if (result == null) {
result = classificationMapper.findByKeyAndDomain(key, "", CURRENT_CLASSIFICATIONS_VALID_UNTIL);
if (result == null) {
throw new ClassificationNotFoundException(key);
throw new ClassificationNotFoundException("Classification for key " + key + " was not found");
}
}
return result;
@ -304,4 +306,28 @@ public class ClassificationServiceImpl implements ClassificationService {
}
return isExisting;
}
public Classification getClassificationByTask(Task task) throws ClassificationNotFoundException {
if (task.getId() == null) {
throw new ClassificationNotFoundException("Classification for task with id null was not found.");
}
LOGGER.debug("entry to getClassificationByTask(taskId = {})", task.getId());
TaskImpl taskImpl = (TaskImpl) task;
String classificationKey = taskImpl.getClassificationKey();
Classification result = null;
try {
taskanaEngineImpl.openConnection();
result = classificationMapper.findByTask(classificationKey, task.getWorkbasketKey(),
CURRENT_CLASSIFICATIONS_VALID_UNTIL);
if (result == null) {
throw new ClassificationNotFoundException(
"Classification for task with id " + task.getId() + " was not found.");
}
return result;
} finally {
taskanaEngineImpl.returnConnection();
LOGGER.debug("exit from getClassification(). Returning result {} ", result);
}
}
}

View File

@ -28,6 +28,7 @@ public class TaskImpl implements Task {
private String description;
private int priority;
private TaskState state;
private String classificationKey;
private Classification classification;
private String workbasketKey;
private String domain;
@ -167,8 +168,8 @@ public class TaskImpl implements Task {
}
@Override
public void setClassification(Classification classification) {
this.classification = classification;
public void setClassificationKey(String classificationKey) {
this.classificationKey = classificationKey;
}
@Override
@ -372,6 +373,14 @@ public class TaskImpl implements Task {
this.attachments = attachments;
}
public String getClassificationKey() {
return classificationKey;
}
public void setClassification(Classification classification) {
this.classification = classification;
}
public String getPorCompany() {
return porCompany;
}
@ -437,6 +446,8 @@ public class TaskImpl implements Task {
builder.append(priority);
builder.append(", state=");
builder.append(state);
builder.append(", classificationKey=");
builder.append(classificationKey);
builder.append(", classification=");
builder.append(classification);
builder.append(", workbasketKey=");

View File

@ -8,12 +8,14 @@ import org.apache.ibatis.session.RowBounds;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import pro.taskana.ClassificationQuery;
import pro.taskana.Classification;
import pro.taskana.ObjectReferenceQuery;
import pro.taskana.Task;
import pro.taskana.TaskQuery;
import pro.taskana.TaskanaEngine;
import pro.taskana.exceptions.ClassificationNotFoundException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.SystemException;
import pro.taskana.impl.util.LoggerUtils;
import pro.taskana.model.TaskState;
import pro.taskana.model.WorkbasketAuthorization;
@ -26,11 +28,12 @@ public class TaskQueryImpl implements TaskQuery {
private static final String LINK_TO_MAPPER = "pro.taskana.model.mappings.QueryMapper.queryTasks";
private static final Logger LOGGER = LoggerFactory.getLogger(TaskQueryImpl.class);
private TaskanaEngineImpl taskanaEngineImpl;
private ClassificationServiceImpl classificationService;
private String[] name;
private String description;
private int[] priority;
private TaskState[] states;
private ClassificationQuery classificationQuery;
private String[] classificationKey;
private String[] workbasketKey;
private String[] domain;
private String[] owner;
@ -50,6 +53,7 @@ public class TaskQueryImpl implements TaskQuery {
public TaskQueryImpl(TaskanaEngine taskanaEngine) {
this.taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
this.classificationService = (ClassificationServiceImpl) taskanaEngineImpl.getClassificationService();
}
@Override
@ -77,8 +81,8 @@ public class TaskQueryImpl implements TaskQuery {
}
@Override
public TaskQuery classification(ClassificationQuery classificationQuery) {
this.classificationQuery = classificationQuery;
public TaskQuery classificationKeyIn(String... classificationKey) {
this.classificationKey = classificationKey;
return this;
}
@ -184,17 +188,24 @@ public class TaskQueryImpl implements TaskQuery {
}
@Override
public List<Task> list() throws NotAuthorizedException {
public List<Task> list() throws NotAuthorizedException, SystemException {
LOGGER.debug("entry to list(), this = {}", this);
List<Task> result = new ArrayList<>();
try {
taskanaEngineImpl.openConnection();
checkAuthorization();
List<TaskImpl> tasks = taskanaEngineImpl.getSqlSession().selectList(LINK_TO_MAPPER, this);
tasks.stream().forEach(t -> {
TaskServiceImpl.setPrimaryObjRef(t);
result.add(t);
});
for (TaskImpl taskImpl : tasks) {
TaskServiceImpl.setPrimaryObjRef(taskImpl);
try {
Classification classification = this.classificationService.getClassificationByTask(taskImpl);
taskImpl.setClassification(classification);
} catch (ClassificationNotFoundException e) {
throw new SystemException(
this.toString() + " failed to find a classification for task " + taskImpl);
}
result.add(taskImpl);
}
return result;
} finally {
taskanaEngineImpl.returnConnection();
@ -207,7 +218,7 @@ public class TaskQueryImpl implements TaskQuery {
}
@Override
public List<Task> list(int offset, int limit) throws NotAuthorizedException {
public List<Task> list(int offset, int limit) throws NotAuthorizedException, SystemException {
LOGGER.debug("entry to list(offset = {}, limit = {}), this = {}", offset, limit, this);
List<Task> result = new ArrayList<>();
try {
@ -215,10 +226,17 @@ public class TaskQueryImpl implements TaskQuery {
checkAuthorization();
RowBounds rowBounds = new RowBounds(offset, limit);
List<TaskImpl> tasks = taskanaEngineImpl.getSqlSession().selectList(LINK_TO_MAPPER, this, rowBounds);
tasks.stream().forEach(t -> {
TaskServiceImpl.setPrimaryObjRef(t);
result.add(t);
});
for (TaskImpl taskImpl : tasks) {
TaskServiceImpl.setPrimaryObjRef(taskImpl);
try {
Classification classification = this.classificationService.getClassificationByTask(taskImpl);
taskImpl.setClassification(classification);
} catch (ClassificationNotFoundException e) {
throw new SystemException(
this.toString() + " failed to find a classification for task " + taskImpl);
}
result.add(taskImpl);
}
return result;
} finally {
taskanaEngineImpl.returnConnection();
@ -231,18 +249,25 @@ public class TaskQueryImpl implements TaskQuery {
}
@Override
public TaskImpl single() throws NotAuthorizedException {
public TaskImpl single() throws NotAuthorizedException, SystemException {
LOGGER.debug("entry to single(), this = {}", this);
TaskImpl result = null;
TaskImpl taskImpl = null;
try {
taskanaEngineImpl.openConnection();
checkAuthorization();
result = taskanaEngineImpl.getSqlSession().selectOne(LINK_TO_MAPPER, this);
TaskServiceImpl.setPrimaryObjRef(result);
return result;
taskImpl = taskanaEngineImpl.getSqlSession().selectOne(LINK_TO_MAPPER, this);
TaskServiceImpl.setPrimaryObjRef(taskImpl);
try {
Classification classification = this.classificationService.getClassificationByTask(taskImpl);
taskImpl.setClassification(classification);
} catch (ClassificationNotFoundException e) {
throw new SystemException(
this.toString() + " failed to find a classification for task " + taskImpl);
}
return taskImpl;
} finally {
taskanaEngineImpl.returnConnection();
LOGGER.debug("exit from single(). Returning result {} ", result);
LOGGER.debug("exit from single(). Returning result {} ", taskImpl);
}
}
@ -294,12 +319,12 @@ public class TaskQueryImpl implements TaskQuery {
this.states = states;
}
public ClassificationQuery getClassificationQuery() {
return classificationQuery;
public String[] getClassificationKey() {
return classificationKey;
}
public void setClassificationQuery(ClassificationQuery classificationQuery) {
this.classificationQuery = classificationQuery;
public void setClassificationKey(String[] classificationKey) {
this.classificationKey = classificationKey;
}
public String[] getWorkbasketKey() {
@ -443,8 +468,8 @@ public class TaskQueryImpl implements TaskQuery {
builder.append(Arrays.toString(priority));
builder.append(", states=");
builder.append(Arrays.toString(states));
builder.append(", classificationQuery=");
builder.append(classificationQuery);
builder.append(", classificationKey=");
builder.append(Arrays.toString(classificationKey));
builder.append(", workbasketKey=");
builder.append(Arrays.toString(workbasketKey));
builder.append(", owner=");

View File

@ -11,7 +11,6 @@ import org.slf4j.LoggerFactory;
import pro.taskana.Attachment;
import pro.taskana.Classification;
import pro.taskana.ClassificationService;
import pro.taskana.Task;
import pro.taskana.TaskQuery;
import pro.taskana.TaskService;
@ -52,7 +51,7 @@ public class TaskServiceImpl implements TaskService {
private TaskanaEngine taskanaEngine;
private TaskanaEngineImpl taskanaEngineImpl;
private WorkbasketService workbasketService;
private ClassificationService classificationService;
private ClassificationServiceImpl classificationService;
private TaskMapper taskMapper;
private ObjectReferenceMapper objectReferenceMapper;
private AttachmentMapper attachmentMapper;
@ -65,18 +64,19 @@ public class TaskServiceImpl implements TaskService {
this.taskMapper = taskMapper;
this.objectReferenceMapper = objectReferenceMapper;
this.workbasketService = taskanaEngineImpl.getWorkbasketService();
this.classificationService = taskanaEngineImpl.getClassificationService();
this.attachmentMapper = attachmentMapper;
this.classificationService = (ClassificationServiceImpl) taskanaEngineImpl.getClassificationService();
}
@Override
public Task claim(String taskId) throws TaskNotFoundException, InvalidStateException, InvalidOwnerException {
public Task claim(String taskId)
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, ClassificationNotFoundException {
return claim(taskId, false);
}
@Override
public Task claim(String taskId, boolean forceClaim)
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException {
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, ClassificationNotFoundException {
String userId = CurrentUserContext.getUserid();
LOGGER.debug("entry to claim(id = {}, forceClaim = {}, userId = {})", taskId, forceClaim, userId);
TaskImpl task = null;
@ -112,13 +112,14 @@ public class TaskServiceImpl implements TaskService {
}
@Override
public Task completeTask(String taskId) throws TaskNotFoundException, InvalidOwnerException, InvalidStateException {
public Task completeTask(String taskId)
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, ClassificationNotFoundException {
return completeTask(taskId, false);
}
@Override
public Task completeTask(String taskId, boolean isForced)
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException {
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, ClassificationNotFoundException {
LOGGER.debug("entry to completeTask(id = {}, isForced {})", taskId, isForced);
TaskImpl task = null;
try {
@ -170,13 +171,13 @@ public class TaskServiceImpl implements TaskService {
LOGGER.debug("Task {} cannot be be found, so it can be created.", taskToCreate.getId());
Workbasket workbasket = workbasketService.getWorkbasketByKey(task.getWorkbasketKey());
workbasketService.checkAuthorization(task.getWorkbasketKey(), WorkbasketAuthorization.APPEND);
Classification classification = task.getClassification();
if (classification == null) {
throw new ClassificationNotFoundException(null);
String classificationKey = task.getClassificationKey();
if (classificationKey == null || classificationKey.length() == 0) {
throw new InvalidArgumentException("classificationKey of task must not be empty");
}
this.classificationService.getClassification(classification.getKey(),
classification.getDomain());
Classification classification = this.classificationService.getClassification(classificationKey,
workbasket.getDomain());
task.setClassification(classification);
validateObjectReference(task.getPrimaryObjRef(), "primary ObjectReference", "Task");
validateAttachments(task);
task.setDomain(workbasket.getDomain());
@ -192,17 +193,19 @@ public class TaskServiceImpl implements TaskService {
}
@Override
public Task getTask(String id) throws TaskNotFoundException {
public Task getTask(String id) throws TaskNotFoundException, ClassificationNotFoundException {
LOGGER.debug("entry to getTaskById(id = {})", id);
Task result = null;
TaskImpl result = null;
try {
taskanaEngineImpl.openConnection();
result = taskMapper.findById(id);
if (result != null) {
setPrimaryObjRef((TaskImpl) result);
setPrimaryObjRef(result);
List<Attachment> attachments = setAttachmentObjRef(
attachmentMapper.findAttachmentsByTaskId(result.getId()));
((TaskImpl) result).setAttachments(attachments);
result.setAttachments(attachments);
Classification classification = this.classificationService.getClassificationByTask(result);
result.setClassification(classification);
return result;
} else {
LOGGER.warn("Method getTaskById() didn't find task with id {}. Throwing TaskNotFoundException", id);
@ -216,7 +219,8 @@ public class TaskServiceImpl implements TaskService {
@Override
public Task transfer(String taskId, String destinationWorkbasketKey)
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException {
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException, InvalidWorkbasketException,
ClassificationNotFoundException {
LOGGER.debug("entry to transfer(taskId = {}, destinationWorkbasketKey = {})", taskId, destinationWorkbasketKey);
Task result = null;
try {
@ -254,7 +258,8 @@ public class TaskServiceImpl implements TaskService {
}
@Override
public Task setTaskRead(String taskId, boolean isRead) throws TaskNotFoundException {
public Task setTaskRead(String taskId, boolean isRead)
throws TaskNotFoundException, ClassificationNotFoundException {
LOGGER.debug("entry to setTaskRead(taskId = {}, isRead = {})", taskId, isRead);
Task result = null;
try {
@ -305,7 +310,8 @@ public class TaskServiceImpl implements TaskService {
@Override
public Task updateTask(Task task)
throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException {
throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException, WorkbasketNotFoundException,
ClassificationNotFoundException, InvalidWorkbasketException, NotAuthorizedException {
String userId = CurrentUserContext.getUserid();
LOGGER.debug("entry to updateTask(task = {}, userId = {})", task, userId);
TaskImpl newTaskImpl = (TaskImpl) task;
@ -490,7 +496,8 @@ public class TaskServiceImpl implements TaskService {
}
private void standardUpdateActions(TaskImpl oldTaskImpl, TaskImpl newTaskImpl)
throws InvalidArgumentException, ConcurrencyException {
throws InvalidArgumentException, ConcurrencyException, WorkbasketNotFoundException, InvalidWorkbasketException,
ClassificationNotFoundException, NotAuthorizedException {
validateObjectReference(newTaskImpl.getPrimaryObjRef(), "primary ObjectReference", "Task");
if (oldTaskImpl.getModified() != null && !oldTaskImpl.getModified().equals(newTaskImpl.getModified())
|| oldTaskImpl.getClaimed() != null && !oldTaskImpl.getClaimed().equals(newTaskImpl.getClaimed())
@ -498,6 +505,11 @@ public class TaskServiceImpl implements TaskService {
throw new ConcurrencyException("The task has already been updated by another user");
}
String newWorkbasketKey = newTaskImpl.getWorkbasketKey();
if (newWorkbasketKey != null && !newWorkbasketKey.equals(oldTaskImpl.getWorkbasketKey())) {
throw new InvalidArgumentException("A task's Workbasket cannot be changed via update of the task");
}
if (newTaskImpl.getPlanned() == null) {
newTaskImpl.setPlanned(oldTaskImpl.getPlanned());
}
@ -508,26 +520,39 @@ public class TaskServiceImpl implements TaskService {
}
// insert Classification specifications if Classification is given.
Classification classification = newTaskImpl.getClassification();
if (classification != null) {
if (classification.getServiceLevel() != null) {
Duration serviceLevel = Duration.parse(classification.getServiceLevel());
LocalDateTime due = newTaskImpl.getPlanned().toLocalDateTime().plus(serviceLevel);
newTaskImpl.setDue(Timestamp.valueOf(due));
}
Classification oldClassification = oldTaskImpl.getClassification();
Classification newClassification = oldClassification;
String newClassificationKey = newTaskImpl.getClassificationKey();
if (newTaskImpl.getName() == null) {
newTaskImpl.setName(classification.getName());
}
if (newTaskImpl.getDescription() == null) {
newTaskImpl.setDescription(classification.getDescription());
}
if (newTaskImpl.getPriority() == 0) {
newTaskImpl.setPriority(classification.getPriority());
}
if (newClassificationKey != null && !newClassificationKey.equals(oldClassification.getKey())) {
Workbasket workbasket = workbasketService.getWorkbasketByKey(newTaskImpl.getWorkbasketKey());
// set new classification
newClassification = this.classificationService.getClassification(newClassificationKey,
workbasket.getDomain());
}
newTaskImpl.setClassification(newClassification);
// if (newClassification != null) {
if (newClassification.getServiceLevel() != null) {
Duration serviceLevel = Duration.parse(newClassification.getServiceLevel());
LocalDateTime due = newTaskImpl.getPlanned().toLocalDateTime().plus(serviceLevel);
newTaskImpl.setDue(Timestamp.valueOf(due));
}
if (newTaskImpl.getName() == null) {
newTaskImpl.setName(newClassification.getName());
}
if (newTaskImpl.getDescription() == null) {
newTaskImpl.setDescription(newClassification.getDescription());
}
if (newTaskImpl.getPriority() == 0) {
newTaskImpl.setPriority(newClassification.getPriority());
}
// }
Timestamp now = new Timestamp(System.currentTimeMillis());
newTaskImpl.setModified(now);
}

View File

@ -24,7 +24,7 @@ public interface ClassificationMapper {
+ "WHERE KEY = #{key}"
+ "AND DOMAIN = #{domain}"
+ "AND VALID_UNTIL = #{valid_until}")
@Results({ @Result(property = "id", column = "ID"),
@Results({@Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
@Result(property = "category", column = "CATEGORY"),
@ -46,14 +46,14 @@ public interface ClassificationMapper {
@Result(property = "custom7", column = "CUSTOM_7"),
@Result(property = "custom8", column = "CUSTOM_8"),
@Result(property = "validFrom", column = "VALID_FROM"),
@Result(property = "validUntil", column = "VALID_UNTIL") })
@Result(property = "validUntil", column = "VALID_UNTIL")})
ClassificationImpl findByKeyAndDomain(@Param("key") String key, @Param("domain") String domain,
@Param("valid_until") Date validUntil);
@Param("valid_until") Date validUntil);
@Select("SELECT ID, KEY, PARENT_CLASSIFICATION_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, VALID_FROM, VALID_UNTIL "
+ "FROM CLASSIFICATION "
+ "WHERE ID = #{id} ")
@Results({ @Result(property = "id", column = "ID"),
@Results({@Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
@Result(property = "category", column = "CATEGORY"),
@ -75,7 +75,7 @@ public interface ClassificationMapper {
@Result(property = "custom7", column = "CUSTOM_7"),
@Result(property = "custom8", column = "CUSTOM_8"),
@Result(property = "validFrom", column = "VALID_FROM"),
@Result(property = "validUntil", column = "VALID_UNTIL") })
@Result(property = "validUntil", column = "VALID_UNTIL")})
ClassificationImpl findById(@Param("id") String id);
@Insert("INSERT INTO CLASSIFICATION (ID, KEY, PARENT_CLASSIFICATION_KEY, CATEGORY, TYPE, DOMAIN, VALID_IN_DOMAIN, CREATED, NAME, DESCRIPTION, PRIORITY, SERVICE_LEVEL, APPLICATION_ENTRY_POINT, CUSTOM_1, CUSTOM_2, CUSTOM_3, CUSTOM_4, CUSTOM_5, CUSTOM_6, CUSTOM_7, CUSTOM_8, VALID_FROM, VALID_UNTIL) VALUES (#{classification.id}, #{classification.key}, #{classification.parentClassificationKey}, #{classification.category}, #{classification.type}, #{classification.domain}, #{classification.isValidInDomain}, #{classification.created}, #{classification.name}, #{classification.description}, #{classification.priority}, #{classification.serviceLevel}, #{classification.applicationEntryPoint}, #{classification.custom1}, #{classification.custom2}, #{classification.custom3}, #{classification.custom4}, #{classification.custom5}, #{classification.custom6}, #{classification.custom7}, #{classification.custom8}, #{classification.validFrom}, #{classification.validUntil})")
@ -92,7 +92,7 @@ public interface ClassificationMapper {
+ "AND DOMAIN = #{domain}"
+ "ORDER BY VALID_FROM DESC"
+ "</script>")
@Results({ @Result(property = "id", column = "ID"),
@Results({@Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
@Result(property = "category", column = "CATEGORY"),
@ -114,6 +114,40 @@ public interface ClassificationMapper {
@Result(property = "custom7", column = "CUSTOM_7"),
@Result(property = "custom8", column = "CUSTOM_8"),
@Result(property = "validFrom", column = "VALID_FROM"),
@Result(property = "validUntil", column = "VALID_UNTIL") })
@Result(property = "validUntil", column = "VALID_UNTIL")})
List<ClassificationImpl> getAllClassificationsWithKey(@Param("key") String key, @Param("domain") String domain);
@Select("SELECT C.ID, C.KEY, C.PARENT_CLASSIFICATION_KEY, C.CATEGORY, C.TYPE, C.DOMAIN, C.VALID_IN_DOMAIN, C.CREATED, C.NAME, C.DESCRIPTION, C.PRIORITY, C.SERVICE_LEVEL, C.APPLICATION_ENTRY_POINT, "
+ "C.CUSTOM_1, C.CUSTOM_2, C.CUSTOM_3, C.CUSTOM_4, C.CUSTOM_5, C.CUSTOM_6, C.CUSTOM_7, C.CUSTOM_8, C.VALID_FROM, C.VALID_UNTIL "
+ "FROM CLASSIFICATION AS C LEFT JOIN WORKBASKET AS W ON C.DOMAIN = W.DOMAIN "
+ "WHERE c.KEY = #{classificationKey}"
+ "AND W.KEY = #{workbasketKey}"
+ "AND VALID_UNTIL = #{valid_until}")
@Results({@Result(property = "id", column = "ID"),
@Result(property = "key", column = "KEY"),
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
@Result(property = "category", column = "CATEGORY"),
@Result(property = "type", column = "TYPE"),
@Result(property = "domain", column = "DOMAIN"),
@Result(property = "isValidInDomain", column = "VALID_IN_DOMAIN"),
@Result(property = "created", column = "CREATED"),
@Result(property = "name", column = "NAME"),
@Result(property = "description", column = "DESCRIPTION"),
@Result(property = "priority", column = "PRIORITY"),
@Result(property = "serviceLevel", column = "SERVICE_LEVEL"),
@Result(property = "applicationEntryPoint", column = "APPLICATION_ENTRY_POINT"),
@Result(property = "custom1", column = "CUSTOM_1"),
@Result(property = "custom2", column = "CUSTOM_2"),
@Result(property = "custom3", column = "CUSTOM_3"),
@Result(property = "custom4", column = "CUSTOM_4"),
@Result(property = "custom5", column = "CUSTOM_5"),
@Result(property = "custom6", column = "CUSTOM_6"),
@Result(property = "custom7", column = "CUSTOM_7"),
@Result(property = "custom8", column = "CUSTOM_8"),
@Result(property = "validFrom", column = "VALID_FROM"),
@Result(property = "validUntil", column = "VALID_UNTIL")})
ClassificationImpl findByTask(@Param("classificationKey") String classificationKey,
@Param("workbasketKey") String workbasketKey,
@Param("valid_until") Date validUntil);
}

View File

@ -3,7 +3,6 @@ package pro.taskana.model.mappings;
import java.util.List;
import org.apache.ibatis.annotations.Many;
import org.apache.ibatis.annotations.One;
import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select;
@ -26,16 +25,15 @@ public interface QueryMapper {
String CLASSIFICATION_FINDBYKEYANDDOMAIN = "pro.taskana.model.mappings.ClassificationMapper.findByKeyAndDomain";
String CLASSIFICATION_FINDBYID = "pro.taskana.model.mappings.ClassificationMapper.findById";
@Select("<script>SELECT t.ID, t.CREATED, t.CLAIMED, t.COMPLETED, t.MODIFIED, t.PLANNED, t.DUE, t.NAME, t.DESCRIPTION, t.PRIORITY, t.STATE, t.CLASSIFICATION_KEY, t.WORKBASKET_KEY, t.OWNER, t.POR_COMPANY, t.POR_SYSTEM, t.POR_INSTANCE, t.POR_TYPE, t.POR_VALUE, t.IS_READ, t.IS_TRANSFERRED, t.CUSTOM_1, t.CUSTOM_2, t.CUSTOM_3, t.CUSTOM_4, t.CUSTOM_5, t.CUSTOM_6, t.CUSTOM_7, t.CUSTOM_8, t.CUSTOM_9, t.CUSTOM_10 "
@Select("<script>SELECT t.ID, t.CREATED, t.CLAIMED, t.COMPLETED, t.MODIFIED, t.PLANNED, t.DUE, t.NAME, t.DESCRIPTION, t.PRIORITY, t.STATE, t.CLASSIFICATION_KEY, t.WORKBASKET_KEY, t.BUSINESS_PROCESS_ID, t.PARENT_BUSINESS_PROCESS_ID, t.OWNER, t.POR_COMPANY, t.POR_SYSTEM, t.POR_INSTANCE, t.POR_TYPE, t.POR_VALUE, t.IS_READ, t.IS_TRANSFERRED, t.CUSTOM_1, t.CUSTOM_2, t.CUSTOM_3, t.CUSTOM_4, t.CUSTOM_5, t.CUSTOM_6, t.CUSTOM_7, t.CUSTOM_8, t.CUSTOM_9, t.CUSTOM_10 "
+ "FROM TASK t "
// Joins if Classification Query is needed
+ "<if test='classificationQuery != null'>LEFT OUTER JOIN CLASSIFICATION c on t.CLASSIFICATION_KEY = c.KEY</if> "
+ "<where>"
+ "<if test='name != null'>AND t.NAME IN(<foreach item='item' collection='name' separator=',' >#{item}</foreach>)</if> "
+ "<if test='description != null'>AND t.DESCRIPTION like #{description}</if> "
+ "<if test='priority != null'>AND t.PRIORITY IN(<foreach item='item' collection='priority' separator=',' >#{item}</foreach>)</if> "
+ "<if test='states != null'>AND t.STATE IN(<foreach item='item' collection='states' separator=',' >#{item}</foreach>)</if> "
+ "<if test='workbasketKey != null'>AND t.WORKBASKET_KEY IN(<foreach item='item' collection='workbasketKey' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationKey != null'>AND t.CLASSIFICATION_KEY IN(<foreach item='item' collection='classificationKey' separator=',' >#{item}</foreach>)</if> "
+ "<if test='domain != null'>AND t.DOMAIN IN(<foreach item='item' collection='owner' separator=',' >#{item}</foreach>)</if> "
+ "<if test='owner != null'>AND t.OWNER IN(<foreach item='item' collection='owner' separator=',' >#{item}</foreach>)</if> "
+ "<if test='isRead != null'>AND t.IS_READ = #{isRead}</if> "
@ -51,40 +49,24 @@ public interface QueryMapper {
+ "<if test='porValueIn != null'>AND t.POR_VALUE IN(<foreach item='item' collection='porValueIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porValueLike != null'>AND t.POR_VALUE like #{porValueLike}</if> "
+ "<if test='customFields != null'>AND (t.CUSTOM_1 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_2 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_3 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_4 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_5 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_6 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_7 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_8 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_9 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_10 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>))</if> "
// Classification Query
+ "<if test='classificationQuery != null'>"
+ "<if test='classificationQuery.key != null'>AND c.KEY IN(<foreach item='item' collection='classificationQuery.key' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.parentClassificationKey != null'>AND c.PARENT_CLASSIFICATION_KEY IN(<foreach item='item' collection='classificationQuery.parentClassificationKey' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.category != null'>AND c.CATEGORY IN(<foreach item='item' collection='classificationQuery.category' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.type != null'>AND c.TYPE IN(<foreach item='item' collection='classificationQuery.type' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.domain != null'>AND c.DOMAIN IN(<foreach item='item' collection='classificationQuery.domain' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.validInDomain != null'>AND c.VALID_IN_DOMAIN = #{classificationQuery.validInDomain}</if> "
+ "<if test='classificationQuery.created != null'>AND c.CREATED IN(<foreach item='item' collection='classificationQuery.created' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.name != null'>AND c.NAME IN(<foreach item='item' collection='classificationQuery.name' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.description != null'>AND c.DESCRIPTION like #{classificationQuery.description}</if> "
+ "<if test='classificationQuery.priority != null'>AND c.PRIORITY IN(<foreach item='item' collection='classificationQuery.priority' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.serviceLevel != null'>AND c.SERVICE_LEVEL IN(<foreach item='item' collection='classificationQuery.serviceLevel' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.applicationEntryPoint != null'>AND c.APPLICATION_ENTRY_POINT IN(<foreach item='item' collection='classificationQuery.applicationEntryPoint' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.customFields != null'>AND (c.CUSTOM_1 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>) OR c.CUSTOM_2 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>) OR c.CUSTOM_3 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>) OR c.CUSTOM_4 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>) OR c.CUSTOM_5 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>) OR c.CUSTOM_6 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>) OR c.CUSTOM_7 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>) OR c.CUSTOM_8 IN(<foreach item='item' collection='classificationQuery.customFields' separator=',' >#{item}</foreach>))</if> "
+ "<if test='classificationQuery.validFrom != null'>AND c.VALID_FROM IN(<foreach item='item' collection='classificationQuery.validFrom' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationQuery.validUntil != null'>AND c.VALID_UNTIL IN(<foreach item='item' collection='classificationQuery.validUntil' separator=',' >#{item}</foreach>)</if> "
+ "</if>"
+ "</where>"
+ "</script>")
@Results(value = { @Result(property = "id", column = "ID"),
@Result(property = "created", column = "CREATED"),
@Result(property = "claimed", column = "CLAIMED"),
@Result(property = "completed", column = "COMPLETED"),
@Result(property = "modified", column = "MODIFIED"),
@Result(property = "planned", column = "PLANNED"),
@Result(property = "due", column = "DUE"),
@Result(property = "name", column = "NAME"),
@Result(property = "description", column = "DESCRIPTION"),
@Result(property = "priority", column = "PRIORITY"),
@Result(property = "state", column = "STATE"),
@Result(property = "classification", column = "CLASSIFICATION_ID", javaType = ClassificationImpl.class,
one = @One(select = CLASSIFICATION_FINDBYID)),
@Result(property = "workbasketKey", column = "WORKBASKET_KEY"),
@Result(property = "domain", column = "DOMAIN"),
@Result(property = "classificationKey", column = "CLASSIFICATION_KEY"),
@Result(property = "businessProcessId", column = "BUSINESS_PROCESS_ID"),
@Result(property = "parentBusinessProcessId", column = "PARENT_BUSINESS_PROCESS_ID"),
@Result(property = "owner", column = "OWNER"),
@Result(property = "porCompany", column = "POR_COMPANY"),
@Result(property = "porSystem", column = "POR_SYSTEM"),

View File

@ -16,7 +16,6 @@ import org.apache.ibatis.annotations.Update;
import org.apache.ibatis.type.JdbcType;
import pro.taskana.Classification;
import pro.taskana.impl.ClassificationImpl;
import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.persistence.MapTypeHandler;
import pro.taskana.model.DueWorkbasketCounter;
@ -48,9 +47,7 @@ public interface TaskMapper {
@Result(property = "priority", column = "PRIORITY"),
@Result(property = "state", column = "STATE"),
@Result(property = "workbasketKey", column = "WORKBASKET_KEY"),
@Result(property = "classification", column = "CLASSIFICATION_KEY", javaType = ClassificationImpl.class,
one = @One(select = CLASSIFICATION_FINDBYID)),
@Result(property = "domain", column = "DOMAIN"),
@Result(property = "classificationKey", column = "CLASSIFICATION_KEY"),
@Result(property = "businessProcessId", column = "BUSINESS_PROCESS_ID"),
@Result(property = "parentBusinessProcessId", column = "PARENT_BUSINESS_PROCESS_ID"),
@Result(property = "owner", column = "OWNER"),
@ -141,7 +138,7 @@ public interface TaskMapper {
+ "WORKBASKET.NAME AS workName, CLASSIFICATION.NAME AS classificationName "
+ "FROM TASK "
+ "LEFT JOIN WORKBASKET ON WORKBASKET.KEY = TASK.WORKBASKET_KEY "
+ "LEFT JOIN CLASSIFICATION ON CLASSIFICATION.KEY = TASK.CLASSIFICATION_KEY "
+ "LEFT JOIN CLASSIFICATION ON CLASSIFICATION.KEY = TASK.CLASSIFICATION_KEY AND CLASSIFICATION.DOMAIN = WORKBASKET.DOMAIN "
+ "WHERE TASK.WORKBASKET_KEY = #{workbasketKey}")
@Results({
@Result(property = "taskId", column = "taskId"),

View File

@ -7,7 +7,6 @@ import java.sql.SQLException;
import org.h2.store.fs.FileUtils;
import org.junit.AfterClass;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
@ -39,7 +38,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testCreateSimpleManualTask()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -47,7 +46,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
Task createdTask = taskService.createTask(newTask);
@ -71,7 +70,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testCreateExternalTaskWithAttachment()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -79,7 +78,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("L12010", "DOMAIN_A"));
newTask.setClassificationKey("L12010");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
@ -104,7 +103,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testCreateExternalTaskWithMultipleAttachments()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -112,7 +111,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("L12010", "DOMAIN_A"));
newTask.setClassificationKey("L12010");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
@ -141,7 +140,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testThrowsExceptionIfAttachmentIsInvalid()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -213,17 +212,17 @@ public class CreateTaskAccTest extends AbstractAccTest {
}
private Task makeNewTask(TaskService taskService) throws ClassificationNotFoundException {
Task newTask;
newTask = taskService.newTask();
Task newTask = taskService.newTask();
newTask.setClassificationKey("L12010");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("L12010", "DOMAIN_A"));
newTask.setClassificationKey("L12010");
return newTask;
}
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testUseCustomNameIfSetForNewTask()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -231,7 +230,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
newTask.setName("Test Name");
@ -241,10 +240,9 @@ public class CreateTaskAccTest extends AbstractAccTest {
assertEquals("Test Name", createdTask.getName());
}
@Ignore
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testUseClassificationMetadataFromCorrectDomainForNewTask()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -252,28 +250,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_B"));
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
newTask.setName("Test Name");
Task createdTask = taskService.createTask(newTask);
assertNotNull(createdTask);
assertEquals(2, createdTask.getPriority()); // priority is 22 in DOMAIN_B, task is created in DOMAIN_A
}
@Ignore
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
@Test
public void testImprovedUseClassificationMetadataFromCorrectDomainForNewTask()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
// newTask.setClassificationKey("T2100");
newTask.setClassificationKey("T2100");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
newTask.setName("Test Name");
@ -285,7 +262,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test(expected = WorkbasketNotFoundException.class)
public void testGetExceptionIfWorkbasketDoesNotExist()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -293,7 +270,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("UNKNOWN");
taskService.createTask(newTask);
@ -301,7 +278,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test(expected = NotAuthorizedException.class)
public void testGetExceptionIfAppendIsNotPermitted()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -309,7 +286,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("GPK_KSC");
taskService.createTask(newTask);
@ -317,7 +294,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testThrowsExceptionIfMandatoryPrimaryObjectReferenceIsNotSetOrIncomplete()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -325,7 +302,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
TaskService taskService = taskanaEngine.getTaskService();
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setWorkbasketKey("USER_1_1");
Task createdTask;
try {
@ -337,7 +314,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
// Exception
newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setWorkbasketKey("USER_1_1");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", null));
try {
@ -349,7 +326,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
// Exception
newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setWorkbasketKey("USER_1_1");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", null, "1234567"));
@ -362,7 +339,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
// Exception
newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setWorkbasketKey("USER_1_1");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", null, "VNR", "1234567"));
@ -375,7 +352,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
// Exception
newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setWorkbasketKey("USER_1_1");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", null, "INSTANCE_A", "VNR", "1234567"));
@ -388,7 +365,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
// Exception
newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setWorkbasketKey("USER_1_1");
newTask.setPrimaryObjRef(createObjectReference(null, "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
@ -404,7 +381,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testSetDomainFromWorkbasket()
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
@ -416,7 +393,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
Workbasket workbasket = workbasketService.getWorkbasketByKey("USER_1_1");
Task newTask = taskService.newTask();
newTask.setClassification(taskanaEngine.getClassificationService().getClassification("T2100", "DOMAIN_A"));
newTask.setClassificationKey("T2100");
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
newTask.setWorkbasketKey("USER_1_1");
Task createdTask = taskService.createTask(newTask);

View File

@ -13,6 +13,7 @@ import pro.taskana.Task;
import pro.taskana.TaskService;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.SystemException;
/**
* Acceptance test for all "query tasks by object reference" scenarios.
@ -25,7 +26,7 @@ public class QueryTasksByObjectReferenceAccTest extends AbstractAccTest {
@Test
public void testQueryTasksByExcactValueOfObjectReference()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
throws SQLException, NotAuthorizedException, InvalidArgumentException, SystemException {
TaskService taskService = taskanaEngine.getTaskService();
List<Task> results = taskService.createTaskQuery()
.primaryObjectReferenceValueIn("Value1", "Value2")
@ -35,7 +36,7 @@ public class QueryTasksByObjectReferenceAccTest extends AbstractAccTest {
@Test
public void testQueryTasksByExcactValueAndTypeOfObjectReference()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
throws SQLException, NotAuthorizedException, InvalidArgumentException, SystemException {
TaskService taskService = taskanaEngine.getTaskService();
List<Task> results = taskService.createTaskQuery()
.primaryObjectReferenceTypeIn("Type3")
@ -46,7 +47,7 @@ public class QueryTasksByObjectReferenceAccTest extends AbstractAccTest {
@Test
public void testQueryTasksByValueLikeOfObjectReference()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
throws SQLException, NotAuthorizedException, InvalidArgumentException, SystemException {
TaskService taskService = taskanaEngine.getTaskService();
List<Task> results = taskService.createTaskQuery()
.primaryObjectReferenceValueLike("Val%")

View File

@ -14,6 +14,7 @@ import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.SystemException;
import pro.taskana.model.WorkbasketAuthorization;
import pro.taskana.security.JAASRunner;
import pro.taskana.security.WithAccessId;
@ -41,7 +42,7 @@ public class QueryWorkbasketByPermissionAccTest extends AbstractAccTest {
@Test
public void testQueryAllTransferTargetsForUserAndGroup()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
throws SQLException, NotAuthorizedException, InvalidArgumentException, SystemException {
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
List<Workbasket> results = workbasketService.createWorkbasketQuery()
.accessIdsHavePersmission(WorkbasketAuthorization.APPEND, "user_1_1", "group_1")
@ -51,10 +52,10 @@ public class QueryWorkbasketByPermissionAccTest extends AbstractAccTest {
@WithAccessId(
userName = "user_1_1",
groupNames = { "group_1" })
groupNames = {"group_1"})
@Test
public void testQueryAllTransferTargetsForUserAndGroupFromSubject()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
throws SQLException, NotAuthorizedException, InvalidArgumentException, SystemException {
WorkbasketService workbasketService = taskanaEngine.getWorkbasketService();
List<Workbasket> results = workbasketService.createWorkbasketQuery()
.callerHasPermission(WorkbasketAuthorization.APPEND)

View File

@ -35,8 +35,12 @@ public class TaskQueryImplTest {
@Mock
private SqlSession sqlSession;
@Mock
ClassificationServiceImpl classificationService;
@Before
public void setup() {
when(taskanaEngine.getClassificationService()).thenReturn(classificationService);
taskQueryImpl = new TaskQueryImpl(taskanaEngine);
}

View File

@ -32,7 +32,6 @@ import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import pro.taskana.Classification;
import pro.taskana.ClassificationService;
import pro.taskana.Task;
import pro.taskana.Workbasket;
import pro.taskana.WorkbasketService;
@ -91,7 +90,7 @@ public class TaskServiceImplTest {
private WorkbasketService workbasketServiceMock;
@Mock
private ClassificationService classificationServiceMock;
private ClassificationServiceImpl classificationServiceMock;
@Mock
private AttachmentMapper attachmentMapperMock;
@ -218,7 +217,7 @@ public class TaskServiceImplTest {
verify(workbasketServiceMock, times(1)).checkAuthorization(expectedTask.getWorkbasketKey(),
WorkbasketAuthorization.APPEND);
verify(classificationServiceMock, times(1)).getClassification(classification.getKey(),
classification.getDomain());
wb.getDomain());
verify(taskMapperMock, times(1)).insert(expectedTask);
verify(taskanaEngineImpl, times(1)).returnConnection();
verifyNoMoreInteractions(attachmentMapperMock, taskanaEngineConfigurationMock, taskanaEngineMock,
@ -244,12 +243,14 @@ public class TaskServiceImplTest {
Classification classification = new ClassificationImpl();
classification.setName("Name");
classification.setCategory("MANUAL");
classification.setKey("classificationKey");
WorkbasketImpl wb = new WorkbasketImpl();
wb.setId("workbasketId");
wb.setKey("workbasketKey");
wb.setName("workbasket");
TaskImpl task = new TaskImpl();
task.setWorkbasketKey(wb.getKey());
task.setClassificationKey("classificationKey");
task.setClassification(classification);
task.setPrimaryObjRef(expectedObjectReference);
task.setDescription("simply awesome task");
@ -265,7 +266,7 @@ public class TaskServiceImplTest {
TaskImpl task2 = new TaskImpl();
task2.setWorkbasketKey(wb.getKey());
task2.setClassification(classification);
task2.setClassificationKey("classificationKey");
task2.setPrimaryObjRef(expectedObjectReference);
task2.setPlanned(Timestamp.valueOf(LocalDateTime.now().minusHours(1)));
task2.setName("Task2");
@ -412,7 +413,8 @@ public class TaskServiceImplTest {
@Test
public void testCompleteTaskDefault()
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, InterruptedException {
throws TaskNotFoundException, InvalidOwnerException, InvalidStateException, InterruptedException,
ClassificationNotFoundException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
final long sleepTime = 100L;
final boolean isForced = false;
@ -442,7 +444,8 @@ public class TaskServiceImplTest {
@Test
public void testCompleteTaskNotForcedWorking()
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, InterruptedException {
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, InterruptedException,
ClassificationNotFoundException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
final long sleepTime = 100L;
final boolean isForced = false;
@ -472,7 +475,7 @@ public class TaskServiceImplTest {
@Test(expected = InvalidStateException.class)
public void testCompleteTaskNotForcedNotClaimedBefore()
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException {
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, ClassificationNotFoundException {
final boolean isForced = false;
TaskServiceImpl cutSpy = Mockito.spy(cut);
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "1");
@ -494,7 +497,7 @@ public class TaskServiceImplTest {
@Test(expected = InvalidOwnerException.class)
public void testCompleteTaskNotForcedInvalidOwnerException()
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException {
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, ClassificationNotFoundException {
final boolean isForced = false;
TaskServiceImpl cutSpy = Mockito.spy(cut);
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "1");
@ -517,7 +520,7 @@ public class TaskServiceImplTest {
@Test(expected = TaskNotFoundException.class)
public void testCompleteTaskTaskNotFound()
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException {
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, ClassificationNotFoundException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
final boolean isForced = false;
String taskId = "1";
@ -536,7 +539,8 @@ public class TaskServiceImplTest {
@Test
public void testCompleteForcedAndAlreadyClaimed()
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, InterruptedException {
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, InterruptedException,
ClassificationNotFoundException {
final boolean isForced = true;
final long sleepTime = 100L;
TaskServiceImpl cutSpy = Mockito.spy(cut);
@ -565,7 +569,8 @@ public class TaskServiceImplTest {
@Test
public void testCompleteForcedNotClaimed()
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, InterruptedException {
throws TaskNotFoundException, InvalidStateException, InvalidOwnerException, InterruptedException,
ClassificationNotFoundException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
final boolean isForced = true;
final long sleepTime = 100L;
@ -599,7 +604,7 @@ public class TaskServiceImplTest {
@Test
public void testTransferTaskToDestinationWorkbasketWithoutSecurity()
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
ClassificationAlreadyExistException, InvalidWorkbasketException {
ClassificationAlreadyExistException, InvalidWorkbasketException, ClassificationNotFoundException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
Workbasket destinationWorkbasket = createWorkbasket("2", "k1");
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "k1");
@ -637,7 +642,7 @@ public class TaskServiceImplTest {
@Test
public void testTransferTaskToDestinationWorkbasketUsingSecurityTrue()
throws TaskNotFoundException, WorkbasketNotFoundException, NotAuthorizedException,
ClassificationAlreadyExistException, InvalidWorkbasketException {
ClassificationAlreadyExistException, InvalidWorkbasketException, ClassificationNotFoundException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
Workbasket destinationWorkbasket = createWorkbasket("2", "k2");
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "k1");
@ -766,7 +771,8 @@ doNothing().when(taskMapperMock).update(any());
}
@Test
public void testSetTaskReadWIthExistingTask() throws TaskNotFoundException, ClassificationAlreadyExistException {
public void testSetTaskReadWIthExistingTask()
throws TaskNotFoundException, ClassificationAlreadyExistException, ClassificationNotFoundException {
TaskServiceImpl cutSpy = Mockito.spy(cut);
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "1");
task.setModified(null);
@ -785,7 +791,7 @@ doNothing().when(taskMapperMock).update(any());
}
@Test(expected = TaskNotFoundException.class)
public void testSetTaskReadTaskNotBeFound() throws TaskNotFoundException, ClassificationAlreadyExistException {
public void testSetTaskReadTaskNotBeFound() throws Exception {
TaskServiceImpl cutSpy = Mockito.spy(cut);
TaskImpl task = createUnitTestTask("1", "Unit Test Task 1", "1");
task.setModified(null);
@ -804,7 +810,8 @@ doNothing().when(taskMapperMock).update(any());
}
@Test
public void testGetTaskByIdWithExistingTask() throws TaskNotFoundException, ClassificationAlreadyExistException {
public void testGetTaskByIdWithExistingTask()
throws TaskNotFoundException, ClassificationAlreadyExistException, ClassificationNotFoundException {
Task expectedTask = createUnitTestTask("1", "DUMMY-TASK", "1");
doReturn(expectedTask).when(taskMapperMock).findById(expectedTask.getId());
doReturn(null).when(attachmentMapperMock).findAttachmentsByTaskId(expectedTask.getId());
@ -917,7 +924,9 @@ doNothing().when(taskMapperMock).update(any());
Classification classification = new ClassificationImpl();
classification.setName("dummy-classification");
classification.setDomain("dummy-domain");
classification.setKey("dummy-classification-key");
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
return task;
}

View File

@ -23,9 +23,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import pro.taskana.Classification;
import pro.taskana.ClassificationQuery;
import pro.taskana.ClassificationService;
import pro.taskana.ObjectReferenceQuery;
import pro.taskana.Task;
import pro.taskana.TaskanaEngine;
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
@ -37,13 +35,12 @@ import pro.taskana.exceptions.ClassificationNotFoundException;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.InvalidWorkbasketException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.SystemException;
import pro.taskana.exceptions.TaskAlreadyExistException;
import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.ClassificationImpl;
import pro.taskana.impl.ClassificationQueryImpl;
import pro.taskana.impl.JunitHelper;
import pro.taskana.impl.ObjectReferenceQueryImpl;
import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskServiceImpl;
import pro.taskana.impl.TaskanaEngineImpl;
@ -111,13 +108,14 @@ public class TaskServiceImplIntAutocommitTest {
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey(wb.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = taskServiceImpl.createTask(task);
// skanaEngineImpl.getSqlSession().commit(); // needed so that the change is visible in the other session
@ -141,6 +139,7 @@ public class TaskServiceImplIntAutocommitTest {
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
classification = taskanaEngine.getClassificationService().createClassification(classification);
classification = taskanaEngine.getClassificationService().getClassification(classification.getKey(),
classification.getDomain());
@ -148,7 +147,7 @@ public class TaskServiceImplIntAutocommitTest {
TaskImpl task = (TaskImpl) taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey(wb.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
taskServiceImpl.createTask(task);
taskServiceImpl.getTask(task.getId());
@ -176,12 +175,13 @@ public class TaskServiceImplIntAutocommitTest {
te.getWorkbasketService().createWorkbasket(wb);
Classification classification = te.getClassificationService().newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
te.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey(wb.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = taskServiceImpl.createTask(task);
@ -192,7 +192,7 @@ public class TaskServiceImplIntAutocommitTest {
@Test
public void should_ReturnList_when_BuilderIsUsed() throws SQLException, NotAuthorizedException,
WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException,
TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException {
TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException, SystemException {
Workbasket wb = workbasketService.newWorkbasket();
wb.setKey("key");
wb.setName("workbasket");
@ -201,31 +201,17 @@ public class TaskServiceImplIntAutocommitTest {
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey(wb.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
taskServiceImpl.createTask(task);
TaskanaEngineImpl taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
ClassificationQuery classificationQuery = new ClassificationQueryImpl(taskanaEngineImpl)
.parentClassificationKey("pId1", "pId2")
.category("cat1", "cat2")
.type("oneType")
.name("1Name", "name2")
.descriptionLike("my desc")
.priority(1, 2, 1)
.serviceLevel("me", "and", "you");
ObjectReferenceQuery objectReferenceQuery = new ObjectReferenceQueryImpl(taskanaEngineImpl)
.company("first comp", "sonstwo gmbh")
.system("sys")
.type("type1", "type2")
.systemInstance("sysInst1", "sysInst2")
.value("val1", "val2", "val3");
List<Task> results = taskServiceImpl.createTaskQuery()
.name("bla", "test")
@ -235,7 +221,7 @@ public class TaskServiceImplIntAutocommitTest {
.workbasketKeyIn("asd", "asdasdasd")
.owner("test", "test2", "bla")
.customFields("test")
.classification(classificationQuery)
.classificationKeyIn("pId1", "pId2")
.primaryObjectReferenceCompanyIn("first comp", "sonstwo gmbh")
.primaryObjectReferenceSystemIn("sys")
.primaryObjectReferenceTypeIn("type1", "type2")
@ -257,13 +243,14 @@ public class TaskServiceImplIntAutocommitTest {
Classification dummyClassification = classificationService.newClassification();
dummyClassification.setKey("1");
dummyClassification.setDomain("novatec");
dummyClassification.setName("Dummy-Classification");
classificationService.createClassification(dummyClassification);
TaskImpl dummyTask = (TaskImpl) taskServiceImpl.newTask();
dummyTask.setId(null);
dummyTask.setName("Dummy-Task");
dummyTask.setClassification(dummyClassification);
dummyTask.setClassificationKey(dummyClassification.getKey());
dummyTask.setWorkbasketKey(dummyWorkbasket.getKey());
dummyTask.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
dummyTask = (TaskImpl) taskServiceImpl.createTask(dummyTask);
@ -341,7 +328,7 @@ public class TaskServiceImplIntAutocommitTest {
// Classification required for Task
classification = (ClassificationImpl) classificationService.newClassification();
classification.setCategory("Test Classification");
classification.setDomain("test-domain");
classification.setDomain("domain");
classification.setName("Transfert-Task Classification");
classification.setKey("KEY");
classificationService.createClassification(classification);
@ -354,7 +341,7 @@ public class TaskServiceImplIntAutocommitTest {
task.setRead(true);
task.setTransferred(false);
task.setModified(null);
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = (TaskImpl) taskServiceImpl.createTask(task);
Thread.sleep(sleepTime); // Sleep for modification-timestamp
@ -371,7 +358,8 @@ public class TaskServiceImplIntAutocommitTest {
@Test(expected = TaskNotFoundException.class)
public void shouldNotTransferAnyTask()
throws WorkbasketNotFoundException, NotAuthorizedException, TaskNotFoundException, InvalidWorkbasketException {
throws WorkbasketNotFoundException, NotAuthorizedException, TaskNotFoundException, InvalidWorkbasketException,
ClassificationNotFoundException {
taskServiceImpl.transfer(UUID.randomUUID() + "_X", "1");
}
@ -404,7 +392,7 @@ public class TaskServiceImplIntAutocommitTest {
wb.setDescription("Normal base WB");
wb.setOwner(user);
wb.setKey("k5");
wb.setDomain("d1");
wb.setDomain("test-domain");
wb.setType(WorkbasketType.TOPIC);
wb = (WorkbasketImpl) workbasketService.createWorkbasket(wb);
createWorkbasketWithSecurity(wb, wb.getOwner(), true, true, true, true);
@ -423,7 +411,7 @@ public class TaskServiceImplIntAutocommitTest {
wbNoTransfer.setName("Test-Security-WorkBasket-TRANSFER");
wbNoTransfer.setDescription("Workbasket without permission TRANSFER on Task");
wbNoTransfer.setOwner(user);
wbNoTransfer.setDomain("d3");
wbNoTransfer.setDomain("test-domain");
wbNoTransfer.setType(WorkbasketType.CLEARANCE);
wbNoTransfer.setKey("k99");
wbNoTransfer = (WorkbasketImpl) workbasketService.createWorkbasket(wbNoTransfer);
@ -434,7 +422,7 @@ public class TaskServiceImplIntAutocommitTest {
task.setDescription("Task used for transfer Test");
task.setWorkbasketKey(wb.getKey());
task.setOwner(user);
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = (TaskImpl) taskServiceImpl.createTask(task);
@ -480,13 +468,14 @@ public class TaskServiceImplIntAutocommitTest {
taskanaEngine.getWorkbasketService().createWorkbasket(wb);
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey(wb.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
ObjectReference objRef = new ObjectReference();
objRef.setCompany("novatec");

View File

@ -26,9 +26,7 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import pro.taskana.Classification;
import pro.taskana.ClassificationQuery;
import pro.taskana.ClassificationService;
import pro.taskana.ObjectReferenceQuery;
import pro.taskana.Task;
import pro.taskana.TaskanaEngine;
import pro.taskana.TaskanaEngine.ConnectionManagementMode;
@ -40,14 +38,13 @@ import pro.taskana.exceptions.ClassificationNotFoundException;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.InvalidWorkbasketException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.exceptions.SystemException;
import pro.taskana.exceptions.TaskAlreadyExistException;
import pro.taskana.exceptions.TaskNotFoundException;
import pro.taskana.exceptions.WorkbasketNotFoundException;
import pro.taskana.impl.ClassificationImpl;
import pro.taskana.impl.ClassificationQueryImpl;
import pro.taskana.impl.ClassificationServiceImpl;
import pro.taskana.impl.JunitHelper;
import pro.taskana.impl.ObjectReferenceQueryImpl;
import pro.taskana.impl.TaskImpl;
import pro.taskana.impl.TaskServiceImpl;
import pro.taskana.impl.TaskanaEngineImpl;
@ -120,13 +117,14 @@ public class TaskServiceImplIntExplicitTest {
workbasket.setDomain("novatec");
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngineImpl.getWorkbasketService().createWorkbasket(workbasket);
taskanaEngineImpl.getClassificationService().createClassification(classification);
connection.commit();
Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey(workbasket.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = taskServiceImpl.createTask(task);
connection.commit();
@ -195,13 +193,14 @@ public class TaskServiceImplIntExplicitTest {
workBasketServiceImpl.createWorkbasket(workbasket);
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
workbasket.setName("workbasket99");
classificationServiceImpl.createClassification(classification);
Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey(workbasket.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = taskServiceImpl.createTask(task);
@ -223,6 +222,7 @@ public class TaskServiceImplIntExplicitTest {
Classification classification = classificationService.newClassification();
classification.setKey("TEST1");
classification.setDomain("novatec");
classification.setCategory("MANUAL");
classification.setName("classification name");
classification.setServiceLevel("P1D");
@ -257,11 +257,11 @@ public class TaskServiceImplIntExplicitTest {
test.setWorkbasketKey("k1");
test.setPrimaryObjRef(objectReference);
test.setPlanned(tomorrow);
test.setClassification(classification);
test.setClassificationKey(classification.getKey());
test = taskServiceImpl.createTask(test);
Task task = this.generateDummyTask();
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setName("Name");
task.setPrimaryObjRef(objectReference);
task.setPlanned(tomorrow);
@ -271,7 +271,7 @@ public class TaskServiceImplIntExplicitTest {
Task task2 = taskServiceImpl.newTask();
task2.setWorkbasketKey(task.getWorkbasketKey());
task2.setClassification(classification);
task2.setClassificationKey(classification.getKey());
task2.setPrimaryObjRef(objectReference);
task2.setDescription("desc");
Task resultTask2 = taskServiceImpl.createTask(task2);
@ -326,7 +326,7 @@ public class TaskServiceImplIntExplicitTest {
Task task = this.generateDummyTask();
task.setWorkbasketKey(wb.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
taskServiceImpl.createTask(task);
}
@ -334,7 +334,7 @@ public class TaskServiceImplIntExplicitTest {
@Test
public void should_ReturnList_when_BuilderIsUsed() throws SQLException, NotAuthorizedException,
WorkbasketNotFoundException, ClassificationNotFoundException, ClassificationAlreadyExistException,
TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException {
TaskAlreadyExistException, InvalidWorkbasketException, InvalidArgumentException, SystemException {
Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection);
@ -344,6 +344,7 @@ public class TaskServiceImplIntExplicitTest {
workbasket.setName("workbasket");
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
classificationService.createClassification(classification);
workbasket.setId("1"); // set id manually for authorization tests
workbasket.setKey("k1");
@ -354,26 +355,11 @@ public class TaskServiceImplIntExplicitTest {
Task task = taskServiceImpl.newTask();
task.setName("Unit Test Task");
task.setWorkbasketKey("k1");
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = taskServiceImpl.createTask(task);
TaskanaEngineImpl taskanaEngineImpl = (TaskanaEngineImpl) taskanaEngine;
ClassificationQuery classificationQuery = new ClassificationQueryImpl(taskanaEngineImpl)
.parentClassificationKey("pId1", "pId2")
.category("cat1", "cat2")
.type("oneType")
.name("1Name", "name2")
.descriptionLike("my desc")
.priority(1, 2, 1)
.serviceLevel("me", "and", "you");
ObjectReferenceQuery objectReferenceQuery = new ObjectReferenceQueryImpl(taskanaEngineImpl)
.company("first comp", "sonstwo gmbh")
.system("sys")
.type("type1", "type2")
.systemInstance("sysInst1", "sysInst2")
.value("val1", "val2", "val3");
List<Task> results = taskServiceImpl.createTaskQuery()
.name("bla", "test")
@ -383,7 +369,7 @@ public class TaskServiceImplIntExplicitTest {
.workbasketKeyIn("k1")
.owner("test", "test2", "bla")
.customFields("test")
.classification(classificationQuery)
.classificationKeyIn("pId1", "pId2")
.primaryObjectReferenceCompanyIn("first comp", "sonstwo gmbh")
.primaryObjectReferenceSystemIn("sys")
.primaryObjectReferenceTypeIn("type1", "type2")
@ -430,7 +416,7 @@ public class TaskServiceImplIntExplicitTest {
wb.setName("Desination-WorkBasket");
wb.setDescription("Destination WB where Task should be transfered to");
wb.setOwner(user);
wb.setDomain("dd11");
wb.setDomain("domain");
wb.setType(WorkbasketType.TOPIC);
wb.setKey("wb2Key");
destinationWB = workbasketService.createWorkbasket(wb);
@ -439,7 +425,7 @@ public class TaskServiceImplIntExplicitTest {
// Classification required for Task
classification = (ClassificationImpl) classificationService.newClassification();
classification.setCategory("Test Classification");
classification.setDomain("test-domain");
classification.setDomain("domain");
classification.setName("Transfert-Task Classification");
classification.setKey("KEY");
classificationService.createClassification(classification);
@ -452,7 +438,7 @@ public class TaskServiceImplIntExplicitTest {
task.setRead(true);
task.setTransferred(false);
task.setModified(null);
task.setClassification(classification);
task.setClassificationKey("KEY");
task.setOwner(user);
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = (TaskImpl) taskServiceImpl.createTask(task);
@ -473,7 +459,7 @@ public class TaskServiceImplIntExplicitTest {
@Test(expected = TaskNotFoundException.class)
public void shouldNotTransferAnyTask()
throws WorkbasketNotFoundException, NotAuthorizedException, TaskNotFoundException, SQLException,
InvalidWorkbasketException {
InvalidWorkbasketException, ClassificationNotFoundException {
Connection connection = dataSource.getConnection();
taskanaEngineImpl.setConnection(connection);
taskServiceImpl.transfer(UUID.randomUUID() + "_X", "1");
@ -508,7 +494,7 @@ public class TaskServiceImplIntExplicitTest {
wb.setDescription("Normal base WB");
wb.setOwner(user);
wb.setKey("wbKey1");
wb.setDomain("myDomain");
wb.setDomain("test-domain");
wb.setType(WorkbasketType.GROUP);
wb = (WorkbasketImpl) workbasketService.createWorkbasket(wb);
createWorkbasketWithSecurity(wb, wb.getOwner(), true, true, true, true);
@ -528,7 +514,7 @@ public class TaskServiceImplIntExplicitTest {
wbNoTransfer.setDescription("Workbasket without permission TRANSFER on Task");
wbNoTransfer.setOwner(user);
wbNoTransfer.setKey("keyNoTransfer");
wbNoTransfer.setDomain("domNoTrans");
wbNoTransfer.setDomain("test-domain");
wbNoTransfer.setType(WorkbasketType.GROUP);
wbNoTransfer = (WorkbasketImpl) workbasketService.createWorkbasket(wbNoTransfer);
createWorkbasketWithSecurity(wbNoTransfer, wbNoTransfer.getOwner(), true, true, true, false);
@ -538,7 +524,7 @@ public class TaskServiceImplIntExplicitTest {
task.setDescription("Task used for transfer Test");
task.setWorkbasketKey(wb.getKey());
task.setOwner(user);
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
task = (TaskImpl) taskServiceImpl.createTask(task);
@ -583,11 +569,12 @@ public class TaskServiceImplIntExplicitTest {
Classification classification = classificationService.newClassification();
classification.setKey("TEST");
classification.setDomain("novatec");
taskanaEngine.getClassificationService().createClassification(classification);
Task task = taskServiceImpl.newTask();
task.setWorkbasketKey(workbasket.getKey());
task.setClassification(classification);
task.setClassificationKey(classification.getKey());
return task;
}

View File

@ -257,7 +257,7 @@ public class WorkbasketServiceImplIntAutocommitTest {
}
}
@WithAccessId(userName = "Bernd", groupNames = { "group1", "group2", "group3", "group4" })
@WithAccessId(userName = "Bernd", groupNames = {"group1", "group2", "group3", "group4"})
@Test
public void testWorkbasketQuery()
throws NotAuthorizedException, InvalidArgumentException, InvalidWorkbasketException,

View File

@ -1,9 +1,9 @@
DROP TABLE IF EXISTS TASKANA_SCHEMA_VERSION;
DROP TABLE IF EXISTS TASK;
DROP TABLE IF EXISTS WORKBASKET;
DROP TABLE IF EXISTS DISTRIBUTION_TARGETS;
DROP TABLE IF EXISTS CLASSIFICATION;
DROP TABLE IF EXISTS WORKBASKET_ACCESS_LIST;
DROP TABLE IF EXISTS OBJECT_REFERENCE;
DROP TABLE IF EXISTS ATTACHMENT;
DROP TABLE TASKANA_SCHEMA_VERSION;
DROP TABLE TASK;
DROP TABLE WORKBASKET;
DROP TABLE DISTRIBUTION_TARGETS;
DROP TABLE CLASSIFICATION;
DROP TABLE WORKBASKET_ACCESS_LIST;
DROP TABLE OBJECT_REFERENCE;
DROP TABLE ATTACHMENT;
COMMIT;

View File

@ -1,21 +1,21 @@
INSERT INTO TASK VALUES('1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task1', 'Lorem ipsum dolor sit amet.', 1, 'READY', '1', 'key1', 'domain1', 'BPI1', 'PBPI1', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('2', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task2', 'Lorem ipsum dolor sit amet. ', 1, 'READY', '2', 'key1', 'domain1', 'BPI2', 'PBPI2', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task3', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', '3', 'key1', 'domain1', 'BPI3', 'PBPI3', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task4', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', '4', 'key1', 'domain1', 'BPI4', 'PBPI4', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, true, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('5', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task5', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', '15', 'key1', 'domain1', 'BPI5', 'PBPI5', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('6', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', '16', 'key1', 'domain1', 'BPI6', 'PBPI6', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task1', 'Lorem ipsum dolor sit amet.', 1, 'READY', 'L10000', 'key1', 'DOMAIN_A', 'BPI1', 'PBPI1', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('2', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task2', 'Lorem ipsum dolor sit amet. ', 1, 'READY', 'L10000', 'key1', 'DOMAIN_A', 'BPI2', 'PBPI2', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task3', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', 'L10000', 'key1', 'DOMAIN_A', 'BPI3', 'PBPI3', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task4', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', 'L1050', 'key1', 'DOMAIN_A', 'BPI4', 'PBPI4', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, true, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('5', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task5', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', 'L1050', 'key1', 'DOMAIN_A', 'BPI5', 'PBPI5', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('6', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', 'L1050', 'key1', 'DOMAIN_A', 'BPI6', 'PBPI6', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('7', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task7', 'Lorem ipsum dolor sit amet.', 1, 'READY', '13', 'key2', 'domain2', 'BPI7', 'PBPI7', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1' , false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('8', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task8', 'Lorem ipsum dolor sit amet. ', 1, 'READY', '14', 'key2', 'domain2', 'BPI8', 'PBPI8', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('9', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task9', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', '1', 'key2', 'domain2', 'BPI9', 'PBPI9', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('10', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task10', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', '2', 'key2', 'domain2', 'BPI10', 'PBPI10', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('11', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task11', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', '3', 'key2', 'domain2', 'BPI11', 'PBPI11', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('12', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', '4', 'key2', 'domain2', 'BPI12', 'PBPI12', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('7', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task7', 'Lorem ipsum dolor sit amet.', 1, 'READY', 'DOKTYP_DEFAULT', 'key2', 'DOMAIN_A', 'BPI7', 'PBPI7', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1' , false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('8', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task8', 'Lorem ipsum dolor sit amet. ', 1, 'READY', 'DOKTYP_DEFAULT', 'key2', 'DOMAIN_A', 'BPI8', 'PBPI8', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('9', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task9', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', 'T2100', 'key2', 'DOMAIN_A', 'BPI9', 'PBPI9', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('10', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task10', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', 'T2100', 'key2', 'DOMAIN_A', 'BPI10', 'PBPI10', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('11', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task11', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', 'T2100', 'key2', 'DOMAIN_A', 'BPI11', 'PBPI11', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('12', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', 'L10303', 'key2', 'DOMAIN_A', 'BPI12', 'PBPI12', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('13', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus massa turpis, pellentesque ut libero sit aet, malesuada suscipit dolor. Sed volutpat euismod felis sit amet molestie. Fusce ornare purus dui. ', 1, 'READY', '13', 'key2', 'domain2', 'BPI13', 'PBPI13', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('14', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis vulputate nibh ut malesuada. Etiam ac dictum tellus, nec cursus nunc. Curabitur velit eros, feugiat volutpat laoreet vitae, cursus eu dui. Nulla ut purus sem. Vivamus aliquet odio vitae erat cursus, vitae mattis urna mollis. Nam quam tellus, auctor id volutpat congue, viverra vitae ante. Duis nisi dolor, elementum et mattis at, maximus id velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis eu condimentum risus. Praesent libero velit, facilisis sit amet maximus non, scelerisque ullamcorper leo. Ut sit amet iaculis eros. Mauris sagittis nibh lacus, at facilisis magna suscipit at. Aliquam finibus tempor odio id commodo. Vivamus aliquam, justo id porta imperdiet, mi.', 1, 'READY', '14', 'key1', 'DOMAIN_B', 'BPI14', 'PBPI14', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('13', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus massa turpis, pellentesque ut libero sit aet, malesuada suscipit dolor. Sed volutpat euismod felis sit amet molestie. Fusce ornare purus dui. ', 1, 'READY', 'T2100', 'key2', 'DOMAIN_A', 'BPI13', 'PBPI13', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('14', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis vulputate nibh ut malesuada. Etiam ac dictum tellus, nec cursus nunc. Curabitur velit eros, feugiat volutpat laoreet vitae, cursus eu dui. Nulla ut purus sem. Vivamus aliquet odio vitae erat cursus, vitae mattis urna mollis. Nam quam tellus, auctor id volutpat congue, viverra vitae ante. Duis nisi dolor, elementum et mattis at, maximus id velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis eu condimentum risus. Praesent libero velit, facilisis sit amet maximus non, scelerisque ullamcorper leo. Ut sit amet iaculis eros. Mauris sagittis nibh lacus, at facilisis magna suscipit at. Aliquam finibus tempor odio id commodo. Vivamus aliquam, justo id porta imperdiet, mi.', 1, 'READY', 'T2100', 'key1', 'DOMAIN_A', 'BPI14', 'PBPI14', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000000', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task99', 'Lorem ipsum was n Quatsch dolor sit amet.', 1, 'READY', '11', 'USER_1_1', '', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000001', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task01', 'Lorem ipsum was n Quatsch dolor sit amet.', 2, 'READY', '12', 'USER_1_1', 'DOMAIN_A', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000002', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task02', 'Lorem ipsum was n Quatsch dolor sit amet. Aber stimmt.', 2, 'READY', '12', 'Gruppenpostkorb KSC B', 'DOMAIN_B', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000000', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task99', 'Lorem ipsum was n Quatsch dolor sit amet.', 1, 'READY', 'T6310', 'key4', 'DOMAIN_A', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
-- INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000001', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task01', 'Lorem ipsum was n Quatsch dolor sit amet.', 2, 'READY', '12', 'USER_1_1', 'DOMAIN_A', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
-- INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000002', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task02', 'Lorem ipsum was n Quatsch dolor sit amet. Aber stimmt.', 2, 'READY', '12', 'Gruppenpostkorb KSC B', 'DOMAIN_B', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);

View File

@ -1,8 +1,9 @@
INSERT INTO WORKBASKET VALUES ('1', 'key1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket1', 'domain1', 'GROUP', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Peter', '', '', '', '', '', '', '', '' );
INSERT INTO WORKBASKET VALUES ('2', 'key2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket2', 'domain2', 'CLEARANCE', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Susanne', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('3', 'key3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket3', 'domain3', 'TOPIC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Max', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('1', 'key1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket1', 'DOMAIN_A', 'GROUP', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Peter', '', '', '', '', '', '', '', '' );
INSERT INTO WORKBASKET VALUES ('2', 'key2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket2', 'DOMAIN_A', 'CLEARANCE', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Susanne', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('3', 'key3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket3', 'DOMAIN_A', 'TOPIC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Max', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('4', 'key4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket4', 'DOMAIN_A', 'TOPIC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Max', '', '', '', '', '', '', '', '');
-- KSC workbaskets
-- KSC workbaskets
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000001', 'GPK_KSC', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC', 'DOMAIN_A', 'GROUP', 'Gruppenpostkorb KSC', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000002', 'GPK_KSC_1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC 1', 'DOMAIN_A', 'GROUP', 'Gruppenpostkorb KSC 1', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000003', 'GPK_KSC_2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC 2', 'DOMAIN_A', 'GROUP', 'Gruppenpostkorb KSC 2', '', '', '', '', '', '', '', '', '');

View File

@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
import pro.taskana.Task;
import pro.taskana.TaskService;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.ClassificationNotFoundException;
import pro.taskana.exceptions.InvalidOwnerException;
import pro.taskana.exceptions.InvalidStateException;
import pro.taskana.exceptions.NotAuthorizedException;
@ -59,7 +60,8 @@ public class TaskController {
}
@RequestMapping(value = "/{taskId}")
public ResponseEntity<Task> getTask(@PathVariable(value = "taskId") String taskId) {
public ResponseEntity<Task> getTask(@PathVariable(value = "taskId") String taskId)
throws ClassificationNotFoundException {
try {
Task task = taskService.getTask(taskId);
return ResponseEntity.status(HttpStatus.OK).body(task);
@ -86,7 +88,8 @@ public class TaskController {
}
@RequestMapping(method = RequestMethod.POST, value = "/{taskId}/claim")
public ResponseEntity<Task> claimTask(@PathVariable String taskId, @RequestBody String userName) {
public ResponseEntity<Task> claimTask(@PathVariable String taskId, @RequestBody String userName)
throws ClassificationNotFoundException {
// TODO verify user
try {
taskService.claim(taskId);
@ -105,7 +108,7 @@ public class TaskController {
}
@RequestMapping(method = RequestMethod.POST, value = "/{taskId}/complete")
public ResponseEntity<Task> completeTask(@PathVariable String taskId) {
public ResponseEntity<Task> completeTask(@PathVariable String taskId) throws ClassificationNotFoundException {
try {
taskService.completeTask(taskId, true);
Task updatedTask = taskService.getTask(taskId);

View File

@ -8,7 +8,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.MultiValueMap;
import pro.taskana.ClassificationQuery;
import pro.taskana.ClassificationService;
import pro.taskana.Task;
import pro.taskana.TaskQuery;
@ -34,13 +33,7 @@ public class TaskFilter {
private static final String IS_TRANSFERRED = "isTransferred";
private static final String IS_READ = "isRead";
private static final String CLASSIFICATION_PARENT_KEY = CLASSIFICATION + DOT + "parentClassificationKey";
private static final String CLASSIFICATION_CATEGORY = CLASSIFICATION + DOT + "category";
private static final String CLASSIFICATION_TYPE = CLASSIFICATION + DOT + "type";
private static final String CLASSIFICATION_NAME = CLASSIFICATION + DOT + "name";
private static final String CLASSIFICATION_DESCRIPTION = CLASSIFICATION + DOT + "description";
private static final String CLASSIFICATION_PRIORITY = CLASSIFICATION + DOT + "priority";
private static final String CLASSIFICATION_SERVICE_LEVEL = CLASSIFICATION + DOT + "serviceLevel";
private static final String CLASSIFICATION_KEY = CLASSIFICATION + DOT + "key";
private static final String POR_VALUE = POR + DOT + "value";
private static final String POR_TYPE = POR + DOT + "type";
@ -84,41 +77,13 @@ public class TaskFilter {
TaskState[] states = extractStates(params);
taskQuery.state(states);
}
// classification
if (params.keySet().stream().filter(s -> s.startsWith(CLASSIFICATION)).toArray().length > 0) {
ClassificationQuery classificationQuery = classificationService.createClassificationQuery();
if (params.containsKey(CLASSIFICATION_PARENT_KEY)) {
String[] parentClassifications = extractCommaSeperatedFields(params.get(CLASSIFICATION_PARENT_KEY));
classificationQuery.parentClassificationKey(parentClassifications);
}
if (params.containsKey(CLASSIFICATION_CATEGORY)) {
String[] categories = extractCommaSeperatedFields(params.get(CLASSIFICATION_CATEGORY));
classificationQuery.category(categories);
}
if (params.containsKey(CLASSIFICATION_TYPE)) {
String[] types = extractCommaSeperatedFields(params.get(CLASSIFICATION_TYPE));
classificationQuery.type(types);
}
if (params.containsKey(CLASSIFICATION_NAME)) {
String[] names = extractCommaSeperatedFields(params.get(CLASSIFICATION_NAME));
classificationQuery.name(names);
}
if (params.containsKey(CLASSIFICATION_DESCRIPTION)) {
classificationQuery.descriptionLike(params.get(CLASSIFICATION_DESCRIPTION).get(0));
}
if (params.containsKey(CLASSIFICATION_PRIORITY)) {
String[] prioritesInString = extractCommaSeperatedFields(params.get(CLASSIFICATION_PRIORITY));
int[] priorites = extractPriorities(prioritesInString);
classificationQuery.priority(priorites);
}
if (params.containsKey(CLASSIFICATION_SERVICE_LEVEL)) {
String[] serviceLevels = extractCommaSeperatedFields(params.get(CLASSIFICATION_SERVICE_LEVEL));
classificationQuery.serviceLevel(serviceLevels);
}
taskQuery.classification(classificationQuery);
if (params.containsKey(CLASSIFICATION_KEY)) {
String[] classificationKeys = extractCommaSeperatedFields(params.get(CLASSIFICATION_KEY));
taskQuery.classificationKeyIn(classificationKeys);
}
if (params.containsKey(WORKBASKET_KEY)) {
String[] workbaskets = extractCommaSeperatedFields(params.get(WORKBASKET_KEY));
taskQuery.workbasketKeyIn(workbaskets);
}
if (params.containsKey(OWNER)) {
String[] owners = extractCommaSeperatedFields(params.get(OWNER));

View File

@ -8,31 +8,32 @@ import pro.taskana.security.GroupPrincipal;
import pro.taskana.security.UserPrincipal;
public class CustomAutenticationProvider implements AuthenticationProvider {
private AuthenticationProvider delegate;
public CustomAutenticationProvider(AuthenticationProvider delegate) {
this.delegate = delegate;
}
private AuthenticationProvider delegate;
@Override
public Authentication authenticate(Authentication authentication) {
JaasAuthenticationToken jaasAuthenticationToken = (JaasAuthenticationToken) delegate
.authenticate(authentication);
if (jaasAuthenticationToken.isAuthenticated()) {
String userName = jaasAuthenticationToken.getPrincipal().toString();
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new UserPrincipal(userName));
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new GroupPrincipal("group1"));
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new GroupPrincipal("group2"));
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new GroupPrincipal("group3"));
return jaasAuthenticationToken;
} else {
return null;
}
}
public CustomAutenticationProvider(AuthenticationProvider delegate) {
this.delegate = delegate;
}
@Override
public boolean supports(Class<?> authentication) {
return delegate.supports(authentication);
}
public Authentication authenticate(Authentication authentication) {
JaasAuthenticationToken jaasAuthenticationToken = (JaasAuthenticationToken) delegate
.authenticate(authentication);
if (jaasAuthenticationToken.isAuthenticated()) {
String userName = jaasAuthenticationToken.getPrincipal().toString();
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new UserPrincipal(userName));
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new GroupPrincipal("group_1"));
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new GroupPrincipal("group_2"));
jaasAuthenticationToken.getLoginContext().getSubject().getPrincipals().add(new GroupPrincipal("group_3"));
return jaasAuthenticationToken;
} else {
return null;
}
}
@Override
public boolean supports(Class<?> authentication) {
return delegate.supports(authentication);
}
}

View File

@ -1,14 +1,30 @@
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000001', 'L10000', '', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'OLD-Leistungsfall', 'OLD-Leistungsfall', 1, 'P1D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', '2016-12-12', '2017-12-11');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000002', 'L10303', '', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Beratungsprotokoll', 'Beratungsprotokoll', 1, 'P1D', 'VNR,RVNR,KOLVNR, ANR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000003', 'L1050', '', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Widerruf', 'Widerruf', 1, 'P1D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000004', 'L11010', '', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Dynamikänderung', 'Dynamikänderung', 1, 'P1D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000005', 'L110102', 'L11010', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Ablehnung', 'Dynamik-Ablehnung', 5, 'P5D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000006', 'L110105', 'L11010', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Ausschluss', 'Dynamik-Ausschluss', 5, 'P5D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000007', 'L110105', 'L11010', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Einschluss/Änd.', 'Dynamik-Einschluss/Änd.', 5, 'P5D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000008', 'L12010', '', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Gewährung-Policendarlehen', 'Gewährung-Policendarlehen', 1, 'P1D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', 'VNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', 'VNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000011', 'T6310', '', 'AUTOMATIC', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'T-GUK Honorarrechnung erstellen', 'Generali Unterstützungskasse Honorar wird fällig', 2, 'P2D', 'VNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000013', 'DOKTYP_DEFAULT', '', 'EXTERN', 'DOCUMENT', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', 'VNR', '', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000014', 'L10000', '', 'EXTERN', 'TASK', 'GELBAV', TRUE, CURRENT_TIMESTAMP, 'BUZ-Leistungsfall', 'BUZ-Leistungsfall', 1, 'P1D', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '', '2017-12-12', '9999-12-31');
-- ROOT CLASSIFICATIONS
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000001', 'L10000', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'OLD-Leistungsfall', 'OLD-Leistungsfall', 999, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '2016-12-12', '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000002', 'L10303', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Beratungsprotokoll', 'Beratungsprotokoll', 1, 'P1D', '', 'VNR,RVNR,KOLVNR, ANR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000003', 'L1050', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Widerruf', 'Widerruf', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000004', 'L11010', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Dynamikänderung', 'Dynamikänderung', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000005', 'L110102', 'L11010', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Ablehnung', 'Dynamik-Ablehnung', 5, 'P5D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000006', 'L110105', 'L11010', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Ausschluss', 'Dynamik-Ausschluss', 5, 'P5D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000007', 'L110107', 'L11010', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Einschluss/Änd.', 'Dynamik-Einschluss/Änd.', 5, 'P5D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000008', 'L12010', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Gewährung-Policendarlehen', 'Gewährung-Policendarlehen', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000011', 'T6310', '', 'AUTOMATIC', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'T-GUK Honorarrechnung erstellen', 'Generali Unterstützungskasse Honorar wird fällig', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000013', 'DOKTYP_DEFAULT', '', 'EXTERN', 'DOCUMENT', '', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
-- DOMAIN_A CLASSIFICATIONS
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000001', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'OLD-Leistungsfall', 'OLD-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '2016-12-12', '2017-12-11');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000002', 'L10303', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Beratungsprotokoll', 'Beratungsprotokoll', 1, 'P1D', '', 'VNR,RVNR,KOLVNR, ANR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000003', 'L1050', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Widerruf', 'Widerruf', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000004', 'L11010', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Dynamikänderung', 'Dynamikänderung', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000005', 'L110102', 'L11010', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Ablehnung', 'Dynamik-Ablehnung', 5, 'P5D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000006', 'L110105', 'L11010', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Ausschluss', 'Dynamik-Ausschluss', 5, 'P5D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000007', 'L110107', 'L11010', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Dynamik-Einschluss/Änd.', 'Dynamik-Einschluss/Änd.', 5, 'P5D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000008', 'L12010', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Gewährung-Policendarlehen', 'Gewährung-Policendarlehen', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000011', 'T6310', '', 'AUTOMATIC', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-GUK Honorarrechnung erstellen', 'Generali Unterstützungskasse Honorar wird fällig', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000013', 'DOKTYP_DEFAULT', '', 'EXTERN', 'DOCUMENT', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000014', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'BUZ-Leistungsfall', 'BUZ-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', '2017-12-12', '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000015', 'T2100', '', 'MANUAL', 'TASK', 'DOMAIN_B', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 22, 'P2D', '', 'VNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000016', 'T2000', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin', 'T-Vertragstermin', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '', CURRENT_TIMESTAMP, '9999-12-31');

View File

@ -1,19 +1,21 @@
INSERT INTO TASK VALUES('1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task1', 'Lorem ipsum dolor sit amet.', 1, 'READY', '1', 'key1', 'domain1', 'BPI1', 'PBPI1', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('2', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task2', 'Lorem ipsum dolor sit amet. ', 1, 'READY', '2', 'key1', 'domain1', 'BPI2', 'PBPI2', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task3', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', '3', 'key1', 'domain1', 'BPI3', 'PBPI3', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task4', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', '4', 'key1', 'domain1', 'BPI4', 'PBPI4', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, true, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('5', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task5', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', '15', 'key1', 'domain1', 'BPI5', 'PBPI5', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('6', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', '16', 'key1', 'domain1', 'BPI6', 'PBPI6', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task1', 'Lorem ipsum dolor sit amet.', 1, 'READY', 'L10000', 'key1', 'DOMAIN_A', 'BPI1', 'PBPI1', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('2', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task2', 'Lorem ipsum dolor sit amet. ', 1, 'READY', 'L10000', 'key1', 'DOMAIN_A', 'BPI2', 'PBPI2', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task3', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', 'L10000', 'key1', 'DOMAIN_A', 'BPI3', 'PBPI3', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task4', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', 'L1050', 'key1', 'DOMAIN_A', 'BPI4', 'PBPI4', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, true, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('5', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task5', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', 'L1050', 'key1', 'DOMAIN_A', 'BPI5', 'PBPI5', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('6', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', 'L1050', 'key1', 'DOMAIN_A', 'BPI6', 'PBPI6', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('7', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task7', 'Lorem ipsum dolor sit amet.', 1, 'READY', '13', 'key2', 'domain2', 'BPI7', 'PBPI7', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1' , false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('8', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task8', 'Lorem ipsum dolor sit amet. ', 1, 'READY', '14', 'key2', 'domain2', 'BPI8', 'PBPI8', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('9', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task9', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', '1', 'key2', 'domain2', 'BPI9', 'PBPI9', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('10', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task10', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', '2', 'key2', 'domain2', 'BPI10', 'PBPI10', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('11', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task11', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', '3', 'key2', 'domain2', 'BPI11', 'PBPI11', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('12', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', '4', 'key2', 'domain2', 'BPI12', 'PBPI12', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('7', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task7', 'Lorem ipsum dolor sit amet.', 1, 'READY', 'DOKTYP_DEFAULT', 'key2', 'DOMAIN_A', 'BPI7', 'PBPI7', 'Stefan', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1' , false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('8', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task8', 'Lorem ipsum dolor sit amet. ', 1, 'READY', 'DOKTYP_DEFAULT', 'key2', 'DOMAIN_A', 'BPI8', 'PBPI8', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('9', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task9', 'Lorem ipsum dolor sit amet. ', 1, 'CLAIMED', 'T2100', 'key2', 'DOMAIN_A', 'BPI9', 'PBPI9', 'Stefan', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('10', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task10', 'Lorem ipsum dolor sit amet.', 1, 'CLAIMED', 'T2100', 'key2', 'DOMAIN_A', 'BPI10', 'PBPI10', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('11', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task11', 'Lorem ipsum dolor sit amet. ', 1, 'COMPLETED', 'T2100', 'key2', 'DOMAIN_A', 'BPI11', 'PBPI11', 'Stefan', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('12', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet.', 1, 'COMPLETED', 'L10303', 'key2', 'DOMAIN_A', 'BPI12', 'PBPI12', 'Frank', 'Company3', 'System3', 'Instance3', 'Type3', 'Value3', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('13', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus massa turpis, pellentesque ut libero sit aet, malesuada suscipit dolor. Sed volutpat euismod felis sit amet molestie. Fusce ornare purus dui. ', 1, 'READY', '13', 'key2', 'domain2', 'BPI13', 'PBPI13', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('14', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis vulputate nibh ut malesuada. Etiam ac dictum tellus, nec cursus nunc. Curabitur velit eros, feugiat volutpat laoreet vitae, cursus eu dui. Nulla ut purus sem. Vivamus aliquet odio vitae erat cursus, vitae mattis urna mollis. Nam quam tellus, auctor id volutpat congue, viverra vitae ante. Duis nisi dolor, elementum et mattis at, maximus id velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis eu condimentum risus. Praesent libero velit, facilisis sit amet maximus non, scelerisque ullamcorper leo. Ut sit amet iaculis eros. Mauris sagittis nibh lacus, at facilisis magna suscipit at. Aliquam finibus tempor odio id commodo. Vivamus aliquam, justo id porta imperdiet, mi.', 1, 'READY', '14', 'key1', 'domain1', 'BPI14', 'PBPI14', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('13', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task12', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus massa turpis, pellentesque ut libero sit aet, malesuada suscipit dolor. Sed volutpat euismod felis sit amet molestie. Fusce ornare purus dui. ', 1, 'READY', 'T2100', 'key2', 'DOMAIN_A', 'BPI13', 'PBPI13', 'Frank', 'Company1', 'System1', 'Instance1', 'Type1', 'Value1', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('14', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce sagittis vulputate nibh ut malesuada. Etiam ac dictum tellus, nec cursus nunc. Curabitur velit eros, feugiat volutpat laoreet vitae, cursus eu dui. Nulla ut purus sem. Vivamus aliquet odio vitae erat cursus, vitae mattis urna mollis. Nam quam tellus, auctor id volutpat congue, viverra vitae ante. Duis nisi dolor, elementum et mattis at, maximus id velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Duis eu condimentum risus. Praesent libero velit, facilisis sit amet maximus non, scelerisque ullamcorper leo. Ut sit amet iaculis eros. Mauris sagittis nibh lacus, at facilisis magna suscipit at. Aliquam finibus tempor odio id commodo. Vivamus aliquam, justo id porta imperdiet, mi.', 1, 'READY', 'T2100', 'key1', 'DOMAIN_A', 'BPI14', 'PBPI14', 'Frank', 'Company2', 'System2', 'Instance2', 'Type2', 'Value2', false, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000000', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task99', 'Lorem ipsum was n Quatsch dolor sit amet.', 1, 'READY', '11', 'key17', 'domain1', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000000', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task99', 'Lorem ipsum was n Quatsch dolor sit amet.', 1, 'READY', 'T6310', 'key4', 'DOMAIN_A', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
-- INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000001', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task01', 'Lorem ipsum was n Quatsch dolor sit amet.', 2, 'READY', '12', 'USER_1_1', 'DOMAIN_A', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);
-- INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000002', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, 'Task02', 'Lorem ipsum was n Quatsch dolor sit amet. Aber stimmt.', 2, 'READY', '12', 'Gruppenpostkorb KSC B', 'DOMAIN_B', 'BPI21', 'PBPI21', 'Konrad', 'MyCompany1', 'MySystem1', 'MyInstance1', 'MyType1', 'MyValue1', true, false, null, null, null, null, null, null, null, null, null, null, null);

View File

@ -1,5 +1,38 @@
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('1', 'key1', 'Elena', true, true, true, true, true, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('2', 'key2', 'Max', true, true, true, true, true, true, true, true, true, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('3', 'key3', 'Simone', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('1', 'key1', 'elena', true, true, true, true, true, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('2', 'key2', 'max', true, true, true, true, true, true, true, true, true, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('3', 'key3', 'simone', true, true, true, true, true, true, true, true, true, true, true, true, true);
-- KSC authorizations (ID, WB_KEY, ACCESS_ID, READ, OPEN, APPEND, TRANSFER, DISTRIBUTE, C1, .., C8)
-- PPKs
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000001', 'TEAMLEAD_1', 'teamlead_1', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000002', 'TEAMLEAD_2', 'teamlead_2', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000003', 'USER_1_1', 'user_1_1', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000004', 'USER_1_2', 'user_1_2', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000005', 'USER_2_1', 'user_2_1', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000006', 'USER_2_2', 'user_2_2', true, true, true, true, true, true, true, true, true, true, true, true, true);
-- group internal access
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000007', 'TEAMLEAD_1', 'group_1', true, true, true, true, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000008', 'TEAMLEAD_2', 'group_2', true, true, true, true, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000009', 'USER_1_1', 'group_1', true, true, true, true, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000010', 'USER_1_2', 'group_1', true, true, true, true, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000011', 'USER_2_1', 'group_2', true, true, true, true, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000012', 'USER_2_2', 'group_2', true, true, true, true, false, false, false, false, false, false, false, false, false);
-- teamlead substitution
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000013', 'TEAMLEAD_1', 'teamlead_2', true, true, true, true, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000014', 'TEAMLEAD_2', 'teamlead_1', true, true, true, true, false, false, false, false, false, false, false, false, false);
-- cross team tranfers
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000015', 'USER_1_1', 'group_2', true, false, true, false, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000016', 'USER_1_2', 'group_2', true, false, true, false, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000017', 'USER_2_1', 'group_1', true, false, true, false, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000018', 'USER_2_2', 'group_1', true, false, true, false, false, false, false, false, false, false, false, false, false);
-- Team GPK access
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000019', 'GPK_KSC_1', 'group_1', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000020', 'GPK_KSC_2', 'group_2', true, true, true, true, true, true, true, true, true, true, true, true, true);
-- Cross team GPK access
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000021', 'GPK_KSC', 'teamlead_1', true, true, true, true, true, true, true, true, true, true, true, true, true);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000022', 'GPK_KSC', 'teamlead_2', true, true, true, true, true, true, true, true, true, true, true, true, true);
-- Access to other domains
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000023', 'GPK_B_KSC_1', 'group_1', true, false, true, true, false, false, false, false, false, false, false, false, false);
INSERT INTO WORKBASKET_ACCESS_LIST VALUES ('WAI:100000000000000000000000000000000024', 'GPK_B_KSC_2', 'group_2', true, false, true, true, false, false, false, false, false, false, false, false, false);

View File

@ -1,3 +1,20 @@
INSERT INTO WORKBASKET VALUES ('1', 'key1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket1', 'domain1', 'GROUP', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Peter', '', '', '', '', '', '', '', '' );
INSERT INTO WORKBASKET VALUES ('2', 'key2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket2', 'domain2', 'CLEARANCE', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Susanne', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('3', 'key3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket3', 'domain3', 'TOPIC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Max', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('1', 'key1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket1', 'DOMAIN_A', 'GROUP', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Peter', '', '', '', '', '', '', '', '' );
INSERT INTO WORKBASKET VALUES ('2', 'key2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket2', 'DOMAIN_A', 'CLEARANCE', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Susanne', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('3', 'key3', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket3', 'DOMAIN_A', 'TOPIC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Max', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('4', 'key4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Basket4', 'DOMAIN_A', 'TOPIC', 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', 'Max', '', '', '', '', '', '', '', '');
-- KSC workbaskets
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000001', 'GPK_KSC', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC', 'DOMAIN_A', 'GROUP', 'Gruppenpostkorb KSC', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000002', 'GPK_KSC_1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC 1', 'DOMAIN_A', 'GROUP', 'Gruppenpostkorb KSC 1', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000003', 'GPK_KSC_2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC 2', 'DOMAIN_A', 'GROUP', 'Gruppenpostkorb KSC 2', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000004', 'TEAMLEAD_1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK Teamlead KSC 1', 'DOMAIN_A', 'PERSONAL', 'PPK Teamlead KSC 1', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000005', 'TEAMLEAD_2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK Teamlead KSC 2', 'DOMAIN_A', 'PERSONAL', 'PPK Teamlead KSC 2', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000006', 'USER_1_1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK User 1 KSC 1', 'DOMAIN_A', 'PERSONAL', 'PPK User 1 KSC 1', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000007', 'USER_1_2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK User 2 KSC 1', 'DOMAIN_A', 'PERSONAL', 'PPK User 2 KSC 1', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000008', 'USER_2_1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK User 1 KSC 2', 'DOMAIN_A', 'PERSONAL', 'PPK User 1 KSC 2', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000009', 'USER_2_2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'PPK User 2 KSC 2', 'DOMAIN_A', 'PERSONAL', 'PPK User 2 KSC 2', '', '', '', '', '', '', '', '', '');
-- KSC workbaskets Domain_B
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000011', 'GPK_B_KSC', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC B', 'DOMAIN_B', 'GROUP', 'Gruppenpostkorb KSC', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000012', 'GPK_B_KSC_1', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC B1', 'DOMAIN_B', 'GROUP', 'Gruppenpostkorb KSC 1', '', '', '', '', '', '', '', '', '');
INSERT INTO WORKBASKET VALUES ('WBI:100000000000000000000000000000000013', 'GPK_B_KSC_2', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'Gruppenpostkorb KSC B2', 'DOMAIN_B', 'GROUP', 'Gruppenpostkorb KSC 2', '', '', '', '', '', '', '', '', '');