TSK-1623: Make like query filters for tasks available in the REST-API

This commit is contained in:
Joerg Heffner 2021-04-14 12:06:56 +02:00 committed by gitgoodjhe
parent 3d27f54e0f
commit 1fabff9492
1 changed files with 462 additions and 5 deletions

View File

@ -30,26 +30,103 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
*/ */
@JsonProperty("name-like") @JsonProperty("name-like")
private final String[] nameLike; private final String[] nameLike;
/** Filter by the priority of the task. This is an exact match. */ /** Filter by the priority of the task. This is an exact match. */
private final int[] priority; private final int[] priority;
/** Filter by the task state. This is an exact match. */ /** Filter by the task state. This is an exact match. */
private final TaskState[] state; private final TaskState[] state;
/** Filter by the classification key. This is an exact match. */ /** Filter by the classification key. This is an exact match. */
@JsonProperty("classification.key") @JsonProperty("classification.key")
private final String[] classificationKeys; private final String[] classificationKeys;
/**
* Filter by the classification key of the task. This results in a substring search.. (% is
* appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters
* will be resolved correctly.
*/
@JsonProperty("classification.key-like")
private final String[] classificationKeysLike;
/**
* Filter by the classification category of the task. This results in a substring search.. (% is
* appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters
* will be resolved correctly.
*/
@JsonProperty("classification.category-like")
private final String[] classificationCategoriesLike;
/** Filter by the classification category. This is an exact match. */
@JsonProperty("classification.category")
private final String[] classificationCategories;
/**
* Filter by the classification name of the task. This results in a substring search.. (% is
* appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters
* will be resolved correctly.
*/
@JsonProperty("classification.name-like")
private final String[] classificationNamesLike;
/** Filter by the classification name. This is an exact match. */
@JsonProperty("classification.name")
private final String[] classificationNames;
/**
* Filter by the attachment classification name of the task. This results in a substring search..
* (% is appended to the front and end of the requested value). Further SQL "LIKE" wildcard
* characters will be resolved correctly.
*/
@JsonProperty("attachment.classification.name-like")
private final String[] attachmentClassificationNamesLike;
/** Filter by the attachment classification name. This is an exact match. */
@JsonProperty("attachment.classification.name")
private final String[] attachmentClassificationNames;
/**
* Filter by the parent business process id of the task. This results in a substring search.. (%
* is appended to the front and end of the requested value). Further SQL "LIKE" wildcard
* characters will be resolved correctly.
*/
@JsonProperty("parent-business-process-id-like")
private final String[] parentBusinessProcessIdsLike;
/** Filter by the parent business process id. This is an exact match. */
@JsonProperty("parent-business-process-id")
private final String[] parentBusinessProcessIds;
/**
* Filter by the business process id of the task. This results in a substring search.. (% is
* appended to the front and end of the requested value). Further SQL "LIKE" wildcard characters
* will be resolved correctly.
*/
@JsonProperty("business-process-id-like")
private final String[] businessProcessIdsLike;
/** Filter by the business process id. This is an exact match. */
@JsonProperty("business-process-id")
private final String[] businessProcessIds;
/** Filter by task id. This is an exact match. */ /** Filter by task id. This is an exact match. */
@JsonProperty("task-id") @JsonProperty("task-id")
private final String[] taskIds; private final String[] taskIds;
/** Filter by workbasket id. This is an exact match. */ /** Filter by workbasket id. This is an exact match. */
@JsonProperty("workbasket-id") @JsonProperty("workbasket-id")
private final String[] workbasketIds; private final String[] workbasketIds;
/** Filter by workbasket keys. This parameter can only be used in combination with 'domain' */ /** Filter by workbasket keys. This parameter can only be used in combination with 'domain' */
@JsonProperty("workbasket-key") @JsonProperty("workbasket-key")
private final String[] workbasketKeys; private final String[] workbasketKeys;
/** Filter by domain. This is an exact match. */ /** Filter by domain. This is an exact match. */
private final String domain; private final String domain;
/** Filter by owner. This is an exact match. */ /** Filter by owner. This is an exact match. */
private final String[] owner; private final String[] owner;
/** /**
* Filter by the owner of the task. This results in a substring search.. (% is appended to the * Filter by the owner of the task. This results in a substring search.. (% is appended to the
* front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved * front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved
@ -57,21 +134,86 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
*/ */
@JsonProperty("owner-like") @JsonProperty("owner-like")
private final String[] ownerLike; private final String[] ownerLike;
/** Filter by creator. This is an exact match. */
private final String[] creator;
/**
* Filter by the creator of the task. This results in a substring search.. (% is appended to the
* front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved
* correctly.
*/
@JsonProperty("creator-like")
private final String[] creatorLike;
/**
* Filter by the note of the task. This results in a substring search.. (% is appended to the
* front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved
* correctly.
*/
@JsonProperty("note-like")
private final String[] noteLike;
/** Filter by the company of the primary object reference. This is an exact match. */ /** Filter by the company of the primary object reference. This is an exact match. */
@JsonProperty("por.company") @JsonProperty("por.company")
private final String[] porCompany; private final String[] porCompany;
/**
* Filter by the porCompany of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("por.company-like")
private final String[] porCompanyLike;
/** Filter by the system of the primary object reference. This is an exact match. */ /** Filter by the system of the primary object reference. This is an exact match. */
@JsonProperty("por.system") @JsonProperty("por.system")
private final String[] porSystem; private final String[] porSystem;
/**
* Filter by the porSystem of the task. This results in a substring search.. (% is appended to the
* front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved
* correctly.
*/
@JsonProperty("por.system-like")
private final String[] porSystemLike;
/** Filter by the system instance of the primary object reference. This is an exact match. */ /** Filter by the system instance of the primary object reference. This is an exact match. */
@JsonProperty("por.instance") @JsonProperty("por.instance")
private final String[] porInstance; private final String[] porInstance;
/**
* Filter by the porInstance of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("por.instance-like")
private final String[] porInstanceLike;
/** Filter by the type of the primary object reference. This is an exact match. */ /** Filter by the type of the primary object reference. This is an exact match. */
@JsonProperty("por.type") @JsonProperty("por.type")
private final String[] porType; private final String[] porType;
/**
* Filter by the porType of the task. This results in a substring search.. (% is appended to the
* front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved
* correctly.
*/
@JsonProperty("por.type-like")
private final String[] porTypeLike;
/** Filter by the value of the primary object reference. This is an exact match. */ /** Filter by the value of the primary object reference. This is an exact match. */
@JsonProperty("por.value") @JsonProperty("por.value")
private final String[] porValue; private final String[] porValue;
/**
* Filter by the porValue of the task. This results in a substring search.. (% is appended to the
* front and end of the requested value). Further SQL "LIKE" wildcard characters will be resolved
* correctly.
*/
@JsonProperty("por.value-like")
private final String[] porValueLike;
/** /**
* Filter by a planned time interval. The length of the provided values has to be even. To create * Filter by a planned time interval. The length of the provided values has to be even. To create
* an open interval you can either use 'null' or just leave it blank. * an open interval you can either use 'null' or just leave it blank.
@ -151,71 +293,206 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
/** Filter by the external id. This is an exact match. */ /** Filter by the external id. This is an exact match. */
@JsonProperty("external-id") @JsonProperty("external-id")
private final String[] externalIds; private final String[] externalIds;
/**
* Filter by the externalId of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("external-id-like")
private final String[] externalIdsLike;
/** Filter by the value of the field custom1. This is an exact match. */ /** Filter by the value of the field custom1. This is an exact match. */
@JsonProperty("custom-1") @JsonProperty("custom-1")
private final String[] custom1; private final String[] custom1;
/**
* Filter by the custom1 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-1-like")
private final String[] custom1Like;
/** Filter by the value of the field custom2. This is an exact match. */ /** Filter by the value of the field custom2. This is an exact match. */
@JsonProperty("custom-2") @JsonProperty("custom-2")
private final String[] custom2; private final String[] custom2;
/**
* Filter by the custom2 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-2-like")
private final String[] custom2Like;
/** Filter by the value of the field custom3. This is an exact match. */ /** Filter by the value of the field custom3. This is an exact match. */
@JsonProperty("custom-3") @JsonProperty("custom-3")
private final String[] custom3; private final String[] custom3;
/**
* Filter by the custom3 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-3-like")
private final String[] custom3Like;
/** Filter by the value of the field custom4. This is an exact match. */ /** Filter by the value of the field custom4. This is an exact match. */
@JsonProperty("custom-4") @JsonProperty("custom-4")
private final String[] custom4; private final String[] custom4;
/**
* Filter by the custom4 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-4-like")
private final String[] custom4Like;
/** Filter by the value of the field custom5. This is an exact match. */ /** Filter by the value of the field custom5. This is an exact match. */
@JsonProperty("custom-5") @JsonProperty("custom-5")
private final String[] custom5; private final String[] custom5;
/**
* Filter by the custom5 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-5-like")
private final String[] custom5Like;
/** Filter by the value of the field custom6. This is an exact match. */ /** Filter by the value of the field custom6. This is an exact match. */
@JsonProperty("custom-6") @JsonProperty("custom-6")
private final String[] custom6; private final String[] custom6;
/**
* Filter by the custom6 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-6-like")
private final String[] custom6Like;
/** Filter by the value of the field custom7. This is an exact match. */ /** Filter by the value of the field custom7. This is an exact match. */
@JsonProperty("custom-7") @JsonProperty("custom-7")
private final String[] custom7; private final String[] custom7;
/**
* Filter by the custom7 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-7-like")
private final String[] custom7Like;
/** Filter by the value of the field custom8. This is an exact match. */ /** Filter by the value of the field custom8. This is an exact match. */
@JsonProperty("custom-8") @JsonProperty("custom-8")
private final String[] custom8; private final String[] custom8;
/**
* Filter by the custom8 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-8-like")
private final String[] custom8Like;
/** Filter by the value of the field custom9. This is an exact match. */ /** Filter by the value of the field custom9. This is an exact match. */
@JsonProperty("custom-9") @JsonProperty("custom-9")
private final String[] custom9; private final String[] custom9;
/**
* Filter by the custom9 field of the task. This results in a substring search.. (% is appended to
* the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-9-like")
private final String[] custom9Like;
/** Filter by the value of the field custom10. This is an exact match. */ /** Filter by the value of the field custom10. This is an exact match. */
@JsonProperty("custom-10") @JsonProperty("custom-10")
private final String[] custom10; private final String[] custom10;
/**
* Filter by the custom10 field of the task. This results in a substring search.. (% is appended
* to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-10-like")
private final String[] custom10Like;
/** Filter by the value of the field custom11. This is an exact match. */ /** Filter by the value of the field custom11. This is an exact match. */
@JsonProperty("custom-11") @JsonProperty("custom-11")
private final String[] custom11; private final String[] custom11;
/**
* Filter by the custom11 field of the task. This results in a substring search.. (% is appended
* to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-11-like")
private final String[] custom11Like;
/** Filter by the value of the field custom12. This is an exact match. */ /** Filter by the value of the field custom12. This is an exact match. */
@JsonProperty("custom-12") @JsonProperty("custom-12")
private final String[] custom12; private final String[] custom12;
/**
* Filter by the custom12 field of the task. This results in a substring search.. (% is appended
* to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-12-like")
private final String[] custom12Like;
/** Filter by the value of the field custom13. This is an exact match. */ /** Filter by the value of the field custom13. This is an exact match. */
@JsonProperty("custom-13") @JsonProperty("custom-13")
private final String[] custom13; private final String[] custom13;
/**
* Filter by the custom13 field of the task. This results in a substring search.. (% is appended
* to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-13-like")
private final String[] custom13Like;
/** Filter by the value of the field custom14. This is an exact match. */ /** Filter by the value of the field custom14. This is an exact match. */
@JsonProperty("custom-14") @JsonProperty("custom-14")
private final String[] custom14; private final String[] custom14;
/**
* Filter by the custom14 field of the task. This results in a substring search.. (% is appended
* to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-14-like")
private final String[] custom14Like;
/** Filter by the value of the field custom15. This is an exact match. */ /** Filter by the value of the field custom15. This is an exact match. */
@JsonProperty("custom-15") @JsonProperty("custom-15")
private final String[] custom15; private final String[] custom15;
/**
* Filter by the custom15 field of the task. This results in a substring search.. (% is appended
* to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-15-like")
private final String[] custom15Like;
/** Filter by the value of the field custom16. This is an exact match. */ /** Filter by the value of the field custom16. This is an exact match. */
@JsonProperty("custom-16") @JsonProperty("custom-16")
private final String[] custom16; private final String[] custom16;
/**
* Filter by the custom16 field of the task. This results in a substring search.. (% is appended
* to the front and end of the requested value). Further SQL "LIKE" wildcard characters will be
* resolved correctly.
*/
@JsonProperty("custom-16-like")
private final String[] custom16Like;
@SuppressWarnings("indentation") @SuppressWarnings("indentation")
@ConstructorProperties({ @ConstructorProperties({
"name", "name",
@ -223,42 +500,78 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
"priority", "priority",
"state", "state",
"classification.key", "classification.key",
"classification.key-like",
"classification.category",
"classification.category-like",
"classification.name",
"classification.name-like",
"attachment.classification.name",
"attachment.classification.name-like",
"parent-business-process-id",
"parent-business-process-id-like",
"business-process-id",
"business-process-id-like",
"task-id", "task-id",
"workbasket-id", "workbasket-id",
"workbasket-key", "workbasket-key",
"domain", "domain",
"owner", "owner",
"owner-like", "owner-like",
"creator",
"creator-like",
"note-like",
"por.company", "por.company",
"por.company-like",
"por.system", "por.system",
"por.system-like",
"por.instance", "por.instance",
"por.instance-like",
"por.type", "por.type",
"por.type-like",
"por.value", "por.value",
"por.value-like",
"planned", "planned",
"due",
"planned-from", "planned-from",
"planned-until", "planned-until",
"due",
"due-from", "due-from",
"due-until", "due-until",
"wildcard-search-fields", "wildcard-search-fields",
"wildcard-search-value", "wildcard-search-value",
"external-id", "external-id",
"external-id-like",
"custom-1", "custom-1",
"custom-1-like",
"custom-2", "custom-2",
"custom-2-like",
"custom-3", "custom-3",
"custom-3-like",
"custom-4", "custom-4",
"custom-4-like",
"custom-5", "custom-5",
"custom-5-like",
"custom-6", "custom-6",
"custom-6-like",
"custom-7", "custom-7",
"custom-7-like",
"custom-8", "custom-8",
"custom-8-like",
"custom-9", "custom-9",
"custom-9-like",
"custom-10", "custom-10",
"custom-10-like",
"custom-11", "custom-11",
"custom-11-like",
"custom-12", "custom-12",
"custom-12-like",
"custom-13", "custom-13",
"custom-13-like",
"custom-14", "custom-14",
"custom-14-like",
"custom-15", "custom-15",
"custom-16" "custom-15-like",
"custom-16",
"custom-16-like"
}) })
public TaskQueryFilterParameter( public TaskQueryFilterParameter(
String[] name, String[] name,
@ -266,84 +579,156 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
int[] priority, int[] priority,
TaskState[] state, TaskState[] state,
String[] classificationKeys, String[] classificationKeys,
String[] classificationKeysLike,
String[] classificationCategories,
String[] classificationCategoriesLike,
String[] classificationNames,
String[] classificationNamesLike,
String[] attachmentClassificationNames,
String[] attachmentClassificationNamesLike,
String[] parentBusinessProcessIds,
String[] parentBusinessProcessIdsLike,
String[] businessProcessIds,
String[] businessProcessIdsLike,
String[] taskIds, String[] taskIds,
String[] workbasketIds, String[] workbasketIds,
String[] workbasketKeys, String[] workbasketKeys,
String domain, String domain,
String[] owner, String[] owner,
String[] ownerLike, String[] ownerLike,
String[] creator,
String[] creatorLike,
String[] noteLike,
String[] porCompany, String[] porCompany,
String[] porCompanyLike,
String[] porSystem, String[] porSystem,
String[] porSystemLike,
String[] porInstance, String[] porInstance,
String[] porInstanceLike,
String[] porType, String[] porType,
String[] porTypeLike,
String[] porValue, String[] porValue,
String[] porValueLike,
Instant[] planned, Instant[] planned,
Instant[] due,
Instant plannedFrom, Instant plannedFrom,
Instant plannedUntil, Instant plannedUntil,
Instant[] due,
Instant dueFrom, Instant dueFrom,
Instant dueUntil, Instant dueUntil,
WildcardSearchField[] wildcardSearchFields, WildcardSearchField[] wildcardSearchFields,
String wildcardSearchValue, String wildcardSearchValue,
String[] externalIds, String[] externalIds,
String[] externalIdsLike,
String[] custom1, String[] custom1,
String[] custom1Like,
String[] custom2, String[] custom2,
String[] custom2Like,
String[] custom3, String[] custom3,
String[] custom3Like,
String[] custom4, String[] custom4,
String[] custom4Like,
String[] custom5, String[] custom5,
String[] custom5Like,
String[] custom6, String[] custom6,
String[] custom6Like,
String[] custom7, String[] custom7,
String[] custom7Like,
String[] custom8, String[] custom8,
String[] custom8Like,
String[] custom9, String[] custom9,
String[] custom9Like,
String[] custom10, String[] custom10,
String[] custom10Like,
String[] custom11, String[] custom11,
String[] custom11Like,
String[] custom12, String[] custom12,
String[] custom12Like,
String[] custom13, String[] custom13,
String[] custom13Like,
String[] custom14, String[] custom14,
String[] custom14Like,
String[] custom15, String[] custom15,
String[] custom16) String[] custom15Like,
String[] custom16,
String[] custom16Like)
throws InvalidArgumentException { throws InvalidArgumentException {
this.name = name; this.name = name;
this.nameLike = nameLike; this.nameLike = nameLike;
this.priority = priority; this.priority = priority;
this.state = state; this.state = state;
this.classificationKeys = classificationKeys; this.classificationKeys = classificationKeys;
this.classificationKeysLike = classificationKeysLike;
this.classificationCategories = classificationCategories;
this.classificationCategoriesLike = classificationCategoriesLike;
this.classificationNames = classificationNames;
this.classificationNamesLike = classificationNamesLike;
this.attachmentClassificationNames = attachmentClassificationNames;
this.attachmentClassificationNamesLike = attachmentClassificationNamesLike;
this.parentBusinessProcessIds = parentBusinessProcessIds;
this.parentBusinessProcessIdsLike = parentBusinessProcessIdsLike;
this.businessProcessIds = businessProcessIds;
this.businessProcessIdsLike = businessProcessIdsLike;
this.taskIds = taskIds; this.taskIds = taskIds;
this.workbasketIds = workbasketIds; this.workbasketIds = workbasketIds;
this.workbasketKeys = workbasketKeys; this.workbasketKeys = workbasketKeys;
this.domain = domain; this.domain = domain;
this.owner = owner; this.owner = owner;
this.ownerLike = ownerLike; this.ownerLike = ownerLike;
this.creator = creator;
this.creatorLike = creatorLike;
this.noteLike = noteLike;
this.porCompany = porCompany; this.porCompany = porCompany;
this.porCompanyLike = porCompanyLike;
this.porSystem = porSystem; this.porSystem = porSystem;
this.porSystemLike = porSystemLike;
this.porInstance = porInstance; this.porInstance = porInstance;
this.porInstanceLike = porInstanceLike;
this.porType = porType; this.porType = porType;
this.porTypeLike = porTypeLike;
this.porValue = porValue; this.porValue = porValue;
this.porValueLike = porValueLike;
this.planned = planned; this.planned = planned;
this.due = due;
this.plannedFrom = plannedFrom; this.plannedFrom = plannedFrom;
this.plannedUntil = plannedUntil; this.plannedUntil = plannedUntil;
this.due = due;
this.dueFrom = dueFrom; this.dueFrom = dueFrom;
this.dueUntil = dueUntil; this.dueUntil = dueUntil;
this.wildcardSearchFields = wildcardSearchFields; this.wildcardSearchFields = wildcardSearchFields;
this.wildcardSearchValue = wildcardSearchValue; this.wildcardSearchValue = wildcardSearchValue;
this.externalIds = externalIds; this.externalIds = externalIds;
this.externalIdsLike = externalIdsLike;
this.custom1 = custom1; this.custom1 = custom1;
this.custom1Like = custom1Like;
this.custom2 = custom2; this.custom2 = custom2;
this.custom2Like = custom2Like;
this.custom3 = custom3; this.custom3 = custom3;
this.custom3Like = custom3Like;
this.custom4 = custom4; this.custom4 = custom4;
this.custom4Like = custom4Like;
this.custom5 = custom5; this.custom5 = custom5;
this.custom5Like = custom5Like;
this.custom6 = custom6; this.custom6 = custom6;
this.custom6Like = custom6Like;
this.custom7 = custom7; this.custom7 = custom7;
this.custom7Like = custom7Like;
this.custom8 = custom8; this.custom8 = custom8;
this.custom8Like = custom8Like;
this.custom9 = custom9; this.custom9 = custom9;
this.custom9Like = custom9Like;
this.custom10 = custom10; this.custom10 = custom10;
this.custom10Like = custom10Like;
this.custom11 = custom11; this.custom11 = custom11;
this.custom11Like = custom11Like;
this.custom12 = custom12; this.custom12 = custom12;
this.custom12Like = custom12Like;
this.custom13 = custom13; this.custom13 = custom13;
this.custom13Like = custom13Like;
this.custom14 = custom14; this.custom14 = custom14;
this.custom14Like = custom14Like;
this.custom15 = custom15; this.custom15 = custom15;
this.custom15Like = custom15Like;
this.custom16 = custom16; this.custom16 = custom16;
this.custom16Like = custom16Like;
validateFilterParameters(); validateFilterParameters();
} }
@ -355,6 +740,30 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
Optional.ofNullable(priority).ifPresent(query::priorityIn); Optional.ofNullable(priority).ifPresent(query::priorityIn);
Optional.ofNullable(state).ifPresent(query::stateIn); Optional.ofNullable(state).ifPresent(query::stateIn);
Optional.ofNullable(classificationKeys).ifPresent(query::classificationKeyIn); Optional.ofNullable(classificationKeys).ifPresent(query::classificationKeyIn);
Optional.ofNullable(classificationKeysLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::classificationKeyLike);
Optional.ofNullable(classificationCategories).ifPresent(query::classificationCategoryIn);
Optional.ofNullable(classificationCategoriesLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::classificationCategoryLike);
Optional.ofNullable(classificationNames).ifPresent(query::classificationNameIn);
Optional.ofNullable(classificationNamesLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::classificationNameLike);
Optional.ofNullable(attachmentClassificationNames)
.ifPresent(query::attachmentClassificationNameIn);
Optional.ofNullable(attachmentClassificationNamesLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::attachmentClassificationNameLike);
Optional.ofNullable(parentBusinessProcessIds).ifPresent(query::parentBusinessProcessIdIn);
Optional.ofNullable(parentBusinessProcessIdsLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::parentBusinessProcessIdLike);
Optional.ofNullable(businessProcessIds).ifPresent(query::businessProcessIdIn);
Optional.ofNullable(businessProcessIdsLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::businessProcessIdLike);
Optional.ofNullable(taskIds).ifPresent(query::idIn); Optional.ofNullable(taskIds).ifPresent(query::idIn);
Optional.ofNullable(workbasketIds).ifPresent(query::workbasketIdIn); Optional.ofNullable(workbasketIds).ifPresent(query::workbasketIdIn);
Optional.ofNullable(workbasketKeys) Optional.ofNullable(workbasketKeys)
@ -368,11 +777,31 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
Optional.ofNullable(ownerLike) Optional.ofNullable(ownerLike)
.map(this::wrapElementsInLikeStatement) .map(this::wrapElementsInLikeStatement)
.ifPresent(query::ownerLike); .ifPresent(query::ownerLike);
Optional.ofNullable(creator).ifPresent(query::creatorIn);
Optional.ofNullable(creatorLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::creatorLike);
Optional.ofNullable(noteLike).map(this::wrapElementsInLikeStatement).ifPresent(query::noteLike);
Optional.ofNullable(porCompany).ifPresent(query::primaryObjectReferenceCompanyIn); Optional.ofNullable(porCompany).ifPresent(query::primaryObjectReferenceCompanyIn);
Optional.ofNullable(porCompanyLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::primaryObjectReferenceCompanyLike);
Optional.ofNullable(porSystem).ifPresent(query::primaryObjectReferenceSystemIn); Optional.ofNullable(porSystem).ifPresent(query::primaryObjectReferenceSystemIn);
Optional.ofNullable(porSystemLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::primaryObjectReferenceSystemLike);
Optional.ofNullable(porInstance).ifPresent(query::primaryObjectReferenceSystemInstanceIn); Optional.ofNullable(porInstance).ifPresent(query::primaryObjectReferenceSystemInstanceIn);
Optional.ofNullable(porInstanceLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::primaryObjectReferenceSystemInstanceLike);
Optional.ofNullable(porType).ifPresent(query::primaryObjectReferenceTypeIn); Optional.ofNullable(porType).ifPresent(query::primaryObjectReferenceTypeIn);
Optional.ofNullable(porTypeLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::primaryObjectReferenceTypeLike);
Optional.ofNullable(porValue).ifPresent(query::primaryObjectReferenceValueIn); Optional.ofNullable(porValue).ifPresent(query::primaryObjectReferenceValueIn);
Optional.ofNullable(porValueLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::primaryObjectReferenceValueLike);
Optional.ofNullable(planned).map(this::extractTimeIntervals).ifPresent(query::plannedWithin); Optional.ofNullable(planned).map(this::extractTimeIntervals).ifPresent(query::plannedWithin);
Optional.ofNullable(due).map(this::extractTimeIntervals).ifPresent(query::dueWithin); Optional.ofNullable(due).map(this::extractTimeIntervals).ifPresent(query::dueWithin);
if (plannedFrom != null || plannedUntil != null) { if (plannedFrom != null || plannedUntil != null) {
@ -386,6 +815,9 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
query.wildcardSearchValueLike("%" + wildcardSearchValue + "%"); query.wildcardSearchValueLike("%" + wildcardSearchValue + "%");
} }
Optional.ofNullable(externalIds).ifPresent(query::externalIdIn); Optional.ofNullable(externalIds).ifPresent(query::externalIdIn);
Optional.ofNullable(externalIdsLike)
.map(this::wrapElementsInLikeStatement)
.ifPresent(query::externalIdLike);
Stream.of( Stream.of(
Pair.of(TaskCustomField.CUSTOM_1, custom1), Pair.of(TaskCustomField.CUSTOM_1, custom1),
Pair.of(TaskCustomField.CUSTOM_2, custom2), Pair.of(TaskCustomField.CUSTOM_2, custom2),
@ -407,6 +839,31 @@ public class TaskQueryFilterParameter implements QueryParameter<TaskQuery, Void>
pair -> pair ->
Optional.ofNullable(pair.getRight()) Optional.ofNullable(pair.getRight())
.ifPresent(wrap(l -> query.customAttributeIn(pair.getLeft(), l)))); .ifPresent(wrap(l -> query.customAttributeIn(pair.getLeft(), l))));
Stream.of(
Pair.of(TaskCustomField.CUSTOM_1, custom1Like),
Pair.of(TaskCustomField.CUSTOM_2, custom2Like),
Pair.of(TaskCustomField.CUSTOM_3, custom3Like),
Pair.of(TaskCustomField.CUSTOM_4, custom4Like),
Pair.of(TaskCustomField.CUSTOM_5, custom5Like),
Pair.of(TaskCustomField.CUSTOM_6, custom6Like),
Pair.of(TaskCustomField.CUSTOM_7, custom7Like),
Pair.of(TaskCustomField.CUSTOM_8, custom8Like),
Pair.of(TaskCustomField.CUSTOM_9, custom9Like),
Pair.of(TaskCustomField.CUSTOM_10, custom10Like),
Pair.of(TaskCustomField.CUSTOM_11, custom11Like),
Pair.of(TaskCustomField.CUSTOM_12, custom12Like),
Pair.of(TaskCustomField.CUSTOM_13, custom13Like),
Pair.of(TaskCustomField.CUSTOM_14, custom14Like),
Pair.of(TaskCustomField.CUSTOM_15, custom15Like),
Pair.of(TaskCustomField.CUSTOM_16, custom16Like))
.forEach(
pair ->
Optional.ofNullable(pair.getRight())
.ifPresent(
wrap(
l ->
query.customAttributeLike(
pair.getLeft(), wrapElementsInLikeStatement(l)))));
return null; return null;
} }