TSK-1224: refactorings - rename methods, reuse roles/propertiesSeparator, use Pattern#quote
This commit is contained in:
parent
6e3ac9cc5c
commit
9329a3acee
|
@ -21,12 +21,14 @@ import java.util.Map.Entry;
|
|||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.sql.DataSource;
|
||||
import org.apache.ibatis.datasource.pooled.PooledDataSource;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import pro.taskana.common.api.CustomHoliday;
|
||||
import pro.taskana.common.api.LoggerUtils;
|
||||
import pro.taskana.common.api.TaskanaEngine;
|
||||
import pro.taskana.common.api.TaskanaRole;
|
||||
|
@ -57,7 +59,7 @@ public class TaskanaEngineConfiguration {
|
|||
+ "SET COLLATION DEFAULT_de_DE ";
|
||||
private static final String H2_DRIVER = "org.h2.Driver";
|
||||
private static final String TASKANA_PROPERTIES = "/taskana.properties";
|
||||
private static final String TASKANA_ROLES_SEPARATOR = "|";
|
||||
private static final String TASKANA_PROPERTY_SEPARATOR = "|";
|
||||
private static final String TASKANA_JOB_BATCHSIZE = "taskana.jobs.batchSize";
|
||||
private static final String TASKANA_JOB_RETRIES = "taskana.jobs.maxRetries";
|
||||
private static final String TASKANA_JOB_CLEANUP_RUN_EVERY = "taskana.jobs.cleanup.runEvery";
|
||||
|
@ -75,8 +77,7 @@ public class TaskanaEngineConfiguration {
|
|||
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_SEPERATOR = ";";
|
||||
private static final String TASKANA_CUSTOM_HOLIDAY_DAY_MONTH_SEPERATOR = "\\.";
|
||||
private static final String TASKANA_CUSTOM_HOLIDAY_DAY_MONTH_SEPERATOR = ".";
|
||||
|
||||
// Taskana properties file
|
||||
protected String propertiesFileName = TASKANA_PROPERTIES;
|
||||
|
@ -87,7 +88,7 @@ public class TaskanaEngineConfiguration {
|
|||
protected String schemaName;
|
||||
|
||||
// Taskana role configuration
|
||||
protected String rolesSeparator = TASKANA_ROLES_SEPARATOR;
|
||||
protected String propertiesSeparator = TASKANA_PROPERTY_SEPARATOR;
|
||||
protected Map<TaskanaRole, Set<String>> roleMap = new HashMap<>();
|
||||
|
||||
// global switch to enable JAAS based authentication and Taskana
|
||||
|
@ -132,7 +133,7 @@ public class TaskanaEngineConfiguration {
|
|||
boolean useManagedTransactions,
|
||||
boolean securityEnabled,
|
||||
String propertiesFileName,
|
||||
String rolesSeparator,
|
||||
String propertySeparator,
|
||||
String schemaName)
|
||||
throws SQLException {
|
||||
this.useManagedTransactions = useManagedTransactions;
|
||||
|
@ -142,8 +143,8 @@ public class TaskanaEngineConfiguration {
|
|||
this.propertiesFileName = propertiesFileName;
|
||||
}
|
||||
|
||||
if (rolesSeparator != null) {
|
||||
this.rolesSeparator = rolesSeparator;
|
||||
if (propertySeparator != null) {
|
||||
this.propertiesSeparator = propertySeparator;
|
||||
}
|
||||
|
||||
if (dataSource != null) {
|
||||
|
@ -154,7 +155,7 @@ public class TaskanaEngineConfiguration {
|
|||
}
|
||||
|
||||
initSchemaName(schemaName);
|
||||
initTaskanaProperties(this.propertiesFileName, this.rolesSeparator);
|
||||
initTaskanaProperties(this.propertiesFileName, this.propertiesSeparator);
|
||||
|
||||
dbSchemaCreator = new DbSchemaCreator(this.dataSource, this.getSchemaName());
|
||||
dbSchemaCreator.run();
|
||||
|
@ -245,11 +246,11 @@ public class TaskanaEngineConfiguration {
|
|||
}
|
||||
|
||||
public String getPropertiesSeparator() {
|
||||
return this.rolesSeparator;
|
||||
return this.propertiesSeparator;
|
||||
}
|
||||
|
||||
public void setPropertiesSeparator(String propertiesSeparator) {
|
||||
this.rolesSeparator = propertiesSeparator;
|
||||
this.propertiesSeparator = propertiesSeparator;
|
||||
}
|
||||
|
||||
public boolean isGermanPublicHolidaysEnabled() {
|
||||
|
@ -264,7 +265,7 @@ public class TaskanaEngineConfiguration {
|
|||
return customHolidays;
|
||||
}
|
||||
|
||||
public void setCustomHolidays(List<CustomHoliday> customHolidays) {
|
||||
public void addCustomHolidays(List<CustomHoliday> customHolidays) {
|
||||
customHolidays.forEach(this.customHolidays::add);
|
||||
}
|
||||
|
||||
|
@ -549,7 +550,9 @@ public class TaskanaEngineConfiguration {
|
|||
private void initCustomHolidays(Properties props) {
|
||||
if (props.getProperty(TASKANA_CUSTOM_HOLIDAY) != null) {
|
||||
Arrays.asList(
|
||||
props.getProperty(TASKANA_CUSTOM_HOLIDAY).split(TASKANA_CUSTOM_HOLIDAY_SEPERATOR))
|
||||
props
|
||||
.getProperty(TASKANA_CUSTOM_HOLIDAY)
|
||||
.split(Pattern.quote(propertiesSeparator)))
|
||||
.forEach(
|
||||
entry -> {
|
||||
try {
|
||||
|
@ -563,7 +566,8 @@ public class TaskanaEngineConfiguration {
|
|||
|
||||
private CustomHoliday createCustomHolidayFromPropsEntry(String customHolidayEntry)
|
||||
throws WrongCustomHolidayFormatException {
|
||||
String[] parts = customHolidayEntry.split(TASKANA_CUSTOM_HOLIDAY_DAY_MONTH_SEPERATOR);
|
||||
String[] parts =
|
||||
customHolidayEntry.split(Pattern.quote(TASKANA_CUSTOM_HOLIDAY_DAY_MONTH_SEPERATOR));
|
||||
if (parts.length == 2) {
|
||||
return CustomHoliday.of(Integer.valueOf(parts[0]), Integer.valueOf(parts[1]));
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package pro.taskana.common.internal.util;
|
||||
package pro.taskana.common.api;
|
||||
|
||||
import java.util.Objects;
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package pro.taskana.common.api.exceptions;
|
||||
|
||||
public class WrongCustomHolidayFormatException extends Exception {
|
||||
public class WrongCustomHolidayFormatException extends TaskanaException {
|
||||
|
||||
private static final long serialVersionUID = -7644923780787018797L;
|
||||
|
||||
|
|
|
@ -15,6 +15,7 @@ import java.util.Set;
|
|||
import java.util.stream.LongStream;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import pro.taskana.common.api.CustomHoliday;
|
||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||
import pro.taskana.common.api.exceptions.SystemException;
|
||||
|
||||
|
|
|
@ -7,8 +7,8 @@ import javax.sql.DataSource;
|
|||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import pro.taskana.TaskanaEngineConfiguration;
|
||||
import pro.taskana.common.api.CustomHoliday;
|
||||
import pro.taskana.common.api.TaskanaEngine;
|
||||
import pro.taskana.common.internal.util.CustomHoliday;
|
||||
|
||||
/** Test of configuration. */
|
||||
class TaskanaEngineTestConfigurationTest {
|
||||
|
|
|
@ -9,6 +9,7 @@ import java.util.Arrays;
|
|||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import pro.taskana.common.api.CustomHoliday;
|
||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||
|
||||
/** Test for the WorkingDaysToDaysConverter. */
|
||||
|
|
|
@ -9,8 +9,8 @@ import java.util.List;
|
|||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import pro.taskana.common.api.CustomHoliday;
|
||||
import pro.taskana.common.api.exceptions.InvalidArgumentException;
|
||||
import pro.taskana.common.internal.util.CustomHoliday;
|
||||
import pro.taskana.common.internal.util.WorkingDaysToDaysConverter;
|
||||
import pro.taskana.monitor.api.reports.header.TimeIntervalColumnHeader;
|
||||
import pro.taskana.monitor.internal.preprocessor.WorkingDaysToDaysReportConverter;
|
||||
|
|
|
@ -12,4 +12,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.custom.holidays=31.07;16.12
|
||||
taskana.custom.holidays=31.07|16.12
|
||||
|
|
|
@ -12,4 +12,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.custom.holidays=31,07;1612
|
||||
taskana.custom.holidays=31,07|1612
|
||||
|
|
Loading…
Reference in New Issue