From 0a5ec9e7017562f0b2b91246d1f142814c75e905 Mon Sep 17 00:00:00 2001 From: Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com> Date: Tue, 15 Sep 2020 11:47:41 +0200 Subject: [PATCH] TSK-1378: now support combinedClassificationfilter in WorkbasketReport#listCustomAttributeValuesForCustomAttributeName --- .../monitor/internal/MonitorMapper.java | 29 ++++++++++++++----- .../TimeIntervalReportBuilderImpl.java | 1 + .../ProvideWorkbasketReportAccTest.java | 23 +++++++++++++++ ...ficationCategoryReportBuilderImplTest.java | 4 ++- .../ClassificationReportBuilderImplTest.java | 4 ++- ...CustomFieldValueReportBuilderImplTest.java | 4 ++- .../WorkbasketReportBuilderImplTest.java | 4 ++- 7 files changed, 57 insertions(+), 12 deletions(-) diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/MonitorMapper.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/MonitorMapper.java index e51588a23..c2e3c5fb0 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/MonitorMapper.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/MonitorMapper.java @@ -381,28 +381,39 @@ public interface MonitorMapper { @Select( "") @@ -414,6 +425,8 @@ public interface MonitorMapper { @Param("classificationIds") List classificationIds, @Param("excludedClassificationIds") List excludedClassificationIds, @Param("customAttributeFilter") Map customAttributeFilter, + @Param("combinedClassificationFilter") + List combinedClassificationFilter, @Param("customField") TaskCustomField taskCustomField); @Select( diff --git a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java index ca2b0e57e..8cb77b321 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java +++ b/lib/taskana-core/src/main/java/pro/taskana/monitor/internal/reports/TimeIntervalReportBuilderImpl.java @@ -182,6 +182,7 @@ abstract class TimeIntervalReportBuilderImpl< this.classificationIds, this.excludedClassificationIds, this.customAttributeFilter, + getCombinedClassificationFilter(), taskCustomField); } finally { this.taskanaEngine.returnConnection(); diff --git a/lib/taskana-core/src/test/java/acceptance/report/ProvideWorkbasketReportAccTest.java b/lib/taskana-core/src/test/java/acceptance/report/ProvideWorkbasketReportAccTest.java index 1689f127e..9a8cc679f 100644 --- a/lib/taskana-core/src/test/java/acceptance/report/ProvideWorkbasketReportAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/report/ProvideWorkbasketReportAccTest.java @@ -393,6 +393,29 @@ class ProvideWorkbasketReportAccTest extends AbstractReportAccTest { assertThat(report.getSumRow().getTotalValue()).isEqualTo(50); } + @WithAccessId(user = "monitor") + @Test + void should_ReturnCustomFieldValues_When_CombinedClassificationFilterIsApplied() + throws Exception { + List columnHeaders = getListOfColumnHeaders(); + List combinedClassificationFilters = + Collections.singletonList( + new CombinedClassificationFilter( + "CLI:000000000000000000000000000000000001", + "CLI:000000000000000000000000000000000006")); + + List customValues = + MONITOR_SERVICE + .createWorkbasketReportBuilder() + .withColumnHeaders(columnHeaders) + .combinedClassificationFilterIn(combinedClassificationFilters) + .listCustomAttributeValuesForCustomAttributeName(TaskCustomField.CUSTOM_1); + + assertThat(customValues) + .containsExactlyInAnyOrder( + "Geschaeftsstelle A", "Geschaeftsstelle B", "Geschaeftsstelle C"); + } + private List getListOfColumnHeaders() { List columnHeaders = new ArrayList<>(); columnHeaders.add(new TimeIntervalColumnHeader(Integer.MIN_VALUE, -11)); diff --git a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationClassificationCategoryReportBuilderImplTest.java b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationClassificationCategoryReportBuilderImplTest.java index 4724e4305..71bfda339 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationClassificationCategoryReportBuilderImplTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationClassificationCategoryReportBuilderImplTest.java @@ -276,6 +276,7 @@ class ClassificationClassificationCategoryReportBuilderImplTest { classificationIds, excludedClassificationIds, customAttributeFilter, + null, TaskCustomField.CUSTOM_1)) .thenReturn(expectedResult); @@ -296,7 +297,8 @@ class ClassificationClassificationCategoryReportBuilderImplTest { verify(taskanaEngineMock).checkRoleMembership(any()); verify(taskanaEngineMock).getWorkingDaysToDaysConverter(); verify(monitorMapperMock) - .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); + .getCustomAttributeValuesForReport( + any(), any(), any(), any(), any(), any(), any(), any(), any()); verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, diff --git a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationReportBuilderImplTest.java b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationReportBuilderImplTest.java index daa6511d7..971144414 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationReportBuilderImplTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/ClassificationReportBuilderImplTest.java @@ -446,6 +446,7 @@ class ClassificationReportBuilderImplTest { classificationIds, excludedClassificationIds, customAttributeFilter, + null, TaskCustomField.CUSTOM_1)) .thenReturn(expectedResult); @@ -467,7 +468,8 @@ class ClassificationReportBuilderImplTest { verify(internalTaskanaEngineMock, times(3)).getEngine(); verify(monitorMapperMock) - .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); + .getCustomAttributeValuesForReport( + any(), any(), any(), any(), any(), any(), any(), any(), any()); verify(internalTaskanaEngineMock).returnConnection(); verify(taskanaEngineMock).getClassificationService(); verifyNoMoreInteractions(mocks); diff --git a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/TaskCustomFieldValueReportBuilderImplTest.java b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/TaskCustomFieldValueReportBuilderImplTest.java index 7b87fff52..7075a906c 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/TaskCustomFieldValueReportBuilderImplTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/TaskCustomFieldValueReportBuilderImplTest.java @@ -195,6 +195,7 @@ class TaskCustomFieldValueReportBuilderImplTest { classificationIds, excludedClassificationIds, customAttributeFilter, + null, TaskCustomField.CUSTOM_1)) .thenReturn(expectedResult); @@ -215,7 +216,8 @@ class TaskCustomFieldValueReportBuilderImplTest { verify(taskanaEngineMock).getWorkingDaysToDaysConverter(); verify(internalTaskanaEngineMock, times(2)).getEngine(); verify(monitorMapperMock) - .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); + .getCustomAttributeValuesForReport( + any(), any(), any(), any(), any(), any(), any(), any(), any()); verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, diff --git a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/WorkbasketReportBuilderImplTest.java b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/WorkbasketReportBuilderImplTest.java index 1914c62a5..058690761 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/WorkbasketReportBuilderImplTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/WorkbasketReportBuilderImplTest.java @@ -295,6 +295,7 @@ class WorkbasketReportBuilderImplTest { classificationIds, excludedClassificationIds, customAttributeFilter, + null, TaskCustomField.CUSTOM_1)) .thenReturn(expectedResult); @@ -315,7 +316,8 @@ class WorkbasketReportBuilderImplTest { verify(taskanaEngineMock).getWorkingDaysToDaysConverter(); verify(internalTaskanaEngineMock, times(3)).getEngine(); verify(monitorMapperMock) - .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); + .getCustomAttributeValuesForReport( + any(), any(), any(), any(), any(), any(), any(), any(), any()); verify(internalTaskanaEngineMock).returnConnection(); verify(taskanaEngineMock).getWorkbasketService(); verifyNoMoreInteractions(internalTaskanaEngineMock, taskanaEngineMock, monitorMapperMock);