TSK-991 fix dependent projects

This commit is contained in:
BerndBreier 2020-01-31 13:04:49 +01:00
parent 8cab323145
commit 4423854822
70 changed files with 226 additions and 238 deletions

View File

@ -8,8 +8,8 @@ import javax.sql.DataSource;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Test; import org.junit.Test;
import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.TaskanaEngine;
/** /**
* Unit Test for TaskanaEngineConfigurationTest. * Unit Test for TaskanaEngineConfigurationTest.

View File

@ -16,9 +16,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.BaseQuery; import pro.taskana.common.api.BaseQuery;
import pro.taskana.common.api.TimeInterval; import pro.taskana.common.api.TimeInterval;
import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.internal.util.LoggerUtils; import pro.taskana.common.internal.util.LoggerUtils;
import pro.taskana.rest.AbstractPagingController; import pro.taskana.rest.AbstractPagingController;

View File

@ -11,11 +11,11 @@ import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.InvalidOwnerException; import pro.taskana.common.api.exceptions.InvalidOwnerException;
import pro.taskana.common.api.exceptions.InvalidStateException; import pro.taskana.common.api.exceptions.InvalidStateException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException; import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException; import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task;
/** Example Bootstrap Application. */ /** Example Bootstrap Application. */
@ApplicationScoped @ApplicationScoped

View File

@ -7,12 +7,12 @@ import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task; import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** TODO. */ /** TODO. */
@Stateless @Stateless

View File

@ -19,16 +19,16 @@ import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.InvalidOwnerException; import pro.taskana.common.api.exceptions.InvalidOwnerException;
import pro.taskana.common.api.exceptions.InvalidStateException; import pro.taskana.common.api.exceptions.InvalidStateException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task; import pro.taskana.task.api.Task;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketType; import pro.taskana.workbasket.api.WorkbasketType;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** TODO. */ /** TODO. */
@Path("/test") @Path("/test")

View File

@ -1,6 +1,6 @@
package pro.taskana.report.api; package pro.taskana.report.api;
import pro.taskana.common.api.CustomField; import pro.taskana.task.api.CustomField;
/** The Task Monitor Service manages operations on tasks regarding the monitoring. */ /** The Task Monitor Service manages operations on tasks regarding the monitoring. */
public interface TaskMonitorService { public interface TaskMonitorService {

View File

@ -3,13 +3,13 @@ package pro.taskana.report.api;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.internal.SelectedItem; import pro.taskana.report.internal.SelectedItem;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.AgeQueryItem; import pro.taskana.report.internal.item.AgeQueryItem;
import pro.taskana.report.internal.structure.Report; import pro.taskana.report.internal.structure.Report;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** /**

View File

@ -4,7 +4,6 @@ import java.util.List;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.common.internal.InternalTaskanaEngine; import pro.taskana.common.internal.InternalTaskanaEngine;
@ -12,6 +11,7 @@ import pro.taskana.report.api.CustomFieldValueReport;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.MonitorQueryItem; import pro.taskana.report.internal.item.MonitorQueryItem;
import pro.taskana.report.internal.preprocessor.DaysToWorkingDaysPreProcessor; import pro.taskana.report.internal.preprocessor.DaysToWorkingDaysPreProcessor;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskanaRole; import pro.taskana.task.api.TaskanaRole;
/** The implementation of CustomFieldValueReportBuilder. */ /** The implementation of CustomFieldValueReportBuilder. */

View File

@ -7,12 +7,12 @@ import org.apache.ibatis.annotations.Result;
import org.apache.ibatis.annotations.Results; import org.apache.ibatis.annotations.Results;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import pro.taskana.common.api.CustomField;
import pro.taskana.report.api.Timestamp; import pro.taskana.report.api.Timestamp;
import pro.taskana.report.internal.item.DetailedMonitorQueryItem; import pro.taskana.report.internal.item.DetailedMonitorQueryItem;
import pro.taskana.report.internal.item.MonitorQueryItem; import pro.taskana.report.internal.item.MonitorQueryItem;
import pro.taskana.report.internal.item.TaskQueryItem; import pro.taskana.report.internal.item.TaskQueryItem;
import pro.taskana.report.internal.item.TimestampQueryItem; import pro.taskana.report.internal.item.TimestampQueryItem;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** This class is the mybatis mapping of task monitoring. */ /** This class is the mybatis mapping of task monitoring. */

View File

@ -1,6 +1,5 @@
package pro.taskana.report.internal; package pro.taskana.report.internal;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.internal.InternalTaskanaEngine; import pro.taskana.common.internal.InternalTaskanaEngine;
import pro.taskana.report.api.CategoryReport; import pro.taskana.report.api.CategoryReport;
import pro.taskana.report.api.ClassificationReport; import pro.taskana.report.api.ClassificationReport;
@ -9,6 +8,7 @@ import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.report.api.TaskStatusReport; import pro.taskana.report.api.TaskStatusReport;
import pro.taskana.report.api.TimestampReport; import pro.taskana.report.api.TimestampReport;
import pro.taskana.report.api.WorkbasketReport; import pro.taskana.report.api.WorkbasketReport;
import pro.taskana.task.api.CustomField;
/** This is the implementation of TaskMonitorService. */ /** This is the implementation of TaskMonitorService. */
public class TaskMonitorServiceImpl implements TaskMonitorService { public class TaskMonitorServiceImpl implements TaskMonitorService {

View File

@ -8,7 +8,6 @@ import java.util.Map;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.common.internal.InternalTaskanaEngine; import pro.taskana.common.internal.InternalTaskanaEngine;
@ -17,6 +16,7 @@ import pro.taskana.report.api.ClassificationReport;
import pro.taskana.report.api.TimeIntervalReportBuilder; import pro.taskana.report.api.TimeIntervalReportBuilder;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.AgeQueryItem; import pro.taskana.report.internal.item.AgeQueryItem;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
import pro.taskana.task.api.TaskanaRole; import pro.taskana.task.api.TaskanaRole;

View File

@ -1,4 +1,4 @@
package pro.taskana.common.api; package pro.taskana.task.api;
/** This enum contains the fields CUSTOM_1 - CUSTOM_10 for the task entity. */ /** This enum contains the fields CUSTOM_1 - CUSTOM_10 for the task entity. */
public enum CustomField { public enum CustomField {

View File

@ -13,11 +13,11 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.TaskMonitorService; import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
/** Acceptance test for all "classification report" scenarios. */ /** Acceptance test for all "classification report" scenarios. */
@ExtendWith(JaasExtension.class) @ExtendWith(JaasExtension.class)

View File

@ -13,7 +13,6 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.TaskMonitorService; import pro.taskana.report.api.TaskMonitorService;
@ -21,6 +20,7 @@ import pro.taskana.report.internal.SelectedItem;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Acceptance test for all "get task ids of category report" scenarios. */ /** Acceptance test for all "get task ids of category report" scenarios. */

View File

@ -13,7 +13,6 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith; import org.junit.jupiter.api.extension.ExtendWith;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.TaskMonitorService; import pro.taskana.report.api.TaskMonitorService;
@ -21,6 +20,7 @@ import pro.taskana.report.internal.SelectedItem;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Acceptance test for all "get task ids of category report" scenarios. */ /** Acceptance test for all "get task ids of category report" scenarios. */

View File

@ -17,7 +17,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.CategoryReport; import pro.taskana.report.api.CategoryReport;
@ -25,6 +24,7 @@ import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Acceptance test for all "category report" scenarios. */ /** Acceptance test for all "category report" scenarios. */

View File

@ -17,7 +17,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.ClassificationReport; import pro.taskana.report.api.ClassificationReport;
@ -25,6 +24,7 @@ import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Acceptance test for all "classification report" scenarios. */ /** Acceptance test for all "classification report" scenarios. */

View File

@ -16,7 +16,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.CustomFieldValueReport; import pro.taskana.report.api.CustomFieldValueReport;
@ -24,6 +23,7 @@ import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Acceptance test for all "classification report" scenarios. */ /** Acceptance test for all "classification report" scenarios. */

View File

@ -16,7 +16,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.ClassificationReport.DetailedClassificationReport; import pro.taskana.report.api.ClassificationReport.DetailedClassificationReport;
@ -27,6 +26,7 @@ import pro.taskana.report.internal.row.FoldableRow;
import pro.taskana.report.internal.structure.Row; import pro.taskana.report.internal.structure.Row;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Acceptance test for all "detailed classification report" scenarios. */ /** Acceptance test for all "detailed classification report" scenarios. */

View File

@ -17,7 +17,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.TaskMonitorService; import pro.taskana.report.api.TaskMonitorService;
@ -26,6 +25,7 @@ import pro.taskana.report.internal.CombinedClassificationFilter;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.security.JaasExtension; import pro.taskana.security.JaasExtension;
import pro.taskana.security.WithAccessId; import pro.taskana.security.WithAccessId;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Acceptance test for all "workbasket level report" scenarios. */ /** Acceptance test for all "workbasket level report" scenarios. */

View File

@ -23,7 +23,6 @@ import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
@ -31,6 +30,7 @@ import pro.taskana.common.internal.InternalTaskanaEngine;
import pro.taskana.report.api.CategoryReport; import pro.taskana.report.api.CategoryReport;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.MonitorQueryItem; import pro.taskana.report.internal.item.MonitorQueryItem;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Unit Test for CategoryBuilderImpl. */ /** Unit Test for CategoryBuilderImpl. */

View File

@ -23,7 +23,6 @@ import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
@ -34,6 +33,7 @@ import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.DetailedMonitorQueryItem; import pro.taskana.report.internal.item.DetailedMonitorQueryItem;
import pro.taskana.report.internal.item.MonitorQueryItem; import pro.taskana.report.internal.item.MonitorQueryItem;
import pro.taskana.report.internal.row.FoldableRow; import pro.taskana.report.internal.row.FoldableRow;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Unit Test for ClassificationReportBuilderImpl. */ /** Unit Test for ClassificationReportBuilderImpl. */

View File

@ -22,7 +22,6 @@ import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
@ -30,6 +29,7 @@ import pro.taskana.common.internal.InternalTaskanaEngine;
import pro.taskana.report.api.CustomFieldValueReport; import pro.taskana.report.api.CustomFieldValueReport;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.MonitorQueryItem; import pro.taskana.report.internal.item.MonitorQueryItem;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
/** Unit Test for CustomFieldValueReportBuilderImpl. */ /** Unit Test for CustomFieldValueReportBuilderImpl. */

View File

@ -24,7 +24,6 @@ import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension; import org.mockito.junit.jupiter.MockitoExtension;
import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.CustomField;
import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
@ -36,6 +35,7 @@ import pro.taskana.report.internal.TaskMonitorMapper;
import pro.taskana.report.internal.TaskMonitorServiceImpl; import pro.taskana.report.internal.TaskMonitorServiceImpl;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.MonitorQueryItem; import pro.taskana.report.internal.item.MonitorQueryItem;
import pro.taskana.task.api.CustomField;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
import pro.taskana.task.api.TaskanaRole; import pro.taskana.task.api.TaskanaRole;

View File

@ -13,17 +13,17 @@ import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.InvalidOwnerException; import pro.taskana.common.api.exceptions.InvalidOwnerException;
import pro.taskana.common.api.exceptions.InvalidStateException; import pro.taskana.common.api.exceptions.InvalidStateException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task; import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketType; import pro.taskana.workbasket.api.WorkbasketType;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** TODO. */ /** TODO. */
@Component @Component

View File

@ -10,13 +10,13 @@ import org.springframework.web.bind.annotation.RestController;
import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.api.exceptions.DomainNotFoundException; import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.internal.WorkbasketImpl;
import pro.taskana.common.internal.util.IdGenerator; import pro.taskana.common.internal.util.IdGenerator;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketType; import pro.taskana.workbasket.api.WorkbasketType;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.internal.WorkbasketImpl;
/** Rest Controller. */ /** Rest Controller. */
@RestController @RestController

View File

@ -28,25 +28,25 @@ import pro.taskana.classification.api.ClassificationService;
import pro.taskana.common.api.KeyDomain; import pro.taskana.common.api.KeyDomain;
import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.api.exceptions.DomainNotFoundException; import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.common.api.exceptions.TaskanaException; import pro.taskana.common.api.exceptions.TaskanaException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.task.internal.TaskImpl;
import pro.taskana.common.internal.TaskanaEngineImpl; import pro.taskana.common.internal.TaskanaEngineImpl;
import pro.taskana.workbasket.internal.WorkbasketImpl;
import pro.taskana.common.internal.util.IdGenerator;
import pro.taskana.common.internal.jobs.TaskCleanupJob; import pro.taskana.common.internal.jobs.TaskCleanupJob;
import pro.taskana.common.internal.jobs.WorkbasketCleanupJob; import pro.taskana.common.internal.jobs.WorkbasketCleanupJob;
import pro.taskana.common.internal.transaction.TaskanaTransactionProvider;
import pro.taskana.common.internal.util.IdGenerator;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task; import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.TaskSummary; import pro.taskana.task.api.TaskSummary;
import pro.taskana.common.internal.transaction.TaskanaTransactionProvider; import pro.taskana.task.internal.TaskImpl;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketType; import pro.taskana.workbasket.api.WorkbasketType;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.workbasket.internal.WorkbasketImpl;
/** Test for internal transaction management. */ /** Test for internal transaction management. */
@ExtendWith(SpringExtension.class) @ExtendWith(SpringExtension.class)

View File

@ -3,8 +3,8 @@ package pro.taskana;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
import org.mybatis.spring.transaction.SpringManagedTransactionFactory; import org.mybatis.spring.transaction.SpringManagedTransactionFactory;
import pro.taskana.configuration.SpringTaskanaEngineConfiguration;
import pro.taskana.common.internal.TaskanaEngineImpl; import pro.taskana.common.internal.TaskanaEngineImpl;
import pro.taskana.configuration.SpringTaskanaEngineConfiguration;
/** This class configures the TaskanaEngine for spring. */ /** This class configures the TaskanaEngine for spring. */
public class SpringTaskanaEngineImpl extends TaskanaEngineImpl { public class SpringTaskanaEngineImpl extends TaskanaEngineImpl {

View File

@ -7,19 +7,18 @@ import org.springframework.transaction.annotation.Transactional;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task; import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** TODO. */ /** TODO. */
@Component @Component
@Transactional @Transactional
public class TaskanaComponent { public class TaskanaComponent {
@Autowired @Autowired TaskService taskService;
TaskService taskService;
public TaskService getTaskService() { public TaskService getTaskService() {
return taskService; return taskService;

View File

@ -32,8 +32,7 @@ import pro.taskana.task.api.TaskService;
@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
public class TransactionTest { public class TransactionTest {
@Autowired @Autowired TaskService taskService;
TaskService taskService;
@LocalServerPort int port; @LocalServerPort int port;
@Autowired private TestRestTemplate restTemplate; @Autowired private TestRestTemplate restTemplate;

View File

@ -17,9 +17,9 @@ import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.internal.jobs.JobRunner; import pro.taskana.common.internal.jobs.JobRunner;
import pro.taskana.common.internal.jobs.TaskCleanupJob; import pro.taskana.common.internal.jobs.TaskCleanupJob;
import pro.taskana.common.internal.jobs.WorkbasketCleanupJob; import pro.taskana.common.internal.jobs.WorkbasketCleanupJob;
import pro.taskana.task.api.TaskanaRole;
import pro.taskana.common.internal.security.UserPrincipal; import pro.taskana.common.internal.security.UserPrincipal;
import pro.taskana.common.internal.transaction.TaskanaTransactionProvider; import pro.taskana.common.internal.transaction.TaskanaTransactionProvider;
import pro.taskana.task.api.TaskanaRole;
/** This class invokes the JobRunner periodically to schedule long running jobs. */ /** This class invokes the JobRunner periodically to schedule long running jobs. */
@Component @Component

View File

@ -10,10 +10,10 @@ import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.spi.LoginModule; import javax.security.auth.spi.LoginModule;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import pro.taskana.ldap.LdapCacheTestImpl;
import pro.taskana.rest.resource.AccessIdResource;
import pro.taskana.common.internal.security.GroupPrincipal; import pro.taskana.common.internal.security.GroupPrincipal;
import pro.taskana.common.internal.security.UserPrincipal; import pro.taskana.common.internal.security.UserPrincipal;
import pro.taskana.ldap.LdapCacheTestImpl;
import pro.taskana.rest.resource.AccessIdResource;
/** TODO. */ /** TODO. */
public class SampleLoginModule extends UsernamePasswordAuthenticationFilter implements LoginModule { public class SampleLoginModule extends UsernamePasswordAuthenticationFilter implements LoginModule {

View File

@ -22,9 +22,8 @@ import org.springframework.test.context.ActiveProfiles;
import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.test.context.junit.jupiter.SpringExtension;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import pro.taskana.classification.api.Classification;
import pro.taskana.RestHelper; import pro.taskana.RestHelper;
import pro.taskana.task.api.Task; import pro.taskana.classification.api.Classification;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.rest.Mapping; import pro.taskana.rest.Mapping;
import pro.taskana.rest.RestConfiguration; import pro.taskana.rest.RestConfiguration;
@ -32,6 +31,7 @@ import pro.taskana.rest.resource.ClassificationResource;
import pro.taskana.rest.resource.ClassificationResourceAssembler; import pro.taskana.rest.resource.ClassificationResourceAssembler;
import pro.taskana.rest.resource.TaskResource; import pro.taskana.rest.resource.TaskResource;
import pro.taskana.rest.resource.TaskResourceAssembler; import pro.taskana.rest.resource.TaskResourceAssembler;
import pro.taskana.task.api.Task;
/** Test async updates. */ /** Test async updates. */
@ActiveProfiles({"test"}) @ActiveProfiles({"test"})

View File

@ -43,8 +43,7 @@ public class LdapClient {
private boolean active = false; private boolean active = false;
@Autowired @Autowired private Environment env;
private Environment env;
@Autowired(required = false) @Autowired(required = false)
private LdapTemplate ldapTemplate; private LdapTemplate ldapTemplate;
@ -169,10 +168,6 @@ public class LdapClient {
return accessId; return accessId;
} }
List<AccessIdResource> getFirstPageOfaResultList(List<AccessIdResource> accessIds) {
return accessIds.subList(0, Math.min(accessIds.size(), maxNumberOfReturnedAccessIds));
}
public List<AccessIdResource> searchGroupsofUsersIsMember(final String name) public List<AccessIdResource> searchGroupsofUsersIsMember(final String name)
throws InvalidArgumentException { throws InvalidArgumentException {
LOGGER.debug("entry to searchGroupsofUsersIsMember(name = {}).", name); LOGGER.debug("entry to searchGroupsofUsersIsMember(name = {}).", name);
@ -198,31 +193,6 @@ public class LdapClient {
return accessIds; return accessIds;
} }
void isInitOrFail() {
if (!active) {
throw new SystemException(String.format(MISSING_CONFIGURATION_S, message));
}
}
void sortListOfAccessIdResources(List<AccessIdResource> accessIds) {
accessIds.sort(
(AccessIdResource a, AccessIdResource b) ->
a.getAccessId().compareToIgnoreCase(b.getAccessId()));
}
String getNameWithoutBaseDn(String name) {
// (?i) --> case insensitive replacement
return name.replaceAll("(?i)" + Pattern.quote("," + getBaseDn()), "");
}
String[] getLookUpGoupAttributesToReturn() {
if (CN.equals(getGroupNameAttribute())) {
return new String[]{CN};
} else {
return new String[]{getGroupNameAttribute(), CN};
}
}
public boolean useLdap() { public boolean useLdap() {
String useLdap = LdapSettings.TASKANA_LDAP_USE_LDAP.getValueFromEnv(env); String useLdap = LdapSettings.TASKANA_LDAP_USE_LDAP.getValueFromEnv(env);
return Boolean.parseBoolean(useLdap); return Boolean.parseBoolean(useLdap);
@ -305,6 +275,35 @@ public class LdapClient {
return accessId.contains(getGroupSearchBase()); return accessId.contains(getGroupSearchBase());
} }
List<AccessIdResource> getFirstPageOfaResultList(List<AccessIdResource> accessIds) {
return accessIds.subList(0, Math.min(accessIds.size(), maxNumberOfReturnedAccessIds));
}
void isInitOrFail() {
if (!active) {
throw new SystemException(String.format(MISSING_CONFIGURATION_S, message));
}
}
void sortListOfAccessIdResources(List<AccessIdResource> accessIds) {
accessIds.sort(
(AccessIdResource a, AccessIdResource b) ->
a.getAccessId().compareToIgnoreCase(b.getAccessId()));
}
String getNameWithoutBaseDn(String name) {
// (?i) --> case insensitive replacement
return name.replaceAll("(?i)" + Pattern.quote("," + getBaseDn()), "");
}
String[] getLookUpGoupAttributesToReturn() {
if (CN.equals(getGroupNameAttribute())) {
return new String[] {CN};
} else {
return new String[] {getGroupNameAttribute(), CN};
}
}
@PostConstruct @PostConstruct
void init() { void init() {
LOGGER.debug("Entry to init()"); LOGGER.debug("Entry to init()");
@ -330,11 +329,11 @@ public class LdapClient {
List<LdapSettings> checkForMissingConfigurations() { List<LdapSettings> checkForMissingConfigurations() {
return Arrays.stream(LdapSettings.values()) return Arrays.stream(LdapSettings.values())
// optional settings // optional settings
.filter(p -> !p.equals(LdapSettings.TASKANA_LDAP_MAX_NUMBER_OF_RETURNED_ACCESS_IDS)) .filter(p -> !p.equals(LdapSettings.TASKANA_LDAP_MAX_NUMBER_OF_RETURNED_ACCESS_IDS))
.filter(p -> !p.equals(LdapSettings.TASKANA_LDAP_MIN_SEARCH_FOR_LENGTH)) .filter(p -> !p.equals(LdapSettings.TASKANA_LDAP_MIN_SEARCH_FOR_LENGTH))
.filter(p -> Objects.isNull(p.getValueFromEnv(env))) .filter(p -> Objects.isNull(p.getValueFromEnv(env)))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
void testMinSearchForLength(final String name) throws InvalidArgumentException { void testMinSearchForLength(final String name) throws InvalidArgumentException {
@ -346,9 +345,7 @@ public class LdapClient {
} }
} }
/** /** Context Mapper for user entries. */
* Context Mapper for user entries.
*/
class GroupContextMapper extends AbstractContextMapper<AccessIdResource> { class GroupContextMapper extends AbstractContextMapper<AccessIdResource> {
@Override @Override
@ -360,9 +357,7 @@ public class LdapClient {
} }
} }
/** /** Context Mapper for user entries. */
* Context Mapper for user entries.
*/
class UserContextMapper extends AbstractContextMapper<AccessIdResource> { class UserContextMapper extends AbstractContextMapper<AccessIdResource> {
@Override @Override

View File

@ -2,9 +2,7 @@ package pro.taskana.ldap;
import org.springframework.core.env.Environment; import org.springframework.core.env.Environment;
/** /** Required settings to run ldap. */
* Required settings to run ldap.
*/
enum LdapSettings { enum LdapSettings {
TASKANA_LDAP_USE_LDAP("taskana.ldap.useLdap"), TASKANA_LDAP_USE_LDAP("taskana.ldap.useLdap"),
TASKANA_LDAP_USER_SEARCH_BASE("taskana.ldap.userSearchBase"), TASKANA_LDAP_USER_SEARCH_BASE("taskana.ldap.userSearchBase"),

View File

@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.common.api.BaseQuery.SortDirection;
import pro.taskana.classification.api.Classification; import pro.taskana.classification.api.Classification;
import pro.taskana.classification.api.ClassificationQuery; import pro.taskana.classification.api.ClassificationQuery;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
@ -26,6 +25,7 @@ import pro.taskana.classification.api.ClassificationSummary;
import pro.taskana.classification.api.exceptions.ClassificationAlreadyExistException; import pro.taskana.classification.api.exceptions.ClassificationAlreadyExistException;
import pro.taskana.classification.api.exceptions.ClassificationInUseException; import pro.taskana.classification.api.exceptions.ClassificationInUseException;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.common.api.BaseQuery.SortDirection;
import pro.taskana.common.api.exceptions.ConcurrencyException; import pro.taskana.common.api.exceptions.ConcurrencyException;
import pro.taskana.common.api.exceptions.DomainNotFoundException; import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;

View File

@ -15,13 +15,13 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.task.api.TaskState;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.rest.resource.ReportResource; import pro.taskana.rest.resource.ReportResource;
import pro.taskana.rest.resource.ReportResourceAssembler; import pro.taskana.rest.resource.ReportResourceAssembler;
import pro.taskana.task.api.TaskState;
/** Controller for all monitoring endpoints. */ /** Controller for all monitoring endpoints. */
@RestController @RestController

View File

@ -13,14 +13,14 @@ import org.springframework.context.annotation.Scope;
import org.springframework.http.converter.json.SpringHandlerInstantiator; import org.springframework.http.converter.json.SpringHandlerInstantiator;
import org.springframework.transaction.annotation.EnableTransactionManagement; import org.springframework.transaction.annotation.EnableTransactionManagement;
import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.configuration.SpringTaskanaEngineConfiguration;
import pro.taskana.ldap.LdapClient;
import pro.taskana.report.api.TaskMonitorService; import pro.taskana.report.api.TaskMonitorService;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.configuration.SpringTaskanaEngineConfiguration;
import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.ldap.LdapClient;
/** Configuration for REST service. */ /** Configuration for REST service. */
@Configuration @Configuration

View File

@ -21,29 +21,29 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.common.api.BaseQuery.SortDirection; import pro.taskana.common.api.BaseQuery.SortDirection;
import pro.taskana.common.api.KeyDomain; import pro.taskana.common.api.KeyDomain;
import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskQuery;
import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.TaskState;
import pro.taskana.task.api.TaskSummary;
import pro.taskana.common.api.TimeInterval; import pro.taskana.common.api.TimeInterval;
import pro.taskana.common.api.exceptions.AttachmentPersistenceException; import pro.taskana.common.api.exceptions.AttachmentPersistenceException;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.common.api.exceptions.ConcurrencyException; import pro.taskana.common.api.exceptions.ConcurrencyException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.InvalidOwnerException; import pro.taskana.common.api.exceptions.InvalidOwnerException;
import pro.taskana.common.api.exceptions.InvalidStateException; import pro.taskana.common.api.exceptions.InvalidStateException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.rest.resource.PagedResources.PageMetadata; import pro.taskana.rest.resource.PagedResources.PageMetadata;
import pro.taskana.rest.resource.TaskResource; import pro.taskana.rest.resource.TaskResource;
import pro.taskana.rest.resource.TaskResourceAssembler; import pro.taskana.rest.resource.TaskResourceAssembler;
import pro.taskana.rest.resource.TaskSummaryListResource; import pro.taskana.rest.resource.TaskSummaryListResource;
import pro.taskana.rest.resource.TaskSummaryResourceAssembler; import pro.taskana.rest.resource.TaskSummaryResourceAssembler;
import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskQuery;
import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.TaskState;
import pro.taskana.task.api.TaskSummary;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** Controller for all {@link Task} related endpoints. */ /** Controller for all {@link Task} related endpoints. */
@RestController @RestController
@ -290,7 +290,7 @@ public class TaskController extends AbstractPagingController {
params.remove(WORKBASKET_ID); params.remove(WORKBASKET_ID);
} }
if (params.containsKey(WORKBASKET_KEY)) { if (params.containsKey(WORKBASKET_KEY)) {
updateTaskQueryWithWorkbasketKey(taskQuery,params); updateTaskQueryWithWorkbasketKey(taskQuery, params);
} }
if (params.containsKey(OWNER)) { if (params.containsKey(OWNER)) {
String[] owners = extractCommaSeparatedFields(params.get(OWNER)); String[] owners = extractCommaSeparatedFields(params.get(OWNER));
@ -369,9 +369,8 @@ public class TaskController extends AbstractPagingController {
return taskQuery; return taskQuery;
} }
private void updateTaskQueryWithWorkbasketKey(TaskQuery taskQuery, private void updateTaskQueryWithWorkbasketKey(
MultiValueMap<String, String> params) TaskQuery taskQuery, MultiValueMap<String, String> params) throws InvalidArgumentException {
throws InvalidArgumentException {
String[] domains = null; String[] domains = null;
if (params.get(DOMAIN) != null) { if (params.get(DOMAIN) != null) {
@ -389,13 +388,12 @@ public class TaskController extends AbstractPagingController {
taskQuery.workbasketKeyDomainIn(keyDomains); taskQuery.workbasketKeyDomainIn(keyDomains);
params.remove(WORKBASKET_KEY); params.remove(WORKBASKET_KEY);
params.remove(DOMAIN); params.remove(DOMAIN);
} }
private void checkForIllegalParamCombinations(MultiValueMap<String, String> params) { private void checkForIllegalParamCombinations(MultiValueMap<String, String> params) {
if (params.containsKey(PLANNED) if (params.containsKey(PLANNED)
&& (params.containsKey(PLANNED_FROM) || params.containsKey(PLANNED_TO))) { && (params.containsKey(PLANNED_FROM) || params.containsKey(PLANNED_TO))) {
throw new IllegalArgumentException( throw new IllegalArgumentException(
"It is prohibited to use the param \"" "It is prohibited to use the param \""

View File

@ -9,12 +9,12 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.task.api.TaskanaRole;
import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.TaskanaEngineConfiguration;
import pro.taskana.common.api.TaskanaEngine;
import pro.taskana.common.internal.security.CurrentUserContext;
import pro.taskana.rest.resource.TaskanaUserInfoResource; import pro.taskana.rest.resource.TaskanaUserInfoResource;
import pro.taskana.rest.resource.VersionResource; import pro.taskana.rest.resource.VersionResource;
import pro.taskana.common.internal.security.CurrentUserContext; import pro.taskana.task.api.TaskanaRole;
/** Controller for TaskanaEngine related tasks. */ /** Controller for TaskanaEngine related tasks. */
@RestController @RestController

View File

@ -20,11 +20,11 @@ import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.InvalidOwnerException; import pro.taskana.common.api.exceptions.InvalidOwnerException;
import pro.taskana.common.api.exceptions.InvalidStateException; import pro.taskana.common.api.exceptions.InvalidStateException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.NotAuthorizedToQueryWorkbasketException;
import pro.taskana.task.api.exceptions.TaskAlreadyExistException; import pro.taskana.task.api.exceptions.TaskAlreadyExistException;
import pro.taskana.task.api.exceptions.TaskNotFoundException; import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.workbasket.api.exceptions.NotAuthorizedToQueryWorkbasketException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException; import pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException; import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketInUseException; import pro.taskana.workbasket.api.exceptions.WorkbasketInUseException;

View File

@ -15,15 +15,15 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.common.api.BaseQuery; import pro.taskana.common.api.BaseQuery;
import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketAccessItemQuery;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.ldap.LdapClient; import pro.taskana.ldap.LdapClient;
import pro.taskana.rest.resource.PagedResources.PageMetadata; import pro.taskana.rest.resource.PagedResources.PageMetadata;
import pro.taskana.rest.resource.WorkbasketAccessItemListResource; import pro.taskana.rest.resource.WorkbasketAccessItemListResource;
import pro.taskana.rest.resource.WorkbasketAccessItemResourceAssembler; import pro.taskana.rest.resource.WorkbasketAccessItemResourceAssembler;
import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketAccessItemQuery;
import pro.taskana.workbasket.api.WorkbasketService;
/** Controller for Workbasket access. */ /** Controller for Workbasket access. */
@RestController @RestController

View File

@ -21,21 +21,9 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import pro.taskana.common.api.BaseQuery.SortDirection; import pro.taskana.common.api.BaseQuery.SortDirection;
import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketPermission;
import pro.taskana.workbasket.api.WorkbasketQuery;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.workbasket.api.WorkbasketType;
import pro.taskana.common.api.exceptions.DomainNotFoundException; import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketInUseException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.common.internal.util.LoggerUtils; import pro.taskana.common.internal.util.LoggerUtils;
import pro.taskana.rest.resource.DistributionTargetListResource; import pro.taskana.rest.resource.DistributionTargetListResource;
import pro.taskana.rest.resource.DistributionTargetResource; import pro.taskana.rest.resource.DistributionTargetResource;
@ -48,6 +36,18 @@ import pro.taskana.rest.resource.WorkbasketResource;
import pro.taskana.rest.resource.WorkbasketResourceAssembler; import pro.taskana.rest.resource.WorkbasketResourceAssembler;
import pro.taskana.rest.resource.WorkbasketSummaryListResource; import pro.taskana.rest.resource.WorkbasketSummaryListResource;
import pro.taskana.rest.resource.WorkbasketSummaryResourceAssembler; import pro.taskana.rest.resource.WorkbasketSummaryResourceAssembler;
import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketPermission;
import pro.taskana.workbasket.api.WorkbasketQuery;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.workbasket.api.WorkbasketType;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketInUseException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** Controller for all {@link Workbasket} related endpoints. */ /** Controller for all {@link Workbasket} related endpoints. */
@RestController @RestController

View File

@ -24,22 +24,22 @@ import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.rest.resource.WorkbasketDefinitionResource;
import pro.taskana.rest.resource.WorkbasketDefinitionResourceAssembler;
import pro.taskana.rest.resource.WorkbasketResource;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketAccessItem; import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketQuery; import pro.taskana.workbasket.api.WorkbasketQuery;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketSummary; import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.common.api.exceptions.DomainNotFoundException;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException; import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException; import pro.taskana.workbasket.api.exceptions.WorkbasketAccessItemAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException; import pro.taskana.workbasket.api.exceptions.WorkbasketAlreadyExistException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl; import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl;
import pro.taskana.rest.resource.WorkbasketDefinitionResource;
import pro.taskana.rest.resource.WorkbasketDefinitionResourceAssembler;
import pro.taskana.rest.resource.WorkbasketResource;
/** Controller for all {@link WorkbasketDefinitionResource} related endpoints. */ /** Controller for all {@link WorkbasketDefinitionResource} related endpoints. */
@RestController @RestController
@ -145,18 +145,21 @@ public class WorkbasketDefinitionController {
// Since we would have a n² runtime when doing a lookup and updating the access items we // Since we would have a n² runtime when doing a lookup and updating the access items we
// decided to // decided to
// simply delete all existing accessItems and create new ones. // simply delete all existing accessItems and create new ones.
boolean noWrongAuth = definition.getAuthorizations().stream().noneMatch(access -> { boolean noWrongAuth =
return (!access.getWorkbasketId().equals(importedWb.getId())) definition.getAuthorizations().stream()
|| (!access.getWorkbasketKey().equals(importedWb.getKey())); .noneMatch(
}); access -> {
return (!access.getWorkbasketId().equals(importedWb.getId()))
|| (!access.getWorkbasketKey().equals(importedWb.getKey()));
});
if (!noWrongAuth) { if (!noWrongAuth) {
throw new InvalidWorkbasketException( throw new InvalidWorkbasketException(
"The given Authentications for Workbasket " + importedWb.getId() "The given Authentications for Workbasket "
+ importedWb.getId()
+ " doesn't match in WorkbasketId and/or WorkbasketKey. " + " doesn't match in WorkbasketId and/or WorkbasketKey. "
+ "Please provide consistent WorkbasketDefinitions"); + "Please provide consistent WorkbasketDefinitions");
} }
for (WorkbasketAccessItem accessItem : for (WorkbasketAccessItem accessItem : workbasketService.getWorkbasketAccessItems(newId)) {
workbasketService.getWorkbasketAccessItems(newId)) {
workbasketService.deleteWorkbasketAccessItem(accessItem.getId()); workbasketService.deleteWorkbasketAccessItem(accessItem.getId());
} }
for (WorkbasketAccessItemImpl authorization : definition.getAuthorizations()) { for (WorkbasketAccessItemImpl authorization : definition.getAuthorizations()) {

View File

@ -9,10 +9,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.hateoas.mvc.ResourceAssemblerSupport; import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.rest.AttachmentController;
import pro.taskana.task.api.Attachment; import pro.taskana.task.api.Attachment;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.internal.AttachmentImpl; import pro.taskana.task.internal.AttachmentImpl;
import pro.taskana.rest.AttachmentController;
/** Resource assembler for {@link AttachmentResource}. */ /** Resource assembler for {@link AttachmentResource}. */
@Component @Component

View File

@ -4,8 +4,8 @@ import java.util.List;
import org.springframework.hateoas.mvc.ResourceAssemblerSupport; import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.task.api.AttachmentSummary;
import pro.taskana.rest.AttachmentController; import pro.taskana.rest.AttachmentController;
import pro.taskana.task.api.AttachmentSummary;
/** Resource assembler for {@link AttachmentSummaryResource}. */ /** Resource assembler for {@link AttachmentSummaryResource}. */
@Component @Component

View File

@ -12,8 +12,8 @@ import org.springframework.stereotype.Component;
import pro.taskana.classification.api.Classification; import pro.taskana.classification.api.Classification;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException;
import pro.taskana.common.api.exceptions.SystemException;
import pro.taskana.classification.internal.ClassificationImpl; import pro.taskana.classification.internal.ClassificationImpl;
import pro.taskana.common.api.exceptions.SystemException;
import pro.taskana.rest.ClassificationController; import pro.taskana.rest.ClassificationController;
/** /**

View File

@ -7,10 +7,10 @@ import java.util.List;
import org.springframework.hateoas.mvc.ResourceAssemblerSupport; import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.rest.WorkbasketController; import pro.taskana.rest.WorkbasketController;
import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** /**
* Transforms WorkbasketSummary to its resource counterpart DistributionTargerResource and vice * Transforms WorkbasketSummary to its resource counterpart DistributionTargerResource and vice

View File

@ -12,20 +12,20 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.task.api.TaskState;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.report.api.ClassificationReport;
import pro.taskana.report.api.TaskStatusReport;
import pro.taskana.report.api.TimestampReport;
import pro.taskana.report.api.WorkbasketReport;
import pro.taskana.report.internal.row.FoldableRow; import pro.taskana.report.internal.row.FoldableRow;
import pro.taskana.report.internal.row.SingleRow; import pro.taskana.report.internal.row.SingleRow;
import pro.taskana.report.internal.structure.ColumnHeader; import pro.taskana.report.internal.structure.ColumnHeader;
import pro.taskana.report.internal.structure.QueryItem; import pro.taskana.report.internal.structure.QueryItem;
import pro.taskana.report.internal.structure.Report; import pro.taskana.report.internal.structure.Report;
import pro.taskana.report.internal.structure.Row; import pro.taskana.report.internal.structure.Row;
import pro.taskana.report.api.ClassificationReport;
import pro.taskana.report.api.TaskStatusReport;
import pro.taskana.report.api.TimestampReport;
import pro.taskana.report.api.WorkbasketReport;
import pro.taskana.rest.MonitorController; import pro.taskana.rest.MonitorController;
import pro.taskana.task.api.TaskState;
/** Transforms any {@link Report} into its {@link ReportResource}. */ /** Transforms any {@link Report} into its {@link ReportResource}. */
@Component @Component

View File

@ -6,10 +6,10 @@ import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.springframework.hateoas.ResourceSupport; import org.springframework.hateoas.ResourceSupport;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task; import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
/** Resource class for {@link Task}. */ /** Resource class for {@link Task}. */
public class TaskResource extends ResourceSupport { public class TaskResource extends ResourceSupport {
@ -476,8 +476,7 @@ public class TaskResource extends ResourceSupport {
/** /**
* A CustomAttribute is a user customized attribute which is saved as a Map and can be retreived * A CustomAttribute is a user customized attribute which is saved as a Map and can be retreived
* from either {@link Task#getCustomAttributes()} or {@link * from either {@link Task#getCustomAttributes()} or {@link Task#getCallbackInfo()}.
* Task#getCallbackInfo()}.
*/ */
public static class CustomAttribute { public static class CustomAttribute {

View File

@ -11,14 +11,14 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.hateoas.mvc.ResourceAssemblerSupport; import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskService;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.common.api.exceptions.SystemException; import pro.taskana.common.api.exceptions.SystemException;
import pro.taskana.rest.TaskController;
import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.exceptions.TaskNotFoundException; import pro.taskana.task.api.exceptions.TaskNotFoundException;
import pro.taskana.task.internal.TaskImpl; import pro.taskana.task.internal.TaskImpl;
import pro.taskana.rest.TaskController;
/** Resource assembler for {@link TaskResource}. */ /** Resource assembler for {@link TaskResource}. */
@Component @Component

View File

@ -6,10 +6,10 @@ import java.util.stream.Collectors;
import org.springframework.hateoas.ResourceSupport; import org.springframework.hateoas.ResourceSupport;
import org.springframework.hateoas.core.Relation; import org.springframework.hateoas.core.Relation;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
import pro.taskana.task.api.TaskSummary; import pro.taskana.task.api.TaskSummary;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.workbasket.api.WorkbasketSummary; import pro.taskana.workbasket.api.WorkbasketSummary;
/** Resource class for {@link WorkbasketSummary}. */ /** Resource class for {@link WorkbasketSummary}. */

View File

@ -4,13 +4,13 @@ import java.util.List;
import org.springframework.hateoas.mvc.ResourceAssemblerSupport; import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.task.api.TaskSummary;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.SystemException; import pro.taskana.common.api.exceptions.SystemException;
import pro.taskana.rest.Mapping; import pro.taskana.rest.Mapping;
import pro.taskana.rest.TaskController; import pro.taskana.rest.TaskController;
import pro.taskana.rest.resource.PagedResources.PageMetadata; import pro.taskana.rest.resource.PagedResources.PageMetadata;
import pro.taskana.rest.resource.links.PageLinks; import pro.taskana.rest.resource.links.PageLinks;
import pro.taskana.task.api.TaskSummary;
/** Resource assembler for {@link TaskSummaryResource}. */ /** Resource assembler for {@link TaskSummaryResource}. */
@Component @Component

View File

@ -4,8 +4,8 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.springframework.hateoas.ResourceSupport; import org.springframework.hateoas.ResourceSupport;
import pro.taskana.task.api.TaskanaRole;
import pro.taskana.common.internal.util.LoggerUtils; import pro.taskana.common.internal.util.LoggerUtils;
import pro.taskana.task.api.TaskanaRole;
/** Resource class for user information. */ /** Resource class for user information. */
public class TaskanaUserInfoResource extends ResourceSupport { public class TaskanaUserInfoResource extends ResourceSupport {

View File

@ -9,15 +9,15 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.hateoas.mvc.ResourceAssemblerSupport; import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl;
import pro.taskana.rest.Mapping; import pro.taskana.rest.Mapping;
import pro.taskana.rest.WorkbasketController; import pro.taskana.rest.WorkbasketController;
import pro.taskana.rest.resource.PagedResources.PageMetadata; import pro.taskana.rest.resource.PagedResources.PageMetadata;
import pro.taskana.rest.resource.links.PageLinks; import pro.taskana.rest.resource.links.PageLinks;
import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl;
/** /**
* Transforms {@link WorkbasketAccessItem} to its resource counterpart {@link * Transforms {@link WorkbasketAccessItem} to its resource counterpart {@link

View File

@ -3,8 +3,8 @@ package pro.taskana.rest.resource;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl;
import pro.taskana.common.internal.util.LoggerUtils; import pro.taskana.common.internal.util.LoggerUtils;
import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl;
/** this class represents a workbasket including its distro targets and authorisations. */ /** this class represents a workbasket including its distro targets and authorisations. */
public class WorkbasketDefinitionResource { public class WorkbasketDefinitionResource {

View File

@ -9,11 +9,11 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketAccessItem; import pro.taskana.workbasket.api.WorkbasketAccessItem;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketSummary; import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl; import pro.taskana.workbasket.internal.WorkbasketAccessItemImpl;
import pro.taskana.workbasket.internal.WorkbasketImpl; import pro.taskana.workbasket.internal.WorkbasketImpl;

View File

@ -10,14 +10,14 @@ import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.common.api.exceptions.SystemException; import pro.taskana.common.api.exceptions.SystemException;
import pro.taskana.rest.WorkbasketController;
import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.workbasket.internal.WorkbasketImpl; import pro.taskana.workbasket.internal.WorkbasketImpl;
import pro.taskana.rest.WorkbasketController;
/** /**
* Transforms {@link Workbasket} to its resource counterpart {@link WorkbasketResource} and vice * Transforms {@link Workbasket} to its resource counterpart {@link WorkbasketResource} and vice

View File

@ -6,13 +6,13 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.hateoas.mvc.ResourceAssemblerSupport; import org.springframework.hateoas.mvc.ResourceAssemblerSupport;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.workbasket.internal.WorkbasketImpl;
import pro.taskana.rest.Mapping; import pro.taskana.rest.Mapping;
import pro.taskana.rest.WorkbasketController; import pro.taskana.rest.WorkbasketController;
import pro.taskana.rest.resource.PagedResources.PageMetadata; import pro.taskana.rest.resource.PagedResources.PageMetadata;
import pro.taskana.rest.resource.links.PageLinks; import pro.taskana.rest.resource.links.PageLinks;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketSummary;
import pro.taskana.workbasket.internal.WorkbasketImpl;
/** Resource assembler for {@link WorkbasketSummaryResource}. */ /** Resource assembler for {@link WorkbasketSummaryResource}. */
@Component @Component

View File

@ -13,9 +13,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport; import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
/** This class deserializes the string list to real workbaskets. */ /** This class deserializes the string list to real workbaskets. */

View File

@ -32,7 +32,6 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import pro.taskana.task.api.ObjectReference;
import pro.taskana.RestHelper; import pro.taskana.RestHelper;
import pro.taskana.TaskanaSpringBootTest; import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.rest.resource.ClassificationSummaryResource; import pro.taskana.rest.resource.ClassificationSummaryResource;
@ -40,6 +39,7 @@ import pro.taskana.rest.resource.TaskResource;
import pro.taskana.rest.resource.TaskSummaryListResource; import pro.taskana.rest.resource.TaskSummaryListResource;
import pro.taskana.rest.resource.WorkbasketSummaryResource; import pro.taskana.rest.resource.WorkbasketSummaryResource;
import pro.taskana.sampledata.SampleDataGenerator; import pro.taskana.sampledata.SampleDataGenerator;
import pro.taskana.task.api.ObjectReference;
/** Test Task Controller. */ /** Test Task Controller. */
@TaskanaSpringBootTest @TaskanaSpringBootTest

View File

@ -14,9 +14,9 @@ import org.springframework.http.ResponseEntity;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import pro.taskana.RestHelper; import pro.taskana.RestHelper;
import pro.taskana.task.api.TaskanaRole;
import pro.taskana.TaskanaSpringBootTest; import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.rest.resource.TaskanaUserInfoResource; import pro.taskana.rest.resource.TaskanaUserInfoResource;
import pro.taskana.task.api.TaskanaRole;
/** Test TaskanaEngineController. */ /** Test TaskanaEngineController. */
@TaskanaSpringBootTest @TaskanaSpringBootTest

View File

@ -44,22 +44,20 @@ import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.rest.resource.WorkbasketDefinitionResource; import pro.taskana.rest.resource.WorkbasketDefinitionResource;
import pro.taskana.sampledata.SampleDataGenerator; import pro.taskana.sampledata.SampleDataGenerator;
/** /** Integration tests for WorkbasketDefinitionController. */
* Integration tests for WorkbasketDefinitionController.
*/
@TaskanaSpringBootTest @TaskanaSpringBootTest
class WorkbasketDefinitionControllerIntTest { class WorkbasketDefinitionControllerIntTest {
private static RestTemplate template; private static RestTemplate template;
@Value("${taskana.schemaName:TASKANA}") @Value("${taskana.schemaName:TASKANA}")
String schemaName; String schemaName;
ObjectMapper objMapper = new ObjectMapper(); ObjectMapper objMapper = new ObjectMapper();
@Autowired @Autowired RestHelper restHelper;
RestHelper restHelper;
@Autowired @Autowired private DataSource dataSource;
private DataSource dataSource;
@BeforeAll @BeforeAll
static void init() { static void init() {
@ -74,8 +72,8 @@ class WorkbasketDefinitionControllerIntTest {
@Test @Test
void testExportWorkbasketFromDomain() { void testExportWorkbasketFromDomain() {
ResponseEntity<List<WorkbasketDefinitionResource>> response = executeExportRequestForDomain( ResponseEntity<List<WorkbasketDefinitionResource>> response =
"DOMAIN_A"); executeExportRequestForDomain("DOMAIN_A");
assertNotNull(response.getBody()); assertNotNull(response.getBody());
assertEquals(HttpStatus.OK, response.getStatusCode()); assertEquals(HttpStatus.OK, response.getStatusCode());
@ -88,7 +86,7 @@ class WorkbasketDefinitionControllerIntTest {
allAuthorizationsAreEmpty = false; allAuthorizationsAreEmpty = false;
} }
if (allDistributionTargetsAreEmpty if (allDistributionTargetsAreEmpty
&& !workbasketDefinition.getDistributionTargets().isEmpty()) { && !workbasketDefinition.getDistributionTargets().isEmpty()) {
allDistributionTargetsAreEmpty = false; allDistributionTargetsAreEmpty = false;
} }
if (!allAuthorizationsAreEmpty && !allDistributionTargetsAreEmpty) { if (!allAuthorizationsAreEmpty && !allDistributionTargetsAreEmpty) {
@ -101,8 +99,8 @@ class WorkbasketDefinitionControllerIntTest {
@Test @Test
void testExportWorkbasketsFromWrongDomain() { void testExportWorkbasketsFromWrongDomain() {
ResponseEntity<List<WorkbasketDefinitionResource>> response = executeExportRequestForDomain( ResponseEntity<List<WorkbasketDefinitionResource>> response =
"wrongDomain"); executeExportRequestForDomain("wrongDomain");
assertEquals(0, response.getBody().size()); assertEquals(0, response.getBody().size());
} }
@ -206,8 +204,8 @@ class WorkbasketDefinitionControllerIntTest {
theDestroyer.setDistributionTargets( theDestroyer.setDistributionTargets(
Collections.singleton(differentLogicalId.getWorkbasket().workbasketId)); Collections.singleton(differentLogicalId.getWorkbasket().workbasketId));
expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, expectStatusWhenExecutingImportRequestOfWorkbaskets(
differentLogicalId, theDestroyer); HttpStatus.NO_CONTENT, w, differentLogicalId, theDestroyer);
} }
@Test @Test
@ -217,13 +215,15 @@ class WorkbasketDefinitionControllerIntTest {
String w1String = workbasketToString(w); String w1String = workbasketToString(w);
w.getWorkbasket().setKey("new Key for this WB"); w.getWorkbasket().setKey("new Key for this WB");
String w2String = workbasketToString(w); String w2String = workbasketToString(w);
Assertions.assertThrows(HttpClientErrorException.class, Assertions.assertThrows(
() -> expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.CONFLICT, HttpClientErrorException.class,
Arrays.asList(w1String, w2String))); () ->
expectStatusWhenExecutingImportRequestOfWorkbaskets(
HttpStatus.CONFLICT, Arrays.asList(w1String, w2String)));
} }
private void changeWorkbasketIdOrKey(WorkbasketDefinitionResource w, private void changeWorkbasketIdOrKey(
String newId, String newKey) { WorkbasketDefinitionResource w, String newId, String newKey) {
if (newId != null && !newId.isEmpty()) { if (newId != null && !newId.isEmpty()) {
w.getWorkbasket().setWorkbasketId(newId); w.getWorkbasket().setWorkbasketId(newId);
w.getAuthorizations().forEach(auth -> auth.setWorkbasketId(newId)); w.getAuthorizations().forEach(auth -> auth.setWorkbasketId(newId));
@ -240,21 +240,18 @@ class WorkbasketDefinitionControllerIntTest {
restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=" + domain, restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=" + domain,
HttpMethod.GET, HttpMethod.GET,
restHelper.defaultRequest(), restHelper.defaultRequest(),
new ParameterizedTypeReference<List<WorkbasketDefinitionResource>>() { new ParameterizedTypeReference<List<WorkbasketDefinitionResource>>() {});
});
} }
private void expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus expectedStatus, private void expectStatusWhenExecutingImportRequestOfWorkbaskets(
WorkbasketDefinitionResource... workbaskets) HttpStatus expectedStatus, WorkbasketDefinitionResource... workbaskets) throws IOException {
throws IOException {
List<String> workbasketStrings = List<String> workbasketStrings =
Arrays.stream(workbaskets).map(wb -> workbasketToString(wb)).collect(Collectors.toList()); Arrays.stream(workbaskets).map(wb -> workbasketToString(wb)).collect(Collectors.toList());
expectStatusWhenExecutingImportRequestOfWorkbaskets(expectedStatus, workbasketStrings); expectStatusWhenExecutingImportRequestOfWorkbaskets(expectedStatus, workbasketStrings);
} }
private void expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus expectedStatus, private void expectStatusWhenExecutingImportRequestOfWorkbaskets(
List<String> workbasketStrings) HttpStatus expectedStatus, List<String> workbasketStrings) throws IOException {
throws IOException {
File tmpFile = File.createTempFile("test", ".tmp"); File tmpFile = File.createTempFile("test", ".tmp");
OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tmpFile), UTF_8); OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tmpFile), UTF_8);
writer.write(workbasketStrings.toString()); writer.write(workbasketStrings.toString());
@ -268,8 +265,8 @@ class WorkbasketDefinitionControllerIntTest {
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers); HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
String serverUrl = restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS); String serverUrl = restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS);
ResponseEntity<Void> responseImport = template ResponseEntity<Void> responseImport =
.postForEntity(serverUrl, requestEntity, Void.class); template.postForEntity(serverUrl, requestEntity, Void.class);
assertEquals(expectedStatus, responseImport.getStatusCode()); assertEquals(expectedStatus, responseImport.getStatusCode());
} }

View File

@ -5,9 +5,9 @@ import org.junit.Assert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.classification.api.Classification; import pro.taskana.classification.api.Classification;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.classification.internal.ClassificationImpl; import pro.taskana.classification.internal.ClassificationImpl;
import pro.taskana.rest.Mapping; import pro.taskana.rest.Mapping;

View File

@ -5,9 +5,9 @@ import org.junit.Assert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
import pro.taskana.classification.api.ClassificationSummary; import pro.taskana.classification.api.ClassificationSummary;
import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.classification.internal.ClassificationImpl; import pro.taskana.classification.internal.ClassificationImpl;
/** Test for {@link ClassificationSummaryResourceAssembler}. */ /** Test for {@link ClassificationSummaryResourceAssembler}. */

View File

@ -17,11 +17,11 @@ import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import pro.taskana.TaskanaSpringBootTest; import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.report.api.ClassificationReport;
import pro.taskana.report.api.WorkbasketReport;
import pro.taskana.report.internal.header.TimeIntervalColumnHeader; import pro.taskana.report.internal.header.TimeIntervalColumnHeader;
import pro.taskana.report.internal.item.DetailedMonitorQueryItem; import pro.taskana.report.internal.item.DetailedMonitorQueryItem;
import pro.taskana.report.internal.item.MonitorQueryItem; import pro.taskana.report.internal.item.MonitorQueryItem;
import pro.taskana.report.api.ClassificationReport;
import pro.taskana.report.api.WorkbasketReport;
/** Test for {@link ReportResourceAssembler}. */ /** Test for {@link ReportResourceAssembler}. */
@TaskanaSpringBootTest @TaskanaSpringBootTest

View File

@ -8,20 +8,20 @@ import org.junit.Assert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import pro.taskana.task.api.Attachment; import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.classification.api.Classification; import pro.taskana.classification.api.Classification;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.rest.Mapping;
import pro.taskana.task.api.Attachment;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.Task; import pro.taskana.task.api.Task;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.common.api.exceptions.InvalidArgumentException;
import pro.taskana.task.internal.AttachmentImpl; import pro.taskana.task.internal.AttachmentImpl;
import pro.taskana.task.internal.TaskImpl; import pro.taskana.task.internal.TaskImpl;
import pro.taskana.rest.Mapping; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService;
/** Test for {@link TaskResourceAssembler}. */ /** Test for {@link TaskResourceAssembler}. */
@TaskanaSpringBootTest @TaskanaSpringBootTest

View File

@ -7,18 +7,18 @@ import org.junit.Assert;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import pro.taskana.task.api.AttachmentSummary; import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.classification.api.Classification; import pro.taskana.classification.api.Classification;
import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.ClassificationService;
import pro.taskana.task.api.AttachmentSummary;
import pro.taskana.task.api.ObjectReference; import pro.taskana.task.api.ObjectReference;
import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskService;
import pro.taskana.task.api.TaskState; import pro.taskana.task.api.TaskState;
import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.task.internal.AttachmentImpl; import pro.taskana.task.internal.AttachmentImpl;
import pro.taskana.task.internal.TaskImpl; import pro.taskana.task.internal.TaskImpl;
import pro.taskana.task.internal.TaskSummaryImpl; import pro.taskana.task.internal.TaskSummaryImpl;
import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService;
@TaskanaSpringBootTest @TaskanaSpringBootTest
class TaskSummaryAssemblerTest { class TaskSummaryAssemblerTest {

View File

@ -6,13 +6,13 @@ import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import pro.taskana.TaskanaSpringBootTest; import pro.taskana.TaskanaSpringBootTest;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.rest.Mapping;
import pro.taskana.workbasket.api.Workbasket; import pro.taskana.workbasket.api.Workbasket;
import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketService;
import pro.taskana.workbasket.api.WorkbasketType; import pro.taskana.workbasket.api.WorkbasketType;
import pro.taskana.common.api.exceptions.NotAuthorizedException;
import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException;
import pro.taskana.workbasket.internal.WorkbasketImpl; import pro.taskana.workbasket.internal.WorkbasketImpl;
import pro.taskana.rest.Mapping;
/** Test for {@link WorkbasketResourceAssembler}. */ /** Test for {@link WorkbasketResourceAssembler}. */
@TaskanaSpringBootTest @TaskanaSpringBootTest

View File

@ -10,10 +10,10 @@ import javax.security.auth.callback.PasswordCallback;
import javax.security.auth.spi.LoginModule; import javax.security.auth.spi.LoginModule;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import pro.taskana.ldap.LdapCacheTestImpl;
import pro.taskana.rest.resource.AccessIdResource;
import pro.taskana.common.internal.security.GroupPrincipal; import pro.taskana.common.internal.security.GroupPrincipal;
import pro.taskana.common.internal.security.UserPrincipal; import pro.taskana.common.internal.security.UserPrincipal;
import pro.taskana.ldap.LdapCacheTestImpl;
import pro.taskana.rest.resource.AccessIdResource;
/** /**
* This class will take care of Test API calls authentification. Also see {@link WebSecurityConfig} * This class will take care of Test API calls authentification. Also see {@link WebSecurityConfig}