TSK-1572: replaced CURRENT_TIMESTAMP db function with Instant
This commit is contained in:
parent
32cf6e2b53
commit
66ef87aeef
|
@ -38,7 +38,7 @@ public interface JobMapper {
|
||||||
@Select(
|
@Select(
|
||||||
"<script> SELECT JOB_ID, PRIORITY, CREATED, DUE, STATE, LOCKED_BY, LOCK_EXPIRES, TYPE, RETRY_COUNT, ARGUMENTS "
|
"<script> SELECT JOB_ID, PRIORITY, CREATED, DUE, STATE, LOCKED_BY, LOCK_EXPIRES, TYPE, RETRY_COUNT, ARGUMENTS "
|
||||||
+ "FROM SCHEDULED_JOB "
|
+ "FROM SCHEDULED_JOB "
|
||||||
+ "WHERE STATE IN ( 'READY') AND (DUE is null OR DUE < #{now}) AND (LOCK_EXPIRES is null OR LOCK_EXPIRES < CURRENT_TIMESTAMP) AND RETRY_COUNT > 0 "
|
+ "WHERE STATE IN ( 'READY') AND (DUE is null OR DUE < #{now}) AND (LOCK_EXPIRES is null OR LOCK_EXPIRES < #{now}) AND RETRY_COUNT > 0 "
|
||||||
+ "ORDER BY PRIORITY DESC "
|
+ "ORDER BY PRIORITY DESC "
|
||||||
+ "<if test=\"_databaseId == 'db2'\">with UR </if> "
|
+ "<if test=\"_databaseId == 'db2'\">with UR </if> "
|
||||||
+ "</script>")
|
+ "</script>")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.monitor.internal;
|
package pro.taskana.monitor.internal;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
@ -23,9 +24,9 @@ public interface MonitorMapper {
|
||||||
@Select(
|
@Select(
|
||||||
"<script>"
|
"<script>"
|
||||||
+ "SELECT B.WORKBASKET_KEY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
+ "SELECT B.WORKBASKET_KEY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
||||||
+ "<if test=\"_databaseId == 'db2'\">SELECT T.WORKBASKET_KEY, (DAYS(T.${timestamp}) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'db2'\">SELECT T.WORKBASKET_KEY, (DAYS(T.${timestamp}) - DAYS(#{now})) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'h2'\">SELECT T.WORKBASKET_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, T.${timestamp}) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'h2'\">SELECT T.WORKBASKET_KEY, DATEDIFF('DAY', #{now}, T.${timestamp}) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'postgres'\">SELECT T.WORKBASKET_KEY, DATE_PART('DAY', T.${timestamp} - CURRENT_TIMESTAMP) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'postgres'\">SELECT T.WORKBASKET_KEY, DATE_PART('DAY', T.${timestamp} - #{now}) as AGE_IN_DAYS </if> "
|
||||||
+ "FROM TASK AS T LEFT JOIN ATTACHMENT AS A ON T.ID = A.TASK_ID "
|
+ "FROM TASK AS T LEFT JOIN ATTACHMENT AS A ON T.ID = A.TASK_ID "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
+ "<if test=\"workbasketIds != null\">"
|
+ "<if test=\"workbasketIds != null\">"
|
||||||
|
@ -66,6 +67,7 @@ public interface MonitorMapper {
|
||||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
||||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
||||||
List<MonitorQueryItem> getTaskCountOfWorkbaskets(
|
List<MonitorQueryItem> getTaskCountOfWorkbaskets(
|
||||||
|
@Param("now") Instant now,
|
||||||
@Param("workbasketIds") List<String> workbasketIds,
|
@Param("workbasketIds") List<String> workbasketIds,
|
||||||
@Param("states") List<TaskState> states,
|
@Param("states") List<TaskState> states,
|
||||||
@Param("classificationCategories") List<String> classificationCategories,
|
@Param("classificationCategories") List<String> classificationCategories,
|
||||||
|
@ -80,9 +82,9 @@ public interface MonitorMapper {
|
||||||
@Select(
|
@Select(
|
||||||
"<script>"
|
"<script>"
|
||||||
+ "SELECT B.CLASSIFICATION_CATEGORY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
+ "SELECT B.CLASSIFICATION_CATEGORY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
||||||
+ "<if test=\"_databaseId == 'db2'\">SELECT CLASSIFICATION_CATEGORY, (DAYS(${timestamp}) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'db2'\">SELECT CLASSIFICATION_CATEGORY, (DAYS(${timestamp}) - DAYS(#{now})) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'h2'\">SELECT CLASSIFICATION_CATEGORY, DATEDIFF('DAY', CURRENT_TIMESTAMP, ${timestamp}) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'h2'\">SELECT CLASSIFICATION_CATEGORY, DATEDIFF('DAY', #{now}, ${timestamp}) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'postgres'\">SELECT CLASSIFICATION_CATEGORY, DATE_PART('DAY', ${timestamp} - CURRENT_TIMESTAMP) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'postgres'\">SELECT CLASSIFICATION_CATEGORY, DATE_PART('DAY', ${timestamp} - #{now}) as AGE_IN_DAYS </if> "
|
||||||
+ "FROM TASK "
|
+ "FROM TASK "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
+ "<if test=\"workbasketIds != null\">"
|
+ "<if test=\"workbasketIds != null\">"
|
||||||
|
@ -115,6 +117,7 @@ public interface MonitorMapper {
|
||||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
||||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
||||||
List<MonitorQueryItem> getTaskCountOfCategories(
|
List<MonitorQueryItem> getTaskCountOfCategories(
|
||||||
|
@Param("now") Instant now,
|
||||||
@Param("workbasketIds") List<String> workbasketIds,
|
@Param("workbasketIds") List<String> workbasketIds,
|
||||||
@Param("states") List<TaskState> states,
|
@Param("states") List<TaskState> states,
|
||||||
@Param("classificationCategories") List<String> classificationCategories,
|
@Param("classificationCategories") List<String> classificationCategories,
|
||||||
|
@ -127,9 +130,9 @@ public interface MonitorMapper {
|
||||||
@Select(
|
@Select(
|
||||||
"<script>"
|
"<script>"
|
||||||
+ "SELECT B.CLASSIFICATION_KEY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
+ "SELECT B.CLASSIFICATION_KEY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
||||||
+ "<if test=\"_databaseId == 'db2'\">SELECT CLASSIFICATION_KEY, (DAYS(${timestamp}) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'db2'\">SELECT CLASSIFICATION_KEY, (DAYS(${timestamp}) - DAYS(#{now})) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'h2'\">SELECT CLASSIFICATION_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, ${timestamp}) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'h2'\">SELECT CLASSIFICATION_KEY, DATEDIFF('DAY', #{now}, ${timestamp}) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'postgres'\">SELECT CLASSIFICATION_KEY, DATE_PART('DAY', ${timestamp} - CURRENT_TIMESTAMP) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'postgres'\">SELECT CLASSIFICATION_KEY, DATE_PART('DAY', ${timestamp} - #{now}) as AGE_IN_DAYS </if> "
|
||||||
+ "FROM TASK "
|
+ "FROM TASK "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
+ "<if test=\"workbasketIds != null\">"
|
+ "<if test=\"workbasketIds != null\">"
|
||||||
|
@ -162,6 +165,7 @@ public interface MonitorMapper {
|
||||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
||||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
||||||
List<MonitorQueryItem> getTaskCountOfClassifications(
|
List<MonitorQueryItem> getTaskCountOfClassifications(
|
||||||
|
@Param("now") Instant now,
|
||||||
@Param("workbasketIds") List<String> workbasketIds,
|
@Param("workbasketIds") List<String> workbasketIds,
|
||||||
@Param("states") List<TaskState> states,
|
@Param("states") List<TaskState> states,
|
||||||
@Param("classificationCategories") List<String> classificationCategories,
|
@Param("classificationCategories") List<String> classificationCategories,
|
||||||
|
@ -174,9 +178,9 @@ public interface MonitorMapper {
|
||||||
@Select(
|
@Select(
|
||||||
"<script>"
|
"<script>"
|
||||||
+ "SELECT B.TASK_CLASSIFICATION_KEY, B.ATTACHMENT_CLASSIFICATION_KEY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
+ "SELECT B.TASK_CLASSIFICATION_KEY, B.ATTACHMENT_CLASSIFICATION_KEY, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
||||||
+ "<if test=\"_databaseId == 'db2'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, (DAYS(T.${timestamp}) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'db2'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, (DAYS(T.${timestamp}) - DAYS(#{now})) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'h2'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, DATEDIFF('DAY', CURRENT_TIMESTAMP, T.${timestamp}) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'h2'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, DATEDIFF('DAY', #{now}, T.${timestamp}) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'postgres'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, DATE_PART('DAY', T.${timestamp} - CURRENT_TIMESTAMP) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'postgres'\">SELECT T.CLASSIFICATION_KEY as TASK_CLASSIFICATION_KEY, A.CLASSIFICATION_KEY as ATTACHMENT_CLASSIFICATION_KEY, DATE_PART('DAY', T.${timestamp} - #{now}) as AGE_IN_DAYS </if> "
|
||||||
+ "FROM TASK AS T LEFT JOIN ATTACHMENT AS A ON T.ID = A.TASK_ID "
|
+ "FROM TASK AS T LEFT JOIN ATTACHMENT AS A ON T.ID = A.TASK_ID "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
+ "<if test=\"workbasketIds != null\">"
|
+ "<if test=\"workbasketIds != null\">"
|
||||||
|
@ -210,6 +214,7 @@ public interface MonitorMapper {
|
||||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
||||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
||||||
List<DetailedMonitorQueryItem> getTaskCountOfDetailedClassifications(
|
List<DetailedMonitorQueryItem> getTaskCountOfDetailedClassifications(
|
||||||
|
@Param("now") Instant now,
|
||||||
@Param("workbasketIds") List<String> workbasketIds,
|
@Param("workbasketIds") List<String> workbasketIds,
|
||||||
@Param("states") List<TaskState> states,
|
@Param("states") List<TaskState> states,
|
||||||
@Param("classificationCategories") List<String> classificationCategories,
|
@Param("classificationCategories") List<String> classificationCategories,
|
||||||
|
@ -222,9 +227,9 @@ public interface MonitorMapper {
|
||||||
@Select(
|
@Select(
|
||||||
"<script>"
|
"<script>"
|
||||||
+ "SELECT B.CUSTOM_FIELD, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
+ "SELECT B.CUSTOM_FIELD, B.AGE_IN_DAYS, COUNT(B.AGE_IN_DAYS) AS NUMBER_OF_TASKS FROM ("
|
||||||
+ "<if test=\"_databaseId == 'db2'\">SELECT ${customField} as CUSTOM_FIELD, (DAYS(${timestamp}) - DAYS(CURRENT_TIMESTAMP)) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'db2'\">SELECT ${customField} as CUSTOM_FIELD, (DAYS(${timestamp}) - DAYS(#{now})) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'h2'\">SELECT ${customField} as CUSTOM_FIELD, DATEDIFF('DAY', CURRENT_TIMESTAMP, ${timestamp}) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'h2'\">SELECT ${customField} as CUSTOM_FIELD, DATEDIFF('DAY', #{now}, ${timestamp}) as AGE_IN_DAYS </if> "
|
||||||
+ "<if test=\"_databaseId == 'postgres'\">SELECT ${customField} as CUSTOM_FIELD, DATE_PART('DAY', ${timestamp} - CURRENT_TIMESTAMP) as AGE_IN_DAYS </if> "
|
+ "<if test=\"_databaseId == 'postgres'\">SELECT ${customField} as CUSTOM_FIELD, DATE_PART('DAY', ${timestamp} - #{now}) as AGE_IN_DAYS </if> "
|
||||||
+ "FROM TASK "
|
+ "FROM TASK "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
+ "<if test=\"workbasketIds != null\">"
|
+ "<if test=\"workbasketIds != null\">"
|
||||||
|
@ -257,6 +262,7 @@ public interface MonitorMapper {
|
||||||
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
@Result(column = "AGE_IN_DAYS", property = "ageInDays")
|
||||||
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
@Result(column = "NUMBER_OF_TASKS", property = "numberOfTasks")
|
||||||
List<MonitorQueryItem> getTaskCountOfTaskCustomFieldValues(
|
List<MonitorQueryItem> getTaskCountOfTaskCustomFieldValues(
|
||||||
|
@Param("now") Instant now,
|
||||||
@Param("customField") TaskCustomField taskCustomField,
|
@Param("customField") TaskCustomField taskCustomField,
|
||||||
@Param("workbasketIds") List<String> workbasketIds,
|
@Param("workbasketIds") List<String> workbasketIds,
|
||||||
@Param("states") List<TaskState> states,
|
@Param("states") List<TaskState> states,
|
||||||
|
@ -312,22 +318,23 @@ public interface MonitorMapper {
|
||||||
+ "</if>"
|
+ "</if>"
|
||||||
+ "</if>"
|
+ "</if>"
|
||||||
+ "<if test=\"_databaseId == 'db2'\">"
|
+ "<if test=\"_databaseId == 'db2'\">"
|
||||||
+ "#{selectedItem.upperAgeLimit} >= (DAYS(${timestamp}) - DAYS(CURRENT_TIMESTAMP)) AND "
|
+ "#{selectedItem.upperAgeLimit} >= (DAYS(${timestamp}) - DAYS(#{now})) AND "
|
||||||
+ "#{selectedItem.lowerAgeLimit} <= (DAYS(${timestamp}) - DAYS(CURRENT_TIMESTAMP)) "
|
+ "#{selectedItem.lowerAgeLimit} <= (DAYS(${timestamp}) - DAYS(#{now})) "
|
||||||
+ "</if> "
|
+ "</if> "
|
||||||
+ "<if test=\"_databaseId == 'h2'\">"
|
+ "<if test=\"_databaseId == 'h2'\">"
|
||||||
+ "#{selectedItem.upperAgeLimit} >= DATEDIFF('DAY', CURRENT_TIMESTAMP, ${timestamp}) AND "
|
+ "#{selectedItem.upperAgeLimit} >= DATEDIFF('DAY', #{now}, ${timestamp}) AND "
|
||||||
+ "#{selectedItem.lowerAgeLimit} <= DATEDIFF('DAY', CURRENT_TIMESTAMP, ${timestamp}) "
|
+ "#{selectedItem.lowerAgeLimit} <= DATEDIFF('DAY', #{now}, ${timestamp}) "
|
||||||
+ "</if> "
|
+ "</if> "
|
||||||
+ "<if test=\"_databaseId == 'postgres'\">"
|
+ "<if test=\"_databaseId == 'postgres'\">"
|
||||||
+ "#{selectedItem.upperAgeLimit} >= DATE_PART('day', ${timestamp} - CURRENT_TIMESTAMP ) AND "
|
+ "#{selectedItem.upperAgeLimit} >= DATE_PART('day', ${timestamp} - #{now} ) AND "
|
||||||
+ "#{selectedItem.lowerAgeLimit} <= DATE_PART('day', ${timestamp} - CURRENT_TIMESTAMP ) "
|
+ "#{selectedItem.lowerAgeLimit} <= DATE_PART('day', ${timestamp} - #{now} ) "
|
||||||
+ "</if> "
|
+ "</if> "
|
||||||
+ "</foreach>) "
|
+ "</foreach>) "
|
||||||
+ "</where>"
|
+ "</where>"
|
||||||
+ "<if test=\"_databaseId == 'db2'\">with UR </if> "
|
+ "<if test=\"_databaseId == 'db2'\">with UR </if> "
|
||||||
+ "</script>")
|
+ "</script>")
|
||||||
List<String> getTaskIdsForSelectedItems(
|
List<String> getTaskIdsForSelectedItems(
|
||||||
|
@Param("now") Instant now,
|
||||||
@Param("workbasketIds") List<String> workbasketIds,
|
@Param("workbasketIds") List<String> workbasketIds,
|
||||||
@Param("states") List<TaskState> states,
|
@Param("states") List<TaskState> states,
|
||||||
@Param("classificationCategories") List<String> classificationCategories,
|
@Param("classificationCategories") List<String> classificationCategories,
|
||||||
|
@ -429,9 +436,9 @@ public interface MonitorMapper {
|
||||||
// overhead / complexity. It's worth the trade-off of not computing the AGE_IN_DAYS column
|
// overhead / complexity. It's worth the trade-off of not computing the AGE_IN_DAYS column
|
||||||
// twice.
|
// twice.
|
||||||
+ "SELECT W.ORG_LEVEL_1, W.ORG_LEVEL_2, W.ORG_LEVEL_3, W.ORG_LEVEL_4, "
|
+ "SELECT W.ORG_LEVEL_1, W.ORG_LEVEL_2, W.ORG_LEVEL_3, W.ORG_LEVEL_4, "
|
||||||
+ "<if test=\"_databaseId == 'db2'\">(DAYS(T.${status}) - DAYS(CURRENT_TIMESTAMP))</if>"
|
+ "<if test=\"_databaseId == 'db2'\">(DAYS(T.${status}) - DAYS(#{now}))</if>"
|
||||||
+ "<if test=\"_databaseId == 'h2'\">DATEDIFF('DAY', CURRENT_TIMESTAMP, T.${status})</if>"
|
+ "<if test=\"_databaseId == 'h2'\">DATEDIFF('DAY', #{now}, T.${status})</if>"
|
||||||
+ "<if test=\"_databaseId == 'postgres'\">DATE_PART('DAY', T.${status} - CURRENT_TIMESTAMP)</if>"
|
+ "<if test=\"_databaseId == 'postgres'\">DATE_PART('DAY', T.${status} - #{now})</if>"
|
||||||
+ " as AGE_IN_DAYS "
|
+ " as AGE_IN_DAYS "
|
||||||
+ "FROM TASK AS T INNER JOIN WORKBASKET AS W ON T.WORKBASKET_KEY=W.KEY "
|
+ "FROM TASK AS T INNER JOIN WORKBASKET AS W ON T.WORKBASKET_KEY=W.KEY "
|
||||||
+ "<where>"
|
+ "<where>"
|
||||||
|
@ -465,6 +472,7 @@ public interface MonitorMapper {
|
||||||
@Result(column = "ORG_LEVEL_3", property = "orgLevel3")
|
@Result(column = "ORG_LEVEL_3", property = "orgLevel3")
|
||||||
@Result(column = "ORG_LEVEL_4", property = "orgLevel4")
|
@Result(column = "ORG_LEVEL_4", property = "orgLevel4")
|
||||||
List<TimestampQueryItem> getTasksCountForStatusGroupedByOrgLevel(
|
List<TimestampQueryItem> getTasksCountForStatusGroupedByOrgLevel(
|
||||||
|
@Param("now") Instant now,
|
||||||
@Param("status") TaskTimestamp status,
|
@Param("status") TaskTimestamp status,
|
||||||
@Param("classificationCategories") List<String> classificationCategories,
|
@Param("classificationCategories") List<String> classificationCategories,
|
||||||
@Param("classificationIds") List<String> classificationIds,
|
@Param("classificationIds") List<String> classificationIds,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.monitor.internal.reports;
|
package pro.taskana.monitor.internal.reports;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -45,6 +46,7 @@ public class ClassificationCategoryReportBuilderImpl
|
||||||
ClassificationCategoryReport report = new ClassificationCategoryReport(this.columnHeaders);
|
ClassificationCategoryReport report = new ClassificationCategoryReport(this.columnHeaders);
|
||||||
List<MonitorQueryItem> monitorQueryItems =
|
List<MonitorQueryItem> monitorQueryItems =
|
||||||
this.monitorMapper.getTaskCountOfCategories(
|
this.monitorMapper.getTaskCountOfCategories(
|
||||||
|
Instant.now(),
|
||||||
this.workbasketIds,
|
this.workbasketIds,
|
||||||
this.states,
|
this.states,
|
||||||
this.classificationCategory,
|
this.classificationCategory,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.monitor.internal.reports;
|
package pro.taskana.monitor.internal.reports;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
@ -55,6 +56,7 @@ public class ClassificationReportBuilderImpl
|
||||||
ClassificationReport report = new ClassificationReport(this.columnHeaders);
|
ClassificationReport report = new ClassificationReport(this.columnHeaders);
|
||||||
List<MonitorQueryItem> monitorQueryItems =
|
List<MonitorQueryItem> monitorQueryItems =
|
||||||
this.monitorMapper.getTaskCountOfClassifications(
|
this.monitorMapper.getTaskCountOfClassifications(
|
||||||
|
Instant.now(),
|
||||||
this.workbasketIds,
|
this.workbasketIds,
|
||||||
this.states,
|
this.states,
|
||||||
this.classificationCategory,
|
this.classificationCategory,
|
||||||
|
@ -104,6 +106,7 @@ public class ClassificationReportBuilderImpl
|
||||||
DetailedClassificationReport report = new DetailedClassificationReport(this.columnHeaders);
|
DetailedClassificationReport report = new DetailedClassificationReport(this.columnHeaders);
|
||||||
List<DetailedMonitorQueryItem> detailedMonitorQueryItems =
|
List<DetailedMonitorQueryItem> detailedMonitorQueryItems =
|
||||||
this.monitorMapper.getTaskCountOfDetailedClassifications(
|
this.monitorMapper.getTaskCountOfDetailedClassifications(
|
||||||
|
Instant.now(),
|
||||||
this.workbasketIds,
|
this.workbasketIds,
|
||||||
this.states,
|
this.states,
|
||||||
this.classificationCategory,
|
this.classificationCategory,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.monitor.internal.reports;
|
package pro.taskana.monitor.internal.reports;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
@ -51,6 +52,7 @@ public class TaskCustomFieldValueReportBuilderImpl
|
||||||
TaskCustomFieldValueReport report = new TaskCustomFieldValueReport(this.columnHeaders);
|
TaskCustomFieldValueReport report = new TaskCustomFieldValueReport(this.columnHeaders);
|
||||||
List<MonitorQueryItem> monitorQueryItems =
|
List<MonitorQueryItem> monitorQueryItems =
|
||||||
this.monitorMapper.getTaskCountOfTaskCustomFieldValues(
|
this.monitorMapper.getTaskCountOfTaskCustomFieldValues(
|
||||||
|
Instant.now(),
|
||||||
this.taskCustomField,
|
this.taskCustomField,
|
||||||
this.workbasketIds,
|
this.workbasketIds,
|
||||||
this.states,
|
this.states,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.monitor.internal.reports;
|
package pro.taskana.monitor.internal.reports;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -146,6 +147,7 @@ abstract class TimeIntervalReportBuilderImpl<
|
||||||
selectedItems = convertWorkingDaysToDays(selectedItems, this.columnHeaders);
|
selectedItems = convertWorkingDaysToDays(selectedItems, this.columnHeaders);
|
||||||
}
|
}
|
||||||
return this.monitorMapper.getTaskIdsForSelectedItems(
|
return this.monitorMapper.getTaskIdsForSelectedItems(
|
||||||
|
Instant.now(),
|
||||||
this.workbasketIds,
|
this.workbasketIds,
|
||||||
this.states,
|
this.states,
|
||||||
this.classificationCategory,
|
this.classificationCategory,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.monitor.internal.reports;
|
package pro.taskana.monitor.internal.reports;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
|
@ -99,6 +100,7 @@ public class TimestampReportBuilderImpl
|
||||||
|
|
||||||
private List<TimestampQueryItem> getTasksCountForStatusGroupedByOrgLevel(TaskTimestamp s) {
|
private List<TimestampQueryItem> getTasksCountForStatusGroupedByOrgLevel(TaskTimestamp s) {
|
||||||
return monitorMapper.getTasksCountForStatusGroupedByOrgLevel(
|
return monitorMapper.getTasksCountForStatusGroupedByOrgLevel(
|
||||||
|
Instant.now(),
|
||||||
s,
|
s,
|
||||||
classificationCategory,
|
classificationCategory,
|
||||||
classificationIds,
|
classificationIds,
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package pro.taskana.monitor.internal.reports;
|
package pro.taskana.monitor.internal.reports;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
@ -51,6 +52,7 @@ public class WorkbasketReportBuilderImpl
|
||||||
WorkbasketReport report = new WorkbasketReport(this.columnHeaders);
|
WorkbasketReport report = new WorkbasketReport(this.columnHeaders);
|
||||||
List<MonitorQueryItem> monitorQueryItems =
|
List<MonitorQueryItem> monitorQueryItems =
|
||||||
this.monitorMapper.getTaskCountOfWorkbaskets(
|
this.monitorMapper.getTaskCountOfWorkbaskets(
|
||||||
|
Instant.now(),
|
||||||
this.workbasketIds,
|
this.workbasketIds,
|
||||||
this.states,
|
this.states,
|
||||||
this.classificationCategory,
|
this.classificationCategory,
|
||||||
|
|
|
@ -7,17 +7,26 @@ import static com.tngtech.archunit.library.GeneralCodingRules.NO_CLASSES_SHOULD_
|
||||||
import static com.tngtech.archunit.library.dependencies.SlicesRuleDefinition.slices;
|
import static com.tngtech.archunit.library.dependencies.SlicesRuleDefinition.slices;
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
|
import com.tngtech.archunit.base.Optional;
|
||||||
import com.tngtech.archunit.core.domain.JavaClass;
|
import com.tngtech.archunit.core.domain.JavaClass;
|
||||||
import com.tngtech.archunit.core.domain.JavaClasses;
|
import com.tngtech.archunit.core.domain.JavaClasses;
|
||||||
|
import com.tngtech.archunit.core.domain.JavaMethod;
|
||||||
import com.tngtech.archunit.core.importer.ClassFileImporter;
|
import com.tngtech.archunit.core.importer.ClassFileImporter;
|
||||||
import com.tngtech.archunit.lang.ArchCondition;
|
import com.tngtech.archunit.lang.ArchCondition;
|
||||||
import com.tngtech.archunit.lang.ArchRule;
|
import com.tngtech.archunit.lang.ArchRule;
|
||||||
import com.tngtech.archunit.lang.ConditionEvents;
|
import com.tngtech.archunit.lang.ConditionEvents;
|
||||||
import com.tngtech.archunit.lang.SimpleConditionEvent;
|
import com.tngtech.archunit.lang.SimpleConditionEvent;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.function.Function;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
import org.apache.ibatis.annotations.Delete;
|
||||||
|
import org.apache.ibatis.annotations.Insert;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
import org.apache.ibatis.annotations.Update;
|
||||||
import org.junit.jupiter.api.BeforeAll;
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
import org.junit.jupiter.api.DynamicTest;
|
import org.junit.jupiter.api.DynamicTest;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
|
@ -109,22 +118,7 @@ class ArchitectureTest {
|
||||||
)
|
)
|
||||||
.map(Pattern::compile)
|
.map(Pattern::compile)
|
||||||
.collect(Collectors.toList());
|
.collect(Collectors.toList());
|
||||||
ArchCondition<JavaClass> condition =
|
ArchRule myRule = classes().should(beDefinedInTaskanaSubPackages(excludePackages));
|
||||||
new ArchCondition<JavaClass>("all be defined in TASKANA_SUB_PACKAGES") {
|
|
||||||
@Override
|
|
||||||
public void check(JavaClass item, ConditionEvents events) {
|
|
||||||
if (TASKANA_SUB_PACKAGES.stream().noneMatch(p -> item.getPackageName().startsWith(p))
|
|
||||||
&& excludePackages.stream()
|
|
||||||
.noneMatch(p -> p.matcher(item.getPackageName()).matches())) {
|
|
||||||
String message =
|
|
||||||
String.format(
|
|
||||||
"Package '%s' was not declared in TASKANA_SUB_PACKAGES",
|
|
||||||
item.getPackageName());
|
|
||||||
events.add(SimpleConditionEvent.violated(item, message));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
ArchRule myRule = classes().should(condition);
|
|
||||||
myRule.check(importedClasses);
|
myRule.check(importedClasses);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -220,4 +214,83 @@ class ArchitectureTest {
|
||||||
.because("we consistently want to use assertj in our tests");
|
.because("we consistently want to use assertj in our tests");
|
||||||
rule.check(importedClasses);
|
rule.check(importedClasses);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void mapperClassesShouldNotUseCurrentTimestampSqlFunction() {
|
||||||
|
ArchRule rule =
|
||||||
|
classes()
|
||||||
|
.that()
|
||||||
|
.haveSimpleNameEndingWith("Mapper")
|
||||||
|
.should(notUseCurrentTimestampSqlFunction());
|
||||||
|
|
||||||
|
rule.check(importedClasses);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ArchCondition<JavaClass> beDefinedInTaskanaSubPackages(
|
||||||
|
List<Pattern> excludePackages) {
|
||||||
|
return new ArchCondition<>("all be defined in TASKANA_SUB_PACKAGES") {
|
||||||
|
@Override
|
||||||
|
public void check(JavaClass javaClass, ConditionEvents events) {
|
||||||
|
if (TASKANA_SUB_PACKAGES.stream().noneMatch(p -> javaClass.getPackageName().startsWith(p))
|
||||||
|
&& excludePackages.stream()
|
||||||
|
.noneMatch(p -> p.matcher(javaClass.getPackageName()).matches())) {
|
||||||
|
String message =
|
||||||
|
String.format(
|
||||||
|
"Package '%s' was not declared in TASKANA_SUB_PACKAGES",
|
||||||
|
javaClass.getPackageName());
|
||||||
|
events.add(SimpleConditionEvent.violated(javaClass, message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
private static ArchCondition<JavaClass> notUseCurrentTimestampSqlFunction() {
|
||||||
|
Function<JavaMethod, List<String>> getSqlStringsFromMethod =
|
||||||
|
(method) -> {
|
||||||
|
List<String> values = new ArrayList<>();
|
||||||
|
final Optional<Select> selectAnnotation = method.tryGetAnnotationOfType(Select.class);
|
||||||
|
final Optional<Update> updateAnnotation = method.tryGetAnnotationOfType(Update.class);
|
||||||
|
final Optional<Insert> insertAnnotation = method.tryGetAnnotationOfType(Insert.class);
|
||||||
|
final Optional<Delete> deleteAnnotation = method.tryGetAnnotationOfType(Delete.class);
|
||||||
|
|
||||||
|
if (selectAnnotation.isPresent()) {
|
||||||
|
values.addAll(Arrays.asList(selectAnnotation.get().value()));
|
||||||
|
}
|
||||||
|
if (updateAnnotation.isPresent()) {
|
||||||
|
values.addAll(Arrays.asList(updateAnnotation.get().value()));
|
||||||
|
}
|
||||||
|
if (insertAnnotation.isPresent()) {
|
||||||
|
values.addAll(Arrays.asList(insertAnnotation.get().value()));
|
||||||
|
}
|
||||||
|
if (deleteAnnotation.isPresent()) {
|
||||||
|
values.addAll(Arrays.asList(deleteAnnotation.get().value()));
|
||||||
|
}
|
||||||
|
return values;
|
||||||
|
};
|
||||||
|
|
||||||
|
return new ArchCondition<>("not use the SQL function 'CURRENT_TIMESTAMP'") {
|
||||||
|
@Override
|
||||||
|
public void check(JavaClass javaClass, ConditionEvents events) {
|
||||||
|
for (JavaMethod method : javaClass.getAllMethods()) {
|
||||||
|
List<String> sqlStrings = getSqlStringsFromMethod.apply(method);
|
||||||
|
|
||||||
|
if (sqlStrings.isEmpty()) {
|
||||||
|
String message =
|
||||||
|
String.format(
|
||||||
|
"Method '%s#%s' does not contain any MyBatis SQL annotation",
|
||||||
|
javaClass.getName(), method.getName());
|
||||||
|
events.add(SimpleConditionEvent.violated(javaClass, message));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sqlStrings.stream().anyMatch(s -> s.contains("CURRENT_TIMESTAMP"))) {
|
||||||
|
String message =
|
||||||
|
String.format(
|
||||||
|
"Method '%s#%s' uses 'CURRENT_TIMESTAMP' SQL function",
|
||||||
|
javaClass.getName(), method.getName());
|
||||||
|
events.add(SimpleConditionEvent.violated(javaClass, message));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,14 +66,15 @@ class ClassificationClassificationCategoryReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfCategories(
|
when(monitorMapperMock.getTaskCountOfCategories(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
final ClassificationCategoryReport actualResult =
|
final ClassificationCategoryReport actualResult =
|
||||||
|
@ -92,7 +93,7 @@ class ClassificationClassificationCategoryReportBuilderImplTest {
|
||||||
verify(taskanaEngineMock).checkRoleMembership(any());
|
verify(taskanaEngineMock).checkRoleMembership(any());
|
||||||
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfCategories(any(), any(), any(), any(), any(), any(), any(), any());
|
.getTaskCountOfCategories(any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verifyNoMoreInteractions(
|
verifyNoMoreInteractions(
|
||||||
internalTaskanaEngineMock,
|
internalTaskanaEngineMock,
|
||||||
|
@ -125,14 +126,15 @@ class ClassificationClassificationCategoryReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfCategories(
|
when(monitorMapperMock.getTaskCountOfCategories(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
final ClassificationCategoryReport actualResult =
|
final ClassificationCategoryReport actualResult =
|
||||||
|
@ -152,7 +154,7 @@ class ClassificationClassificationCategoryReportBuilderImplTest {
|
||||||
verify(taskanaEngineMock).checkRoleMembership(any());
|
verify(taskanaEngineMock).checkRoleMembership(any());
|
||||||
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfCategories(any(), any(), any(), any(), any(), any(), any(), any());
|
.getTaskCountOfCategories(any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verifyNoMoreInteractions(
|
verifyNoMoreInteractions(
|
||||||
internalTaskanaEngineMock,
|
internalTaskanaEngineMock,
|
||||||
|
@ -183,18 +185,19 @@ class ClassificationClassificationCategoryReportBuilderImplTest {
|
||||||
|
|
||||||
List<String> expectedResult = List.of("TKI:000000000000000000000000000000000001");
|
List<String> expectedResult = List.of("TKI:000000000000000000000000000000000001");
|
||||||
when(monitorMapperMock.getTaskIdsForSelectedItems(
|
when(monitorMapperMock.getTaskIdsForSelectedItems(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
classificationIds,
|
eq(domains),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter,
|
eq(excludedClassificationIds),
|
||||||
null,
|
eq(customAttributeFilter),
|
||||||
"CLASSIFICATION_CATEGORY",
|
eq(null),
|
||||||
TaskTimestamp.DUE,
|
eq("CLASSIFICATION_CATEGORY"),
|
||||||
selectedItems,
|
eq(TaskTimestamp.DUE),
|
||||||
false))
|
eq(selectedItems),
|
||||||
|
eq(false)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
final List<String> actualResult =
|
final List<String> actualResult =
|
||||||
|
@ -224,6 +227,7 @@ class ClassificationClassificationCategoryReportBuilderImplTest {
|
||||||
any(),
|
any(),
|
||||||
any(),
|
any(),
|
||||||
any(),
|
any(),
|
||||||
|
any(),
|
||||||
eq(TaskTimestamp.DUE),
|
eq(TaskTimestamp.DUE),
|
||||||
any(),
|
any(),
|
||||||
eq(false));
|
eq(false));
|
||||||
|
|
|
@ -80,14 +80,15 @@ class ClassificationReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfClassifications(
|
when(monitorMapperMock.getTaskCountOfClassifications(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
||||||
|
@ -114,7 +115,8 @@ class ClassificationReportBuilderImplTest {
|
||||||
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
||||||
|
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfClassifications(any(), any(), any(), any(), any(), any(), any(), any());
|
.getTaskCountOfClassifications(
|
||||||
|
any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
|
|
||||||
verifyNoMoreInteractions(queryMock);
|
verifyNoMoreInteractions(queryMock);
|
||||||
|
@ -147,14 +149,15 @@ class ClassificationReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfClassifications(
|
when(monitorMapperMock.getTaskCountOfClassifications(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
||||||
when(classificationService.createClassificationQuery()).thenReturn(queryMock);
|
when(classificationService.createClassificationQuery()).thenReturn(queryMock);
|
||||||
|
@ -181,7 +184,8 @@ class ClassificationReportBuilderImplTest {
|
||||||
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
||||||
|
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfClassifications(any(), any(), any(), any(), any(), any(), any(), any());
|
.getTaskCountOfClassifications(
|
||||||
|
any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verifyNoMoreInteractions(queryMock);
|
verifyNoMoreInteractions(queryMock);
|
||||||
verifyNoMoreInteractions(mocks);
|
verifyNoMoreInteractions(mocks);
|
||||||
|
@ -212,14 +216,15 @@ class ClassificationReportBuilderImplTest {
|
||||||
detailedMonitorQueryItem.setNumberOfTasks(1);
|
detailedMonitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(detailedMonitorQueryItem);
|
expectedResult.add(detailedMonitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfDetailedClassifications(
|
when(monitorMapperMock.getTaskCountOfDetailedClassifications(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
||||||
when(classificationService.createClassificationQuery()).thenReturn(queryMock);
|
when(classificationService.createClassificationQuery()).thenReturn(queryMock);
|
||||||
|
@ -246,7 +251,7 @@ class ClassificationReportBuilderImplTest {
|
||||||
|
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfDetailedClassifications(
|
.getTaskCountOfDetailedClassifications(
|
||||||
any(), any(), any(), any(), any(), any(), any(), any());
|
any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verifyNoMoreInteractions(queryMock);
|
verifyNoMoreInteractions(queryMock);
|
||||||
verifyNoMoreInteractions(mocks);
|
verifyNoMoreInteractions(mocks);
|
||||||
|
@ -281,14 +286,15 @@ class ClassificationReportBuilderImplTest {
|
||||||
detailedMonitorQueryItem.setNumberOfTasks(1);
|
detailedMonitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(detailedMonitorQueryItem);
|
expectedResult.add(detailedMonitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfDetailedClassifications(
|
when(monitorMapperMock.getTaskCountOfDetailedClassifications(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
ClassificationQuery queryMock = mock(ClassificationQuery.class);
|
||||||
when(classificationService.createClassificationQuery()).thenReturn(queryMock);
|
when(classificationService.createClassificationQuery()).thenReturn(queryMock);
|
||||||
|
@ -316,7 +322,7 @@ class ClassificationReportBuilderImplTest {
|
||||||
|
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfDetailedClassifications(
|
.getTaskCountOfDetailedClassifications(
|
||||||
any(), any(), any(), any(), any(), any(), any(), any());
|
any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verifyNoMoreInteractions(queryMock);
|
verifyNoMoreInteractions(queryMock);
|
||||||
verifyNoMoreInteractions(mocks);
|
verifyNoMoreInteractions(mocks);
|
||||||
|
@ -351,18 +357,19 @@ class ClassificationReportBuilderImplTest {
|
||||||
|
|
||||||
final List<String> expectedResult = List.of("TKI:000000000000000000000000000000000001");
|
final List<String> expectedResult = List.of("TKI:000000000000000000000000000000000001");
|
||||||
when(monitorMapperMock.getTaskIdsForSelectedItems(
|
when(monitorMapperMock.getTaskIdsForSelectedItems(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
classificationIds,
|
eq(domains),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter,
|
eq(excludedClassificationIds),
|
||||||
null,
|
eq(customAttributeFilter),
|
||||||
"CLASSIFICATION_KEY",
|
eq(null),
|
||||||
TaskTimestamp.DUE,
|
eq("CLASSIFICATION_KEY"),
|
||||||
selectedItems,
|
eq(TaskTimestamp.DUE),
|
||||||
false))
|
eq(selectedItems),
|
||||||
|
eq(false)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
final List<String> actualResult =
|
final List<String> actualResult =
|
||||||
|
@ -393,6 +400,7 @@ class ClassificationReportBuilderImplTest {
|
||||||
any(),
|
any(),
|
||||||
any(),
|
any(),
|
||||||
any(),
|
any(),
|
||||||
|
any(),
|
||||||
eq(TaskTimestamp.DUE),
|
eq(TaskTimestamp.DUE),
|
||||||
any(),
|
any(),
|
||||||
eq(false));
|
eq(false));
|
||||||
|
|
|
@ -2,6 +2,7 @@ package pro.taskana.monitor.internal;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.mockito.ArgumentMatchers.any;
|
import static org.mockito.ArgumentMatchers.any;
|
||||||
|
import static org.mockito.ArgumentMatchers.eq;
|
||||||
import static org.mockito.Mockito.times;
|
import static org.mockito.Mockito.times;
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||||
|
@ -64,15 +65,16 @@ class TaskCustomFieldValueReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfTaskCustomFieldValues(
|
when(monitorMapperMock.getTaskCountOfTaskCustomFieldValues(
|
||||||
TaskCustomField.CUSTOM_1,
|
any(),
|
||||||
workbasketIds,
|
eq(TaskCustomField.CUSTOM_1),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
final TaskCustomFieldValueReport actualResult =
|
final TaskCustomFieldValueReport actualResult =
|
||||||
|
@ -92,7 +94,7 @@ class TaskCustomFieldValueReportBuilderImplTest {
|
||||||
verify(internalTaskanaEngineMock, times(2)).getEngine();
|
verify(internalTaskanaEngineMock, times(2)).getEngine();
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfTaskCustomFieldValues(
|
.getTaskCountOfTaskCustomFieldValues(
|
||||||
any(), any(), any(), any(), any(), any(), any(), any(), any());
|
any(), any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verifyNoMoreInteractions(
|
verifyNoMoreInteractions(
|
||||||
internalTaskanaEngineMock,
|
internalTaskanaEngineMock,
|
||||||
|
@ -125,15 +127,16 @@ class TaskCustomFieldValueReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfTaskCustomFieldValues(
|
when(monitorMapperMock.getTaskCountOfTaskCustomFieldValues(
|
||||||
TaskCustomField.CUSTOM_1,
|
any(),
|
||||||
workbasketIds,
|
eq(TaskCustomField.CUSTOM_1),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter))
|
eq(excludedClassificationIds),
|
||||||
|
eq(customAttributeFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
final TaskCustomFieldValueReport actualResult =
|
final TaskCustomFieldValueReport actualResult =
|
||||||
|
@ -154,7 +157,7 @@ class TaskCustomFieldValueReportBuilderImplTest {
|
||||||
verify(internalTaskanaEngineMock, times(2)).getEngine();
|
verify(internalTaskanaEngineMock, times(2)).getEngine();
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfTaskCustomFieldValues(
|
.getTaskCountOfTaskCustomFieldValues(
|
||||||
any(), any(), any(), any(), any(), any(), any(), any(), any());
|
any(), any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verifyNoMoreInteractions(
|
verifyNoMoreInteractions(
|
||||||
internalTaskanaEngineMock,
|
internalTaskanaEngineMock,
|
||||||
|
|
|
@ -73,15 +73,16 @@ class WorkbasketReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfWorkbaskets(
|
when(monitorMapperMock.getTaskCountOfWorkbaskets(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter,
|
eq(excludedClassificationIds),
|
||||||
combinedClassificationFilter))
|
eq(customAttributeFilter),
|
||||||
|
eq(combinedClassificationFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
when(internalTaskanaEngineMock.runAsAdmin(any())).thenReturn(Map.of());
|
when(internalTaskanaEngineMock.runAsAdmin(any())).thenReturn(Map.of());
|
||||||
|
|
||||||
|
@ -102,7 +103,8 @@ class WorkbasketReportBuilderImplTest {
|
||||||
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
||||||
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfWorkbaskets(any(), any(), any(), any(), any(), any(), any(), any(), any());
|
.getTaskCountOfWorkbaskets(
|
||||||
|
any(), any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verify(internalTaskanaEngineMock).runAsAdmin(any());
|
verify(internalTaskanaEngineMock).runAsAdmin(any());
|
||||||
verify(taskanaEngineMock).getWorkbasketService();
|
verify(taskanaEngineMock).getWorkbasketService();
|
||||||
|
@ -139,15 +141,16 @@ class WorkbasketReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfWorkbaskets(
|
when(monitorMapperMock.getTaskCountOfWorkbaskets(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.DUE,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.DUE),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter,
|
eq(excludedClassificationIds),
|
||||||
combinedClassificationFilter))
|
eq(customAttributeFilter),
|
||||||
|
eq(combinedClassificationFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
when(internalTaskanaEngineMock.runAsAdmin(any())).thenReturn(Map.of());
|
when(internalTaskanaEngineMock.runAsAdmin(any())).thenReturn(Map.of());
|
||||||
|
|
||||||
|
@ -169,7 +172,8 @@ class WorkbasketReportBuilderImplTest {
|
||||||
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
verify(taskanaEngineMock).getWorkingDaysToDaysConverter();
|
||||||
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfWorkbaskets(any(), any(), any(), any(), any(), any(), any(), any(), any());
|
.getTaskCountOfWorkbaskets(
|
||||||
|
any(), any(), any(), any(), any(), any(), any(), any(), any(), any());
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verify(taskanaEngineMock).getWorkbasketService();
|
verify(taskanaEngineMock).getWorkbasketService();
|
||||||
verifyNoMoreInteractions(internalTaskanaEngineMock, taskanaEngineMock, monitorMapperMock);
|
verifyNoMoreInteractions(internalTaskanaEngineMock, taskanaEngineMock, monitorMapperMock);
|
||||||
|
@ -199,18 +203,19 @@ class WorkbasketReportBuilderImplTest {
|
||||||
|
|
||||||
List<String> expectedResult = List.of("TKI:000000000000000000000000000000000001");
|
List<String> expectedResult = List.of("TKI:000000000000000000000000000000000001");
|
||||||
when(monitorMapperMock.getTaskIdsForSelectedItems(
|
when(monitorMapperMock.getTaskIdsForSelectedItems(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
classificationIds,
|
eq(domains),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter,
|
eq(excludedClassificationIds),
|
||||||
null,
|
eq(customAttributeFilter),
|
||||||
"WORKBASKET_KEY",
|
eq(null),
|
||||||
TaskTimestamp.DUE,
|
eq("WORKBASKET_KEY"),
|
||||||
selectedItems,
|
eq(TaskTimestamp.DUE),
|
||||||
false))
|
eq(selectedItems),
|
||||||
|
eq(false)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
final List<String> actualResult =
|
final List<String> actualResult =
|
||||||
|
@ -240,6 +245,7 @@ class WorkbasketReportBuilderImplTest {
|
||||||
any(),
|
any(),
|
||||||
any(),
|
any(),
|
||||||
any(),
|
any(),
|
||||||
|
any(),
|
||||||
eq(TaskTimestamp.DUE),
|
eq(TaskTimestamp.DUE),
|
||||||
any(),
|
any(),
|
||||||
eq(false));
|
eq(false));
|
||||||
|
@ -349,15 +355,16 @@ class WorkbasketReportBuilderImplTest {
|
||||||
monitorQueryItem.setNumberOfTasks(1);
|
monitorQueryItem.setNumberOfTasks(1);
|
||||||
expectedResult.add(monitorQueryItem);
|
expectedResult.add(monitorQueryItem);
|
||||||
when(monitorMapperMock.getTaskCountOfWorkbaskets(
|
when(monitorMapperMock.getTaskCountOfWorkbaskets(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.PLANNED,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.PLANNED),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter,
|
eq(excludedClassificationIds),
|
||||||
combinedClassificationFilter))
|
eq(customAttributeFilter),
|
||||||
|
eq(combinedClassificationFilter)))
|
||||||
.thenReturn(expectedResult);
|
.thenReturn(expectedResult);
|
||||||
|
|
||||||
when(internalTaskanaEngineMock.runAsAdmin(any())).thenReturn(Map.of());
|
when(internalTaskanaEngineMock.runAsAdmin(any())).thenReturn(Map.of());
|
||||||
|
@ -380,15 +387,16 @@ class WorkbasketReportBuilderImplTest {
|
||||||
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
verify(internalTaskanaEngineMock, times(3)).getEngine();
|
||||||
verify(monitorMapperMock)
|
verify(monitorMapperMock)
|
||||||
.getTaskCountOfWorkbaskets(
|
.getTaskCountOfWorkbaskets(
|
||||||
workbasketIds,
|
any(),
|
||||||
states,
|
eq(workbasketIds),
|
||||||
categories,
|
eq(states),
|
||||||
domains,
|
eq(categories),
|
||||||
TaskTimestamp.PLANNED,
|
eq(domains),
|
||||||
classificationIds,
|
eq(TaskTimestamp.PLANNED),
|
||||||
excludedClassificationIds,
|
eq(classificationIds),
|
||||||
customAttributeFilter,
|
eq(excludedClassificationIds),
|
||||||
combinedClassificationFilter);
|
eq(customAttributeFilter),
|
||||||
|
eq(combinedClassificationFilter));
|
||||||
verify(internalTaskanaEngineMock).returnConnection();
|
verify(internalTaskanaEngineMock).returnConnection();
|
||||||
verify(taskanaEngineMock).getWorkbasketService();
|
verify(taskanaEngineMock).getWorkbasketService();
|
||||||
verifyNoMoreInteractions(internalTaskanaEngineMock, taskanaEngineMock, monitorMapperMock);
|
verifyNoMoreInteractions(internalTaskanaEngineMock, taskanaEngineMock, monitorMapperMock);
|
||||||
|
|
Loading…
Reference in New Issue