TSK-70 Query Tasks by various conditions, especially by time intervals

This commit is contained in:
BerndBreier 2018-02-13 10:45:38 +01:00 committed by Marcel Lengl
parent 451d2fc63d
commit ebc198ce99
8 changed files with 2079 additions and 342 deletions

View File

@ -1,6 +1,5 @@
package pro.taskana;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.model.TaskState;
/**
@ -11,31 +10,44 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
/**
* Add your names to your query.
*
* @param name
* @param names
* the names as Strings
* @return the query
*/
TaskQuery nameIn(String... name);
TaskQuery nameIn(String... names);
/**
* Add your name for pattern matching to your query. It will be compared in SQL with the LIKE operator. You may use
* a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param names
* your names
* @return the query
*/
TaskQuery nameLike(String... names);
/**
* Add your description for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern.
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param description
* your description
* @return the query
*/
TaskQuery descriptionLike(String description);
TaskQuery descriptionLike(String... description);
/**
* Add your custom note for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern.
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param note
* your custom note
* @return the query
*/
TaskQuery noteLike(String note);
TaskQuery noteLike(String... note);
/**
* Add your priorities to your query.
@ -58,11 +70,22 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
/**
* Add your classificationKey to your query.
*
* @param classificationKey
* @param classificationKeys
* the classification key
* @return the query
*/
TaskQuery classificationKeyIn(String... classificationKey);
TaskQuery classificationKeyIn(String... classificationKeys);
/**
* Add your classificationKey for pattern matching to your query. It will be compared in SQL with the LIKE operator.
* You may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with
* the OR keyword.
*
* @param classificationKeys
* the classification key
* @return the query
*/
TaskQuery classificationKeyLike(String... classificationKeys);
/**
* Add your workbasket key to the query.
@ -70,19 +93,39 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
* @param workbasketKeys
* the workbasket keys as String
* @return the query
* @throws NotAuthorizedException
* if the user have no rights
*/
TaskQuery workbasketKeyIn(String... workbasketKeys) throws NotAuthorizedException;
TaskQuery workbasketKeyIn(String... workbasketKeys);
/**
* Add your workbasketKey for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param workbasketKeys
* the workbasket keys
* @return the query
*/
TaskQuery workbasketKeyLike(String... workbasketKeys);
/**
* Add your domain to the query.
*
* @param domain
* @param domains
* the domain as String
* @return the query
*/
TaskQuery domainIn(String... domain);
TaskQuery domainIn(String... domains);
/**
* Add your domains for pattern matching to your query. It will be compared in SQL with the LIKE operator. You may
* use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param domains
* the domains of the searched-for workbaskets
* @return the query
*/
TaskQuery domainLike(String... domains);
/**
* Add the owners to your query.
@ -93,6 +136,17 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
*/
TaskQuery ownerIn(String... owners);
/**
* Add the owner for pattern matching to your query. It will be compared in SQL with the LIKE operator. You may use
* a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param owners
* the owners of the searched tasks
* @return the query
*/
TaskQuery ownerLike(String... owners);
/**
* Add the companies of the primary object reference for exact matching to your query.
*
@ -104,13 +158,14 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
/**
* Add the company of the primary object reference for pattern matching to your query. It will be compared in SQL
* with the LIKE operator. You may use a wildcard like % to specify the pattern.
* with the LIKE operator. You may use a wildcard like % to specify the pattern. If you specify multiple arguments
* they are combined with the OR keyword.
*
* @param company
* the company of your primary object reference
* @return the query
*/
TaskQuery primaryObjectReferenceCompanyLike(String company);
TaskQuery primaryObjectReferenceCompanyLike(String... company);
/**
* Add the systems of the primary object reference for exact matching to your query.
@ -123,13 +178,14 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
/**
* Add the system of the primary object reference for pattern matching to your query. It will be compared in SQL
* with the LIKE operator. You may use a wildcard like % to specify the pattern.
* with the LIKE operator. You may use a wildcard like % to specify the pattern. If you specify multiple arguments
* they are combined with the OR keyword.
*
* @param system
* @param systems
* the system of your primary object reference
* @return the query
*/
TaskQuery primaryObjectReferenceSystemLike(String system);
TaskQuery primaryObjectReferenceSystemLike(String... systems);
/**
* Add the system instances of the primary object reference for exact matching to your query.
@ -142,13 +198,14 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
/**
* Add the system instance of the primary object reference for pattern matching to your query. It will be compared
* in SQL with the LIKE operator. You may use a wildcard like % to specify the pattern.
* in SQL with the LIKE operator. You may use a wildcard like % to specify the pattern. If you specify multiple
* arguments they are combined with the OR keyword.
*
* @param systemInstance
* the system instance of your primary object reference
* @param systemInstances
* the system instances of your primary object reference
* @return the query
*/
TaskQuery primaryObjectReferenceSystemInstanceLike(String systemInstance);
TaskQuery primaryObjectReferenceSystemInstanceLike(String... systemInstances);
/**
* Add the types of the primary object reference for exact matching to your query.
@ -161,13 +218,25 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
/**
* Add the type of the primary object reference for pattern matching to your query. It will be compared in SQL with
* the LIKE operator. You may use a wildcard like % to specify the pattern.
* the LIKE operator. You may use a wildcard like % to specify the pattern. If you specify multiple arguments they
* are combined with the OR keyword.
*
* @param type
* the type of your primary object reference
* @param types
* the types of your primary object reference
* @return the query
*/
TaskQuery primaryObjectReferenceTypeLike(String type);
TaskQuery primaryObjectReferenceTypeLike(String... types);
/**
* Add the value of the primary object reference for pattern matching to your query. It will be compared in SQL with
* the LIKE operator. You may use a wildcard like % to specify the pattern. If you specify multiple arguments they
* are combined with the OR keyword.
*
* @param values
* the values of your primary object reference
* @return the query
*/
TaskQuery primaryObjectReferenceValueLike(String... values);
/**
* Add the values of the primary object reference for exact matching to your query.
@ -179,14 +248,76 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
TaskQuery primaryObjectReferenceValueIn(String... values);
/**
* Add the value of the primary object reference for pattern matching to your query. It will be compared in SQL with
* the LIKE operator. You may use a wildcard like % to specify the pattern.
* Add the time intervals within which the task was created to your query. For each time interval, the database
* query will search for tasks whose created timestamp is after or at the interval's begin and before or at the
* interval's end. If more than one interval is specified, the query will connect them with the OR keyword. If
* either begin or end of an interval are null, these values will not be specified in the query.
*
* @param value
* the value of your primary object reference
* @param intervals
* - the TimeIntervals within which the task was created
* @return the query
*/
TaskQuery primaryObjectReferenceValueLike(String value);
TaskQuery createdWithin(TimeInterval... intervals);
/**
* Add the time intervals within which the task was claimed to your query. For each time interval, the database
* query will search for tasks whose claimed timestamp is after or at the interval's begin and before or at the
* interval's end. If more than one interval is specified, the query will connect them with the OR keyword. If
* either begin or end of an interval are null, these values will not be specified in the query.
*
* @param intervals
* - the TimeIntervals within which the task was claimed
* @return the query
*/
TaskQuery claimedWithin(TimeInterval... intervals);
/**
* Add the time intervals within which the task was completed to your query. For each time interval, the database
* query will search for tasks whose completed timestamp is after or at the interval's begin and before or at the
* interval's end. If more than one interval is specified, the query will connect them with the OR keyword. If
* either begin or end of an interval are null, these values will not be specified in the query.
*
* @param intervals
* - the TimeIntervals within which the task was completed
* @return the query
*/
TaskQuery completedWithin(TimeInterval... intervals);
/**
* Add the time intervals within which the task was modified to your query. For each time interval, the database
* query will search for tasks whose modified timestamp is after or at the interval's begin and before or at the
* interval's end. If more than one interval is specified, the query will connect them with the OR keyword. If
* either begin or end of an interval are null, these values will not be specified in the query.
*
* @param intervals
* - the TimeIntervals within which the task was modified
* @return the query
*/
TaskQuery modifiedWithin(TimeInterval... intervals);
/**
* Add the time intervals within which the task is planned to your query. For each time interval, the database query
* will search for tasks whose planned timestamp is after or at the interval's begin and before or at the interval's
* end. If more than one interval is specified, the query will connect them with the OR keyword. If either begin or
* end of an interval are null, these values will not be specified in the query.
*
* @param intervals
* - the TimeIntervals within which the task is planned
* @return the query
*/
TaskQuery plannedWithin(TimeInterval... intervals);
/**
* Add the time intervals within which the task is due to your query. For each time interval, the database query
* will search for tasks whose due timestamp is after or at the interval's begin and before or at the interval's
* end. If more than one interval is specified, the query will connect them with the OR keyword. If either begin or
* end of an interval are null, these values will not be specified in the query.
*
* @param intervals
* - the TimeIntervals within which the task is due
* @return the query
*/
TaskQuery dueWithin(TimeInterval... intervals);
/**
* Add the isRead flag to the query.
@ -206,6 +337,46 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
*/
TaskQuery transferredEquals(Boolean isTransferred);
/**
* Add the parent business process ids for exact matching to your query.
*
* @param parentBusinessProcessIds
* the parent businessProcessIds of the searched for tasks
* @return the query
*/
TaskQuery parentBusinessProcessIdIn(String... parentBusinessProcessIds);
/**
* Add the parent business process id for pattern matching to your query. It will be compared in SQL with the LIKE
* operator. You may use a wildcard like % to specify the pattern. If you specify multiple arguments they are
* combined with the OR keyword.
*
* @param parentBusinessProcessIds
* the parent businessprocess ids of the searched for tasks
* @return the query
*/
TaskQuery parentBusinessProcessIdLike(String... parentBusinessProcessIds);
/**
* Add the business process ids for exact matching to your query.
*
* @param businessProcessIds
* the businessProcessIds of the searched for tasks
* @return the query
*/
TaskQuery businessProcessIdIn(String... businessProcessIds);
/**
* Add the business process id for pattern matching to your query. It will be compared in SQL with the LIKE
* operator. You may use a wildcard like % to specify the pattern. If you specify multiple arguments they are
* combined with the OR keyword.
*
* @param businessProcessIds
* the business process ids of the searched-for tasks
* @return the query
*/
TaskQuery businessProcessIdLike(String... businessProcessIds);
/**
* Filter the custom fields with this query. The scan will be run over all 10 fields.
*
@ -215,6 +386,206 @@ public interface TaskQuery extends BaseQuery<TaskSummary> {
*/
TaskQuery customFieldsIn(String... customFields);
/**
* Add the custom_1 values for exact matching to your query.
*
* @param strings
* the custom_1 values of the searched for tasks
* @return the query
*/
TaskQuery custom1In(String... strings);
/**
* Add the custom_1 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_1 values of the searched-for tasks
* @return the query
*/
TaskQuery custom1Like(String... strings);
/**
* Add the custom_2 values for exact matching to your query.
*
* @param strings
* the custom_2 values of the searched for tasks
* @return the query
*/
TaskQuery custom2In(String... strings);
/**
* Add the custom_2 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_2 values of the searched-for tasks
* @return the query
*/
TaskQuery custom2Like(String... strings);
/**
* Add the custom_3 values for exact matching to your query.
*
* @param strings
* the custom_3 values of the searched for tasks
* @return the query
*/
TaskQuery custom3In(String... strings);
/**
* Add the custom_3 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_3 values of the searched-for tasks
* @return the query
*/
TaskQuery custom3Like(String... strings);
/**
* Add the custom_4 values for exact matching to your query.
*
* @param strings
* the custom_4 values of the searched for tasks
* @return the query
*/
TaskQuery custom4In(String... strings);
/**
* Add the custom_4 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_4 values of the searched-for tasks
* @return the query
*/
TaskQuery custom4Like(String... strings);
/**
* Add the custom_5 values for exact matching to your query.
*
* @param strings
* the custom_5 values of the searched for tasks
* @return the query
*/
TaskQuery custom5In(String... strings);
/**
* Add the custom_5 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_5 values of the searched-for tasks
* @return the query
*/
TaskQuery custom5Like(String... strings);
/**
* Add the custom_6 values for exact matching to your query.
*
* @param strings
* the custom_6 values of the searched for tasks
* @return the query
*/
TaskQuery custom6In(String... strings);
/**
* Add the custom_6 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_6 values of the searched-for tasks
* @return the query
*/
TaskQuery custom6Like(String... strings);
/**
* Add the custom_7 values for exact matching to your query.
*
* @param strings
* the custom_7 values of the searched for tasks
* @return the query
*/
TaskQuery custom7In(String... strings);
/**
* Add the custom_7 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_7 values of the searched-for tasks
* @return the query
*/
TaskQuery custom7Like(String... strings);
/**
* Add the custom_8 values for exact matching to your query.
*
* @param strings
* the custom_8 values of the searched for tasks
* @return the query
*/
TaskQuery custom8In(String... strings);
/**
* Add the custom_8 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_8 values of the searched-for tasks
* @return the query
*/
TaskQuery custom8Like(String... strings);
/**
* Add the custom_9 values for exact matching to your query.
*
* @param strings
* the custom_9 values of the searched for tasks
* @return the query
*/
TaskQuery custom9In(String... strings);
/**
* Add the custom_9 value for pattern matching to your query. It will be compared in SQL with the LIKE operator. You
* may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with the OR
* keyword.
*
* @param strings
* the custom_9 values of the searched-for tasks
* @return the query
*/
TaskQuery custom9Like(String... strings);
/**
* Add the custom_10 values for exact matching to your query.
*
* @param strings
* the custom_10 values of the searched for tasks
* @return the query
*/
TaskQuery custom10In(String... strings);
/**
* Add the custom_10 value for pattern matching to your query. It will be compared in SQL with the LIKE operator.
* You may use a wildcard like % to specify the pattern. If you specify multiple arguments they are combined with
* the OR keyword.
*
* @param strings
* the custom_10 values of the searched-for tasks
* @return the query
*/
TaskQuery custom10Like(String... strings);
/**
* This method provides a query builder for quering the database.
*

View File

@ -0,0 +1,61 @@
package pro.taskana;
import java.time.Instant;
/**
* Capture a time interval. A fixed interval has defined begin and end Instant. An open ended interval has either begin
* == null or end ==null.
*
* @author bbr
*/
public class TimeInterval {
private Instant begin;
private Instant end;
public TimeInterval(Instant begin, Instant end) {
this.begin = begin;
this.end = end;
}
public boolean contains(Instant i) {
if (i == null) {
return false;
}
boolean isAfterBegin = begin == null ? true : !i.isBefore(begin);
boolean isBeforeEnd = end == null ? true : !i.isAfter(end);
return (isAfterBegin && isBeforeEnd);
}
public boolean isValid() {
return begin != null || end != null;
}
public Instant getBegin() {
return begin;
}
public void setBegin(Instant begin) {
this.begin = begin;
}
public Instant getEnd() {
return end;
}
public void setEnd(Instant end) {
this.end = end;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("TimeInterval [begin=");
builder.append(begin);
builder.append(", end=");
builder.append(end);
builder.append("]");
return builder.toString();
}
}

View File

@ -31,27 +31,62 @@ public interface QueryMapper {
+ "FROM TASK t "
+ "<where>"
+ "<if test='taskIds != null'>AND t.ID IN(<foreach item='item' collection='taskIds' separator=',' >#{item}</foreach>)</if> "
+ "<if test='name != null'>AND t.NAME IN(<foreach item='item' collection='name' separator=',' >#{item}</foreach>)</if> "
+ "<if test='description != null'>AND t.DESCRIPTION like #{description}</if> "
+ "<if test='note != null'>AND t.NOTE like #{note}</if> "
+ "<if test='createdIn !=null'> AND ( <foreach item='item' collection='createdIn' separator=' OR ' > ( <if test='item.begin!=null'> t.CREATED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.CREATED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='claimedIn !=null'> AND ( <foreach item='item' collection='claimedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.CLAIMED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.CLAIMED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='completedIn !=null'> AND ( <foreach item='item' collection='completedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.COMPLETED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.COMPLETED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='modifiedIn !=null'> AND ( <foreach item='item' collection='modifiedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.MODIFIED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.MODIFIED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='plannedIn !=null'> AND ( <foreach item='item' collection='plannedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.PLANNED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.PLANNED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='dueIn !=null'> AND ( <foreach item='item' collection='dueIn' separator=' OR ' > ( <if test='item.begin!=null'> t.DUE &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.DUE &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='nameIn != null'>AND t.NAME IN(<foreach item='item' collection='nameIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='nameLike != null'>AND (<foreach item='item' collection='nameLike' separator=' OR '>UPPER(t.NAME) LIKE #{item}</foreach>)</if> "
+ "<if test='description != null'>AND (<foreach item='item' collection='description' separator=' OR '>t.DESCRIPTION LIKE #{item}</foreach>)</if> "
+ "<if test='note != null'>AND (<foreach item='item' collection='note' separator=' OR '>t.NOTE LIKE #{item}</foreach>)</if> "
+ "<if test='priority != null'>AND t.PRIORITY IN(<foreach item='item' collection='priority' separator=',' >#{item}</foreach>)</if> "
+ "<if test='states != null'>AND t.STATE IN(<foreach item='item' collection='states' separator=',' >#{item}</foreach>)</if> "
+ "<if test='workbasketKey != null'>AND t.WORKBASKET_KEY IN(<foreach item='item' collection='workbasketKey' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationKey != null'>AND t.CLASSIFICATION_KEY IN(<foreach item='item' collection='classificationKey' separator=',' >#{item}</foreach>)</if> "
+ "<if test='domain != null'>AND t.DOMAIN IN(<foreach item='item' collection='domain' separator=',' >#{item}</foreach>)</if> "
+ "<if test='owner != null'>AND t.OWNER IN(<foreach item='item' collection='owner' separator=',' >#{item}</foreach>)</if> "
+ "<if test='workbasketKeyIn != null'>AND t.WORKBASKET_KEY IN(<foreach item='item' collection='workbasketKeyIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='workbasketKeyLike != null'>AND (<foreach item='item' collection='workbasketKeyLike' separator=' OR '>UPPER(t.WORKBASKET_KEY) LIKE #{item}</foreach>)</if> "
+ "<if test='classificationKeyIn != null'>AND t.CLASSIFICATION_KEY IN(<foreach item='item' collection='classificationKeyIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationKeyLike != null'>AND (<foreach item='item' collection='classificationKeyLike' separator=' OR '>UPPER(t.CLASSIFICATION_KEY) LIKE #{item}</foreach>)</if> "
+ "<if test='domainIn != null'>AND t.DOMAIN IN(<foreach item='item' collection='domainIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='domainLike != null'>AND (<foreach item='item' collection='domainLike' separator=' OR '>UPPER(t.DOMAIN) LIKE #{item}</foreach>)</if> "
+ "<if test='ownerIn != null'>AND t.OWNER IN(<foreach item='item' collection='ownerIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='ownerLike != null'>AND (<foreach item='item' collection='ownerLike' separator=' OR '>UPPER(t.OWNER) LIKE #{item}</foreach>)</if> "
+ "<if test='isRead != null'>AND t.IS_READ = #{isRead}</if> "
+ "<if test='isTransferred != null'>AND t.IS_TRANSFERRED = #{isTransferred}</if> "
+ "<if test='porCompanyIn != null'>AND t.POR_COMPANY IN(<foreach item='item' collection='porCompanyIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porCompanyLike != null'>AND t.POR_COMPANY like #{porCompanyLike}</if> "
+ "<if test='porCompanyLike != null'>AND (<foreach item='item' collection='porCompanyLike' separator=' OR '>UPPER(t.POR_COMPANY) LIKE #{item}</foreach>)</if> "
+ "<if test='porSystemIn != null'>AND t.POR_SYSTEM IN(<foreach item='item' collection='porSystemIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porSystemLike != null'>AND t.POR_SYSTEM like #{porSystemLike}</if> "
+ "<if test='porSystemLike != null'>AND (<foreach item='item' collection='porSystemLike' separator=' OR '>UPPER(t.POR_SYSTEM) LIKE #{item}</foreach>)</if> "
+ "<if test='porSystemInstanceIn != null'>AND t.POR_INSTANCE IN(<foreach item='item' collection='porSystemInstanceIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porSystemInstanceLike != null'>AND t.POR_INSTANCE like #{porSystemInstanceLike}</if> "
+ "<if test='porSystemInstanceLike != null'>AND (<foreach item='item' collection='porSystemInstanceLike' separator=' OR '>UPPER(t.POR_INSTANCE) LIKE #{item}</foreach>)</if> "
+ "<if test='porTypeIn != null'>AND t.POR_TYPE IN(<foreach item='item' collection='porTypeIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porTypeLike != null'>AND t.POR_TYPE like #{porTypeLike}</if> "
+ "<if test='porTypeLike != null'>AND (<foreach item='item' collection='porTypeLike' separator=' OR '>UPPER(t.POR_TYPE) LIKE #{item}</foreach>)</if> "
+ "<if test='porValueIn != null'>AND t.POR_VALUE IN(<foreach item='item' collection='porValueIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porValueLike != null'>AND t.POR_VALUE like #{porValueLike}</if> "
+ "<if test='porValueLike != null'>AND (<foreach item='item' collection='porValueLike' separator=' OR '>UPPER(t.POR_VALUE) LIKE #{item}</foreach>)</if> "
+ "<if test='parentBusinessProcessIdIn != null'>AND t.PARENT_BUSINESS_PROCESS_ID IN(<foreach item='item' collection='parentBusinessProcessIdIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='parentBusinessProcessIdLike != null'>AND (<foreach item='item' collection='parentBusinessProcessIdLike' separator=' OR '>UPPER(t.PARENT_BUSINESS_PROCESS_ID) LIKE #{item}</foreach>)</if> "
+ "<if test='businessProcessIdIn != null'>AND t.BUSINESS_PROCESS_ID IN(<foreach item='item' collection='businessProcessIdIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='businessProcessIdLike != null'>AND (<foreach item='item' collection='businessProcessIdLike' separator=' OR '>UPPER(t.BUSINESS_PROCESS_ID) LIKE #{item}</foreach>)</if> "
+ "<if test='custom1In != null'>AND t.CUSTOM_1 IN(<foreach item='item' collection='custom1In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom1Like != null'>AND (<foreach item='item' collection='custom1Like' separator=' OR '>UPPER(t.CUSTOM_1) LIKE #{item}</foreach>)</if> "
+ "<if test='custom2In != null'>AND t.CUSTOM_2 IN(<foreach item='item' collection='custom2In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom2Like != null'>AND (<foreach item='item' collection='custom2Like' separator=' OR '>UPPER(t.CUSTOM_2) LIKE #{item}</foreach>)</if> "
+ "<if test='custom3In != null'>AND t.CUSTOM_3 IN(<foreach item='item' collection='custom3In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom3Like != null'>AND (<foreach item='item' collection='custom3Like' separator=' OR '>UPPER(t.CUSTOM_3) LIKE #{item}</foreach>)</if> "
+ "<if test='custom4In != null'>AND t.CUSTOM_4 IN(<foreach item='item' collection='custom4In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom4Like != null'>AND (<foreach item='item' collection='custom4Like' separator=' OR '>UPPER(t.CUSTOM_4) LIKE #{item}</foreach>)</if> "
+ "<if test='custom5In != null'>AND t.CUSTOM_5 IN(<foreach item='item' collection='custom5In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom5Like != null'>AND (<foreach item='item' collection='custom5Like' separator=' OR '>UPPER(t.CUSTOM_5) LIKE #{item}</foreach>)</if> "
+ "<if test='custom6In != null'>AND t.CUSTOM_6 IN(<foreach item='item' collection='custom6In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom6Like != null'>AND (<foreach item='item' collection='custom6Like' separator=' OR '>UPPER(t.CUSTOM_6) LIKE #{item}</foreach>)</if> "
+ "<if test='custom7In != null'>AND t.CUSTOM_7 IN(<foreach item='item' collection='custom7In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom7Like != null'>AND (<foreach item='item' collection='custom7Like' separator=' OR '>UPPER(t.CUSTOM_7) LIKE #{item}</foreach>)</if> "
+ "<if test='custom8In != null'>AND t.CUSTOM_8 IN(<foreach item='item' collection='custom8In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom8Like != null'>AND (<foreach item='item' collection='custom8Like' separator=' OR '>UPPER(t.CUSTOM_8) LIKE #{item}</foreach>)</if> "
+ "<if test='custom9In != null'>AND t.CUSTOM_9 IN(<foreach item='item' collection='custom9In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom9Like != null'>AND (<foreach item='item' collection='custom9Like' separator=' OR '>UPPER(t.CUSTOM_9) LIKE #{item}</foreach>)</if> "
+ "<if test='custom10In != null'>AND t.CUSTOM_10 IN(<foreach item='item' collection='custom10In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom10Like != null'>AND (<foreach item='item' collection='custom10Like' separator=' OR '>UPPER(t.CUSTOM_10) LIKE #{item}</foreach>)</if> "
+ "<if test='customFields != null'>AND (t.CUSTOM_1 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_2 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_3 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_4 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_5 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_6 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_7 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_8 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_9 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_10 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>))</if> "
+ "</where>"
+ "<if test='!orderBy.isEmpty()'>ORDER BY <foreach item='item' collection='orderBy' separator=',' >${item}</foreach></if> "
@ -246,27 +281,63 @@ public interface QueryMapper {
@Select("<script>SELECT COUNT(ID) FROM TASK t "
+ "<where>"
+ "<if test='name != null'>AND t.NAME IN(<foreach item='item' collection='name' separator=',' >#{item}</foreach>)</if> "
+ "<if test='description != null'>AND t.DESCRIPTION like #{description}</if> "
+ "<if test='note != null'>AND t.NOTE like #{note}</if> "
+ "<if test='taskIds != null'>AND t.ID IN(<foreach item='item' collection='taskIds' separator=',' >#{item}</foreach>)</if> "
+ "<if test='createdIn !=null'> AND ( <foreach item='item' collection='createdIn' separator=' OR ' > ( <if test='item.begin!=null'> t.CREATED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.CREATED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='claimedIn !=null'> AND ( <foreach item='item' collection='claimedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.CLAIMED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.CLAIMED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='completedIn !=null'> AND ( <foreach item='item' collection='completedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.COMPLETED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.COMPLETED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='modifiedIn !=null'> AND ( <foreach item='item' collection='modifiedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.MODIFIED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.MODIFIED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='plannedIn !=null'> AND ( <foreach item='item' collection='plannedIn' separator=' OR ' > ( <if test='item.begin!=null'> t.PLANNED &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.PLANNED &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='dueIn !=null'> AND ( <foreach item='item' collection='dueIn' separator=' OR ' > ( <if test='item.begin!=null'> t.DUE &gt;= #{item.begin} </if> <if test='item.begin!=null and item.end!=null'> AND </if><if test='item.end!=null'> t.DUE &lt;=#{item.end} </if>)</foreach>)</if> "
+ "<if test='nameIn != null'>AND t.NAME IN(<foreach item='item' collection='nameIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='nameLike != null'>AND (<foreach item='item' collection='nameLike' separator=' OR '>UPPER(t.NAME) LIKE #{item}</foreach>)</if> "
+ "<if test='description != null'>AND (<foreach item='item' collection='description' separator=' OR '>t.DESCRIPTION LIKE #{item}</foreach>)</if> "
+ "<if test='note != null'>AND (<foreach item='item' collection='note' separator=' OR '>t.NOTE LIKE #{item}</foreach>)</if> "
+ "<if test='priority != null'>AND t.PRIORITY IN(<foreach item='item' collection='priority' separator=',' >#{item}</foreach>)</if> "
+ "<if test='states != null'>AND t.STATE IN(<foreach item='item' collection='states' separator=',' >#{item}</foreach>)</if> "
+ "<if test='workbasketKey != null'>AND t.WORKBASKET_KEY IN(<foreach item='item' collection='workbasketKey' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationKey != null'>AND t.CLASSIFICATION_KEY IN(<foreach item='item' collection='classificationKey' separator=',' >#{item}</foreach>)</if> "
+ "<if test='domain != null'>AND t.DOMAIN IN(<foreach item='item' collection='domain' separator=',' >#{item}</foreach>)</if> "
+ "<if test='owner != null'>AND t.OWNER IN(<foreach item='item' collection='owner' separator=',' >#{item}</foreach>)</if> "
+ "<if test='workbasketKeyIn != null'>AND t.WORKBASKET_KEY IN(<foreach item='item' collection='workbasketKeyIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='workbasketKeyLike != null'>AND (<foreach item='item' collection='workbasketKeyLike' separator=' OR '>UPPER(t.WORKBASKET_KEY) LIKE #{item}</foreach>)</if> "
+ "<if test='classificationKeyIn != null'>AND t.CLASSIFICATION_KEY IN(<foreach item='item' collection='classificationKeyIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='classificationKeyLike != null'>AND (<foreach item='item' collection='classificationKeyLike' separator=' OR '>UPPER(t.CLASSIFICATION_KEY) LIKE #{item}</foreach>)</if> "
+ "<if test='domainIn != null'>AND t.DOMAIN IN(<foreach item='item' collection='domainIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='domainLike != null'>AND (<foreach item='item' collection='domainLike' separator=' OR '>UPPER(t.DOMAIN) LIKE #{item}</foreach>)</if> "
+ "<if test='ownerIn != null'>AND t.OWNER IN(<foreach item='item' collection='ownerIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='ownerLike != null'>AND (<foreach item='item' collection='ownerLike' separator=' OR '>UPPER(t.OWNER) LIKE #{item}</foreach>)</if> "
+ "<if test='isRead != null'>AND t.IS_READ = #{isRead}</if> "
+ "<if test='isTransferred != null'>AND t.IS_TRANSFERRED = #{isTransferred}</if> "
+ "<if test='porCompanyIn != null'>AND t.POR_COMPANY IN(<foreach item='item' collection='porCompanyIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porCompanyLike != null'>AND t.POR_COMPANY like #{porCompanyLike}</if> "
+ "<if test='porCompanyLike != null'>AND (<foreach item='item' collection='porCompanyLike' separator=' OR '>UPPER(t.POR_COMPANY) LIKE #{item}</foreach>)</if> "
+ "<if test='porSystemIn != null'>AND t.POR_SYSTEM IN(<foreach item='item' collection='porSystemIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porSystemLike != null'>AND t.POR_SYSTEM like #{porSystemLike}</if> "
+ "<if test='porSystemLike != null'>AND (<foreach item='item' collection='porSystemLike' separator=' OR '>UPPER(t.POR_SYSTEM) LIKE #{item}</foreach>)</if> "
+ "<if test='porSystemInstanceIn != null'>AND t.POR_INSTANCE IN(<foreach item='item' collection='porSystemInstanceIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porSystemInstanceLike != null'>AND t.POR_INSTANCE like #{porSystemInstanceLike}</if> "
+ "<if test='porSystemInstanceLike != null'>AND (<foreach item='item' collection='porSystemInstanceLike' separator=' OR '>UPPER(t.POR_INSTANCE) LIKE #{item}</foreach>)</if> "
+ "<if test='porTypeIn != null'>AND t.POR_TYPE IN(<foreach item='item' collection='porTypeIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porTypeLike != null'>AND t.POR_TYPE like #{porTypeLike}</if> "
+ "<if test='porTypeLike != null'>AND (<foreach item='item' collection='porTypeLike' separator=' OR '>UPPER(t.POR_TYPE) LIKE #{item}</foreach>)</if> "
+ "<if test='porValueIn != null'>AND t.POR_VALUE IN(<foreach item='item' collection='porValueIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='porValueLike != null'>AND t.POR_VALUE like #{porValueLike}</if> "
+ "<if test='porValueLike != null'>AND (<foreach item='item' collection='porValueLike' separator=' OR '>UPPER(t.POR_VALUE) LIKE #{item}</foreach>)</if> "
+ "<if test='parentBusinessProcessIdIn != null'>AND t.PARENT_BUSINESS_PROCESS_ID IN(<foreach item='item' collection='parentBusinessProcessIdIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='parentBusinessProcessIdLike != null'>AND (<foreach item='item' collection='parentBusinessProcessIdLike' separator=' OR '>UPPER(t.PARENT_BUSINESS_PROCESS_ID) LIKE #{item}</foreach>)</if> "
+ "<if test='businessProcessIdIn != null'>AND t.BUSINESS_PROCESS_ID IN(<foreach item='item' collection='businessProcessIdIn' separator=',' >#{item}</foreach>)</if> "
+ "<if test='businessProcessIdLike != null'>AND (<foreach item='item' collection='businessProcessIdLike' separator=' OR '>UPPER(t.BUSINESS_PROCESS_ID) LIKE #{item}</foreach>)</if> "
+ "<if test='custom1In != null'>AND t.CUSTOM_1 IN(<foreach item='item' collection='custom1In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom1Like != null'>AND (<foreach item='item' collection='custom1Like' separator=' OR '>UPPER(t.CUSTOM_1) LIKE #{item}</foreach>)</if> "
+ "<if test='custom2In != null'>AND t.CUSTOM_2 IN(<foreach item='item' collection='custom2In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom2Like != null'>AND (<foreach item='item' collection='custom2Like' separator=' OR '>UPPER(t.CUSTOM_2) LIKE #{item}</foreach>)</if> "
+ "<if test='custom3In != null'>AND t.CUSTOM_3 IN(<foreach item='item' collection='custom3In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom3Like != null'>AND (<foreach item='item' collection='custom3Like' separator=' OR '>UPPER(t.CUSTOM_3) LIKE #{item}</foreach>)</if> "
+ "<if test='custom4In != null'>AND t.CUSTOM_4 IN(<foreach item='item' collection='custom4In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom4Like != null'>AND (<foreach item='item' collection='custom4Like' separator=' OR '>UPPER(t.CUSTOM_4) LIKE #{item}</foreach>)</if> "
+ "<if test='custom5In != null'>AND t.CUSTOM_5 IN(<foreach item='item' collection='custom5In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom5Like != null'>AND (<foreach item='item' collection='custom5Like' separator=' OR '>UPPER(t.CUSTOM_5) LIKE #{item}</foreach>)</if> "
+ "<if test='custom6In != null'>AND t.CUSTOM_6 IN(<foreach item='item' collection='custom6In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom6Like != null'>AND (<foreach item='item' collection='custom6Like' separator=' OR '>UPPER(t.CUSTOM_6) LIKE #{item}</foreach>)</if> "
+ "<if test='custom7In != null'>AND t.CUSTOM_7 IN(<foreach item='item' collection='custom7In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom7Like != null'>AND (<foreach item='item' collection='custom7Like' separator=' OR '>UPPER(t.CUSTOM_7) LIKE #{item}</foreach>)</if> "
+ "<if test='custom8In != null'>AND t.CUSTOM_8 IN(<foreach item='item' collection='custom8In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom8Like != null'>AND (<foreach item='item' collection='custom8Like' separator=' OR '>UPPER(t.CUSTOM_8) LIKE #{item}</foreach>)</if> "
+ "<if test='custom9In != null'>AND t.CUSTOM_9 IN(<foreach item='item' collection='custom9In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom9Like != null'>AND (<foreach item='item' collection='custom9Like' separator=' OR '>UPPER(t.CUSTOM_9) LIKE #{item}</foreach>)</if> "
+ "<if test='custom10In != null'>AND t.CUSTOM_10 IN(<foreach item='item' collection='custom10In' separator=',' >#{item}</foreach>)</if> "
+ "<if test='custom10Like != null'>AND (<foreach item='item' collection='custom10Like' separator=' OR '>UPPER(t.CUSTOM_10) LIKE #{item}</foreach>)</if> "
+ "<if test='customFields != null'>AND (t.CUSTOM_1 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_2 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_3 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_4 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_5 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_6 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_7 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_8 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_9 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>) OR t.CUSTOM_10 IN(<foreach item='item' collection='customFields' separator=',' >#{item}</foreach>))</if> "
+ "</where>"
+ "</script>")

View File

@ -3,6 +3,8 @@ package acceptance;
import java.sql.SQLException;
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZoneOffset;
import java.util.HashMap;
import java.util.Map;
@ -94,4 +96,8 @@ public abstract class AbstractAccTest {
return attachment;
}
protected Instant getInstant(String datetime) {
return LocalDateTime.parse(datetime).atZone(ZoneId.systemDefault()).toInstant();
}
}

View File

@ -0,0 +1,445 @@
package acceptance.task;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
import java.sql.SQLException;
import java.util.List;
import java.util.stream.Collectors;
import org.h2.store.fs.FileUtils;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import acceptance.AbstractAccTest;
import pro.taskana.BaseQuery.SortDirection;
import pro.taskana.TaskService;
import pro.taskana.TaskSummary;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.security.JAASRunner;
import pro.taskana.security.WithAccessId;
/**
* Acceptance test for all "query tasks with sorting" scenarios.
*/
@RunWith(JAASRunner.class)
public class QueryTasksAccTest extends AbstractAccTest {
private static SortDirection asc = SortDirection.ASCENDING;
private static SortDirection desc = SortDirection.DESCENDING;
public QueryTasksAccTest() {
super();
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForOwnerLike()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.ownerLike("%a%", "%u%")
.orderByCreated(asc)
.list();
assertThat(results.size(), equalTo(25));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getCreated().isAfter(taskSummary.getCreated()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForParentBusinessProcessId()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.parentBusinessProcessIdLike("%PBPI%", "doc%3%")
.list();
assertThat(results.size(), equalTo(24));
String[] parentIds = results.stream()
.map(TaskSummary::getParentBusinessProcessId)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.parentBusinessProcessIdIn(parentIds)
.list();
assertThat(result2.size(), equalTo(24));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForName()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.nameLike("task%")
.list();
assertThat(results.size(), equalTo(6));
String[] ids = results.stream()
.map(TaskSummary::getName)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.nameIn(ids)
.list();
assertThat(result2.size(), equalTo(6));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForClassificationKey()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.classificationKeyLike("L10%")
.list();
assertThat(results.size(), equalTo(64));
String[] ids = results.stream()
.map(t -> t.getClassificationSummary().getKey())
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.classificationKeyIn(ids)
.list();
assertThat(result2.size(), equalTo(64));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForWorkbasketKey()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.workbasketKeyLike("user%")
.list();
assertThat(results.size(), equalTo(22));
String[] ids = results.stream()
.map(t -> t.getWorkbasketSummary().getKey())
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.workbasketKeyIn(ids)
.list();
assertThat(result2.size(), equalTo(22));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForDomain()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.domainLike("dom%b")
.list();
assertThat(results.size(), equalTo(4));
String[] ids = results.stream()
.map(TaskSummary::getDomain)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.domainIn(ids)
.list();
assertThat(result2.size(), equalTo(4));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom1()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom1Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(TaskSummary::getCustom1)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom1In(ids)
.list();
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom2()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom2Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
String[] ids = results.stream()
.map(TaskSummary::getCustom2)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom2In(ids)
.list();
assertThat(result2.size(), equalTo(1));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom3()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom3Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
String[] ids = results.stream()
.map(TaskSummary::getCustom3)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom3In(ids)
.list();
assertThat(result2.size(), equalTo(1));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom4()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom4Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
String[] ids = results.stream()
.map(TaskSummary::getCustom4)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom4In(ids)
.list();
assertThat(result2.size(), equalTo(1));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom5()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom5Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(3));
String[] ids = results.stream()
.map(TaskSummary::getCustom5)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom5In(ids)
.list();
assertThat(result2.size(), equalTo(3));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom6()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom6Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(TaskSummary::getCustom6)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom6In(ids)
.list();
assertThat(result2.size(), equalTo(2));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom7()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom7Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
String[] ids = results.stream()
.map(TaskSummary::getCustom7)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom7In(ids)
.list();
assertThat(result2.size(), equalTo(1));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom8()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom8Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
String[] ids = results.stream()
.map(TaskSummary::getCustom8)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom8In(ids)
.list();
assertThat(result2.size(), equalTo(1));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom9()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom9Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(1));
String[] ids = results.stream()
.map(TaskSummary::getCustom9)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom9In(ids)
.list();
assertThat(result2.size(), equalTo(1));
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testQueryForCustom10()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
List<TaskSummary> results = taskService.createTaskQuery()
.custom10Like("%a%", "%b%", "%c%", "%d%", "%e%", "%f%", "%g%", "%h%", "%i%", "%j%", "%k%", "%l%", "%m%",
"%n%", "%o%", "%p%",
"%q%", "%r%", "%s%", "%w%")
.list();
assertThat(results.size(), equalTo(2));
String[] ids = results.stream()
.map(TaskSummary::getCustom10)
.collect(Collectors.toList())
.toArray(new String[0]);
List<TaskSummary> result2 = taskService.createTaskQuery()
.custom10In(ids)
.list();
assertThat(result2.size(), equalTo(2));
}
@AfterClass
public static void cleanUpClass() {
FileUtils.deleteRecursive("~/data", true);
}
}

View File

@ -0,0 +1,284 @@
package acceptance.task;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
import java.sql.SQLException;
import java.time.Instant;
import java.util.List;
import org.h2.store.fs.FileUtils;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import acceptance.AbstractAccTest;
import pro.taskana.BaseQuery.SortDirection;
import pro.taskana.TaskService;
import pro.taskana.TaskSummary;
import pro.taskana.TimeInterval;
import pro.taskana.exceptions.InvalidArgumentException;
import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.security.JAASRunner;
import pro.taskana.security.WithAccessId;
/**
* Acceptance test for all "query tasks with sorting" scenarios.
*/
@RunWith(JAASRunner.class)
public class QueryTasksByTimeIntervalsAccTest extends AbstractAccTest {
private static SortDirection asc = SortDirection.ASCENDING;
private static SortDirection desc = SortDirection.DESCENDING;
public QueryTasksByTimeIntervalsAccTest() {
super();
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testCreatedWithin2Intervals()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval1 = new TimeInterval(
getInstant("2018-01-29T15:55:10"),
getInstant("2018-01-29T15:55:17"));
TimeInterval interval2 = new TimeInterval(
getInstant("2018-01-29T15:55:23"),
getInstant("2018-01-29T15:55:25"));
List<TaskSummary> results = taskService.createTaskQuery()
.createdWithin(interval1, interval2)
.orderByCreated(asc)
.list();
assertThat(results.size(), equalTo(40));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getCreated();
Assert.assertTrue(interval1.contains(cr) || interval2.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getCreated().isAfter(taskSummary.getCreated()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testCreatedBefore()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval1 = new TimeInterval(
null,
getInstant("2018-01-29T15:55:17"));
List<TaskSummary> results = taskService.createTaskQuery()
.createdWithin(interval1)
.orderByCreated(asc)
.list();
assertThat(results.size(), equalTo(36));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getCreated();
Assert.assertTrue(interval1.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getCreated().isAfter(taskSummary.getCreated()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testCreatedAfter()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval1 = new TimeInterval(
getInstant("2018-01-29T15:55:17"), null);
List<TaskSummary> results = taskService.createTaskQuery()
.createdWithin(interval1)
.orderByCreated(asc)
.list();
assertThat(results.size(), equalTo(36));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getCreated();
Assert.assertTrue(interval1.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getCreated().isAfter(taskSummary.getCreated()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testClaimedWithin2Intervals()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval1 = new TimeInterval(
getInstant("2018-01-30T15:55:00"),
getInstant("2018-01-30T15:55:10"));
TimeInterval interval2 = new TimeInterval(
getInstant("2018-01-30T15:55:23"),
getInstant("2018-01-30T15:55:25"));
List<TaskSummary> results = taskService.createTaskQuery()
.claimedWithin(interval1, interval2)
.orderByCreated(asc)
.list();
assertThat(results.size(), equalTo(24));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getClaimed();
Assert.assertTrue(interval1.contains(cr) || interval2.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getClaimed().isAfter(taskSummary.getClaimed()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testCompletedWithin()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval = new TimeInterval(
getInstant("2018-01-30T16:55:23"),
getInstant("2018-01-30T16:55:25"));
List<TaskSummary> results = taskService.createTaskQuery()
.completedWithin(interval)
.orderByCompleted(asc)
.list();
assertThat(results.size(), equalTo(5));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getCompleted();
Assert.assertTrue(interval.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getCompleted().isAfter(taskSummary.getCompleted()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testModifiedWithin()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval = new TimeInterval(
getInstant("2018-01-30T15:55:00"),
getInstant("2018-01-30T15:55:22"));
List<TaskSummary> results = taskService.createTaskQuery()
.modifiedWithin(interval)
.orderByModified(asc)
.list();
assertThat(results.size(), equalTo(6));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getModified();
Assert.assertTrue(interval.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getModified().isAfter(taskSummary.getModified()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testPlannedWithin()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval = new TimeInterval(
getInstant("2018-01-29T15:55:00"),
getInstant("2018-01-30T15:55:22"));
List<TaskSummary> results = taskService.createTaskQuery()
.plannedWithin(interval)
.orderByPlanned(asc)
.list();
assertThat(results.size(), equalTo(70));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getPlanned();
Assert.assertTrue(interval.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getPlanned().isAfter(taskSummary.getPlanned()));
}
previousSummary = taskSummary;
}
}
@WithAccessId(
userName = "teamlead_1",
groupNames = {"group_1"})
@Test
public void testDueWithin()
throws SQLException, NotAuthorizedException, InvalidArgumentException {
TaskService taskService = taskanaEngine.getTaskService();
TimeInterval interval = new TimeInterval(
getInstant("2018-01-29T15:55:00"),
getInstant("2018-01-30T15:55:22"));
List<TaskSummary> results = taskService.createTaskQuery()
.dueWithin(interval)
.orderByPlanned(asc)
.list();
assertThat(results.size(), equalTo(70));
TaskSummary previousSummary = null;
for (TaskSummary taskSummary : results) {
Instant cr = taskSummary.getDue();
Assert.assertTrue(interval.contains(cr));
if (previousSummary != null) {
Assert.assertTrue(!previousSummary.getPlanned().isAfter(taskSummary.getPlanned()));
}
previousSummary = taskSummary;
}
}
@AfterClass
public static void cleanUpClass() {
FileUtils.deleteRecursive("~/data", true);
}
}

View File

@ -1,35 +1,35 @@
-- 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-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-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-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: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 , 'abc' , 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-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: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 , 'ade' , 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-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-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: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 , 'ffg' , 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-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-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: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 , 'rty' , 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-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-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: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 , 'rty' , 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-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-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-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: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 , 'vvg' , 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-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-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: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 , 'ijk' , 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-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-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-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 );
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 , 'lnp' , 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 , 'bbq' , null );
-- Tasks for WorkOnTaskAccTest
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000025', '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' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000025' , 'DOC_0000000000000000025' , null , 'abcd00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000025', '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' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000025' , 'DOC_0000000000000000025' , null , 'abcd00' , 'PASystem' , '00' , 'SDNR' , '98765432' , false , false , null , null , null , null , null , null , null , null , null , null , 'ert' );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000026', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000026' , 'DOC_0000000000000000026' , 'user_1_1' , 'bcde00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000027', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000027' , 'DOC_0000000000000000027' , 'user_1_2' , 'cdef00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000028', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000028' , 'DOC_0000000000000000028' , 'user_1_1' , 'efgh00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000029', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000029' , 'DOC_0000000000000000029' , 'user_1_2' , 'fghj00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000029', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000029' , 'DOC_0000000000000000029' , 'user_1_2' , 'fghj00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , 'rew' , null , null , null , 'dde' );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000030', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000030' , 'DOC_0000000000000000030' , 'user_1_1' , 'ABCD00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000031', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000031' , 'DOC_0000000000000000031' , 'user_1_1' , 'BDCE00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000032', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000032' , 'DOC_0000000000000000032' , 'user_1_2' , 'CDEF00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
@ -37,20 +37,20 @@ INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000033', '2018-01-29
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000034', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000034' , 'DOC_0000000000000000034' , 'user_1_1' , 'GHIJ00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000035', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000035' , 'DOC_0000000000000000035' , 'user_1_1' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000100', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000100' , 'DOC_0000000000000000100' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000101', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000101' , 'DOC_0000000000000000101' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000101', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000101' , 'DOC_0000000000000000101' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , 'el' , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000102', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000102' , 'DOC_0000000000000000102' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000103', '2018-01-29 15:55:24', '2018-01-30 15:55:24', null , '2018-01-30 15:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'CLAIMED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000103' , 'DOC_0000000000000000103' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '98765432' , true , false , null , null , null , null , null , null , null , null , null , null , null );
-- Tasks for DeleteTaskAccTest
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000036', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'COMPLETED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000036' , 'DOC_0000000000000000036' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000036', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'COMPLETED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000036' , 'DOC_0000000000000000036' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , null , null , null , null , 'ew' , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000037', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'COMPLETED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000037' , 'DOC_0000000000000000037' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000038', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'COMPLETED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000038' , 'DOC_0000000000000000038' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000038', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'COMPLETED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000038' , 'DOC_0000000000000000038' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , null , null , null , null , null , '11' , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000039', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'COMPLETED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000039' , 'DOC_0000000000000000039' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000040', '2018-01-29 15:55:24', '2018-01-30 15:55:24', '2018-01-30 16:55:24', '2018-01-30 16:55:24', '2018-01-29 15:55:00', '2018-01-30 15:55:00', 'Widerruf' , 'Widerruf' , null , 2 , 'COMPLETED' , 'L1050' , 'USER_1_2' , 'DOMAIN_A', 'PI_0000000000040' , 'DOC_0000000000000000040' , 'user_1_2' , '00' , 'PASystem' , '00' , 'SDNR' , '00011122' , true , false , null , null , null , null , null , null , null , null , null , null , null );
-- Tasks for QueryTasksWithSortingTest
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000041', '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' , 'key5' , '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:000000000000000000000000000000000042', '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' , 'key5' , '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:000000000000000000000000000000000043', '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' , 'key5' , '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:000000000000000000000000000000000044', '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' , 'key5' , '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:000000000000000000000000000000000044', '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' , 'key5' , 'DOMAIN_A', 'PI_0000000000003' , 'DOC_0000000000000000003' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , 'ew' , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000045', '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' , 'key5' , '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:000000000000000000000000000000000046', '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' , 'key5' , 'DOMAIN_A', 'PI_0000000000004' , 'DOC_0000000000000000003' , null , '00' , 'PASystem' , '06' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );
INSERT INTO TASK VALUES('TKI:000000000000000000000000000000000047', '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' , 'key5' , 'DOMAIN_A', 'PI_0000000000004' , 'DOC_0000000000000000003' , null , '00' , 'PASystem' , '00' , 'VNR' , '11223344' , false , false , null , null , null , null , null , null , null , null , null , null , null );