From d4a516863e40f77bd494e1f1c8d95712d0e21f11 Mon Sep 17 00:00:00 2001 From: Mustapha Zorgati <15628173+mustaphazorgati@users.noreply.github.com> Date: Fri, 22 May 2020 14:11:47 +0200 Subject: [PATCH] TSK-1226: made corpus christi configurable from taskana.properties file --- .../taskana/TaskanaEngineConfiguration.java | 30 ++++- .../util/WorkingDaysToDaysConverter.java | 25 +++- .../TimeIntervalReportBuilderImpl.java | 8 +- .../task/internal/ServiceLevelHandler.java | 4 +- .../config/TaskanaConfigAccTest.java | 2 +- .../TaskanaEngineTestConfigurationTest.java | 15 +++ .../util/WorkingDaysToDaysConverterTest.java | 52 +++++++++ .../CategoryReportBuilderImplTest.java | 68 +++++------ .../ClassificationReportBuilderImplTest.java | 107 ++++++++++-------- ...CustomFieldValueReportBuilderImplTest.java | 51 +++++---- .../WorkbasketReportBuilderImplTest.java | 85 +++++++------- .../resources/corpusChristiEnabled.properties | 1 + .../custom_holiday_taskana.properties | 14 --- ...liday_with_wrong_format_taskana.properties | 14 --- .../src/test/resources/taskana.properties | 1 + .../src/main/resources/taskana.properties | 1 + 16 files changed, 291 insertions(+), 187 deletions(-) create mode 100644 lib/taskana-core/src/test/resources/corpusChristiEnabled.properties diff --git a/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngineConfiguration.java b/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngineConfiguration.java index 8e9bfef4c..2c976c25d 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngineConfiguration.java +++ b/lib/taskana-core/src/main/java/pro/taskana/TaskanaEngineConfiguration.java @@ -71,24 +71,23 @@ public class TaskanaEngineConfiguration { private static final String TASKANA_CLASSIFICATION_CATEGORIES_PROPERTY = "taskana.classification.categories"; private static final String TASKANA_GERMAN_HOLIDAYS_ENABLED = "taskana.german.holidays.enabled"; + private static final String TASKANA_GERMAN_HOLIDAYS_CORPUS_CHRISTI_ENABLED = + "taskana.german.holidays.corpus-christi.enabled"; // TASKANA_SCHEMA_VERSION private static final String DEFAULT_SCHEMA_NAME = "TASKANA"; private static final String TASKANA_CUSTOM_HOLIDAY = "taskana.custom.holidays"; private static final String TASKANA_CUSTOM_HOLIDAY_DAY_MONTH_SEPERATOR = "."; - + private final List customHolidays = new ArrayList<>(); // Taskana properties file protected String propertiesFileName = TASKANA_PROPERTIES; - // Taskana datasource configuration protected DataSource dataSource; protected DbSchemaCreator dbSchemaCreator; protected String schemaName; - // Taskana role configuration protected String propertiesSeparator = TASKANA_PROPERTY_SEPARATOR; protected Map> roleMap = new HashMap<>(); - // global switch to enable JAAS based authentication and Taskana // authorizations protected boolean securityEnabled; @@ -101,7 +100,7 @@ public class TaskanaEngineConfiguration { protected Map> classificationCategoriesByTypeMap = new HashMap<>(); // Properties for the monitor private boolean germanPublicHolidaysEnabled; - private List customHolidays = new ArrayList<>(); + private boolean corpusChristiEnabled; // Properties for general job execution private int jobBatchSize = 100; private int maxNumberOfJobRetries = 3; @@ -180,6 +179,7 @@ public class TaskanaEngineConfiguration { initClassificationTypes(props); initClassificationCategories(props); initGermanHolidaysEnabled(props); + initCorpusChristiEnabled(props); initCustomHolidays(props); } @@ -251,6 +251,14 @@ public class TaskanaEngineConfiguration { this.propertiesSeparator = propertiesSeparator; } + public boolean isCorpusChristiEnabled() { + return corpusChristiEnabled; + } + + public void setCorpusChristiEnabled(boolean corpusChristiEnabled) { + this.corpusChristiEnabled = corpusChristiEnabled; + } + public boolean isGermanPublicHolidaysEnabled() { return this.germanPublicHolidaysEnabled; } @@ -264,7 +272,7 @@ public class TaskanaEngineConfiguration { } public void addCustomHolidays(List customHolidays) { - customHolidays.forEach(this.customHolidays::add); + this.customHolidays.addAll(customHolidays); } public Map> getRoleMap() { @@ -363,6 +371,16 @@ public class TaskanaEngineConfiguration { LOGGER.debug("GermanPublicHolidaysEnabled = {}", germanPublicHolidaysEnabled); } + private void initCorpusChristiEnabled(Properties props) { + String enabled = props.getProperty(TASKANA_GERMAN_HOLIDAYS_CORPUS_CHRISTI_ENABLED); + if (enabled != null && !enabled.isEmpty()) { + corpusChristiEnabled = Boolean.parseBoolean(enabled); + } else { + corpusChristiEnabled = false; + } + LOGGER.debug("CorpusChristiEnabled = {}", corpusChristiEnabled); + } + private void initJobParameters(Properties props) { String jobBatchSizeProperty = props.getProperty(TASKANA_JOB_BATCHSIZE); if (jobBatchSizeProperty != null && !jobBatchSizeProperty.isEmpty()) { diff --git a/lib/taskana-core/src/main/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverter.java b/lib/taskana-core/src/main/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverter.java index 66efd85ff..37fde98df 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverter.java +++ b/lib/taskana-core/src/main/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverter.java @@ -8,6 +8,8 @@ import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; +import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -30,8 +32,10 @@ public final class WorkingDaysToDaysConverter { private static final long OFFSET_EASTER_MONDAY = 1; // Ostermontag private static final long OFFSET_ASCENSION_DAY = 39; // Himmelfahrt private static final long OFFSET_WHIT_MONDAY = 50; // Pfingstmontag + private static final long OFFSET_CORPUS_CHRISTI = 60; // Fronleichnam private static boolean germanHolidaysEnabled; + private static boolean corpusChristiEnabled; // Fronleichnam private static Set customHolidays = new HashSet<>(); private Instant referenceDate; private LocalDate easterSunday; @@ -84,6 +88,10 @@ public final class WorkingDaysToDaysConverter { germanHolidaysEnabled = germanPublicHolidaysEnabled; } + public static void setCorpusChristiEnabled(boolean corpusChristiEnabled) { + WorkingDaysToDaysConverter.corpusChristiEnabled = corpusChristiEnabled; + } + public static void setCustomHolidays(List holidays) { customHolidays = new HashSet<>(holidays == null ? Collections.emptyList() : holidays); } @@ -157,9 +165,18 @@ public final class WorkingDaysToDaysConverter { // Easter holidays Good Friday, Easter Monday, Ascension Day, Whit Monday. long diffFromEasterSunday = DAYS.between(easterSunday, date); - return LongStream.of( - OFFSET_GOOD_FRIDAY, OFFSET_EASTER_MONDAY, OFFSET_ASCENSION_DAY, OFFSET_WHIT_MONDAY) - .anyMatch(diff -> diff == diffFromEasterSunday); + List offSets = + new ArrayList<>( + Arrays.asList( + OFFSET_GOOD_FRIDAY, + OFFSET_EASTER_MONDAY, + OFFSET_ASCENSION_DAY, + OFFSET_WHIT_MONDAY)); + + if (corpusChristiEnabled) { + offSets.add(OFFSET_CORPUS_CHRISTI); + } + return offSets.contains(diffFromEasterSunday); } /** @@ -199,7 +216,7 @@ public final class WorkingDaysToDaysConverter { } } - private void refreshReferenceDate(Instant newReferenceDate) { + void refreshReferenceDate(Instant newReferenceDate) { int yearOfReferenceDate = LocalDateTime.ofInstant(referenceDate, ZoneId.systemDefault()).getYear(); int yearOfNewReferenceDate = 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 3fe92f448..66c6ebd53 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 @@ -8,6 +8,7 @@ import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.common.api.LoggerUtils; import pro.taskana.common.api.TaskanaRole; import pro.taskana.common.api.exceptions.InvalidArgumentException; @@ -186,10 +187,11 @@ abstract class TimeIntervalReportBuilderImpl< protected abstract String determineGroupedBy(); private void configureWorkingDaysToDaysConverter() { - WorkingDaysToDaysConverter.setCustomHolidays( - this.taskanaEngine.getEngine().getConfiguration().getCustomHolidays()); + TaskanaEngineConfiguration configuration = taskanaEngine.getEngine().getConfiguration(); + WorkingDaysToDaysConverter.setCustomHolidays(configuration.getCustomHolidays()); WorkingDaysToDaysConverter.setGermanPublicHolidaysEnabled( - this.taskanaEngine.getEngine().getConfiguration().isGermanPublicHolidaysEnabled()); + configuration.isGermanPublicHolidaysEnabled()); + WorkingDaysToDaysConverter.setCorpusChristiEnabled(configuration.isCorpusChristiEnabled()); } private List convertWorkingDaysToDays( diff --git a/lib/taskana-core/src/main/java/pro/taskana/task/internal/ServiceLevelHandler.java b/lib/taskana-core/src/main/java/pro/taskana/task/internal/ServiceLevelHandler.java index e0e29f19d..d155d192c 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/task/internal/ServiceLevelHandler.java +++ b/lib/taskana-core/src/main/java/pro/taskana/task/internal/ServiceLevelHandler.java @@ -38,7 +38,7 @@ class ServiceLevelHandler { private final InternalTaskanaEngine taskanaEngine; private final TaskMapper taskMapper; private final AttachmentMapper attachmentMapper; - private WorkingDaysToDaysConverter converter; + private final WorkingDaysToDaysConverter converter; ServiceLevelHandler( InternalTaskanaEngine taskanaEngine, @@ -49,6 +49,8 @@ class ServiceLevelHandler { this.attachmentMapper = attachmentMapper; WorkingDaysToDaysConverter.setGermanPublicHolidaysEnabled( taskanaEngine.getEngine().getConfiguration().isGermanPublicHolidaysEnabled()); + WorkingDaysToDaysConverter.setCorpusChristiEnabled( + taskanaEngine.getEngine().getConfiguration().isCorpusChristiEnabled()); this.converter = WorkingDaysToDaysConverter.initialize(); } diff --git a/lib/taskana-core/src/test/java/acceptance/config/TaskanaConfigAccTest.java b/lib/taskana-core/src/test/java/acceptance/config/TaskanaConfigAccTest.java index 1376550cd..7ce5a60bf 100644 --- a/lib/taskana-core/src/test/java/acceptance/config/TaskanaConfigAccTest.java +++ b/lib/taskana-core/src/test/java/acceptance/config/TaskanaConfigAccTest.java @@ -66,7 +66,7 @@ class TaskanaConfigAccTest extends TaskanaEngineImpl { } @Test - void testDoesNotExistPropertyClassificatioCategoryOrItIsEmpty() throws IOException { + void testDoesNotExistPropertyClassificationCategoryOrItIsEmpty() throws IOException { taskanaEngineConfiguration.setClassificationTypes(new ArrayList<>()); taskanaEngineConfiguration.setClassificationCategoriesByType(new HashMap<>()); String propertiesFileName = createNewConfigFile("/dummyTestConfig.properties", true, false); diff --git a/lib/taskana-core/src/test/java/pro/taskana/common/internal/TaskanaEngineTestConfigurationTest.java b/lib/taskana-core/src/test/java/pro/taskana/common/internal/TaskanaEngineTestConfigurationTest.java index 3892962f5..d35553d47 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/common/internal/TaskanaEngineTestConfigurationTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/common/internal/TaskanaEngineTestConfigurationTest.java @@ -24,6 +24,21 @@ class TaskanaEngineTestConfigurationTest { assertThat(te).isNotNull(); } + @Test + void should_SetCorpusChristiEnabled_When_PropertyIsSet() throws SQLException { + DataSource ds = TaskanaEngineTestConfiguration.getDataSource(); + TaskanaEngineConfiguration taskEngineConfiguration = + new TaskanaEngineConfiguration( + ds, + false, + false, + "/corpusChristiEnabled.properties", + "|", + TaskanaEngineTestConfiguration.getSchemaName()); + + assertThat(taskEngineConfiguration.isCorpusChristiEnabled()).isTrue(); + } + @Test void should_returnTheTwoCustomHolidays_When_twoCustomHolidaysAreConfiguredInThePropertiesFile() throws SQLException { diff --git a/lib/taskana-core/src/test/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverterTest.java b/lib/taskana-core/src/test/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverterTest.java index a6b22cda2..be547b91c 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverterTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/common/internal/util/WorkingDaysToDaysConverterTest.java @@ -5,6 +5,8 @@ import static pro.taskana.common.internal.util.WorkingDaysToDaysConverter.getEas import java.time.Instant; import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.ZoneId; import java.util.Arrays; import java.util.stream.Stream; import org.junit.jupiter.api.BeforeAll; @@ -28,6 +30,56 @@ class WorkingDaysToDaysConverterTest { WorkingDaysToDaysConverter.setCustomHolidays(Arrays.asList(dayOfReformation, allSaintsDays)); } + void verifyCorpusChristiForDate( + WorkingDaysToDaysConverter converter, + String date, + boolean enableCorpsChristi, + boolean expected) { + WorkingDaysToDaysConverter.setCorpusChristiEnabled(enableCorpsChristi); + Instant referenceDay = Instant.parse(date); + converter.refreshReferenceDate(referenceDay); + assertThat( + converter.isGermanHoliday( + LocalDateTime.ofInstant(referenceDay, ZoneId.systemDefault()).toLocalDate())) + .isEqualTo(expected); + WorkingDaysToDaysConverter.setCorpusChristiEnabled(false); + } + + @TestFactory + Stream should_DetectCorpusChristiAsHoliday_When_CorpusChristiIsEnabled() { + WorkingDaysToDaysConverter converter = WorkingDaysToDaysConverter.initialize(); + + DynamicContainer enabledCorpusChristi = + DynamicContainer.dynamicContainer( + "corpus christi is enabled", + Stream.of( + DynamicTest.dynamicTest( + "year 1980", + () -> + verifyCorpusChristiForDate( + converter, "1980-06-05T12:00:00.000Z", true, true)), + DynamicTest.dynamicTest( + "year 2020", + () -> + verifyCorpusChristiForDate( + converter, "2020-06-11T12:00:00.000Z", true, true)))); + DynamicContainer disabledCorpusChristi = + DynamicContainer.dynamicContainer( + "corpus christi is enabled", + Stream.of( + DynamicTest.dynamicTest( + "year 1980", + () -> + verifyCorpusChristiForDate( + converter, "1980-06-05T12:00:00.000Z", false, false)), + DynamicTest.dynamicTest( + "year 2020", + () -> + verifyCorpusChristiForDate( + converter, "2020-06-11T12:00:00.000Z", false, false)))); + return Stream.of(enabledCorpusChristi, disabledCorpusChristi); + } + @TestFactory Stream testHasWorkingInBetween() throws InvalidArgumentException { Instant referenceDay = Instant.parse("2020-02-01T07:00:00.000Z"); diff --git a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CategoryReportBuilderImplTest.java b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CategoryReportBuilderImplTest.java index 7ea333e38..ed2f50d12 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CategoryReportBuilderImplTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CategoryReportBuilderImplTest.java @@ -94,15 +94,16 @@ class CategoryReportBuilderImplTest { .customAttributeFilterIn(customAttributeFilter) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfCategories(any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -157,15 +158,16 @@ class CategoryReportBuilderImplTest { .withColumnHeaders(columnHeaders) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfCategories(any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -226,16 +228,17 @@ class CategoryReportBuilderImplTest { .withColumnHeaders(columnHeaders) .listTaskIdsForSelectedItems(selectedItems); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskIdsForSelectedItems( any(), any(), any(), any(), any(), any(), any(), any(), any(), eq(false)); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -299,15 +302,16 @@ class CategoryReportBuilderImplTest { .withColumnHeaders(columnHeaders) .listCustomAttributeValuesForCustomAttributeName(CustomField.CUSTOM_1); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, 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 d6290d95b..42630adcc 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 @@ -97,15 +97,17 @@ class ClassificationReportBuilderImplTest { .customAttributeFilterIn(customAttributeFilter) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfClassifications(any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -162,16 +164,17 @@ class ClassificationReportBuilderImplTest { .withColumnHeaders(columnHeaders) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfClassifications(any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -226,15 +229,17 @@ class ClassificationReportBuilderImplTest { .customAttributeFilterIn(customAttributeFilter) .buildDetailedReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfDetailedClassifications(any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -294,15 +299,17 @@ class ClassificationReportBuilderImplTest { .withColumnHeaders(columnHeaders) .buildDetailedReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfDetailedClassifications(any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -369,16 +376,18 @@ class ClassificationReportBuilderImplTest { .withColumnHeaders(columnHeaders) .listTaskIdsForSelectedItems(selectedItems); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskIdsForSelectedItems( any(), any(), any(), any(), any(), any(), any(), any(), any(), eq(false)); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -445,15 +454,17 @@ class ClassificationReportBuilderImplTest { .withColumnHeaders(columnHeaders) .listCustomAttributeValuesForCustomAttributeName(CustomField.CUSTOM_1); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, diff --git a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CustomFieldValueReportBuilderImplTest.java b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CustomFieldValueReportBuilderImplTest.java index 443527f4d..27f2ed62d 100644 --- a/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CustomFieldValueReportBuilderImplTest.java +++ b/lib/taskana-core/src/test/java/pro/taskana/monitor/internal/CustomFieldValueReportBuilderImplTest.java @@ -94,15 +94,16 @@ class CustomFieldValueReportBuilderImplTest { .customAttributeFilterIn(customAttributeFilter) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfigurationMock, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfigurationMock, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfigurationMock).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfigurationMock).isCorpusChristiEnabled(); + verify(taskanaEngineConfigurationMock).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfCustomFieldValues(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -158,15 +159,16 @@ class CustomFieldValueReportBuilderImplTest { .withColumnHeaders(columnHeaders) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfigurationMock, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfigurationMock, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfigurationMock).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfigurationMock).isCorpusChristiEnabled(); + verify(taskanaEngineConfigurationMock).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfCustomFieldValues(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -222,15 +224,16 @@ class CustomFieldValueReportBuilderImplTest { .withColumnHeaders(columnHeaders) .listCustomAttributeValuesForCustomAttributeName(CustomField.CUSTOM_1); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfigurationMock, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfigurationMock, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfigurationMock).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfigurationMock).isCorpusChristiEnabled(); + verify(taskanaEngineConfigurationMock).getCustomHolidays(); + verify(monitorMapperMock) .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, 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 47d8be8c0..1b5a7c1f3 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 @@ -105,15 +105,16 @@ class WorkbasketReportBuilderImplTest { .combinedClassificationFilterIn(combinedClassificationFilter) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfWorkbaskets(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -176,15 +177,16 @@ class WorkbasketReportBuilderImplTest { .withColumnHeaders(columnHeaders) .buildReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfWorkbaskets(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -247,16 +249,17 @@ class WorkbasketReportBuilderImplTest { .withColumnHeaders(columnHeaders) .listTaskIdsForSelectedItems(selectedItems); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskIdsForSelectedItems( any(), any(), any(), any(), any(), any(), any(), any(), any(), eq(false)); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -324,15 +327,16 @@ class WorkbasketReportBuilderImplTest { .withColumnHeaders(columnHeaders) .listCustomAttributeValuesForCustomAttributeName(CustomField.CUSTOM_1); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(any()); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(any()); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getCustomAttributeValuesForReport(any(), any(), any(), any(), any(), any(), any(), any()); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, @@ -399,13 +403,14 @@ class WorkbasketReportBuilderImplTest { .combinedClassificationFilterIn(combinedClassificationFilter) .buildPlannedDateBasedReport(); - verify(internalTaskanaEngineMock, times(1)).openConnection(); - verify(taskanaEngineMock, times(1)).checkRoleMembership(TaskanaRole.MONITOR, TaskanaRole.ADMIN); - verify(taskanaEngineMock, times(2)).getConfiguration(); - verify(internalTaskanaEngineMock, times(3)).getEngine(); - verify(taskanaEngineConfiguration, times(1)).isGermanPublicHolidaysEnabled(); - verify(taskanaEngineConfiguration, times(1)).getCustomHolidays(); - verify(monitorMapperMock, times(1)) + verify(internalTaskanaEngineMock).openConnection(); + verify(taskanaEngineMock).checkRoleMembership(TaskanaRole.MONITOR, TaskanaRole.ADMIN); + verify(taskanaEngineMock).getConfiguration(); + verify(internalTaskanaEngineMock, times(2)).getEngine(); + verify(taskanaEngineConfiguration).isGermanPublicHolidaysEnabled(); + verify(taskanaEngineConfiguration).isCorpusChristiEnabled(); + verify(taskanaEngineConfiguration).getCustomHolidays(); + verify(monitorMapperMock) .getTaskCountOfWorkbasketsBasedOnPlannedDate( workbasketIds, states, @@ -415,7 +420,7 @@ class WorkbasketReportBuilderImplTest { excludedClassificationIds, customAttributeFilter, combinedClassificationFilter); - verify(internalTaskanaEngineMock, times(1)).returnConnection(); + verify(internalTaskanaEngineMock).returnConnection(); verifyNoMoreInteractions( internalTaskanaEngineMock, taskanaEngineMock, diff --git a/lib/taskana-core/src/test/resources/corpusChristiEnabled.properties b/lib/taskana-core/src/test/resources/corpusChristiEnabled.properties new file mode 100644 index 000000000..0823d2d79 --- /dev/null +++ b/lib/taskana-core/src/test/resources/corpusChristiEnabled.properties @@ -0,0 +1 @@ +taskana.german.holidays.corpus-christi.enabled=true diff --git a/lib/taskana-core/src/test/resources/custom_holiday_taskana.properties b/lib/taskana-core/src/test/resources/custom_holiday_taskana.properties index 7e7128d4b..4d6b08bd5 100644 --- a/lib/taskana-core/src/test/resources/custom_holiday_taskana.properties +++ b/lib/taskana-core/src/test/resources/custom_holiday_taskana.properties @@ -1,15 +1 @@ -taskana.roles.user=group1 | group2|teamlead_1 | teamlead_2 |user_1_1| user_1_1| user_1_2| user_2_1| user_2_2| max|elena|simone -taskana.roles.Admin=name=konrad,Organisation=novatec|admin -taskana.roles.businessadmin=max|Moritz|businessadmin -taskana.roles.monitor=john|teamlead_2 | monitor -taskana.domains=Domain_A , DOMAIN_B -taskana.classification.types=TASK , document -taskana.classification.categories.task=EXTERNAL, manual, autoMAtic, Process -taskana.classification.categories.document=EXTERNAL -taskana.jobs.maxRetries=3 -taskana.jobs.batchSize=50 -taskana.jobs.cleanup.runEvery=P1D -taskana.jobs.cleanup.firstRunAt=2018-07-25T08:00:00Z -taskana.jobs.cleanup.minimumAge=P14D -taskana.german.holidays.enabled=true taskana.custom.holidays=31.07|16.12 diff --git a/lib/taskana-core/src/test/resources/custom_holiday_with_wrong_format_taskana.properties b/lib/taskana-core/src/test/resources/custom_holiday_with_wrong_format_taskana.properties index 872aa042d..c301c2203 100644 --- a/lib/taskana-core/src/test/resources/custom_holiday_with_wrong_format_taskana.properties +++ b/lib/taskana-core/src/test/resources/custom_holiday_with_wrong_format_taskana.properties @@ -1,15 +1 @@ -taskana.roles.user=group1 | group2|teamlead_1 | teamlead_2 |user_1_1| user_1_1| user_1_2| user_2_1| user_2_2| max|elena|simone -taskana.roles.Admin=name=konrad,Organisation=novatec|admin -taskana.roles.businessadmin=max|Moritz|businessadmin -taskana.roles.monitor=john|teamlead_2 | monitor -taskana.domains=Domain_A , DOMAIN_B -taskana.classification.types=TASK , document -taskana.classification.categories.task=EXTERNAL, manual, autoMAtic, Process -taskana.classification.categories.document=EXTERNAL -taskana.jobs.maxRetries=3 -taskana.jobs.batchSize=50 -taskana.jobs.cleanup.runEvery=P1D -taskana.jobs.cleanup.firstRunAt=2018-07-25T08:00:00Z -taskana.jobs.cleanup.minimumAge=P14D -taskana.german.holidays.enabled=true taskana.custom.holidays=31,07|1612 diff --git a/lib/taskana-core/src/test/resources/taskana.properties b/lib/taskana-core/src/test/resources/taskana.properties index 253ee3eea..691cc43de 100644 --- a/lib/taskana-core/src/test/resources/taskana.properties +++ b/lib/taskana-core/src/test/resources/taskana.properties @@ -13,4 +13,5 @@ taskana.jobs.cleanup.runEvery=P1D taskana.jobs.cleanup.firstRunAt=2018-07-25T08:00:00Z taskana.jobs.cleanup.minimumAge=P14D taskana.german.holidays.enabled=true +taskana.german.holidays.corpus-christi.enabled=false diff --git a/rest/taskana-rest-spring-example-boot/src/main/resources/taskana.properties b/rest/taskana-rest-spring-example-boot/src/main/resources/taskana.properties index 10d4943e2..14e7fc233 100644 --- a/rest/taskana-rest-spring-example-boot/src/main/resources/taskana.properties +++ b/rest/taskana-rest-spring-example-boot/src/main/resources/taskana.properties @@ -14,3 +14,4 @@ taskana.jobs.cleanup.runEvery=P1D taskana.jobs.cleanup.firstRunAt=2018-07-25T08:00:00Z taskana.jobs.cleanup.minimumAge=P14D taskana.german.holidays.enabled=true +taskana.german.holidays.corpus-christi.enabled=true