TSK-163: Attachment functions add/remove/update implemented. Acc+Unit
Test added
This commit is contained in:
parent
012cef45f9
commit
663ce463b2
|
|
@ -382,7 +382,8 @@ public interface Task {
|
||||||
void setCustom10(String custom10);
|
void setCustom10(String custom10);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add an attachment.
|
* Add an attachment.<br>
|
||||||
|
* NULL will be ignored and an attachment with the same ID will be replaced by the newer one.<br>
|
||||||
*
|
*
|
||||||
* @param attachment
|
* @param attachment
|
||||||
* the {@link Attachment attachment} to be added to the task
|
* the {@link Attachment attachment} to be added to the task
|
||||||
|
|
@ -390,7 +391,9 @@ public interface Task {
|
||||||
void addAttachment(Attachment attachment);
|
void addAttachment(Attachment attachment);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the attachments for this task.
|
* Return the attachments for this task. <br>
|
||||||
|
* Do not use List.add()/addAll() for adding Elements, because it can cause redundant data. Use addAttachment().
|
||||||
|
* Clear() and remove() can be used, because it´s a controllable change.
|
||||||
*
|
*
|
||||||
* @return the {@link List list} of {@link Attachment attachments} for this task
|
* @return the {@link List list} of {@link Attachment attachments} for this task
|
||||||
*/
|
*/
|
||||||
|
|
@ -418,4 +421,14 @@ public interface Task {
|
||||||
*/
|
*/
|
||||||
TaskSummary asSummary();
|
TaskSummary asSummary();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes an attachment of the current task locally, when the ID is represented and does return the removed
|
||||||
|
* attachment or null if there was no match.<br>
|
||||||
|
* The changed Task need to be updated calling the {@link TaskService#updateTask(Task)}.
|
||||||
|
*
|
||||||
|
* @param attachmentID
|
||||||
|
* ID of the attachment which should be removed.
|
||||||
|
* @return attachment which will be removed after updating OR null if there was no matching attachment
|
||||||
|
*/
|
||||||
|
Attachment removeAttachment(String attachmentID);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package pro.taskana;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import pro.taskana.exceptions.AttachmentPersistenceException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.ConcurrencyException;
|
import pro.taskana.exceptions.ConcurrencyException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
|
|
@ -229,8 +230,10 @@ public interface TaskService {
|
||||||
* if the updated task refers to a work basket that cannot be found
|
* if the updated task refers to a work basket that cannot be found
|
||||||
* @throws NotAuthorizedException
|
* @throws NotAuthorizedException
|
||||||
* if the current user is not authorized to update the task
|
* if the current user is not authorized to update the task
|
||||||
|
* @throws AttachmentPersistenceException
|
||||||
|
* if an Attachment with ID will be added multiple times without using the task-methods.
|
||||||
*/
|
*/
|
||||||
Task updateTask(Task task) throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException,
|
Task updateTask(Task task) throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException,
|
||||||
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidWorkbasketException,
|
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidWorkbasketException,
|
||||||
NotAuthorizedException;
|
NotAuthorizedException, AttachmentPersistenceException;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,15 @@
|
||||||
|
package pro.taskana.exceptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Thrown, when an attachment should be inserted to the DB, but it does already exist.<br>
|
||||||
|
* This may happen when a not persisted attachment with ID will be added twice on a task. This can´t be happen it the
|
||||||
|
* correct Task-Methods will be used instead the List ones.
|
||||||
|
*/
|
||||||
|
public class AttachmentPersistenceException extends TaskanaException {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 123L;
|
||||||
|
|
||||||
|
public AttachmentPersistenceException(String attachmentId) {
|
||||||
|
super("AttachmentId=" + attachmentId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -138,6 +138,108 @@ public class AttachmentImpl implements Attachment {
|
||||||
return summary;
|
return summary;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
final int prime = 31;
|
||||||
|
int result = 1;
|
||||||
|
result = prime * result + ((channel == null) ? 0 : channel.hashCode());
|
||||||
|
result = prime * result + ((classificationKey == null) ? 0 : classificationKey.hashCode());
|
||||||
|
result = prime * result + ((classificationSummary == null) ? 0 : classificationSummary.hashCode());
|
||||||
|
result = prime * result + ((created == null) ? 0 : created.hashCode());
|
||||||
|
result = prime * result + ((customAttributes == null) ? 0 : customAttributes.hashCode());
|
||||||
|
result = prime * result + ((id == null) ? 0 : id.hashCode());
|
||||||
|
result = prime * result + ((modified == null) ? 0 : modified.hashCode());
|
||||||
|
result = prime * result + ((objectReference == null) ? 0 : objectReference.hashCode());
|
||||||
|
result = prime * result + ((received == null) ? 0 : received.hashCode());
|
||||||
|
result = prime * result + ((taskId == null) ? 0 : taskId.hashCode());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (this == obj) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (obj == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (getClass() != obj.getClass()) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
AttachmentImpl other = (AttachmentImpl) obj;
|
||||||
|
if (channel == null) {
|
||||||
|
if (other.channel != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!channel.equals(other.channel)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (classificationKey == null) {
|
||||||
|
if (other.classificationKey != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!classificationKey.equals(other.classificationKey)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (classificationSummary == null) {
|
||||||
|
if (other.classificationSummary != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!classificationSummary.equals(other.classificationSummary)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (created == null) {
|
||||||
|
if (other.created != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!created.equals(other.created)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (customAttributes == null) {
|
||||||
|
if (other.customAttributes != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!customAttributes.equals(other.customAttributes)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (id == null) {
|
||||||
|
if (other.id != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!id.equals(other.id)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (modified == null) {
|
||||||
|
if (other.modified != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!modified.equals(other.modified)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (objectReference == null) {
|
||||||
|
if (other.objectReference != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!objectReference.equals(other.objectReference)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (received == null) {
|
||||||
|
if (other.received != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!received.equals(other.received)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (taskId == null) {
|
||||||
|
if (other.taskId != null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else if (!taskId.equals(other.taskId)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
|
|
@ -146,7 +248,7 @@ public class AttachmentImpl implements Attachment {
|
||||||
builder.append(", taskId=");
|
builder.append(", taskId=");
|
||||||
builder.append(taskId);
|
builder.append(taskId);
|
||||||
builder.append(", created=");
|
builder.append(", created=");
|
||||||
builder.append(created.toString());
|
builder.append(created);
|
||||||
builder.append(", modified=");
|
builder.append(", modified=");
|
||||||
builder.append(modified);
|
builder.append(modified);
|
||||||
builder.append(", classificationKey=");
|
builder.append(", classificationKey=");
|
||||||
|
|
|
||||||
|
|
@ -276,7 +276,7 @@ public class ClassificationImpl implements Classification {
|
||||||
builder.append(", isValidInDomain=");
|
builder.append(", isValidInDomain=");
|
||||||
builder.append(isValidInDomain);
|
builder.append(isValidInDomain);
|
||||||
builder.append(", created=");
|
builder.append(", created=");
|
||||||
builder.append(created.toString());
|
builder.append(created);
|
||||||
builder.append(", name=");
|
builder.append(", name=");
|
||||||
builder.append(name);
|
builder.append(name);
|
||||||
builder.append(", description=");
|
builder.append(", description=");
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package pro.taskana.impl;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
@ -45,7 +46,7 @@ public class TaskImpl implements Task {
|
||||||
private boolean isTransferred;
|
private boolean isTransferred;
|
||||||
// All objects have to be serializable
|
// All objects have to be serializable
|
||||||
private Map<String, Object> customAttributes = Collections.emptyMap();
|
private Map<String, Object> customAttributes = Collections.emptyMap();
|
||||||
private List<Attachment> attachments;
|
private List<Attachment> attachments = new ArrayList<>();
|
||||||
private String custom1;
|
private String custom1;
|
||||||
private String custom2;
|
private String custom2;
|
||||||
private String custom3;
|
private String custom3;
|
||||||
|
|
@ -377,11 +378,22 @@ public class TaskImpl implements Task {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addAttachment(Attachment attachment) {
|
public void addAttachment(Attachment attachmentToAdd) {
|
||||||
if (attachments == null) {
|
if (attachments == null) {
|
||||||
attachments = new ArrayList<Attachment>();
|
attachments = new ArrayList<Attachment>();
|
||||||
}
|
}
|
||||||
attachments.add(attachment);
|
if (attachmentToAdd != null) {
|
||||||
|
if (attachmentToAdd.getId() != null) {
|
||||||
|
Iterator<Attachment> i = attachments.iterator();
|
||||||
|
while (i.hasNext()) {
|
||||||
|
Attachment attachment = i.next();
|
||||||
|
if (attachmentToAdd.getId().equals(attachment.getId())) {
|
||||||
|
i.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
attachments.add(attachmentToAdd);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -432,7 +444,11 @@ public class TaskImpl implements Task {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAttachments(List<Attachment> attachments) {
|
public void setAttachments(List<Attachment> attachments) {
|
||||||
this.attachments = attachments;
|
if (attachments != null) {
|
||||||
|
this.attachments = attachments;
|
||||||
|
} else if (this.attachments == null) {
|
||||||
|
this.attachments = new ArrayList<>();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getClassificationKey() {
|
public String getClassificationKey() {
|
||||||
|
|
@ -443,23 +459,39 @@ public class TaskImpl implements Task {
|
||||||
this.classificationSummary = classificationSummary;
|
this.classificationSummary = classificationSummary;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Attachment removeAttachment(String attachmentId) {
|
||||||
|
Attachment result = null;
|
||||||
|
Iterator<Attachment> i = attachments.iterator();
|
||||||
|
while (i.hasNext()) {
|
||||||
|
Attachment attachment = i.next();
|
||||||
|
if (attachment.getId().equals(attachmentId)) {
|
||||||
|
if (attachments.remove(attachment)) {
|
||||||
|
result = attachment;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
builder.append("TaskImpl [id=");
|
builder.append("TaskImpl [id=");
|
||||||
builder.append(id);
|
builder.append(id);
|
||||||
builder.append(", created=");
|
builder.append(", created=");
|
||||||
builder.append(created.toString());
|
builder.append(created);
|
||||||
builder.append(", claimed=");
|
builder.append(", claimed=");
|
||||||
builder.append(claimed.toString());
|
builder.append(claimed);
|
||||||
builder.append(", completed=");
|
builder.append(", completed=");
|
||||||
builder.append(completed.toString());
|
builder.append(completed);
|
||||||
builder.append(", modified=");
|
builder.append(", modified=");
|
||||||
builder.append(modified.toString());
|
builder.append(modified);
|
||||||
builder.append(", planned=");
|
builder.append(", planned=");
|
||||||
builder.append(planned.toString());
|
builder.append(planned);
|
||||||
builder.append(", due=");
|
builder.append(", due=");
|
||||||
builder.append(due.toString());
|
builder.append(due);
|
||||||
builder.append(", name=");
|
builder.append(", name=");
|
||||||
builder.append(name);
|
builder.append(name);
|
||||||
builder.append(", description=");
|
builder.append(", description=");
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,12 @@ import java.time.Duration;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import org.apache.ibatis.exceptions.PersistenceException;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
|
|
@ -22,6 +24,7 @@ import pro.taskana.TaskanaEngine;
|
||||||
import pro.taskana.Workbasket;
|
import pro.taskana.Workbasket;
|
||||||
import pro.taskana.WorkbasketService;
|
import pro.taskana.WorkbasketService;
|
||||||
import pro.taskana.WorkbasketSummary;
|
import pro.taskana.WorkbasketSummary;
|
||||||
|
import pro.taskana.exceptions.AttachmentPersistenceException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.ConcurrencyException;
|
import pro.taskana.exceptions.ConcurrencyException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
|
|
@ -323,7 +326,8 @@ public class TaskServiceImpl implements TaskService {
|
||||||
@Override
|
@Override
|
||||||
public Task updateTask(Task task)
|
public Task updateTask(Task task)
|
||||||
throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException, WorkbasketNotFoundException,
|
throws InvalidArgumentException, TaskNotFoundException, ConcurrencyException, WorkbasketNotFoundException,
|
||||||
ClassificationNotFoundException, InvalidWorkbasketException, NotAuthorizedException {
|
ClassificationNotFoundException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
String userId = CurrentUserContext.getUserid();
|
String userId = CurrentUserContext.getUserid();
|
||||||
LOGGER.debug("entry to updateTask(task = {}, userId = {})", task, userId);
|
LOGGER.debug("entry to updateTask(task = {}, userId = {})", task, userId);
|
||||||
TaskImpl newTaskImpl = (TaskImpl) task;
|
TaskImpl newTaskImpl = (TaskImpl) task;
|
||||||
|
|
@ -332,6 +336,8 @@ public class TaskServiceImpl implements TaskService {
|
||||||
taskanaEngineImpl.openConnection();
|
taskanaEngineImpl.openConnection();
|
||||||
oldTaskImpl = (TaskImpl) getTask(newTaskImpl.getId());
|
oldTaskImpl = (TaskImpl) getTask(newTaskImpl.getId());
|
||||||
standardUpdateActions(oldTaskImpl, newTaskImpl);
|
standardUpdateActions(oldTaskImpl, newTaskImpl);
|
||||||
|
handleAttachmentsOnTaskUpdate(oldTaskImpl, newTaskImpl);
|
||||||
|
newTaskImpl.setModified(Instant.now());
|
||||||
|
|
||||||
taskMapper.update(newTaskImpl);
|
taskMapper.update(newTaskImpl);
|
||||||
LOGGER.debug("Method updateTask() updated task '{}' for user '{}'.", task.getId(), userId);
|
LOGGER.debug("Method updateTask() updated task '{}' for user '{}'.", task.getId(), userId);
|
||||||
|
|
@ -387,12 +393,12 @@ public class TaskServiceImpl implements TaskService {
|
||||||
List<Attachment> attachments = task.getAttachments();
|
List<Attachment> attachments = task.getAttachments();
|
||||||
if (attachments != null) {
|
if (attachments != null) {
|
||||||
for (Attachment attachment : attachments) {
|
for (Attachment attachment : attachments) {
|
||||||
AttachmentImpl attImpl = (AttachmentImpl) attachment;
|
AttachmentImpl attachmentImpl = (AttachmentImpl) attachment;
|
||||||
attImpl.setId(IdGenerator.generateWithPrefix(ID_PREFIX_ATTACHMENT));
|
attachmentImpl.setId(IdGenerator.generateWithPrefix(ID_PREFIX_ATTACHMENT));
|
||||||
attImpl.setTaskId(task.getId());
|
attachmentImpl.setTaskId(task.getId());
|
||||||
attImpl.setCreated(now);
|
attachmentImpl.setCreated(now);
|
||||||
attImpl.setModified(now);
|
attachmentImpl.setModified(now);
|
||||||
attachmentMapper.insert(attImpl);
|
attachmentMapper.insert(attachmentImpl);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -679,12 +685,18 @@ public class TaskServiceImpl implements TaskService {
|
||||||
if (attachments == null || attachments.isEmpty()) {
|
if (attachments == null || attachments.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Iterator<Attachment> i = attachments.iterator();
|
||||||
for (Attachment attachment : attachments) {
|
while (i.hasNext()) {
|
||||||
ObjectReference objRef = attachment.getObjectReference();
|
Attachment attachment = i.next();
|
||||||
validateObjectReference(objRef, "ObjectReference", "Attachment");
|
if (attachment == null) {
|
||||||
if (attachment.getClassificationSummary() == null) {
|
i.remove();
|
||||||
throw new InvalidArgumentException("Classification of attachment " + attachment + " must not be null");
|
} else {
|
||||||
|
ObjectReference objRef = attachment.getObjectReference();
|
||||||
|
validateObjectReference(objRef, "ObjectReference", "Attachment");
|
||||||
|
if (attachment.getClassificationSummary() == null) {
|
||||||
|
throw new InvalidArgumentException(
|
||||||
|
"Classification of attachment " + attachment + " must not be null");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -751,8 +763,90 @@ public class TaskServiceImpl implements TaskService {
|
||||||
newTaskImpl.setModified(Instant.now());
|
newTaskImpl.setModified(Instant.now());
|
||||||
}
|
}
|
||||||
|
|
||||||
AttachmentMapper getAttachmentMapper() {
|
private void handleAttachmentsOnTaskUpdate(TaskImpl oldTaskImpl, TaskImpl newTaskImpl)
|
||||||
return attachmentMapper;
|
throws AttachmentPersistenceException {
|
||||||
|
// Iterator for removing invalid current values directly. OldAttachments can be ignored.
|
||||||
|
Iterator<Attachment> i = newTaskImpl.getAttachments().iterator();
|
||||||
|
while (i.hasNext()) {
|
||||||
|
Attachment attachment = i.next();
|
||||||
|
if (attachment != null) {
|
||||||
|
boolean wasAlreadyRepresented = false;
|
||||||
|
if (attachment.getId() != null) {
|
||||||
|
for (Attachment oldAttachment : oldTaskImpl.getAttachments()) {
|
||||||
|
if (oldAttachment != null) {
|
||||||
|
// UPDATE when id is represented but objects are not equal
|
||||||
|
if (attachment.getId().equals(oldAttachment.getId())) {
|
||||||
|
wasAlreadyRepresented = true;
|
||||||
|
if (!attachment.equals(oldAttachment)) {
|
||||||
|
AttachmentImpl temp = (AttachmentImpl) attachment;
|
||||||
|
temp.setModified(Instant.now());
|
||||||
|
attachmentMapper.update(temp);
|
||||||
|
LOGGER.debug("TaskService.updateTask() for TaskId={} UPDATED an Attachment={}.",
|
||||||
|
newTaskImpl.getId(),
|
||||||
|
attachment);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ADD, when ID not set or not found in elements
|
||||||
|
if (!wasAlreadyRepresented) {
|
||||||
|
AttachmentImpl attachmentImpl = (AttachmentImpl) attachment;
|
||||||
|
initAttachment(attachmentImpl, newTaskImpl);
|
||||||
|
try {
|
||||||
|
attachmentMapper.insert(attachmentImpl);
|
||||||
|
LOGGER.debug("TaskService.updateTask() for TaskId={} INSERTED an Attachment={}.",
|
||||||
|
newTaskImpl.getId(),
|
||||||
|
attachmentImpl);
|
||||||
|
} catch (PersistenceException e) {
|
||||||
|
LOGGER.error(
|
||||||
|
"TaskService.updateTask() for TaskId={} can NOT INSERT the current Attachment, because it was added fored multiple times and wasn´t persisted before. ID={}",
|
||||||
|
newTaskImpl.getId(), attachmentImpl.getId());
|
||||||
|
throw new AttachmentPersistenceException(attachmentImpl.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// DELETE, when an Attachment was only represented before
|
||||||
|
for (Attachment oldAttachment : oldTaskImpl.getAttachments()) {
|
||||||
|
if (oldAttachment != null) {
|
||||||
|
boolean isRepresented = false;
|
||||||
|
for (Attachment newAttachment : newTaskImpl.getAttachments()) {
|
||||||
|
if (newAttachment != null) {
|
||||||
|
if (oldAttachment.getId().equals(newAttachment.getId())) {
|
||||||
|
isRepresented = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!isRepresented) {
|
||||||
|
attachmentMapper.deleteAttachment(oldAttachment.getId());
|
||||||
|
LOGGER.debug("TaskService.updateTask() for TaskId={} DELETED an Attachment={}.",
|
||||||
|
newTaskImpl.getId(),
|
||||||
|
oldAttachment);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initAttachment(AttachmentImpl attachment, Task newTask) {
|
||||||
|
if (attachment.getId() == null) {
|
||||||
|
attachment.setId(IdGenerator.generateWithPrefix(ID_PREFIX_ATTACHMENT));
|
||||||
|
}
|
||||||
|
if (attachment.getCreated() == null) {
|
||||||
|
attachment.setCreated(Instant.now());
|
||||||
|
}
|
||||||
|
if (attachment.getModified() == null) {
|
||||||
|
attachment.setModified(attachment.getCreated());
|
||||||
|
}
|
||||||
|
if (attachment.getTaskId() == null) {
|
||||||
|
attachment.setTaskId(newTask.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,13 @@ package pro.taskana.model.mappings;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Delete;
|
||||||
import org.apache.ibatis.annotations.Insert;
|
import org.apache.ibatis.annotations.Insert;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
import org.apache.ibatis.annotations.Result;
|
import org.apache.ibatis.annotations.Result;
|
||||||
import org.apache.ibatis.annotations.Results;
|
import org.apache.ibatis.annotations.Results;
|
||||||
import org.apache.ibatis.annotations.Select;
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.apache.ibatis.annotations.Update;
|
||||||
import org.apache.ibatis.type.JdbcType;
|
import org.apache.ibatis.type.JdbcType;
|
||||||
|
|
||||||
import pro.taskana.impl.AttachmentImpl;
|
import pro.taskana.impl.AttachmentImpl;
|
||||||
|
|
@ -19,7 +21,6 @@ import pro.taskana.impl.persistence.MapTypeHandler;
|
||||||
*/
|
*/
|
||||||
public interface AttachmentMapper {
|
public interface AttachmentMapper {
|
||||||
|
|
||||||
|
|
||||||
@Insert("INSERT INTO ATTACHMENT (ID, TASK_ID, CREATED, MODIFIED, CLASSIFICATION_KEY, REF_COMPANY, REF_SYSTEM, REF_INSTANCE, REF_TYPE, REF_VALUE, CHANNEL, RECEIVED, CUSTOM_ATTRIBUTES) "
|
@Insert("INSERT INTO ATTACHMENT (ID, TASK_ID, CREATED, MODIFIED, CLASSIFICATION_KEY, REF_COMPANY, REF_SYSTEM, REF_INSTANCE, REF_TYPE, REF_VALUE, CHANNEL, RECEIVED, CUSTOM_ATTRIBUTES) "
|
||||||
+ "VALUES (#{att.id}, #{att.taskId}, #{att.created}, #{att.modified}, #{att.classificationSummary.key}, #{att.objectReference.company}, #{att.objectReference.system}, #{att.objectReference.systemInstance}, "
|
+ "VALUES (#{att.id}, #{att.taskId}, #{att.created}, #{att.modified}, #{att.classificationSummary.key}, #{att.objectReference.company}, #{att.objectReference.system}, #{att.objectReference.systemInstance}, "
|
||||||
+ " #{att.objectReference.type}, #{att.objectReference.value}, #{att.channel}, #{att.received}, #{att.customAttributes,jdbcType=BLOB,javaType=java.util.Map,typeHandler=pro.taskana.impl.persistence.MapTypeHandler} )")
|
+ " #{att.objectReference.type}, #{att.objectReference.value}, #{att.channel}, #{att.received}, #{att.customAttributes,jdbcType=BLOB,javaType=java.util.Map,typeHandler=pro.taskana.impl.persistence.MapTypeHandler} )")
|
||||||
|
|
@ -46,6 +47,27 @@ public interface AttachmentMapper {
|
||||||
})
|
})
|
||||||
List<AttachmentImpl> findAttachmentsByTaskId(@Param("taskId") String taskId);
|
List<AttachmentImpl> findAttachmentsByTaskId(@Param("taskId") String taskId);
|
||||||
|
|
||||||
|
@Select("SELECT ID, TASK_ID, CREATED, MODIFIED, CLASSIFICATION_KEY, REF_COMPANY, REF_SYSTEM, REF_INSTANCE, REF_TYPE, REF_VALUE, CHANNEL, RECEIVED, CUSTOM_ATTRIBUTES "
|
||||||
|
+ "FROM ATTACHMENT "
|
||||||
|
+ "WHERE ID = #{attachmentId}")
|
||||||
|
@Results(value = {
|
||||||
|
@Result(property = "id", column = "ID"),
|
||||||
|
@Result(property = "taskId", column = "TASK_ID"),
|
||||||
|
@Result(property = "created", column = "CREATED"),
|
||||||
|
@Result(property = "modified", column = "MODIFIED"),
|
||||||
|
@Result(property = "classificationSummaryImpl.key", column = "CLASSIFICATION_KEY"),
|
||||||
|
@Result(property = "objectReference.company", column = "REF_COMPANY"),
|
||||||
|
@Result(property = "objectReference.system", column = "REF_SYSTEM"),
|
||||||
|
@Result(property = "objectReference.systemInstance", column = "REF_INSTANCE"),
|
||||||
|
@Result(property = "objectReference.type", column = "REF_TYPE"),
|
||||||
|
@Result(property = "objectReference.value", column = "REF_VALUE"),
|
||||||
|
@Result(property = "channel", column = "CHANNEL"),
|
||||||
|
@Result(property = "received", column = "RECEIVED"),
|
||||||
|
@Result(property = "customAttributes", column = "CUSTOM_ATTRIBUTES", jdbcType = JdbcType.BLOB,
|
||||||
|
javaType = Map.class, typeHandler = MapTypeHandler.class)
|
||||||
|
})
|
||||||
|
AttachmentImpl getAttachment(@Param("attachmentId") String attachmentId);
|
||||||
|
|
||||||
@Select("<script>SELECT ID, TASK_ID, CREATED, MODIFIED, CLASSIFICATION_KEY, RECEIVED "
|
@Select("<script>SELECT ID, TASK_ID, CREATED, MODIFIED, CLASSIFICATION_KEY, RECEIVED "
|
||||||
+ "FROM ATTACHMENT "
|
+ "FROM ATTACHMENT "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
|
|
@ -62,4 +84,13 @@ public interface AttachmentMapper {
|
||||||
})
|
})
|
||||||
List<AttachmentSummaryImpl> findAttachmentSummariesByTaskIds(String[] taskIds);
|
List<AttachmentSummaryImpl> findAttachmentSummariesByTaskIds(String[] taskIds);
|
||||||
|
|
||||||
|
@Delete("DELETE FROM ATTACHMENT WHERE ID=#{attachmentId}")
|
||||||
|
void deleteAttachment(@Param("attachmentId") String attachmentId);
|
||||||
|
|
||||||
|
@Update("UPDATE ATTACHMENT SET TASK_ID = #{taskId}, CREATED = #{created}, MODIFIED = #{modified},"
|
||||||
|
+ " CLASSIFICATION_KEY = #{classificationSummary.key}, REF_COMPANY = #{objectReference.company}, REF_SYSTEM = #{objectReference.system},"
|
||||||
|
+ " REF_INSTANCE = #{objectReference.systemInstance}, REF_TYPE = #{objectReference.type}, REF_VALUE = #{objectReference.value},"
|
||||||
|
+ " CHANNEL = #{channel}, RECEIVED = #{received}, CUSTOM_ATTRIBUTES = #{customAttributes,jdbcType=BLOB,javaType=java.util.Map,typeHandler=pro.taskana.impl.persistence.MapTypeHandler}"
|
||||||
|
+ " WHERE ID = #{id}")
|
||||||
|
void update(AttachmentImpl attachment);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ public interface ClassificationMapper {
|
||||||
+ "FROM CLASSIFICATION "
|
+ "FROM CLASSIFICATION "
|
||||||
+ "WHERE KEY = #{key}"
|
+ "WHERE KEY = #{key}"
|
||||||
+ "AND DOMAIN = #{domain}")
|
+ "AND DOMAIN = #{domain}")
|
||||||
@Results({ @Result(property = "id", column = "ID"),
|
@Results({@Result(property = "id", column = "ID"),
|
||||||
@Result(property = "key", column = "KEY"),
|
@Result(property = "key", column = "KEY"),
|
||||||
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
|
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
|
||||||
@Result(property = "category", column = "CATEGORY"),
|
@Result(property = "category", column = "CATEGORY"),
|
||||||
|
|
@ -41,7 +41,7 @@ public interface ClassificationMapper {
|
||||||
@Result(property = "custom5", column = "CUSTOM_5"),
|
@Result(property = "custom5", column = "CUSTOM_5"),
|
||||||
@Result(property = "custom6", column = "CUSTOM_6"),
|
@Result(property = "custom6", column = "CUSTOM_6"),
|
||||||
@Result(property = "custom7", column = "CUSTOM_7"),
|
@Result(property = "custom7", column = "CUSTOM_7"),
|
||||||
@Result(property = "custom8", column = "CUSTOM_8") })
|
@Result(property = "custom8", column = "CUSTOM_8")})
|
||||||
ClassificationImpl findByKeyAndDomain(@Param("key") String key, @Param("domain") String domain);
|
ClassificationImpl findByKeyAndDomain(@Param("key") String key, @Param("domain") String domain);
|
||||||
|
|
||||||
@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) 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})")
|
@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) 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})")
|
||||||
|
|
@ -58,12 +58,12 @@ public interface ClassificationMapper {
|
||||||
+ "AND DOMAIN = #{domain}"
|
+ "AND DOMAIN = #{domain}"
|
||||||
+ "ORDER BY KEY DESC"
|
+ "ORDER BY KEY DESC"
|
||||||
+ "</script>")
|
+ "</script>")
|
||||||
@Results({ @Result(property = "id", column = "ID"),
|
@Results({@Result(property = "id", column = "ID"),
|
||||||
@Result(property = "key", column = "KEY"),
|
@Result(property = "key", column = "KEY"),
|
||||||
@Result(property = "category", column = "CATEGORY"),
|
@Result(property = "category", column = "CATEGORY"),
|
||||||
@Result(property = "type", column = "TYPE"),
|
@Result(property = "type", column = "TYPE"),
|
||||||
@Result(property = "domain", column = "DOMAIN"),
|
@Result(property = "domain", column = "DOMAIN"),
|
||||||
@Result(property = "name", column = "NAME") })
|
@Result(property = "name", column = "NAME")})
|
||||||
List<ClassificationSummaryImpl> getAllClassificationsWithKey(@Param("key") String key,
|
List<ClassificationSummaryImpl> getAllClassificationsWithKey(@Param("key") String key,
|
||||||
@Param("domain") String domain);
|
@Param("domain") String domain);
|
||||||
|
|
||||||
|
|
@ -72,7 +72,7 @@ public interface ClassificationMapper {
|
||||||
+ "FROM CLASSIFICATION AS C LEFT JOIN WORKBASKET AS W ON C.DOMAIN = W.DOMAIN "
|
+ "FROM CLASSIFICATION AS C LEFT JOIN WORKBASKET AS W ON C.DOMAIN = W.DOMAIN "
|
||||||
+ "WHERE c.KEY = #{classificationKey}"
|
+ "WHERE c.KEY = #{classificationKey}"
|
||||||
+ "AND W.KEY = #{workbasketKey}")
|
+ "AND W.KEY = #{workbasketKey}")
|
||||||
@Results({ @Result(property = "id", column = "ID"),
|
@Results({@Result(property = "id", column = "ID"),
|
||||||
@Result(property = "key", column = "KEY"),
|
@Result(property = "key", column = "KEY"),
|
||||||
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
|
@Result(property = "parentClassificationKey", column = "PARENT_CLASSIFICATION_KEY"),
|
||||||
@Result(property = "category", column = "CATEGORY"),
|
@Result(property = "category", column = "CATEGORY"),
|
||||||
|
|
@ -92,7 +92,7 @@ public interface ClassificationMapper {
|
||||||
@Result(property = "custom5", column = "CUSTOM_5"),
|
@Result(property = "custom5", column = "CUSTOM_5"),
|
||||||
@Result(property = "custom6", column = "CUSTOM_6"),
|
@Result(property = "custom6", column = "CUSTOM_6"),
|
||||||
@Result(property = "custom7", column = "CUSTOM_7"),
|
@Result(property = "custom7", column = "CUSTOM_7"),
|
||||||
@Result(property = "custom8", column = "CUSTOM_8") })
|
@Result(property = "custom8", column = "CUSTOM_8")})
|
||||||
ClassificationImpl findByTask(@Param("classificationKey") String classificationKey,
|
ClassificationImpl findByTask(@Param("classificationKey") String classificationKey,
|
||||||
@Param("workbasketKey") String workbasketKey);
|
@Param("workbasketKey") String workbasketKey);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -81,18 +81,16 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task newTask = taskService.newTask();
|
Task newTask = taskService.newTask();
|
||||||
newTask.setClassificationKey("L12010");
|
newTask.setClassificationKey("L12010");
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
||||||
"12345678901234567890123456789012345678901234567890"),
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
|
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
|
||||||
newTask.setWorkbasketKey("USER_1_1");
|
newTask.setWorkbasketKey("USER_1_1");
|
||||||
Task createdTask = taskService.createTask(newTask);
|
Task createdTask = taskService.createTask(newTask);
|
||||||
|
|
||||||
assertNotNull(createdTask.getId());
|
assertNotNull(createdTask.getId());
|
||||||
|
|
||||||
Task readTask = taskService.getTask(createdTask.getId());
|
Task readTask = taskService.getTask(createdTask.getId());
|
||||||
|
|
||||||
assertNotNull(readTask);
|
assertNotNull(readTask);
|
||||||
assertNotNull(readTask.getAttachments());
|
assertNotNull(readTask.getAttachments());
|
||||||
assertEquals(1, readTask.getAttachments().size());
|
assertEquals(1, readTask.getAttachments().size());
|
||||||
|
|
@ -116,11 +114,11 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
newTask.setClassificationKey("L12010");
|
newTask.setClassificationKey("L12010");
|
||||||
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
|
newTask.setPrimaryObjRef(createObjectReference("COMPANY_A", "SYSTEM_A", "INSTANCE_A", "VNR", "1234567"));
|
||||||
newTask.setWorkbasketKey("USER_1_1");
|
newTask.setWorkbasketKey("USER_1_1");
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
||||||
"12345678901234567890123456789012345678901234567890"),
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
||||||
"12345678901234567890123456789012345678901234567890"),
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
|
|
@ -151,7 +149,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task createdTask = null;
|
Task createdTask = null;
|
||||||
Task newTask = makeNewTask(taskService);
|
Task newTask = makeNewTask(taskService);
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
null,
|
null,
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
try {
|
try {
|
||||||
|
|
@ -161,7 +159,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
newTask = makeNewTask(taskService);
|
newTask = makeNewTask(taskService);
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId", null),
|
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId", null),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
try {
|
try {
|
||||||
|
|
@ -171,7 +169,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
}
|
}
|
||||||
|
|
||||||
newTask = makeNewTask(taskService);
|
newTask = makeNewTask(taskService);
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", null,
|
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", null,
|
||||||
"12345678901234567890123456789012345678901234567890"),
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
|
|
@ -181,7 +179,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
newTask = makeNewTask(taskService);
|
newTask = makeNewTask(taskService);
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference("COMPANY_A", "SYSTEM_B", null, "ArchiveId",
|
createObjectReference("COMPANY_A", "SYSTEM_B", null, "ArchiveId",
|
||||||
"12345678901234567890123456789012345678901234567890"),
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
|
|
@ -191,7 +189,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
newTask = makeNewTask(taskService);
|
newTask = makeNewTask(taskService);
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference("COMPANY_A", null, "INSTANCE_B", "ArchiveId",
|
createObjectReference("COMPANY_A", null, "INSTANCE_B", "ArchiveId",
|
||||||
"12345678901234567890123456789012345678901234567890"),
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
|
|
@ -201,7 +199,7 @@ public class CreateTaskAccTest extends AbstractAccTest {
|
||||||
// nothing to do
|
// nothing to do
|
||||||
}
|
}
|
||||||
newTask = makeNewTask(taskService);
|
newTask = makeNewTask(taskService);
|
||||||
newTask.addAttachment(createAttachment("DOKTYP_DEFAULT",
|
newTask.addAttachment(createAttachment("DOCTYPE_DEFAULT",
|
||||||
createObjectReference(null, "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
createObjectReference(null, "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
||||||
"12345678901234567890123456789012345678901234567890"),
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3)));
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import acceptance.AbstractAccTest;
|
||||||
import pro.taskana.ClassificationSummary;
|
import pro.taskana.ClassificationSummary;
|
||||||
import pro.taskana.Task;
|
import pro.taskana.Task;
|
||||||
import pro.taskana.TaskService;
|
import pro.taskana.TaskService;
|
||||||
|
import pro.taskana.exceptions.AttachmentPersistenceException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
import pro.taskana.exceptions.ConcurrencyException;
|
import pro.taskana.exceptions.ConcurrencyException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
|
|
@ -48,7 +49,7 @@ public class UpdateTaskAccTest extends AbstractAccTest {
|
||||||
public void testUpdatePrimaryObjectReferenceOfTask()
|
public void testUpdatePrimaryObjectReferenceOfTask()
|
||||||
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
ConcurrencyException {
|
ConcurrencyException, AttachmentPersistenceException {
|
||||||
|
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
|
|
@ -72,7 +73,7 @@ public class UpdateTaskAccTest extends AbstractAccTest {
|
||||||
public void testThrowsExceptionIfMandatoryPrimaryObjectReferenceIsNotSetOrIncomplete()
|
public void testThrowsExceptionIfMandatoryPrimaryObjectReferenceIsNotSetOrIncomplete()
|
||||||
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
ConcurrencyException {
|
ConcurrencyException, AttachmentPersistenceException {
|
||||||
|
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
|
|
@ -130,7 +131,7 @@ public class UpdateTaskAccTest extends AbstractAccTest {
|
||||||
public void testThrowsExceptionIfTaskHasAlreadyBeenUpdated()
|
public void testThrowsExceptionIfTaskHasAlreadyBeenUpdated()
|
||||||
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
ConcurrencyException {
|
ConcurrencyException, AttachmentPersistenceException {
|
||||||
|
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
|
|
@ -156,7 +157,8 @@ public class UpdateTaskAccTest extends AbstractAccTest {
|
||||||
@Test
|
@Test
|
||||||
public void testUpdateClassificationOfTask()
|
public void testUpdateClassificationOfTask()
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
||||||
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException {
|
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
|
|
@ -180,7 +182,8 @@ public class UpdateTaskAccTest extends AbstractAccTest {
|
||||||
@Test
|
@Test
|
||||||
public void testCustomPropertiesOfTask()
|
public void testCustomPropertiesOfTask()
|
||||||
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
||||||
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException {
|
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
task.setCustom1("T2100");
|
task.setCustom1("T2100");
|
||||||
|
|
@ -197,7 +200,7 @@ public class UpdateTaskAccTest extends AbstractAccTest {
|
||||||
public void testUpdateOfWorkbasketKeyWhatIsNotAllowed()
|
public void testUpdateOfWorkbasketKeyWhatIsNotAllowed()
|
||||||
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
throws SQLException, NotAuthorizedException, InvalidArgumentException, ClassificationNotFoundException,
|
||||||
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
WorkbasketNotFoundException, TaskAlreadyExistException, InvalidWorkbasketException, TaskNotFoundException,
|
||||||
ConcurrencyException {
|
ConcurrencyException, AttachmentPersistenceException {
|
||||||
|
|
||||||
TaskService taskService = taskanaEngine.getTaskService();
|
TaskService taskService = taskanaEngine.getTaskService();
|
||||||
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
Task task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,239 @@
|
||||||
|
package acceptance.task;
|
||||||
|
|
||||||
|
import static org.hamcrest.core.IsEqual.equalTo;
|
||||||
|
import static org.hamcrest.core.IsNot.not;
|
||||||
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.h2.store.fs.FileUtils;
|
||||||
|
import org.junit.AfterClass;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
|
||||||
|
import acceptance.AbstractAccTest;
|
||||||
|
import pro.taskana.Attachment;
|
||||||
|
import pro.taskana.Task;
|
||||||
|
import pro.taskana.TaskService;
|
||||||
|
import pro.taskana.exceptions.AttachmentPersistenceException;
|
||||||
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
|
import pro.taskana.exceptions.ConcurrencyException;
|
||||||
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
|
import pro.taskana.exceptions.InvalidWorkbasketException;
|
||||||
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
|
import pro.taskana.exceptions.TaskNotFoundException;
|
||||||
|
import pro.taskana.exceptions.WorkbasketNotFoundException;
|
||||||
|
import pro.taskana.impl.AttachmentImpl;
|
||||||
|
import pro.taskana.impl.TaskImpl;
|
||||||
|
import pro.taskana.security.JAASRunner;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Acceptance test for the usecase of adding/removing an attachment of a task and update the result correctly.
|
||||||
|
*/
|
||||||
|
@RunWith(JAASRunner.class)
|
||||||
|
public class UpdateTaskAttachmentsAccTest extends AbstractAccTest {
|
||||||
|
|
||||||
|
private Task task;
|
||||||
|
private Attachment attachment;
|
||||||
|
TaskService taskService;
|
||||||
|
|
||||||
|
public UpdateTaskAttachmentsAccTest() {
|
||||||
|
super();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Before
|
||||||
|
public void setUpMethod()
|
||||||
|
throws TaskNotFoundException, ClassificationNotFoundException, NotAuthorizedException, SQLException,
|
||||||
|
WorkbasketNotFoundException, InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
taskService = taskanaEngine.getTaskService();
|
||||||
|
task = taskService.getTask("TKI:000000000000000000000000000000000000");
|
||||||
|
attachment = createAttachment("DOCTYPE_DEFAULT",
|
||||||
|
createObjectReference("COMPANY_A", "SYSTEM_B", "INSTANCE_B", "ArchiveId",
|
||||||
|
"12345678901234567890123456789012345678901234567890"),
|
||||||
|
"E-MAIL", "2018-01-15", createSimpleCustomProperties(3));
|
||||||
|
task.getAttachments().clear();
|
||||||
|
taskService.updateTask(task);
|
||||||
|
assertThat(task, not(equalTo(null)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddNewAttachment()
|
||||||
|
throws TaskNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
||||||
|
WorkbasketNotFoundException, InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
int attachmentCount = task.getAttachments().size();
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount + 1));
|
||||||
|
assertThat(task.getAttachments().get(0).getClassificationSummary().getKey(), equalTo("DOCTYPE_DEFAULT"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = AttachmentPersistenceException.class)
|
||||||
|
public void testAddNewAttachmentTwiceWithoutTaskanaMethodWillThrowAttachmentPersistenceException()
|
||||||
|
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
||||||
|
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
int attachmentCount = 0;
|
||||||
|
task.getAttachments().clear();
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount));
|
||||||
|
|
||||||
|
AttachmentImpl attachment = (AttachmentImpl) this.attachment;
|
||||||
|
attachment.setId("TAI:000017");
|
||||||
|
task.getAttachments().add(attachment);
|
||||||
|
task.getAttachments().add(attachment);
|
||||||
|
task.getAttachments().add(attachment);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddExistingAttachmentAgainWillUpdateWhenNotEqual()
|
||||||
|
throws TaskNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
||||||
|
WorkbasketNotFoundException, InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
// Add attachment before
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
int attachmentCount = task.getAttachments().size();
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount + 1));
|
||||||
|
|
||||||
|
// Change sth. and add same (id) again - override/update
|
||||||
|
String newChannel = "UPDATED EXTERNAL SINCE LAST ADD";
|
||||||
|
attachmentCount = task.getAttachments().size();
|
||||||
|
Attachment updatedAttachment = task.getAttachments().get(0);
|
||||||
|
updatedAttachment.setChannel(newChannel);
|
||||||
|
task.addAttachment(updatedAttachment);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount));
|
||||||
|
assertThat(task.getAttachments().get(0).getChannel(), equalTo(newChannel));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddExistingAttachmentAgainWillDoNothingWhenEqual()
|
||||||
|
throws TaskNotFoundException, ClassificationNotFoundException, NotAuthorizedException,
|
||||||
|
WorkbasketNotFoundException, InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
// Add Attachment before
|
||||||
|
int attachmentCount = task.getAttachments().size();
|
||||||
|
((AttachmentImpl) attachment).setId("TAI:0001");
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
task.addAttachment(attachment); // overwrite, same id
|
||||||
|
task.addAttachment(attachment); // overwrite, same id
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount + 1));
|
||||||
|
|
||||||
|
// Add same again - ignored
|
||||||
|
attachmentCount = task.getAttachments().size();
|
||||||
|
Attachment redundantAttachment = task.getAttachments().get(0);
|
||||||
|
task.addAttachment(redundantAttachment);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddAttachmentAsNullValueWillBeIgnored()
|
||||||
|
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
||||||
|
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
// Try to add a single NULL-Element
|
||||||
|
int attachmentCount = task.getAttachments().size();
|
||||||
|
task.addAttachment(null);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount));
|
||||||
|
|
||||||
|
// Try to set the Attachments to NULL and update it
|
||||||
|
((TaskImpl) task).setAttachments(null);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // locally, not persisted
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // persisted values not changed
|
||||||
|
|
||||||
|
// Test no NullPointer on NULL-Value and removing it on current data.
|
||||||
|
// New loading can do this, but returned value should got this "function", too.
|
||||||
|
attachmentCount = task.getAttachments().size();
|
||||||
|
task.getAttachments().add(null);
|
||||||
|
task.getAttachments().add(null);
|
||||||
|
task.getAttachments().add(null);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // locally, not persisted
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // persisted values not changed
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRemoveAttachment()
|
||||||
|
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
||||||
|
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
|
||||||
|
int attachmentCount = task.getAttachments().size();
|
||||||
|
Attachment attachmentToRemove = task.getAttachments().get(0);
|
||||||
|
task.removeAttachment(attachmentToRemove.getId());
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount - 1)); // locally, removed and not persisted
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount - 1)); // persisted, values removed
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRemoveAttachmentWithNullAndNotAddedId()
|
||||||
|
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
||||||
|
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
int attachmentCount = task.getAttachments().size();
|
||||||
|
|
||||||
|
task.removeAttachment(null);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // locally, nothing changed
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // persisted, still same
|
||||||
|
|
||||||
|
task.removeAttachment("INVALID ID HERE");
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // locally, nothing changed
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount)); // persisted, still same
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateAttachment()
|
||||||
|
throws TaskNotFoundException, WorkbasketNotFoundException, ClassificationNotFoundException,
|
||||||
|
InvalidArgumentException, ConcurrencyException, InvalidWorkbasketException, NotAuthorizedException,
|
||||||
|
AttachmentPersistenceException {
|
||||||
|
((TaskImpl) task).setAttachments(new ArrayList<>());
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
|
||||||
|
Attachment attachment = this.attachment;
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
int attachmentCount = task.getAttachments().size();
|
||||||
|
|
||||||
|
String newChannel = attachment.getChannel() + "-X";
|
||||||
|
task.getAttachments().get(0).setChannel(newChannel);
|
||||||
|
task = taskService.updateTask(task);
|
||||||
|
task = taskService.getTask(task.getId());
|
||||||
|
assertThat(task.getAttachments().size(), equalTo(attachmentCount));
|
||||||
|
assertThat(task.getAttachments().get(0).getChannel(), equalTo(newChannel));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterClass
|
||||||
|
public static void cleanUpClass() {
|
||||||
|
FileUtils.deleteRecursive("~/data", true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -113,6 +113,7 @@ public class ClassificationServiceImplTest {
|
||||||
|
|
||||||
classification = cutSpy.createClassification(classification);
|
classification = cutSpy.createClassification(classification);
|
||||||
|
|
||||||
|
Thread.sleep(10L);
|
||||||
verify(taskanaEngineImplMock, times(2)).openConnection();
|
verify(taskanaEngineImplMock, times(2)).openConnection();
|
||||||
verify(classificationMapperMock, times(1)).findByKeyAndDomain(key, domain);
|
verify(classificationMapperMock, times(1)).findByKeyAndDomain(key, domain);
|
||||||
verify(classificationMapperMock, times(1)).findByKeyAndDomain(key, "");
|
verify(classificationMapperMock, times(1)).findByKeyAndDomain(key, "");
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.impl;
|
package pro.taskana.impl;
|
||||||
|
|
||||||
|
import pro.taskana.Attachment;
|
||||||
import pro.taskana.model.ObjectReference;
|
import pro.taskana.model.ObjectReference;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -28,4 +29,15 @@ public final class JunitHelper {
|
||||||
return objRef;
|
return objRef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Attachment createDefaultAttachment() {
|
||||||
|
return createAttachment("TAI:000", "CHANNEL", createDefaultObjRef());
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Attachment createAttachment(String id, String channel, ObjectReference objectReference) {
|
||||||
|
AttachmentImpl attachment = new AttachmentImpl();
|
||||||
|
attachment.setChannel(channel);
|
||||||
|
attachment.setId(id);
|
||||||
|
attachment.setObjectReference(objectReference);
|
||||||
|
return attachment;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,101 @@
|
||||||
|
package pro.taskana.impl;
|
||||||
|
|
||||||
|
import static org.hamcrest.core.IsEqual.equalTo;
|
||||||
|
import static org.junit.Assert.assertThat;
|
||||||
|
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.junit.runner.RunWith;
|
||||||
|
import org.mockito.InjectMocks;
|
||||||
|
import org.mockito.junit.MockitoJUnitRunner;
|
||||||
|
|
||||||
|
import pro.taskana.Attachment;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unit Test for methods needed fot attachment at TaskImpl.<br>
|
||||||
|
* This test should test every interaction with Attachments, which means adding, removing, nulling them.
|
||||||
|
*/
|
||||||
|
@RunWith(MockitoJUnitRunner.class)
|
||||||
|
public class TaskAttachmentTest {
|
||||||
|
|
||||||
|
@InjectMocks
|
||||||
|
private TaskImpl cut;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddAttachmentWithValidValue() {
|
||||||
|
Attachment attachment1 = createAttachment("ID1", "taskId1");
|
||||||
|
Attachment attachment2 = createAttachment("ID2", "taskId1");
|
||||||
|
Attachment attachment3 = createAttachment("ID3", "taskId1");
|
||||||
|
|
||||||
|
cut.addAttachment(attachment1);
|
||||||
|
cut.addAttachment(attachment2);
|
||||||
|
cut.addAttachment(attachment3);
|
||||||
|
|
||||||
|
assertThat(cut.getAttachments().size(), equalTo(3));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddNullValue() {
|
||||||
|
Attachment attachment1 = createAttachment("ID1", "taskId1");
|
||||||
|
Attachment attachment2 = null;
|
||||||
|
|
||||||
|
cut.addAttachment(attachment1);
|
||||||
|
cut.addAttachment(attachment2);
|
||||||
|
|
||||||
|
assertThat(cut.getAttachments().size(), equalTo(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testAddSameTwice() {
|
||||||
|
// Same values, not same REF. Important.
|
||||||
|
Attachment attachment1 = createAttachment("ID1", "taskId1");
|
||||||
|
Attachment attachment2 = createAttachment("ID1", "taskId1");
|
||||||
|
|
||||||
|
cut.addAttachment(attachment1);
|
||||||
|
cut.addAttachment(attachment2);
|
||||||
|
|
||||||
|
assertThat(cut.getAttachments().size(), equalTo(1));
|
||||||
|
|
||||||
|
// Check with not same vlaues (same ID)
|
||||||
|
String newChannel = "I will overwrite the other!";
|
||||||
|
attachment1.setChannel(newChannel);
|
||||||
|
cut.addAttachment(attachment1);
|
||||||
|
assertThat(cut.getAttachments().size(), equalTo(1));
|
||||||
|
assertThat(cut.getAttachments().get(0).getChannel(), equalTo(newChannel));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRemoveAttachment() {
|
||||||
|
// Testing normal way
|
||||||
|
Attachment attachment1 = createAttachment("ID1", "taskId1");
|
||||||
|
Attachment attachment2 = createAttachment("ID2", "taskId1");
|
||||||
|
cut.addAttachment(attachment1);
|
||||||
|
cut.addAttachment(attachment2);
|
||||||
|
|
||||||
|
Attachment actual = cut.removeAttachment(attachment2.getId());
|
||||||
|
|
||||||
|
assertThat(cut.getAttachments().size(), equalTo(1));
|
||||||
|
assertThat(actual, equalTo(attachment2));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testRemoveLoopStopsAtResult() {
|
||||||
|
Attachment attachment1 = createAttachment("ID2", "taskId1");
|
||||||
|
// adding same uncommon way to test that the loop will stop.
|
||||||
|
cut.getAttachments().add(attachment1);
|
||||||
|
cut.getAttachments().add(attachment1);
|
||||||
|
cut.getAttachments().add(attachment1);
|
||||||
|
assertThat(cut.getAttachments().size(), equalTo(3));
|
||||||
|
|
||||||
|
Attachment actual = cut.removeAttachment(attachment1.getId());
|
||||||
|
|
||||||
|
assertThat(cut.getAttachments().size(), equalTo(2));
|
||||||
|
assertThat(actual, equalTo(attachment1));
|
||||||
|
}
|
||||||
|
|
||||||
|
private Attachment createAttachment(String id, String taskId) {
|
||||||
|
AttachmentImpl attachment = new AttachmentImpl();
|
||||||
|
attachment.setId(id);
|
||||||
|
attachment.setTaskId(taskId);
|
||||||
|
return attachment;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -19,6 +19,7 @@ import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.exceptions.PersistenceException;
|
||||||
import org.apache.ibatis.session.SqlSession;
|
import org.apache.ibatis.session.SqlSession;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Ignore;
|
import org.junit.Ignore;
|
||||||
|
|
@ -33,6 +34,7 @@ import org.powermock.core.classloader.annotations.PowerMockIgnore;
|
||||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||||
import org.powermock.modules.junit4.PowerMockRunner;
|
import org.powermock.modules.junit4.PowerMockRunner;
|
||||||
|
|
||||||
|
import pro.taskana.Attachment;
|
||||||
import pro.taskana.Classification;
|
import pro.taskana.Classification;
|
||||||
import pro.taskana.ClassificationSummary;
|
import pro.taskana.ClassificationSummary;
|
||||||
import pro.taskana.Task;
|
import pro.taskana.Task;
|
||||||
|
|
@ -40,13 +42,16 @@ import pro.taskana.TaskSummary;
|
||||||
import pro.taskana.Workbasket;
|
import pro.taskana.Workbasket;
|
||||||
import pro.taskana.WorkbasketService;
|
import pro.taskana.WorkbasketService;
|
||||||
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
import pro.taskana.configuration.TaskanaEngineConfiguration;
|
||||||
|
import pro.taskana.exceptions.AttachmentPersistenceException;
|
||||||
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
import pro.taskana.exceptions.ClassificationAlreadyExistException;
|
||||||
import pro.taskana.exceptions.ClassificationNotFoundException;
|
import pro.taskana.exceptions.ClassificationNotFoundException;
|
||||||
|
import pro.taskana.exceptions.ConcurrencyException;
|
||||||
import pro.taskana.exceptions.InvalidArgumentException;
|
import pro.taskana.exceptions.InvalidArgumentException;
|
||||||
import pro.taskana.exceptions.InvalidOwnerException;
|
import pro.taskana.exceptions.InvalidOwnerException;
|
||||||
import pro.taskana.exceptions.InvalidStateException;
|
import pro.taskana.exceptions.InvalidStateException;
|
||||||
import pro.taskana.exceptions.InvalidWorkbasketException;
|
import pro.taskana.exceptions.InvalidWorkbasketException;
|
||||||
import pro.taskana.exceptions.NotAuthorizedException;
|
import pro.taskana.exceptions.NotAuthorizedException;
|
||||||
|
import pro.taskana.exceptions.SystemException;
|
||||||
import pro.taskana.exceptions.TaskAlreadyExistException;
|
import pro.taskana.exceptions.TaskAlreadyExistException;
|
||||||
import pro.taskana.exceptions.TaskNotFoundException;
|
import pro.taskana.exceptions.TaskNotFoundException;
|
||||||
import pro.taskana.exceptions.WorkbasketNotFoundException;
|
import pro.taskana.exceptions.WorkbasketNotFoundException;
|
||||||
|
|
@ -1010,6 +1015,160 @@ public class TaskServiceImplTest {
|
||||||
assertThat(actualResultList.size(), equalTo(expectedResultList.size()));
|
assertThat(actualResultList.size(), equalTo(expectedResultList.size()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateTaskAddingValidAttachment() throws TaskNotFoundException, SystemException,
|
||||||
|
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidArgumentException, ConcurrencyException,
|
||||||
|
InvalidWorkbasketException, NotAuthorizedException, AttachmentPersistenceException {
|
||||||
|
Classification classification = createDummyClassification();
|
||||||
|
Workbasket wb = createWorkbasket("WB-ID", "WB-Key");
|
||||||
|
Attachment attachment = JunitHelper.createDefaultAttachment();
|
||||||
|
ObjectReference objectReference = JunitHelper.createDefaultObjRef();
|
||||||
|
TaskImpl taskBeforeAttachment = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
TaskImpl task = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
task.setPrimaryObjRef(objectReference);
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
taskBeforeAttachment.setModified(null);
|
||||||
|
taskBeforeAttachment.setCreated(Instant.now());
|
||||||
|
task.setModified(null);
|
||||||
|
task.setCreated(taskBeforeAttachment.getCreated());
|
||||||
|
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
||||||
|
doReturn(taskBeforeAttachment).when(cutSpy).getTask(task.getId());
|
||||||
|
|
||||||
|
Task actualTask = cutSpy.updateTask(task);
|
||||||
|
|
||||||
|
verify(taskanaEngineImpl, times(1)).openConnection();
|
||||||
|
verify(cutSpy, times(1)).getTask(task.getId());
|
||||||
|
verify(attachmentMapperMock, times(1)).insert(((AttachmentImpl) attachment));
|
||||||
|
verify(taskanaEngineImpl, times(1)).returnConnection();
|
||||||
|
assertThat(actualTask.getAttachments().size(), equalTo(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateTaskAddingValidAttachmentTwice() throws TaskNotFoundException, SystemException,
|
||||||
|
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidArgumentException, ConcurrencyException,
|
||||||
|
InvalidWorkbasketException, NotAuthorizedException, AttachmentPersistenceException {
|
||||||
|
Classification classification = createDummyClassification();
|
||||||
|
Workbasket wb = createWorkbasket("WB-ID", "WB-Key");
|
||||||
|
Attachment attachment = JunitHelper.createDefaultAttachment();
|
||||||
|
ObjectReference objectReference = JunitHelper.createDefaultObjRef();
|
||||||
|
TaskImpl taskBeforeAttachment = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
TaskImpl task = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
taskBeforeAttachment.setModified(null);
|
||||||
|
taskBeforeAttachment.setCreated(Instant.now());
|
||||||
|
task.setModified(null);
|
||||||
|
task.setCreated(taskBeforeAttachment.getCreated());
|
||||||
|
task.setPrimaryObjRef(objectReference);
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
task.addAttachment(attachment);
|
||||||
|
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
||||||
|
doReturn(taskBeforeAttachment).when(cutSpy).getTask(task.getId());
|
||||||
|
|
||||||
|
Task actualTask = cutSpy.updateTask(task);
|
||||||
|
|
||||||
|
verify(taskanaEngineImpl, times(1)).openConnection();
|
||||||
|
verify(cutSpy, times(1)).getTask(task.getId());
|
||||||
|
verify(attachmentMapperMock, times(1)).insert(((AttachmentImpl) attachment));
|
||||||
|
verify(taskanaEngineImpl, times(1)).returnConnection();
|
||||||
|
assertThat(actualTask.getAttachments().size(), equalTo(1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test(expected = AttachmentPersistenceException.class)
|
||||||
|
public void testUpdateTaskAddingAttachmentWithSameIdForcedUsingingListMethod()
|
||||||
|
throws TaskNotFoundException, SystemException,
|
||||||
|
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidArgumentException, ConcurrencyException,
|
||||||
|
InvalidWorkbasketException, NotAuthorizedException, AttachmentPersistenceException {
|
||||||
|
Classification classification = createDummyClassification();
|
||||||
|
Workbasket wb = createWorkbasket("WB-ID", "WB-Key");
|
||||||
|
Attachment attachment = JunitHelper.createDefaultAttachment();
|
||||||
|
ObjectReference objectReference = JunitHelper.createDefaultObjRef();
|
||||||
|
TaskImpl taskBeforeAttachment = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
TaskImpl task = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
taskBeforeAttachment.setModified(null);
|
||||||
|
taskBeforeAttachment.setCreated(Instant.now());
|
||||||
|
task.setModified(null);
|
||||||
|
task.setCreated(taskBeforeAttachment.getCreated());
|
||||||
|
task.setPrimaryObjRef(objectReference);
|
||||||
|
task.setAttachments(new ArrayList<>());
|
||||||
|
task.getAttachments().add(attachment);
|
||||||
|
task.getAttachments().add(attachment);
|
||||||
|
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
||||||
|
doReturn(taskBeforeAttachment).when(cutSpy).getTask(task.getId());
|
||||||
|
doThrow(PersistenceException.class).when(attachmentMapperMock).insert(any());
|
||||||
|
|
||||||
|
try {
|
||||||
|
cutSpy.updateTask(task);
|
||||||
|
} catch (AttachmentPersistenceException e) {
|
||||||
|
verify(taskanaEngineImpl, times(1)).openConnection();
|
||||||
|
verify(cutSpy, times(1)).getTask(task.getId());
|
||||||
|
verify(attachmentMapperMock, times(1)).insert(((AttachmentImpl) attachment));
|
||||||
|
verify(taskanaEngineImpl, times(1)).returnConnection();
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateTaskUpdateAttachment() throws TaskNotFoundException, SystemException,
|
||||||
|
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidArgumentException, ConcurrencyException,
|
||||||
|
InvalidWorkbasketException, NotAuthorizedException, AttachmentPersistenceException {
|
||||||
|
String channelUpdate = "OTHER CHANNEL";
|
||||||
|
Classification classification = createDummyClassification();
|
||||||
|
Workbasket wb = createWorkbasket("WB-ID", "WB-Key");
|
||||||
|
Attachment attachment = JunitHelper.createDefaultAttachment();
|
||||||
|
Attachment attachmentToUpdate = JunitHelper.createDefaultAttachment();
|
||||||
|
attachmentToUpdate.setChannel(channelUpdate);
|
||||||
|
ObjectReference objectReference = JunitHelper.createDefaultObjRef();
|
||||||
|
TaskImpl taskBefore = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
taskBefore.addAttachment(attachment);
|
||||||
|
TaskImpl task = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
taskBefore.setModified(null);
|
||||||
|
taskBefore.setCreated(Instant.now());
|
||||||
|
task.setModified(null);
|
||||||
|
task.setCreated(taskBefore.getCreated());
|
||||||
|
task.addAttachment(taskBefore.getAttachments().get(0));
|
||||||
|
task.setPrimaryObjRef(objectReference);
|
||||||
|
task.addAttachment(attachmentToUpdate); // should override old one and differ at comparison
|
||||||
|
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
||||||
|
doReturn(taskBefore).when(cutSpy).getTask(task.getId());
|
||||||
|
|
||||||
|
Task actualTask = cutSpy.updateTask(task);
|
||||||
|
|
||||||
|
verify(taskanaEngineImpl, times(1)).openConnection();
|
||||||
|
verify(cutSpy, times(1)).getTask(task.getId());
|
||||||
|
verify(attachmentMapperMock, times(1)).update(((AttachmentImpl) attachmentToUpdate));
|
||||||
|
verify(taskanaEngineImpl, times(1)).returnConnection();
|
||||||
|
assertThat(actualTask.getAttachments().size(), equalTo(1));
|
||||||
|
assertThat(actualTask.getAttachments().get(0).getChannel(), equalTo(channelUpdate));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testUpdateTaskRemovingAttachment() throws TaskNotFoundException, SystemException,
|
||||||
|
WorkbasketNotFoundException, ClassificationNotFoundException, InvalidArgumentException, ConcurrencyException,
|
||||||
|
InvalidWorkbasketException, NotAuthorizedException, AttachmentPersistenceException {
|
||||||
|
Classification classification = createDummyClassification();
|
||||||
|
Workbasket wb = createWorkbasket("WB-ID", "WB-Key");
|
||||||
|
Attachment attachment = JunitHelper.createDefaultAttachment();
|
||||||
|
ObjectReference objectReference = JunitHelper.createDefaultObjRef();
|
||||||
|
TaskImpl taskBefore = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
taskBefore.setPrimaryObjRef(objectReference);
|
||||||
|
taskBefore.addAttachment(attachment);
|
||||||
|
TaskImpl task = createUnitTestTask("ID", "taskName", wb.getKey(), classification);
|
||||||
|
task.setPrimaryObjRef(objectReference);
|
||||||
|
taskBefore.setModified(null);
|
||||||
|
taskBefore.setCreated(Instant.now());
|
||||||
|
task.setModified(null);
|
||||||
|
task.setCreated(taskBefore.getCreated());
|
||||||
|
TaskServiceImpl cutSpy = Mockito.spy(cut);
|
||||||
|
doReturn(taskBefore).when(cutSpy).getTask(task.getId());
|
||||||
|
|
||||||
|
Task actualTask = cutSpy.updateTask(task);
|
||||||
|
|
||||||
|
verify(taskanaEngineImpl, times(1)).openConnection();
|
||||||
|
verify(cutSpy, times(1)).getTask(task.getId());
|
||||||
|
verify(attachmentMapperMock, times(1)).deleteAttachment(attachment.getId());
|
||||||
|
verify(taskanaEngineImpl, times(1)).returnConnection();
|
||||||
|
assertThat(actualTask.getAttachments().size(), equalTo(0));
|
||||||
|
}
|
||||||
|
|
||||||
private TaskImpl createUnitTestTask(String id, String name, String workbasketKey, Classification classification) {
|
private TaskImpl createUnitTestTask(String id, String name, String workbasketKey, Classification classification) {
|
||||||
TaskImpl task = new TaskImpl();
|
TaskImpl task = new TaskImpl();
|
||||||
task.setId(id);
|
task.setId(id);
|
||||||
|
|
|
||||||
|
|
@ -180,6 +180,8 @@ public class TaskServiceImplIntExplicitTest {
|
||||||
TaskanaEngine te = taskanaEngineConfiguration.buildTaskanaEngine();
|
TaskanaEngine te = taskanaEngineConfiguration.buildTaskanaEngine();
|
||||||
Connection connection = ds.getConnection();
|
Connection connection = ds.getConnection();
|
||||||
te.setConnection(connection);
|
te.setConnection(connection);
|
||||||
|
DBCleaner cleaner = new DBCleaner();
|
||||||
|
cleaner.clearDb(ds, false);
|
||||||
TaskServiceImpl taskServiceImpl = (TaskServiceImpl) te.getTaskService();
|
TaskServiceImpl taskServiceImpl = (TaskServiceImpl) te.getTaskService();
|
||||||
WorkbasketServiceImpl workBasketServiceImpl = (WorkbasketServiceImpl) te.getWorkbasketService();
|
WorkbasketServiceImpl workBasketServiceImpl = (WorkbasketServiceImpl) te.getWorkbasketService();
|
||||||
ClassificationServiceImpl classificationServiceImpl = (ClassificationServiceImpl) te.getClassificationService();
|
ClassificationServiceImpl classificationServiceImpl = (ClassificationServiceImpl) te.getClassificationService();
|
||||||
|
|
@ -190,7 +192,7 @@ public class TaskServiceImplIntExplicitTest {
|
||||||
workbasket.setName("workbasket99");
|
workbasket.setName("workbasket99");
|
||||||
workbasket.setType(WorkbasketType.GROUP);
|
workbasket.setType(WorkbasketType.GROUP);
|
||||||
workbasket.setDomain("novatec");
|
workbasket.setDomain("novatec");
|
||||||
workBasketServiceImpl.createWorkbasket(workbasket);
|
workbasket = workBasketServiceImpl.createWorkbasket(workbasket);
|
||||||
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
Classification classification = classificationService.newClassification("novatec", "TEST", "t1");
|
||||||
classification = classificationServiceImpl.createClassification(classification);
|
classification = classificationServiceImpl.createClassification(classification);
|
||||||
|
|
||||||
|
|
@ -199,6 +201,7 @@ public class TaskServiceImplIntExplicitTest {
|
||||||
task.setWorkbasketKey(workbasket.getKey());
|
task.setWorkbasketKey(workbasket.getKey());
|
||||||
task.setClassificationKey(classification.getKey());
|
task.setClassificationKey(classification.getKey());
|
||||||
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
|
task.setPrimaryObjRef(JunitHelper.createDefaultObjRef());
|
||||||
|
task.addAttachment(null);
|
||||||
task = taskServiceImpl.createTask(task);
|
task = taskServiceImpl.createTask(task);
|
||||||
|
|
||||||
Assert.assertNotNull(task);
|
Assert.assertNotNull(task);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
package pro.taskana.impl.integration;
|
package pro.taskana.impl.integration;
|
||||||
|
|
||||||
|
import static org.hamcrest.CoreMatchers.equalTo;
|
||||||
|
import static org.junit.Assert.assertThat;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
|
@ -175,7 +177,6 @@ public class WorkbasketServiceImplIntAutocommitTest {
|
||||||
Workbasket foundWorkbasket = workBasketService.getWorkbasket(workbasket.getId());
|
Workbasket foundWorkbasket = workBasketService.getWorkbasket(workbasket.getId());
|
||||||
Assert.assertEquals(id, foundWorkbasket.getId());
|
Assert.assertEquals(id, foundWorkbasket.getId());
|
||||||
Assert.assertEquals(2, foundWorkbasket.getDistributionTargets().size());
|
Assert.assertEquals(2, foundWorkbasket.getDistributionTargets().size());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@WithAccessId(userName = "Elena")
|
@WithAccessId(userName = "Elena")
|
||||||
|
|
@ -262,7 +263,7 @@ public class WorkbasketServiceImplIntAutocommitTest {
|
||||||
@Test
|
@Test
|
||||||
public void testWorkbasketQuery()
|
public void testWorkbasketQuery()
|
||||||
throws NotAuthorizedException, InvalidArgumentException, InvalidWorkbasketException,
|
throws NotAuthorizedException, InvalidArgumentException, InvalidWorkbasketException,
|
||||||
WorkbasketNotFoundException {
|
WorkbasketNotFoundException, InterruptedException {
|
||||||
|
|
||||||
generateSampleDataForQuery();
|
generateSampleDataForQuery();
|
||||||
|
|
||||||
|
|
@ -312,11 +313,12 @@ public class WorkbasketServiceImplIntAutocommitTest {
|
||||||
assertTrue("Basket1".equals(name) || "Basket2".equals(name) || "Basket3".equals(name));
|
assertTrue("Basket1".equals(name) || "Basket2".equals(name) || "Basket3".equals(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Thread.sleep(30L);
|
||||||
WorkbasketQuery query5 = workBasketService.createWorkbasketQuery()
|
WorkbasketQuery query5 = workBasketService.createWorkbasketQuery()
|
||||||
.modifiedAfter(now.minus(Duration.ofDays(31L)))
|
.modifiedAfter(now.minus(Duration.ofDays(31L)))
|
||||||
.modifiedBefore(now.minus(Duration.ofDays(9)));
|
.modifiedBefore(now.minus(Duration.ofDays(9)));
|
||||||
List<WorkbasketSummary> result5 = query5.list();
|
List<WorkbasketSummary> result5 = query5.list();
|
||||||
assertTrue(result5.size() == 4);
|
assertThat(result5.size(), equalTo(4));
|
||||||
for (WorkbasketSummary workbasket : result5) {
|
for (WorkbasketSummary workbasket : result5) {
|
||||||
String name = workbasket.getName();
|
String name = workbasket.getName();
|
||||||
assertTrue(
|
assertTrue(
|
||||||
|
|
@ -338,7 +340,6 @@ public class WorkbasketServiceImplIntAutocommitTest {
|
||||||
String name = workbasket.getName();
|
String name = workbasket.getName();
|
||||||
assertTrue("Basket1".equals(name) || "Basket2".equals(name));
|
assertTrue("Basket1".equals(name) || "Basket2".equals(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void generateSampleDataForQuery()
|
private void generateSampleDataForQuery()
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000008', 'L
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
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', '', '', '', '', '', '', '');
|
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', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000013', 'DOKTYP_DEFAULT', '', 'EXTERN', 'DOCUMENT', '', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000013', 'DOCTYPE_DEFAULT', '', 'EXTERN', 'DOCUMENT', '', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
|
|
||||||
-- DOMAIN_A CLASSIFICATIONS
|
-- 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', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000001', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'OLD-Leistungsfall', 'OLD-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
||||||
|
|
@ -24,7 +24,7 @@ INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000008', 'L
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
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', '', '', '', '', '', '', '');
|
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', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000013', 'DOKTYP_DEFAULT', '', 'EXTERN', 'DOCUMENT', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000013', 'DOCTYPE_DEFAULT', '', 'EXTERN', 'DOCUMENT', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000014', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'BUZ-Leistungsfall', 'BUZ-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000014', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'BUZ-Leistungsfall', 'BUZ-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000016', 'T2000', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin', 'T-Vertragstermin', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000016', 'T2000', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin', 'T-Vertragstermin', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,26 @@
|
||||||
-- TASK TABLE (ID , CREATED , CLAIMED , COMPLETED , modified , planned , due , name , description , note , priority, state , classification_key, workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, custom_attributes, custom1, custom2, custom3, custom4, custom5, custom6, custom7, custom8, custom9, custom10
|
-- TASK TABLE (ID , CREATED , CLAIMED , COMPLETED , modified , planned , due , name , description , note , priority, state , classification_key, workbasket_key, domain , business_process_id, parent_business_process_id, owner , por_company , por_system , por_system_instance, por_type , por_value , is_read, is_transferred, custom_attributes, custom1, custom2, custom3, custom4, custom5, custom6, custom7, custom8, custom9, custom10
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000000', '2018-01-29T15:55:00', '2018-01-30T15:55:00', null , '2018-01-30T15:55:00', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Task99' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , 'CLAIMED' , 'T6310' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000000', '2018-01-29 15:55:00', '2018-01-30 15:55:00', null , '2018-01-30 15:55:00', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task99' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 1 , 'CLAIMED' , 'T6310' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000001', '2018-01-29T15:55:01', '2018-01-30T15:55:00', null , '2018-01-30T15:55:01', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Task01' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 2 , 'CLAIMED' , 'L110102' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000001', '2018-01-29 15:55:01', '2018-01-30 15:55:00', null , '2018-01-30 15:55:01', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task01' , 'Lorem ipsum was n Quatsch dolor sit amet.', 'Some custom Note' , 2 , 'CLAIMED' , 'L110102' , 'USER_1_1' , 'DOMAIN_A', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000002', '2018-01-29T15:55:02', '2018-01-30T15:55:00', null , '2018-01-30T15:55:02', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Task02' , 'Lorem ipsum was n Quatsch t. Aber stimmt.', 'Some custom Note' , 2 , 'CLAIMED' , 'A12' , 'GPK_B_KSC' , 'DOMAIN_B', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000002', '2018-01-29 15:55:02', '2018-01-30 15:55:00', null , '2018-01-30 15:55:02', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Task02' , 'Lorem ipsum was n Quatsch t. Aber stimmt.', 'Some custom Note' , 2 , 'CLAIMED' , 'A12' , 'GPK_B_KSC' , 'DOMAIN_B', 'BPI21' , 'PBPI21' , 'user_1_1' , 'MyCompany1', 'MySystem1', 'MyInstance1' , 'MyType1', 'MyValue1' , true , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000003', '2018-01-29T15:55:03', null , null , '2018-01-29T15:55:03', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000003' , 'DOC_0000000000000000003' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000003', '2018-01-29 15:55:03', null , null , '2018-01-29 15:55:03', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000003' , 'DOC_0000000000000000003' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000004', '2018-01-29T15:55:04', null , null , '2018-01-29T15:55:04', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000004' , 'DOC_0000000000000000004' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000004', '2018-01-29 15:55:04', null , null , '2018-01-29 15:55:04', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000004' , 'DOC_0000000000000000004' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000005', '2018-01-29T15:55:05', null , null , '2018-01-29T15:55:05', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000005' , 'DOC_0000000000000000005' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000005', '2018-01-29 15:55:05', null , null , '2018-01-29 15:55:05', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000005' , 'DOC_0000000000000000005' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000006', '2018-01-29T15:55:06', null , null , '2018-01-29T15:55:06', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000006' , 'DOC_0000000000000000006' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000006', '2018-01-29 15:55:06', null , null , '2018-01-29 15:55:06', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000006' , 'DOC_0000000000000000006' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000007', '2018-01-29T15:55:07', null , null , '2018-01-29T15:55:07', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000007' , 'DOC_0000000000000000007' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000007', '2018-01-29 15:55:07', null , null , '2018-01-29 15:55:07', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000007' , 'DOC_0000000000000000007' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000008', '2018-01-29T15:55:08', null , null , '2018-01-29T15:55:08', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000008' , 'DOC_0000000000000000008' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000008', '2018-01-29 15:55:08', null , null , '2018-01-29 15:55:08', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000008' , 'DOC_0000000000000000008' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000009', '2018-01-29T15:55:09', null , null , '2018-01-29T15:55:09', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000009' , 'DOC_0000000000000000009' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000009', '2018-01-29 15:55:09', null , null , '2018-01-29 15:55:09', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000009' , 'DOC_0000000000000000009' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000010', '2018-01-29T15:55:10', null , null , '2018-01-29T15:55:10', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000010' , 'DOC_0000000000000000010' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000010', '2018-01-29 15:55:10', null , null , '2018-01-29 15:55:10', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000010' , 'DOC_0000000000000000010' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000011', '2018-01-29T15:55:11', null , null , '2018-01-29T15:55:11', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000011' , 'DOC_0000000000000000011' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000011', '2018-01-29 15:55:11', null , null , '2018-01-29 15:55:11', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000011' , 'DOC_0000000000000000011' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000012', '2018-01-29T15:55:12', null , null , '2018-01-29T15:55:12', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000012' , 'DOC_0000000000000000012' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000012', '2018-01-29 15:55:12', null , null , '2018-01-29 15:55:12', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000012' , 'DOC_0000000000000000012' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000013', '2018-01-29T15:55:13', null , null , '2018-01-29T15:55:13', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000013' , 'DOC_0000000000000000013' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000013', '2018-01-29 15:55:13', null , null , '2018-01-29 15:55:13', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000013' , 'DOC_0000000000000000013' , null , '00' , 'PASystem' , '00' , 'VNR' , '22334455' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000014', '2018-01-29T15:55:14', null , null , '2018-01-29T15:55:14', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000014' , 'DOC_0000000000000000014' , null , '00' , 'PASystem' , '00' , 'VNR' , '12345678' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000014', '2018-01-29 15:55:14', null , null , '2018-01-29 15:55:14', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000014' , 'DOC_0000000000000000014' , null , '00' , 'PASystem' , '00' , 'VNR' , '12345678' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000015', '2018-01-29T15:55:15', null , null , '2018-01-29T15:55:15', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000015' , 'DOC_0000000000000000015' , null , '00' , 'PASystem' , '00' , 'VNR' , '23456789' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000015', '2018-01-29 15:55:15', null , null , '2018-01-29 15:55:15', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000015' , 'DOC_0000000000000000015' , null , '00' , 'PASystem' , '00' , 'VNR' , '23456789' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000016', '2018-01-29T15:55:16', null , null , '2018-01-29T15:55:16', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000016' , 'DOC_0000000000000000016' , null , '00' , 'PASystem' , '00' , 'VNR' , '34567890' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000016', '2018-01-29 15:55:16', null , null , '2018-01-29 15:55:16', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000016' , 'DOC_0000000000000000016' , null , '00' , 'PASystem' , '00' , 'VNR' , '34567890' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000017', '2018-01-29T15:55:17', null , null , '2018-01-29T15:55:17', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000017' , 'DOC_0000000000000000017' , null , '00' , 'PASystem' , '00' , 'VNR' , '45678901' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000017', '2018-01-29 15:55:17', null , null , '2018-01-29 15:55:17', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000017' , 'DOC_0000000000000000017' , null , '00' , 'PASystem' , '00' , 'VNR' , '45678901' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000018', '2018-01-29T15:55:18', null , null , '2018-01-29T15:55:18', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000018' , 'DOC_0000000000000000018' , null , '00' , 'PASystem' , '00' , 'VNR' , '56789012' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000018', '2018-01-29 15:55:18', null , null , '2018-01-29 15:55:18', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000018' , 'DOC_0000000000000000018' , null , '00' , 'PASystem' , '00' , 'VNR' , '56789012' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000019', '2018-01-29T15:55:19', null , null , '2018-01-29T15:55:19', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000019' , 'DOC_0000000000000000019' , null , '00' , 'PASystem' , '00' , 'VNR' , '67890123' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000019', '2018-01-29 15:55:19', null , null , '2018-01-29 15:55:19', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000019' , 'DOC_0000000000000000019' , null , '00' , 'PASystem' , '00' , 'VNR' , '67890123' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000020', '2018-01-29T15:55:20', null , null , '2018-01-29T15:55:20', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000020' , 'DOC_0000000000000000020' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000020', '2018-01-29 15:55:20', null , null , '2018-01-29 15:55:20', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000020' , 'DOC_0000000000000000020' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000021', '2018-01-29T15:55:21', null , null , '2018-01-29T15:55:21', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000021' , 'DOC_0000000000000000021' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000021', '2018-01-29 15:55:21', null , null , '2018-01-29 15:55:21', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000021' , 'DOC_0000000000000000021' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000022', '2018-01-29T15:55:22', null , null , '2018-01-29T15:55:22', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000022' , 'DOC_0000000000000000022' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000022', '2018-01-29 15:55:22', null , null , '2018-01-29 15:55:22', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000022' , 'DOC_0000000000000000022' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000023', '2018-01-29T15:55:23', null , null , '2018-01-29T15:55:23', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000023' , 'DOC_0000000000000000023' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000023', '2018-01-29 15:55:23', null , null , '2018-01-29 15:55:23', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000023' , 'DOC_0000000000000000023' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000024', '2018-01-29T15:55:24', null , null , '2018-01-29T15:55:24', '2018-01-29T15:55:00', '2018-01-30T15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000024' , 'DOC_0000000000000000024' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000024', '2018-01-29 15:55:24', null , null , '2018-01-29 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'READY' , 'L1050' , 'GPK_KSC' , 'DOMAIN_A', 'PI_0000000000024' , 'DOC_0000000000000000024' , null , '00' , 'PASystem' , '00' , 'SDNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000008', 'L
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', '', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
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', '', '', '', '', '', '', '');
|
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', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000013', 'DOKTYP_DEFAULT', '', 'EXTERN', 'DOCUMENT', '', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:000000000000000000000000000000000013', 'DOCTYPE_DEFAULT', '', 'EXTERN', 'DOCUMENT', '', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
|
|
||||||
-- DOMAIN_A CLASSIFICATIONS
|
-- 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', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000001', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'OLD-Leistungsfall', 'OLD-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
||||||
|
|
@ -24,7 +24,7 @@ INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000008', 'L
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000009', 'L140101', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'Zustimmungserklärung', 'Zustimmungserklärung', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000010', 'T2100', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin VERA', 'T-Vertragstermin VERA', 2, 'P2D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
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', '', '', '', '', '', '', '');
|
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', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000013', 'DOKTYP_DEFAULT', '', 'EXTERN', 'DOCUMENT', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000013', 'DOCTYPE_DEFAULT', '', 'EXTERN', 'DOCUMENT', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'EP allgemein', 'EP allgemein', 99, 'P2000D', '', 'VNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000014', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'BUZ-Leistungsfall', 'BUZ-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000014', 'L10000', '', 'EXTERN', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'BUZ-Leistungsfall', 'BUZ-Leistungsfall', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
||||||
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000016', 'T2000', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin', 'T-Vertragstermin', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
INSERT INTO CLASSIFICATION VALUES('CLI:100000000000000000000000000000000016', 'T2000', '', 'MANUAL', 'TASK', 'DOMAIN_A', TRUE, CURRENT_TIMESTAMP, 'T-Vertragstermin', 'T-Vertragstermin', 1, 'P1D', '', 'VNR,RVNR,KOLVNR', '', '', '', '', '', '', '');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ INSERT INTO TASK VALUES('4', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT
|
||||||
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('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.', 'Some custom Note', 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('6', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task6', 'Lorem ipsum dolor sit amet.', 'Some custom Note', 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', '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('7', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task7', 'Lorem ipsum dolor sit amet.', '', 1, 'READY', 'DOCTYPE_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. ', 'Some custom Note', 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('8', CURRENT_TIMESTAMP, null, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task8', 'Lorem ipsum dolor sit amet. ', 'Some custom Note', 1, 'READY', 'DOCTYPE_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('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.', 'Some custom Note', 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('10', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task10', 'Lorem ipsum dolor sit amet.', 'Some custom Note', 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. ', 'Some custom Note', 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('11', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, null, CURRENT_TIMESTAMP, 'Task11', 'Lorem ipsum dolor sit amet. ', 'Some custom Note', 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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue