From 8a6f7d573ba09ef39700f7bd6970d53462a03197 Mon Sep 17 00:00:00 2001 From: krozzus <50258863+krozzus@users.noreply.github.com> Date: Thu, 21 May 2020 22:40:44 +0200 Subject: [PATCH] TSK-1209 refactored package structure * TSK-1209: refactored package structure * TASK-1209: remember to squash this Co-authored-by: Christopher Heiting --- .../rest/TaskHistoryEventController.java | 13 +- .../rest/TaskHistoryRestConfiguration.java | 2 +- .../TaskHistoryEventListResource.java | 2 +- ...TaskHistoryEventListResourceAssembler.java | 2 +- .../taskana/rest/ExampleRestApplication.java | 6 +- .../pro/taskana/ldap/LdapCacheTestImpl.java | 14 +- .../rest/security/SampleLoginModule.java | 2 +- .../taskana/jobs/AsyncUpdateJobIntTest.java | 12 +- .../test/java/pro/taskana/ldap/LdapTest.java | 5 +- .../taskana/rest/ExampleRestApplication.java | 6 +- .../taskana/TaskanaWildFlyApplication.java | 9 +- .../java/pro/taskana/TaskanaWildflyTest.java | 2 +- .../taskana/{rest => }/RestConfiguration.java | 6 +- .../rest/ClassificationController.java | 25 +- .../ClassificationDefinitionController.java | 23 +- ...ificationRepresentationModelAssembler.java | 10 +- ...onSummaryRepresentationModelAssembler.java | 10 +- .../ClassificationRepresentationModel.java | 2 +- ...ssificationSummaryRepresentationModel.java | 2 +- .../rest/AbstractPagingController.java | 2 +- .../{ => common}/rest/AccessIdController.java | 38 +- .../taskana/{ => common}/rest/Mapping.java | 2 +- .../rest/TaskanaEngineController.java | 6 +- .../{ => common}/rest/TaskanaErrorData.java | 14 +- .../rest/TaskanaRestExceptionHandler.java | 12 +- .../{ => common/rest}/ldap/LdapCache.java | 4 +- .../{ => common/rest}/ldap/LdapClient.java | 6 +- .../rest}/ldap/LdapConfiguration.java | 13 +- .../{ => common/rest}/ldap/LdapSettings.java | 2 +- .../models}/AccessIdRepresentationModel.java | 2 +- .../rest/models}/PagedResources.java | 12 +- .../rest/models}/TaskanaPagedModel.java | 2 +- .../rest/models}/TaskanaPagedModelKeys.java | 2 +- .../TaskanaUserInfoRepresentationModel.java | 2 +- .../models}/VersionRepresentationModel.java | 2 +- .../main/java/pro/taskana/ldap/AccessId.java | 33 - .../{ => monitor}/rest/MonitorController.java | 17 +- .../ReportRepresentationModelAssembler.java | 28 +- .../models}/ReportRepresentationModel.java | 34 +- .../rest}/AbstractRessourcesAssembler.java | 4 +- .../links => resource/rest}/PageLinks.java | 2 +- .../rest}/PageLinksAspect.java | 4 +- .../{ => task}/rest/AttachmentController.java | 2 +- .../rest/TaskCommentController.java | 9 +- .../{ => task}/rest/TaskController.java | 14 +- ...ttachmentRepresentationModelAssembler.java | 11 +- ...ntSummaryRepresentationModelAssembler.java | 3 +- ...skCommentRepresentationModelAssembler.java | 12 +- .../TaskRepresentationModelAssembler.java | 9 +- ...skSummaryRepresentationModelAssembler.java | 10 +- .../AttachmentRepresentationModel.java | 2 +- .../AttachmentSummaryRepresentationModel.java | 3 +- .../TaskCommentRepresentationModel.java | 2 +- .../rest/models}/TaskRepresentationModel.java | 2 +- .../TaskSummaryRepresentationModel.java | 4 +- .../rest/WorkbasketAccessItemController.java | 24 +- .../rest/WorkbasketController.java | 32 +- .../rest/WorkbasketDefinitionController.java | 29 +- ...ionTargetRepresentationModelAssembler.java | 6 +- ...ccessItemRepresentationModelAssembler.java | 12 +- ...efinitionRepresentationModelAssembler.java | 7 +- ...orkbasketRepresentationModelAssembler.java | 5 +- ...etSummaryRepresentationModelAssembler.java | 11 +- ...rkbasketAccessItemRepresentationModel.java | 2 +- ...rkbasketDefinitionRepresentationModel.java | 2 +- .../WorkbasketRepresentationModel.java | 5 +- ...basketRepresentationModelWithoutLinks.java | 4 +- .../WorkbasketSummaryRepresentationModel.java | 2 +- .../rest/ClassificationControllerIntTest.java | 13 +- ...sificationDefinitionControllerIntTest.java | 13 +- .../ClassificationAssemblerTest.java | 7 +- .../ClassificationSummaryAssemblerTest.java | 5 +- .../rest/AccessIdControllerIntTest.java | 9 +- .../rest/ExampleDocumentationApp.java | 5 +- .../rest/GeneralExceptionHandlingTest.java | 11 +- .../{ => common}/rest/MappingTest.java | 4 +- .../taskana/{ => common/rest}/RestHelper.java | 2 +- .../rest}/SampleLoginModule.java | 8 +- .../rest/TaskanaEngineControllerIntTest.java | 9 +- .../rest}/TaskanaSpringBootTest.java | 4 +- .../{ => common}/rest/TestConfiguration.java | 5 +- .../rest/TestSchemaNameCustomizable.java | 3 +- .../rest}/WebSecurityConfig.java | 12 +- .../rest}/ldap/LdapCacheTestImpl.java | 4 +- .../rest}/ldap/LdapClientTest.java | 6 +- ...ractPagingControllerRestDocumentation.java | 2 +- .../doc/api/BaseRestDocumentation.java | 4 +- ...sificationControllerRestDocumentation.java | 2 +- ...DefinitionControllerRestDocumentation.java | 2 +- .../doc/api/CommonRestDocumentation.java | 2 +- .../MonitorControllerRestDocumentation.java | 2 +- ...askCommentControllerRestDocumentation.java | 6 +- .../api/TaskControllerRestDocumentation.java | 2 +- ...kanaEngineControllerRestDocumentation.java | 2 +- ...AccessItemControllerRestDocumentation.java | 2 +- ...WorkbasketControllerRestDocumentation.java | 4 +- ...DefinitionControllerRestDocumentation.java | 2 +- .../ReportRepresentationModelTest.java | 18 +- .../rest/TaskCommentControllerIntTest.java | 11 +- .../rest/TaskControllerIntTest.java | 19 +- ...mmentRepresentationModelAssemblerTest.java | 11 +- .../TaskRepresentationModelAssemberTest.java | 10 +- .../assembler}/TaskSummaryAssemblerTest.java | 6 +- ...WorkbasketAccessItemControllerIntTest.java | 11 +- .../rest/WorkbasketControllerIntTest.java | 15 +- ...WorkbasketDefinitionControllerIntTest.java | 579 +++++++++--------- ...sItemRepresentationModelAssemblerTest.java | 5 +- ...asketRepresentationModelAssemblerTest.java | 7 +- .../WorkbasketSummaryAssemblerTest.java | 5 +- .../src/test/resources/pss_jaas.config | 2 +- 110 files changed, 764 insertions(+), 707 deletions(-) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest => }/RestConfiguration.java (93%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => classification}/rest/ClassificationController.java (93%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => classification}/rest/ClassificationDefinitionController.java (93%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => classification/rest/assembler}/ClassificationRepresentationModelAssembler.java (87%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => classification/rest/assembler}/ClassificationSummaryRepresentationModelAssembler.java (86%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => classification/rest/models}/ClassificationRepresentationModel.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => classification/rest/models}/ClassificationSummaryRepresentationModel.java (99%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common}/rest/AbstractPagingController.java (99%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common}/rest/AccessIdController.java (76%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common}/rest/Mapping.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common}/rest/TaskanaEngineController.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common}/rest/TaskanaErrorData.java (84%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common}/rest/TaskanaRestExceptionHandler.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common/rest}/ldap/LdapCache.java (92%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common/rest}/ldap/LdapClient.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common/rest}/ldap/LdapConfiguration.java (92%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => common/rest}/ldap/LdapSettings.java (97%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => common/rest/models}/AccessIdRepresentationModel.java (94%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => common/rest/models}/PagedResources.java (86%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => common/rest/models}/TaskanaPagedModel.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => common/rest/models}/TaskanaPagedModelKeys.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => common/rest/models}/TaskanaUserInfoRepresentationModel.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => common/rest/models}/VersionRepresentationModel.java (92%) delete mode 100644 rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/AccessId.java rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => monitor}/rest/MonitorController.java (91%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => monitor/rest/assembler}/ReportRepresentationModelAssembler.java (92%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => monitor/rest/models}/ReportRepresentationModel.java (81%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => resource/rest}/AbstractRessourcesAssembler.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource/links => resource/rest}/PageLinks.java (89%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource/links => resource/rest}/PageLinksAspect.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => task}/rest/AttachmentController.java (82%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => task}/rest/TaskCommentController.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => task}/rest/TaskController.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/assembler}/AttachmentRepresentationModelAssembler.java (81%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/assembler}/AttachmentSummaryRepresentationModelAssembler.java (85%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/assembler}/TaskCommentRepresentationModelAssembler.java (88%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/assembler}/TaskRepresentationModelAssembler.java (92%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/assembler}/TaskSummaryRepresentationModelAssembler.java (81%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/models}/AttachmentRepresentationModel.java (97%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/models}/AttachmentSummaryRepresentationModel.java (96%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/models}/TaskCommentRepresentationModel.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/models}/TaskRepresentationModel.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => task/rest/models}/TaskSummaryRepresentationModel.java (98%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => workbasket}/rest/WorkbasketAccessItemController.java (92%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => workbasket}/rest/WorkbasketController.java (95%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{ => workbasket}/rest/WorkbasketDefinitionController.java (92%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/DistributionTargetRepresentationModelAssembler.java (66%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/WorkbasketAccessItemRepresentationModelAssembler.java (89%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/WorkbasketDefinitionRepresentationModelAssembler.java (89%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/WorkbasketRepresentationModelAssembler.java (95%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/WorkbasketSummaryRepresentationModelAssembler.java (84%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/models}/WorkbasketAccessItemRepresentationModel.java (99%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/models}/WorkbasketDefinitionRepresentationModel.java (97%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/models}/WorkbasketRepresentationModel.java (90%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/models}/WorkbasketRepresentationModelWithoutLinks.java (77%) rename rest/taskana-rest-spring/src/main/java/pro/taskana/{rest/resource => workbasket/rest/models}/WorkbasketSummaryRepresentationModel.java (99%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => classification}/rest/ClassificationControllerIntTest.java (97%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => classification}/rest/ClassificationDefinitionControllerIntTest.java (97%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => classification/rest/assembler}/ClassificationAssemblerTest.java (96%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => classification/rest/assembler}/ClassificationSummaryAssemblerTest.java (96%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common}/rest/AccessIdControllerIntTest.java (94%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common}/rest/ExampleDocumentationApp.java (95%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common}/rest/GeneralExceptionHandlingTest.java (85%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common}/rest/MappingTest.java (92%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common/rest}/RestHelper.java (99%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/security => common/rest}/SampleLoginModule.java (90%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common}/rest/TaskanaEngineControllerIntTest.java (92%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common/rest}/TaskanaSpringBootTest.java (92%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common}/rest/TestConfiguration.java (77%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common}/rest/TestSchemaNameCustomizable.java (97%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/security => common/rest}/WebSecurityConfig.java (91%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common/rest}/ldap/LdapCacheTestImpl.java (99%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => common/rest}/ldap/LdapClientTest.java (97%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => monitor/rest/models}/ReportRepresentationModelTest.java (95%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => task}/rest/TaskCommentControllerIntTest.java (97%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => task}/rest/TaskControllerIntTest.java (98%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => task/rest/assembler}/TaskCommentRepresentationModelAssemblerTest.java (91%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => task/rest/assembler}/TaskRepresentationModelAssemberTest.java (96%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => task/rest/assembler}/TaskSummaryAssemblerTest.java (97%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => workbasket}/rest/WorkbasketAccessItemControllerIntTest.java (94%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => workbasket}/rest/WorkbasketControllerIntTest.java (96%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{ => workbasket}/rest/WorkbasketDefinitionControllerIntTest.java (96%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/WorkbasketAccessItemRepresentationModelAssemblerTest.java (96%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/WorkbasketRepresentationModelAssemblerTest.java (96%) rename rest/taskana-rest-spring/src/test/java/pro/taskana/{rest/resource => workbasket/rest/assembler}/WorkbasketSummaryAssemblerTest.java (94%) diff --git a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java index 5f50ce78a..b296904f4 100644 --- a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java +++ b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryEventController.java @@ -23,7 +23,7 @@ import pro.taskana.common.api.BaseQuery; import pro.taskana.common.api.LoggerUtils; import pro.taskana.common.api.TimeInterval; import pro.taskana.common.api.exceptions.InvalidArgumentException; -import pro.taskana.rest.AbstractPagingController; +import pro.taskana.common.rest.AbstractPagingController; import pro.taskana.simplehistory.impl.HistoryEventImpl; import pro.taskana.simplehistory.impl.SimpleHistoryServiceImpl; import pro.taskana.simplehistory.query.HistoryQuery; @@ -130,9 +130,9 @@ public class TaskHistoryEventController extends AbstractPagingController { private static final String PAGING_PAGE_SIZE = "page-size"; - private SimpleHistoryServiceImpl simpleHistoryService; + private final SimpleHistoryServiceImpl simpleHistoryService; - private TaskHistoryEventResourceAssembler taskHistoryEventResourceAssembler; + private final TaskHistoryEventResourceAssembler taskHistoryEventResourceAssembler; public TaskHistoryEventController( TaskanaEngineConfiguration taskanaEngineConfiguration, @@ -154,10 +154,10 @@ public class TaskHistoryEventController extends AbstractPagingController { HistoryQuery query = simpleHistoryService.createHistoryQuery(); query = applySortingParams(query, params); - query = applyFilterParams(query, params); + applyFilterParams(query, params); PageMetadata pageMetadata = null; - List historyEvents = null; + List historyEvents; final String page = params.getFirst(PAGING_PAGE); final String pageSize = params.getFirst(PAGING_PAGE_SIZE); params.remove(PAGING_PAGE); @@ -298,7 +298,7 @@ public class TaskHistoryEventController extends AbstractPagingController { return query; } - private HistoryQuery applyFilterParams(HistoryQuery query, MultiValueMap params) { + private void applyFilterParams(HistoryQuery query, MultiValueMap params) { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Entry to applyFilterParams(query= {}, params= {})", query, params); } @@ -487,7 +487,6 @@ public class TaskHistoryEventController extends AbstractPagingController { LOGGER.debug("Exit from applyFilterParams(), returning {}", query); } - return query; } private TimeInterval getTimeIntervalOf(String[] created) { diff --git a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryRestConfiguration.java b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryRestConfiguration.java index e63e2650b..a1b034c80 100644 --- a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryRestConfiguration.java +++ b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/TaskHistoryRestConfiguration.java @@ -10,7 +10,7 @@ import pro.taskana.simplehistory.rest.resource.TaskHistoryEventResourceAssembler /** Configuration for Taskana history REST service. */ @Configuration -@ComponentScan(basePackages = {"pro.taskana.rest", "pro.taskana.simplehistory.rest"}) +@ComponentScan(basePackages = {"pro.taskana", "pro.taskana.simplehistory.rest"}) @EnableTransactionManagement public class TaskHistoryRestConfiguration { diff --git a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResource.java b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResource.java index ab11ca425..44a8395af 100644 --- a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResource.java +++ b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResource.java @@ -5,7 +5,7 @@ import java.util.Collection; import org.springframework.hateoas.Link; import org.springframework.hateoas.PagedModel.PageMetadata; -import pro.taskana.rest.resource.PagedResources; +import pro.taskana.common.rest.models.PagedResources; /** Resource class for {@link TaskHistoryEventResource} with Pagination. */ public class TaskHistoryEventListResource extends PagedResources { diff --git a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResourceAssembler.java b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResourceAssembler.java index b206166e8..e4ad465a2 100644 --- a/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResourceAssembler.java +++ b/history/taskana-simplehistory-rest-spring/src/main/java/pro/taskana/simplehistory/rest/resource/TaskHistoryEventListResourceAssembler.java @@ -8,7 +8,7 @@ import org.springframework.hateoas.IanaLinkRelations; import org.springframework.hateoas.Link; import org.springframework.hateoas.PagedModel.PageMetadata; -import pro.taskana.rest.resource.AbstractRessourcesAssembler; +import pro.taskana.resource.rest.AbstractRessourcesAssembler; import pro.taskana.simplehistory.impl.HistoryEventImpl; import pro.taskana.simplehistory.rest.TaskHistoryEventController; diff --git a/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java index 482a1b499..276678616 100644 --- a/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java +++ b/rest/taskana-rest-spring-example-boot/src/main/java/pro/taskana/rest/ExampleRestApplication.java @@ -9,10 +9,12 @@ import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Import; import org.springframework.scheduling.annotation.EnableScheduling; +import pro.taskana.RestConfiguration; +import pro.taskana.common.rest.AccessIdController; +import pro.taskana.common.rest.ldap.LdapClient; +import pro.taskana.common.rest.ldap.LdapConfiguration; import pro.taskana.jobs.TransactionalJobsConfiguration; import pro.taskana.ldap.LdapCacheTestImpl; -import pro.taskana.ldap.LdapClient; -import pro.taskana.ldap.LdapConfiguration; import pro.taskana.sampledata.SampleDataGenerator; /** Example Application showing the implementation of taskana-rest-spring. */ diff --git a/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/ldap/LdapCacheTestImpl.java b/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/ldap/LdapCacheTestImpl.java index 5fd35458b..a6ec28912 100644 --- a/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/ldap/LdapCacheTestImpl.java +++ b/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/ldap/LdapCacheTestImpl.java @@ -9,7 +9,8 @@ import java.util.Map; import java.util.stream.Collectors; import org.springframework.stereotype.Component; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.ldap.LdapCache; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; /** * Implementation of LdapCache used for Unit tests. @@ -19,12 +20,6 @@ import pro.taskana.rest.resource.AccessIdRepresentationModel; @Component public class LdapCacheTestImpl implements LdapCache { - /** - * Dictionary is a {@link Map} collection that contains {@link AccessIdRepresentationModel} as key - * (user) and {@link List} as value (groups of which the user is a member) . - */ - private Map> users; - private final List accessIds = new ArrayList<>( Arrays.asList( @@ -297,6 +292,11 @@ public class LdapCacheTestImpl implements LdapCache { "teamlead_4", "cn=teamlead_4,ou=groups,o=taskanatest"), new AccessIdRepresentationModel("team_3", "cn=team_3,ou=groups,o=taskanatest"), new AccessIdRepresentationModel("team_4", "cn=team_4,ou=groups,o=taskanatest"))); + /** + * Dictionary is a {@link Map} collection that contains {@link AccessIdRepresentationModel} as key + * (user) and {@link List} as value (groups of which the user is a member) . + */ + private Map> users; @Override public List findMatchingAccessId( diff --git a/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/rest/security/SampleLoginModule.java b/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/rest/security/SampleLoginModule.java index 844febcae..c97af9702 100644 --- a/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/rest/security/SampleLoginModule.java +++ b/rest/taskana-rest-spring-example-common/src/main/java/pro/taskana/rest/security/SampleLoginModule.java @@ -12,8 +12,8 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic import pro.taskana.common.internal.security.GroupPrincipal; import pro.taskana.common.internal.security.UserPrincipal; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; import pro.taskana.ldap.LdapCacheTestImpl; -import pro.taskana.rest.resource.AccessIdRepresentationModel; /** TODO. */ public class SampleLoginModule extends UsernamePasswordAuthenticationFilter implements LoginModule { diff --git a/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/jobs/AsyncUpdateJobIntTest.java b/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/jobs/AsyncUpdateJobIntTest.java index fb43da497..327761dfb 100644 --- a/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/jobs/AsyncUpdateJobIntTest.java +++ b/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/jobs/AsyncUpdateJobIntTest.java @@ -21,16 +21,16 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.web.client.RestTemplate; +import pro.taskana.RestConfiguration; import pro.taskana.RestHelper; import pro.taskana.classification.api.models.Classification; +import pro.taskana.classification.rest.assembler.ClassificationRepresentationModelAssembler; +import pro.taskana.classification.rest.models.ClassificationRepresentationModel; import pro.taskana.common.api.exceptions.InvalidArgumentException; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.RestConfiguration; -import pro.taskana.rest.resource.ClassificationRepresentationModel; -import pro.taskana.rest.resource.ClassificationRepresentationModelAssembler; -import pro.taskana.rest.resource.TaskRepresentationModel; -import pro.taskana.rest.resource.TaskRepresentationModelAssembler; +import pro.taskana.common.rest.Mapping; import pro.taskana.task.api.models.Task; +import pro.taskana.task.rest.assembler.TaskRepresentationModelAssembler; +import pro.taskana.task.rest.models.TaskRepresentationModel; /** Test async updates. */ @ActiveProfiles({"test"}) diff --git a/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/ldap/LdapTest.java b/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/ldap/LdapTest.java index cbf920183..9f9b31a53 100644 --- a/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/ldap/LdapTest.java +++ b/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/ldap/LdapTest.java @@ -10,10 +10,11 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit.jupiter.SpringExtension; +import pro.taskana.RestConfiguration; import pro.taskana.common.api.LoggerUtils; import pro.taskana.common.api.exceptions.InvalidArgumentException; -import pro.taskana.rest.RestConfiguration; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.ldap.LdapClient; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; /** Test Ldap attachment. */ @ActiveProfiles({"test"}) diff --git a/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/rest/ExampleRestApplication.java b/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/rest/ExampleRestApplication.java index 60d402666..7580bf2e5 100644 --- a/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/rest/ExampleRestApplication.java +++ b/rest/taskana-rest-spring-example-common/src/test/java/pro/taskana/rest/ExampleRestApplication.java @@ -14,10 +14,12 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.PlatformTransactionManager; +import pro.taskana.RestConfiguration; +import pro.taskana.common.rest.AccessIdController; +import pro.taskana.common.rest.ldap.LdapClient; +import pro.taskana.common.rest.ldap.LdapConfiguration; import pro.taskana.jobs.TransactionalJobsConfiguration; import pro.taskana.ldap.LdapCacheTestImpl; -import pro.taskana.ldap.LdapClient; -import pro.taskana.ldap.LdapConfiguration; import pro.taskana.sampledata.SampleDataGenerator; /** Example Application showing the implementation of taskana-rest-spring. */ diff --git a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/TaskanaWildFlyApplication.java b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/TaskanaWildFlyApplication.java index dc1bc6a2f..8736fe9c5 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/TaskanaWildFlyApplication.java +++ b/rest/taskana-rest-spring-example-wildfly/src/main/java/pro/taskana/TaskanaWildFlyApplication.java @@ -23,12 +23,11 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.PlatformTransactionManager; +import pro.taskana.common.rest.AccessIdController; +import pro.taskana.common.rest.ldap.LdapClient; +import pro.taskana.common.rest.ldap.LdapConfiguration; import pro.taskana.jobs.TransactionalJobsConfiguration; import pro.taskana.ldap.LdapCacheTestImpl; -import pro.taskana.ldap.LdapClient; -import pro.taskana.ldap.LdapConfiguration; -import pro.taskana.rest.AccessIdController; -import pro.taskana.rest.RestConfiguration; import pro.taskana.rest.WebMvcConfig; import pro.taskana.sampledata.SampleDataGenerator; @@ -43,7 +42,7 @@ import pro.taskana.sampledata.SampleDataGenerator; TransactionalJobsConfiguration.class, LdapConfiguration.class, RestConfiguration.class, - WebMvcConfig.class + WebMvcConfig.class, }) public class TaskanaWildFlyApplication extends SpringBootServletInitializer { diff --git a/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/TaskanaWildflyTest.java b/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/TaskanaWildflyTest.java index 36c3dda46..8b165f84f 100644 --- a/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/TaskanaWildflyTest.java +++ b/rest/taskana-rest-spring-example-wildfly/src/test/java/pro/taskana/TaskanaWildflyTest.java @@ -25,7 +25,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.client.RestTemplate; -import pro.taskana.rest.resource.TaskanaUserInfoRepresentationModel; +import pro.taskana.common.rest.models.TaskanaUserInfoRepresentationModel; /** * This test class is configured to run with postgres DB if you want to run it with h2 it is needed. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/RestConfiguration.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/RestConfiguration.java similarity index 93% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/RestConfiguration.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/RestConfiguration.java index c537c0a16..29365a4c6 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/RestConfiguration.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/RestConfiguration.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana; import com.fasterxml.jackson.databind.cfg.HandlerInstantiator; import java.sql.SQLException; @@ -13,11 +13,9 @@ import org.springframework.context.annotation.Scope; import org.springframework.http.converter.json.SpringHandlerInstantiator; import org.springframework.transaction.annotation.EnableTransactionManagement; -import pro.taskana.SpringTaskanaEngineConfiguration; -import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.classification.api.ClassificationService; import pro.taskana.common.api.TaskanaEngine; -import pro.taskana.ldap.LdapClient; +import pro.taskana.common.rest.ldap.LdapClient; import pro.taskana.monitor.api.MonitorService; import pro.taskana.task.api.TaskService; import pro.taskana.workbasket.api.WorkbasketService; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java similarity index 93% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java index ab4ad5faf..47a962340 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.classification.rest; import java.util.List; import org.slf4j.Logger; @@ -27,16 +27,18 @@ import pro.taskana.classification.api.exceptions.ClassificationInUseException; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.classification.api.models.Classification; import pro.taskana.classification.api.models.ClassificationSummary; +import pro.taskana.classification.rest.assembler.ClassificationRepresentationModelAssembler; +import pro.taskana.classification.rest.assembler.ClassificationSummaryRepresentationModelAssembler; +import pro.taskana.classification.rest.models.ClassificationRepresentationModel; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; import pro.taskana.common.api.BaseQuery.SortDirection; import pro.taskana.common.api.exceptions.ConcurrencyException; 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.ClassificationRepresentationModel; -import pro.taskana.rest.resource.ClassificationRepresentationModelAssembler; -import pro.taskana.rest.resource.ClassificationSummaryRepresentationModel; -import pro.taskana.rest.resource.ClassificationSummaryRepresentationModelAssembler; -import pro.taskana.rest.resource.TaskanaPagedModel; +import pro.taskana.common.rest.AbstractPagingController; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; /** Controller for all {@link Classification} related endpoints. */ @RestController @@ -205,18 +207,19 @@ public class ClassificationController extends AbstractPagingController { @DeleteMapping(path = Mapping.URL_CLASSIFICATIONS_ID) @Transactional(readOnly = true, rollbackFor = Exception.class) - public ResponseEntity deleteClassification(@PathVariable String classificationId) + public ResponseEntity deleteClassification( + @PathVariable String classificationId) throws ClassificationNotFoundException, ClassificationInUseException, NotAuthorizedException { LOGGER.debug("Entry to deleteClassification(classificationId= {})", classificationId); classificationService.deleteClassification(classificationId); - ResponseEntity response = ResponseEntity.noContent().build(); + ResponseEntity response = ResponseEntity.noContent().build(); LOGGER.debug("Exit from deleteClassification(), returning {}", response); return response; } private ClassificationQuery applySortingParams( ClassificationQuery query, MultiValueMap params) - throws IllegalArgumentException { + throws InvalidArgumentException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Entry to applySortingParams(query= {}, params= {})", query, params); } @@ -226,7 +229,7 @@ public class ClassificationController extends AbstractPagingController { if (sortBy != null) { SortDirection sortDirection; if (params.getFirst(SORT_DIRECTION) != null - && "desc".equals(params.getFirst(SORT_DIRECTION))) { + && "desc".equals(params.getFirst(SORT_DIRECTION))) { sortDirection = SortDirection.DESCENDING; } else { sortDirection = SortDirection.ASCENDING; @@ -245,7 +248,7 @@ public class ClassificationController extends AbstractPagingController { query = query.orderByName(sortDirection); break; default: - throw new IllegalArgumentException("Unknown order '" + sortBy + "'"); + throw new InvalidArgumentException("Unknown order '" + sortBy + "'"); } } params.remove(SORT_BY); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationDefinitionController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationDefinitionController.java similarity index 93% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationDefinitionController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationDefinitionController.java index 256012d6d..249a9b337 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/ClassificationDefinitionController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/ClassificationDefinitionController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.classification.rest; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationFeature; @@ -29,13 +29,14 @@ import pro.taskana.classification.api.exceptions.ClassificationAlreadyExistExcep import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.classification.api.models.Classification; import pro.taskana.classification.api.models.ClassificationSummary; +import pro.taskana.classification.rest.assembler.ClassificationRepresentationModelAssembler; +import pro.taskana.classification.rest.models.ClassificationRepresentationModel; import pro.taskana.common.api.LoggerUtils; import pro.taskana.common.api.exceptions.ConcurrencyException; 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.ClassificationRepresentationModel; -import pro.taskana.rest.resource.ClassificationRepresentationModelAssembler; +import pro.taskana.common.rest.Mapping; /** Controller for Importing / Exporting classifications. */ @SuppressWarnings("unused") @@ -46,9 +47,10 @@ public class ClassificationDefinitionController { private static final Logger LOGGER = LoggerFactory.getLogger(ClassificationDefinitionController.class); - private ClassificationService classificationService; + private final ClassificationService classificationService; - private ClassificationRepresentationModelAssembler classificationRepresentationModelAssembler; + private final ClassificationRepresentationModelAssembler + classificationRepresentationModelAssembler; ClassificationDefinitionController( ClassificationService classificationService, @@ -157,12 +159,11 @@ public class ClassificationDefinitionController { } String parentKeyAndDomain = cl.getParentKey() + "|" + cl.getDomain(); - if (!cl.getParentKey().isEmpty() && !cl.getParentKey().equals("")) { - if (newKeysWithDomain.contains(parentKeyAndDomain) - || systemIds.containsKey(parentKeyAndDomain)) { - childrenInFile.put( - classificationRepresentationModelAssembler.toEntityModel(cl), cl.getParentKey()); - } + if ((!cl.getParentKey().isEmpty() && !cl.getParentKey().equals("") && ( + newKeysWithDomain.contains(parentKeyAndDomain) + || systemIds.containsKey(parentKeyAndDomain)))) { + childrenInFile.put( + classificationRepresentationModelAssembler.toEntityModel(cl), cl.getParentKey()); } } if (LOGGER.isDebugEnabled()) { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/assembler/ClassificationRepresentationModelAssembler.java similarity index 87% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/assembler/ClassificationRepresentationModelAssembler.java index bad9966ae..71ce8ab96 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/assembler/ClassificationRepresentationModelAssembler.java @@ -1,12 +1,12 @@ -package pro.taskana.rest.resource; +package pro.taskana.classification.rest.assembler; -import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; import java.time.Instant; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.server.RepresentationModelAssembler; +import org.springframework.hateoas.server.mvc.WebMvcLinkBuilder; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; @@ -14,8 +14,9 @@ import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.exceptions.ClassificationNotFoundException; import pro.taskana.classification.api.models.Classification; import pro.taskana.classification.internal.models.ClassificationImpl; +import pro.taskana.classification.rest.ClassificationController; +import pro.taskana.classification.rest.models.ClassificationRepresentationModel; import pro.taskana.common.api.exceptions.SystemException; -import pro.taskana.rest.ClassificationController; /** * Transforms {@link Classification} to its resource counterpart {@link @@ -40,7 +41,8 @@ public class ClassificationRepresentationModelAssembler new ClassificationRepresentationModel(classification); try { resource.add( - linkTo(methodOn(ClassificationController.class).getClassification(classification.getId())) + WebMvcLinkBuilder.linkTo( + methodOn(ClassificationController.class).getClassification(classification.getId())) .withSelfRel()); } catch (ClassificationNotFoundException e) { throw new SystemException("caught unexpected Exception.", e.getCause()); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationSummaryRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/assembler/ClassificationSummaryRepresentationModelAssembler.java similarity index 86% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationSummaryRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/assembler/ClassificationSummaryRepresentationModelAssembler.java index 7063adf98..db7d34a20 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationSummaryRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/assembler/ClassificationSummaryRepresentationModelAssembler.java @@ -1,6 +1,6 @@ -package pro.taskana.rest.resource; +package pro.taskana.classification.rest.assembler; -import static pro.taskana.rest.resource.TaskanaPagedModelKeys.CLASSIFICATIONS; +import static pro.taskana.common.rest.models.TaskanaPagedModelKeys.CLASSIFICATIONS; import java.util.List; import java.util.stream.Collectors; @@ -14,8 +14,10 @@ import org.springframework.stereotype.Component; import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.models.ClassificationSummary; import pro.taskana.classification.internal.models.ClassificationImpl; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.resource.links.PageLinks; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; +import pro.taskana.resource.rest.PageLinks; /** * EntityModel assembler for {@link ClassificationSummaryRepresentationModel}. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationRepresentationModel.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationRepresentationModel.java index fc0e8af6c..ee8397c6e 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.classification.rest.models; import pro.taskana.classification.api.models.Classification; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationSummaryRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryRepresentationModel.java similarity index 99% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationSummaryRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryRepresentationModel.java index e2e6b2bd9..b053621ab 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ClassificationSummaryRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/classification/rest/models/ClassificationSummaryRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.classification.rest.models; import org.springframework.hateoas.RepresentationModel; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AbstractPagingController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/AbstractPagingController.java similarity index 99% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AbstractPagingController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/AbstractPagingController.java index 5a55df799..a7b72cd57 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AbstractPagingController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/AbstractPagingController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import java.util.ArrayList; import java.util.Arrays; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AccessIdController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/AccessIdController.java similarity index 76% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AccessIdController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/AccessIdController.java index b26cd480e..b11cc764e 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AccessIdController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/AccessIdController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import java.util.List; import org.slf4j.Logger; @@ -12,9 +12,9 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import pro.taskana.common.api.exceptions.InvalidArgumentException; -import pro.taskana.ldap.LdapCache; -import pro.taskana.ldap.LdapClient; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.ldap.LdapCache; +import pro.taskana.common.rest.ldap.LdapClient; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; /** * Controller for access id validation. @@ -26,8 +26,18 @@ import pro.taskana.rest.resource.AccessIdRepresentationModel; public class AccessIdController { private static final Logger LOGGER = LoggerFactory.getLogger(AccessIdController.class); + private static final String EXIT_FROM_VALIDATE_ACCESS_IDS + = "Exit from validateAccessIds(), returning {}"; + private static final String EXIT_FROM_GET_GROUP_BY_ACCESS_ID + = "Exit from getGroupsByAccessId(), returning {}"; private static LdapCache ldapCache; - @Autowired LdapClient ldapClient; + + LdapClient ldapClient; + + @Autowired + public AccessIdController(LdapClient ldapClient) { + this.ldapClient = ldapClient; + } @GetMapping(path = Mapping.URL_ACCESSID) public ResponseEntity> validateAccessIds( @@ -45,7 +55,7 @@ public class AccessIdController { List accessIdUsers = ldapClient.searchUsersAndGroups(searchFor); response = ResponseEntity.ok(accessIdUsers); if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Exit from validateAccessIds(), returning {}", response); + LOGGER.debug(EXIT_FROM_VALIDATE_ACCESS_IDS, response); } return response; @@ -55,13 +65,13 @@ public class AccessIdController { ldapCache.findMatchingAccessId( searchFor, ldapClient.getMaxNumberOfReturnedAccessIds())); if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Exit from validateAccessIds(), returning {}", response); + LOGGER.debug(EXIT_FROM_VALIDATE_ACCESS_IDS, response); } return response; } else { response = ResponseEntity.notFound().build(); - LOGGER.debug("Exit from validateAccessIds(), returning {}", response); + LOGGER.debug(EXIT_FROM_VALIDATE_ACCESS_IDS, response); return response; } } @@ -70,10 +80,8 @@ public class AccessIdController { public ResponseEntity> getGroupsByAccessId( @RequestParam("access-id") String accessId) throws InvalidArgumentException { LOGGER.debug("Entry to getGroupsByAccessId(access-id= {})", accessId); - if (ldapClient.useLdap() || ldapCache != null) { - if (!validateAccessId(accessId)) { - throw new InvalidArgumentException("The accessId is invalid"); - } + if ((ldapClient.useLdap() || ldapCache != null) && (!validateAccessId(accessId))) { + throw new InvalidArgumentException("The accessId is invalid"); } List accessIdUsers; ResponseEntity> response; @@ -82,7 +90,7 @@ public class AccessIdController { accessIdUsers.addAll(ldapClient.searchGroupsofUsersIsMember(accessId)); response = ResponseEntity.ok(accessIdUsers); if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Exit from getGroupsByAccessId(), returning {}", response); + LOGGER.debug(EXIT_FROM_GET_GROUP_BY_ACCESS_ID, response); } return response; @@ -91,13 +99,13 @@ public class AccessIdController { ldapCache.findGroupsOfUser(accessId, ldapClient.getMaxNumberOfReturnedAccessIds()); response = ResponseEntity.ok(accessIdUsers); if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Exit from getGroupsByAccessId(), returning {}", response); + LOGGER.debug(EXIT_FROM_GET_GROUP_BY_ACCESS_ID, response); } return response; } else { response = ResponseEntity.notFound().build(); - LOGGER.debug("Exit from getGroupsByAccessId(), returning {}", response); + LOGGER.debug(EXIT_FROM_GET_GROUP_BY_ACCESS_ID, response); return response; } } diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/Mapping.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/Mapping.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/Mapping.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/Mapping.java index 6706a5871..580236c6c 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/Mapping.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/Mapping.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; /** Collection of Url to Controller mappings. */ public final class Mapping { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaEngineController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaEngineController.java similarity index 96% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaEngineController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaEngineController.java index 7de5a3a43..69613ca6d 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaEngineController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaEngineController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import java.util.List; import java.util.Map; @@ -14,8 +14,8 @@ import pro.taskana.TaskanaEngineConfiguration; import pro.taskana.common.api.TaskanaEngine; import pro.taskana.common.api.TaskanaRole; import pro.taskana.common.internal.security.CurrentUserContext; -import pro.taskana.rest.resource.TaskanaUserInfoRepresentationModel; -import pro.taskana.rest.resource.VersionRepresentationModel; +import pro.taskana.common.rest.models.TaskanaUserInfoRepresentationModel; +import pro.taskana.common.rest.models.VersionRepresentationModel; /** Controller for TaskanaEngine related tasks. */ @RestController diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaErrorData.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaErrorData.java similarity index 84% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaErrorData.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaErrorData.java index a11530ba3..a39441ef2 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaErrorData.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaErrorData.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import java.util.Date; import org.springframework.http.HttpStatus; @@ -11,11 +11,11 @@ import org.springframework.web.context.request.WebRequest; */ public class TaskanaErrorData { - private Date timestamp; - private int status; - private String error; - private String exception; - private String message; + private final Date timestamp; + private final int status; + private final String error; + private final String exception; + private final String message; private String path; TaskanaErrorData(HttpStatus stat, Exception ex, WebRequest req) { @@ -25,7 +25,7 @@ public class TaskanaErrorData { this.exception = ex.getClass().getName(); this.message = ex.getMessage(); this.path = req.getDescription(false); - if (this.path != null && this.path.startsWith("uri=")) { + if (this.path.startsWith("uri=")) { this.path = this.path.substring(4); } } diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaRestExceptionHandler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java similarity index 96% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaRestExceptionHandler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java index 2a623e976..66fcbe045 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskanaRestExceptionHandler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/TaskanaRestExceptionHandler.java @@ -1,7 +1,5 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import org.springframework.core.Ordered; import org.springframework.core.annotation.Order; import org.springframework.dao.DuplicateKeyException; @@ -37,8 +35,6 @@ import pro.taskana.workbasket.api.exceptions.WorkbasketInUseException; @ControllerAdvice public class TaskanaRestExceptionHandler extends ResponseEntityExceptionHandler { - private static final Logger LOGGER = LoggerFactory.getLogger(TaskanaRestExceptionHandler.class); - @ExceptionHandler(InvalidArgumentException.class) protected ResponseEntity handleInvalidArgument( InvalidArgumentException ex, WebRequest req) { @@ -143,13 +139,13 @@ public class TaskanaRestExceptionHandler extends ResponseEntityExceptionHandler Exception ex, WebRequest req, HttpStatus status, boolean logExceptionOnError) { TaskanaErrorData errorData = new TaskanaErrorData(status, ex, req); if (logExceptionOnError) { - LOGGER.error( + logger.error( String.format( "Error occurred during processing of rest request: %s", errorData.toString()), ex); } else { - if (LOGGER.isDebugEnabled()) { - LOGGER.debug( + if (logger.isDebugEnabled()) { + logger.debug( String.format( "Error occurred during processing of rest request: %s", errorData.toString()), ex); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapCache.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapCache.java similarity index 92% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapCache.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapCache.java index 112cba764..f454ebcf6 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapCache.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapCache.java @@ -1,8 +1,8 @@ -package pro.taskana.ldap; +package pro.taskana.common.rest.ldap; import java.util.List; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; /** * This interface is used for caching Ldap data. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapClient.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapClient.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapClient.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapClient.java index 98c3d9aeb..a0e5a7466 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapClient.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapClient.java @@ -1,4 +1,4 @@ -package pro.taskana.ldap; +package pro.taskana.common.rest.ldap; import java.util.ArrayList; import java.util.Arrays; @@ -25,7 +25,7 @@ import org.springframework.stereotype.Component; import pro.taskana.common.api.LoggerUtils; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.SystemException; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; /** * Class for Ldap access. @@ -320,7 +320,7 @@ public class LdapClient { final List missingConfigurations = checkForMissingConfigurations(); - if (missingConfigurations.size() > 0) { + if (!missingConfigurations.isEmpty()) { message = String.format( "taskana.ldap.useLdap is set to true, but following configurations are missing: %s", diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapConfiguration.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapConfiguration.java similarity index 92% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapConfiguration.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapConfiguration.java index 79941b268..4eeb25381 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapConfiguration.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapConfiguration.java @@ -1,6 +1,5 @@ -package pro.taskana.ldap; +package pro.taskana.common.rest.ldap; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; @@ -11,11 +10,17 @@ import org.springframework.core.type.AnnotatedTypeMetadata; import org.springframework.ldap.core.LdapTemplate; import org.springframework.ldap.core.support.LdapContextSource; -/** Configuration for Ldap access. */ +/** + * Configuration for Ldap access. + */ @Configuration public class LdapConfiguration { - @Autowired private Environment env; + private final Environment env; + + public LdapConfiguration(Environment env) { + this.env = env; + } @Bean public LdapContextSource contextSource() { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapSettings.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapSettings.java similarity index 97% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapSettings.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapSettings.java index ff5e87214..af0708301 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/LdapSettings.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/ldap/LdapSettings.java @@ -1,4 +1,4 @@ -package pro.taskana.ldap; +package pro.taskana.common.rest.ldap; import org.springframework.core.env.Environment; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AccessIdRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/AccessIdRepresentationModel.java similarity index 94% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AccessIdRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/AccessIdRepresentationModel.java index b6076f69f..a14a88311 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AccessIdRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/AccessIdRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.common.rest.models; /** * resource class for access id validation. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/PagedResources.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/PagedResources.java similarity index 86% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/PagedResources.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/PagedResources.java index b09f3f09e..2828431f0 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/PagedResources.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/PagedResources.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.common.rest.models; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.ArrayList; @@ -17,13 +17,13 @@ import org.springframework.hateoas.RepresentationModel; */ public class PagedResources extends RepresentationModel> { - private Collection content; + private final Collection content; - private PageMetadata metadata; + private final PageMetadata metadata; /** Default constructor to allow instantiation by reflection. */ protected PagedResources() { - this(new ArrayList(), null); + this(new ArrayList<>(), null); } /** @@ -61,8 +61,8 @@ public class PagedResources extends RepresentationModel> { @JsonProperty("page") public PageMetadata getMetadata() { if (Objects.isNull(metadata)) { - Collection content = getContent(); - return new PageMetadata(content.size(), 0, content.size()); + Collection contentCollection = getContent(); + return new PageMetadata(contentCollection.size(), 0, contentCollection.size()); } return metadata; } diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaPagedModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaPagedModel.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaPagedModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaPagedModel.java index 7df667946..eeefc09b9 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaPagedModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaPagedModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.common.rest.models; import com.fasterxml.jackson.annotation.JsonAnyGetter; import com.fasterxml.jackson.annotation.JsonAnySetter; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaPagedModelKeys.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaPagedModelKeys.java similarity index 96% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaPagedModelKeys.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaPagedModelKeys.java index 35c4a2089..2e12322c1 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaPagedModelKeys.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaPagedModelKeys.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.common.rest.models; import java.util.Arrays; import java.util.Map; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaUserInfoRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaUserInfoRepresentationModel.java similarity index 96% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaUserInfoRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaUserInfoRepresentationModel.java index e00a19ef7..13b66e9cd 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskanaUserInfoRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/TaskanaUserInfoRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.common.rest.models; import java.util.ArrayList; import java.util.List; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/VersionRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/VersionRepresentationModel.java similarity index 92% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/VersionRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/VersionRepresentationModel.java index de5de8c15..d896c2c87 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/VersionRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/common/rest/models/VersionRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.common.rest.models; import org.springframework.hateoas.RepresentationModel; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/AccessId.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/AccessId.java deleted file mode 100644 index 5707b65df..000000000 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/ldap/AccessId.java +++ /dev/null @@ -1,33 +0,0 @@ -package pro.taskana.ldap; - -/** - * Utility class to hold access ids. - * - * @author bbr - */ -public class AccessId { - - private String accessId; - private String name; - - public String getAccessId() { - return accessId; - } - - public void setAccessId(String accessId) { - this.accessId = accessId; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @Override - public String toString() { - return "AccessId [" + "accessId=" + this.accessId + ", name=" + this.name + "]"; - } -} diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/MonitorController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/MonitorController.java similarity index 91% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/MonitorController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/MonitorController.java index 6a1904bf2..2b375c0b3 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/MonitorController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/MonitorController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.monitor.rest; import java.util.ArrayList; import java.util.List; @@ -7,6 +7,7 @@ import java.util.stream.IntStream; import java.util.stream.Stream; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.hateoas.config.EnableHypermediaSupport; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; @@ -17,10 +18,11 @@ import org.springframework.web.bind.annotation.RestController; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; +import pro.taskana.common.rest.Mapping; import pro.taskana.monitor.api.MonitorService; import pro.taskana.monitor.api.reports.header.TimeIntervalColumnHeader; -import pro.taskana.rest.resource.ReportRepresentationModel; -import pro.taskana.rest.resource.ReportRepresentationModelAssembler; +import pro.taskana.monitor.rest.assembler.ReportRepresentationModelAssembler; +import pro.taskana.monitor.rest.models.ReportRepresentationModel; import pro.taskana.task.api.TaskState; /** Controller for all monitoring endpoints. */ @@ -30,10 +32,11 @@ public class MonitorController { private static final Logger LOGGER = LoggerFactory.getLogger(MonitorController.class); - private MonitorService monitorService; + private final MonitorService monitorService; - private ReportRepresentationModelAssembler reportRepresentationModelAssembler; + private final ReportRepresentationModelAssembler reportRepresentationModelAssembler; + @Autowired MonitorController( MonitorService monitorService, ReportRepresentationModelAssembler reportRepresentationModelAssembler) { @@ -67,7 +70,7 @@ public class MonitorController { @GetMapping(path = Mapping.URL_MONITOR_TASKSWORKBASKET) @Transactional(readOnly = true, rollbackFor = Exception.class) - public ResponseEntity getTasksWorkbasketReport( + public ResponseEntity getTasksWorkbasketReport( @RequestParam(value = "states") List states) throws NotAuthorizedException, InvalidArgumentException { LOGGER.debug("Entry to getTasksWorkbasketReport()"); @@ -89,7 +92,7 @@ public class MonitorController { @GetMapping(path = Mapping.URL_MONITOR_TASKSWORKBASKETPLANNED) @Transactional(readOnly = true, rollbackFor = Exception.class) - public ResponseEntity getTasksWorkbasketPlannedDateReport( + public ResponseEntity getTasksWorkbasketPlannedDateReport( @RequestParam(value = "daysInPast") int daysInPast, @RequestParam(value = "states") List states) throws NotAuthorizedException, InvalidArgumentException { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ReportRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/assembler/ReportRepresentationModelAssembler.java similarity index 92% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ReportRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/assembler/ReportRepresentationModelAssembler.java index b4c897cc7..438c77217 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ReportRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/assembler/ReportRepresentationModelAssembler.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.monitor.rest.assembler; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; @@ -25,7 +25,8 @@ import pro.taskana.monitor.api.reports.item.QueryItem; import pro.taskana.monitor.api.reports.row.FoldableRow; import pro.taskana.monitor.api.reports.row.Row; import pro.taskana.monitor.api.reports.row.SingleRow; -import pro.taskana.rest.MonitorController; +import pro.taskana.monitor.rest.MonitorController; +import pro.taskana.monitor.rest.models.ReportRepresentationModel; import pro.taskana.task.api.TaskState; /** Transforms any {@link Report} into its {@link ReportRepresentationModel}. */ @@ -34,7 +35,8 @@ public class ReportRepresentationModelAssembler { @NonNull public ReportRepresentationModel toModel( - @NonNull TaskStatusReport report, @NonNull List domains, + @NonNull TaskStatusReport report, + @NonNull List domains, @NonNull List states) throws NotAuthorizedException, InvalidArgumentException { ReportRepresentationModel resource = toReportResource(report); @@ -57,8 +59,8 @@ public class ReportRepresentationModelAssembler { } @NonNull - public ReportRepresentationModel toModel(@NonNull WorkbasketReport report, - @NonNull List states) + public ReportRepresentationModel toModel( + @NonNull WorkbasketReport report, @NonNull List states) throws NotAuthorizedException, InvalidArgumentException { ReportRepresentationModel resource = toReportResource(report); resource.add( @@ -75,8 +77,8 @@ public class ReportRepresentationModelAssembler { ReportRepresentationModel resource = toReportResource(report); resource.add( linkTo( - methodOn(MonitorController.class) - .getTasksWorkbasketPlannedDateReport(daysInPast, states)) + methodOn(MonitorController.class) + .getTasksWorkbasketPlannedDateReport(daysInPast, states)) .withSelfRel() .expand()); return resource; @@ -91,12 +93,7 @@ public class ReportRepresentationModelAssembler { return resource; } - > - ReportRepresentationModel toReportResource(Report report) { - return toReportResource(report, Instant.now()); - } - - > + public > ReportRepresentationModel toReportResource(Report report, Instant time) { String[] header = report.getColumnHeaders().stream().map(H::getDisplayName).toArray(String[]::new); @@ -122,6 +119,11 @@ public class ReportRepresentationModelAssembler { return new ReportRepresentationModel(meta, rows, sumRow); } + > + ReportRepresentationModel toReportResource(Report report) { + return toReportResource(report, Instant.now()); + } + private List transformRow( Row row, String currentDesc, String[] desc, int depth) { // This is a very dirty solution.. Personally I'd prefer to use a visitor-like pattern here. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ReportRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/models/ReportRepresentationModel.java similarity index 81% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ReportRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/models/ReportRepresentationModel.java index 369ddad22..70d2061f6 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/ReportRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/monitor/rest/models/ReportRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.monitor.rest.models; import java.util.Arrays; import java.util.List; @@ -10,11 +10,11 @@ import pro.taskana.monitor.api.reports.row.SingleRow; /** EntityModel class for {@link Report}. */ public class ReportRepresentationModel extends RepresentationModel { - private MetaInformation meta; + private final MetaInformation meta; - private List rows; + private final List rows; - private List sumRow; + private final List sumRow; public ReportRepresentationModel( MetaInformation meta, List rows, List sumRow) { @@ -35,14 +35,16 @@ public class ReportRepresentationModel extends RepresentationModel & ProceedingJoinPoint> RepresentationModel addLinksToPageResource( ProceedingJoinPoint joinPoint, List data, PageMetadata page) throws Throwable { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AttachmentController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/AttachmentController.java similarity index 82% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AttachmentController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/AttachmentController.java index d497b3f38..10cd3c158 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/AttachmentController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/AttachmentController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.task.rest; import pro.taskana.task.api.models.Attachment; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskCommentController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskCommentController.java similarity index 96% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskCommentController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskCommentController.java index e6fa9911f..a41efaa55 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskCommentController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskCommentController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.task.rest; import java.util.List; import org.slf4j.Logger; @@ -19,13 +19,14 @@ import org.springframework.web.bind.annotation.RestController; import pro.taskana.common.api.exceptions.ConcurrencyException; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; -import pro.taskana.rest.resource.TaskCommentRepresentationModel; -import pro.taskana.rest.resource.TaskCommentRepresentationModelAssembler; -import pro.taskana.rest.resource.TaskanaPagedModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.exceptions.TaskCommentNotFoundException; import pro.taskana.task.api.exceptions.TaskNotFoundException; import pro.taskana.task.api.models.TaskComment; +import pro.taskana.task.rest.assembler.TaskCommentRepresentationModelAssembler; +import pro.taskana.task.rest.models.TaskCommentRepresentationModel; /** Controller for all {@link TaskComment} related endpoints. */ @RestController diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java index 3d6b912b9..59c20c7ec 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/TaskController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/TaskController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.task.rest; import java.time.Instant; import java.util.ArrayList; @@ -30,11 +30,9 @@ import pro.taskana.common.api.TimeInterval; import pro.taskana.common.api.exceptions.ConcurrencyException; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; -import pro.taskana.rest.resource.TaskRepresentationModel; -import pro.taskana.rest.resource.TaskRepresentationModelAssembler; -import pro.taskana.rest.resource.TaskSummaryRepresentationModel; -import pro.taskana.rest.resource.TaskSummaryRepresentationModelAssembler; -import pro.taskana.rest.resource.TaskanaPagedModel; +import pro.taskana.common.rest.AbstractPagingController; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; import pro.taskana.task.api.TaskQuery; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskState; @@ -46,6 +44,10 @@ import pro.taskana.task.api.exceptions.TaskAlreadyExistException; import pro.taskana.task.api.exceptions.TaskNotFoundException; import pro.taskana.task.api.models.Task; import pro.taskana.task.api.models.TaskSummary; +import pro.taskana.task.rest.assembler.TaskRepresentationModelAssembler; +import pro.taskana.task.rest.assembler.TaskSummaryRepresentationModelAssembler; +import pro.taskana.task.rest.models.TaskRepresentationModel; +import pro.taskana.task.rest.models.TaskSummaryRepresentationModel; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; /** Controller for all {@link Task} related endpoints. */ diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/AttachmentRepresentationModelAssembler.java similarity index 81% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/AttachmentRepresentationModelAssembler.java index 7eff6d8c9..dbc62e6a6 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/AttachmentRepresentationModelAssembler.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; @@ -10,10 +10,12 @@ import org.springframework.hateoas.server.RepresentationModelAssembler; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; -import pro.taskana.rest.AttachmentController; +import pro.taskana.classification.rest.assembler.ClassificationSummaryRepresentationModelAssembler; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.models.Attachment; import pro.taskana.task.internal.models.AttachmentImpl; +import pro.taskana.task.rest.AttachmentController; +import pro.taskana.task.rest.models.AttachmentRepresentationModel; /** * EntityModel assembler for {@link AttachmentRepresentationModel}. @@ -42,10 +44,11 @@ public class AttachmentRepresentationModelAssembler } public List toAttachmentList(List resources) { - return resources.stream().map(this::apply).collect(Collectors.toList()); + return resources.stream().map(this::toEntityModel).collect(Collectors.toList()); } - private AttachmentImpl apply(AttachmentRepresentationModel attachmentRepresentationModel) { + private AttachmentImpl toEntityModel( + AttachmentRepresentationModel attachmentRepresentationModel) { AttachmentImpl attachment = (AttachmentImpl) taskService.newAttachment(); BeanUtils.copyProperties(attachmentRepresentationModel, attachment); attachment.setId(attachmentRepresentationModel.getAttachmentId()); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentSummaryRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/AttachmentSummaryRepresentationModelAssembler.java similarity index 85% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentSummaryRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/AttachmentSummaryRepresentationModelAssembler.java index b9e828511..2d97556bb 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentSummaryRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/AttachmentSummaryRepresentationModelAssembler.java @@ -1,10 +1,11 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; import org.springframework.hateoas.server.RepresentationModelAssembler; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; import pro.taskana.task.api.models.AttachmentSummary; +import pro.taskana.task.rest.models.AttachmentSummaryRepresentationModel; /** * EntityModel assembler for {@link AttachmentSummaryRepresentationModel}. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskCommentRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskCommentRepresentationModelAssembler.java similarity index 88% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskCommentRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskCommentRepresentationModelAssembler.java index 767e9fe74..9d5645b57 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskCommentRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskCommentRepresentationModelAssembler.java @@ -1,8 +1,8 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; -import static pro.taskana.rest.resource.TaskanaPagedModelKeys.TASK_COMMENTS; +import static pro.taskana.common.rest.models.TaskanaPagedModelKeys.TASK_COMMENTS; import java.time.Instant; import java.util.List; @@ -15,12 +15,14 @@ import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; import pro.taskana.common.api.exceptions.SystemException; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.TaskCommentController; -import pro.taskana.rest.resource.links.PageLinks; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; +import pro.taskana.resource.rest.PageLinks; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.models.TaskComment; import pro.taskana.task.internal.models.TaskCommentImpl; +import pro.taskana.task.rest.TaskCommentController; +import pro.taskana.task.rest.models.TaskCommentRepresentationModel; /** EntityModel assembler for {@link TaskCommentRepresentationModel}. */ @Component diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskRepresentationModelAssembler.java similarity index 92% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskRepresentationModelAssembler.java index 254120faf..bc6cee2e8 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskRepresentationModelAssembler.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; @@ -12,15 +12,18 @@ import org.springframework.hateoas.server.mvc.RepresentationModelAssemblerSuppor import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; +import pro.taskana.classification.rest.assembler.ClassificationSummaryRepresentationModelAssembler; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.SystemException; -import pro.taskana.rest.TaskController; -import pro.taskana.rest.resource.TaskRepresentationModel.CustomAttribute; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.exceptions.TaskNotFoundException; import pro.taskana.task.api.models.Task; import pro.taskana.task.internal.models.TaskImpl; +import pro.taskana.task.rest.TaskController; +import pro.taskana.task.rest.models.TaskRepresentationModel; +import pro.taskana.task.rest.models.TaskRepresentationModel.CustomAttribute; +import pro.taskana.workbasket.rest.assembler.WorkbasketSummaryRepresentationModelAssembler; /** * EntityModel assembler for {@link TaskRepresentationModel}. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskSummaryRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskSummaryRepresentationModelAssembler.java similarity index 81% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskSummaryRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskSummaryRepresentationModelAssembler.java index f8c947bbe..e0cada168 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskSummaryRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/assembler/TaskSummaryRepresentationModelAssembler.java @@ -1,6 +1,6 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; -import static pro.taskana.rest.resource.TaskanaPagedModelKeys.TASKS; +import static pro.taskana.common.rest.models.TaskanaPagedModelKeys.TASKS; import java.util.List; import java.util.stream.Collectors; @@ -11,9 +11,11 @@ import org.springframework.stereotype.Component; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.SystemException; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.resource.links.PageLinks; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; +import pro.taskana.resource.rest.PageLinks; import pro.taskana.task.api.models.TaskSummary; +import pro.taskana.task.rest.models.TaskSummaryRepresentationModel; /** EntityModel assembler for {@link TaskSummaryRepresentationModel}. */ @Component diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/AttachmentRepresentationModel.java similarity index 97% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/AttachmentRepresentationModel.java index bef02d355..28a29b3c0 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/AttachmentRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.models; import java.util.HashMap; import java.util.Map; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentSummaryRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/AttachmentSummaryRepresentationModel.java similarity index 96% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentSummaryRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/AttachmentSummaryRepresentationModel.java index 040222224..3c3957796 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/AttachmentSummaryRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/AttachmentSummaryRepresentationModel.java @@ -1,7 +1,8 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.models; import org.springframework.hateoas.RepresentationModel; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; import pro.taskana.task.api.models.AttachmentSummary; import pro.taskana.task.api.models.ObjectReference; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskCommentRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskCommentRepresentationModel.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskCommentRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskCommentRepresentationModel.java index 2be27dd93..3f37901b5 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskCommentRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskCommentRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.models; import org.springframework.hateoas.RepresentationModel; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskRepresentationModel.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskRepresentationModel.java index 420bc06cd..6293fec9e 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.models; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import java.util.ArrayList; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskSummaryRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskSummaryRepresentationModel.java similarity index 98% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskSummaryRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskSummaryRepresentationModel.java index ce4598e1f..39998de67 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/TaskSummaryRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/task/rest/models/TaskSummaryRepresentationModel.java @@ -1,15 +1,17 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.models; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import org.springframework.hateoas.RepresentationModel; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.task.api.TaskState; import pro.taskana.task.api.models.ObjectReference; import pro.taskana.task.api.models.TaskSummary; import pro.taskana.workbasket.api.models.WorkbasketSummary; +import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel; /** * EntityModel class for {@link WorkbasketSummary}. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketAccessItemController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemController.java similarity index 92% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketAccessItemController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemController.java index 864c6ee2a..5725982e1 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketAccessItemController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketAccessItemController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.workbasket.rest; import java.util.ArrayList; import java.util.Collections; @@ -18,13 +18,15 @@ import org.springframework.web.bind.annotation.RestController; import pro.taskana.common.api.BaseQuery; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; -import pro.taskana.ldap.LdapClient; -import pro.taskana.rest.resource.TaskanaPagedModel; -import pro.taskana.rest.resource.WorkbasketAccessItemRepresentationModel; -import pro.taskana.rest.resource.WorkbasketAccessItemRepresentationModelAssembler; +import pro.taskana.common.rest.AbstractPagingController; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.ldap.LdapClient; +import pro.taskana.common.rest.models.TaskanaPagedModel; import pro.taskana.workbasket.api.WorkbasketAccessItemQuery; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.models.WorkbasketAccessItem; +import pro.taskana.workbasket.rest.assembler.WorkbasketAccessItemRepresentationModelAssembler; +import pro.taskana.workbasket.rest.models.WorkbasketAccessItemRepresentationModel; /** Controller for Workbasket access. */ @RestController @@ -136,7 +138,7 @@ public class WorkbasketAccessItemController extends AbstractPagingController { private void getAccessIds( WorkbasketAccessItemQuery query, MultiValueMap params) { if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Entry to getAccessIds(query= {}, params= {})", params); + LOGGER.debug("Entry to getAccessIds(query= {}, params= {})", query, params); } if (params.containsKey(ACCESS_IDS)) { @@ -154,7 +156,7 @@ public class WorkbasketAccessItemController extends AbstractPagingController { private void applyFilterParams( WorkbasketAccessItemQuery query, MultiValueMap params) { if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Entry to applyFilterParams(query= {}, params= {})", params); + LOGGER.debug("Entry to applyFilterParams(query= {}, params= {})", query, params); } if (params.containsKey(WORKBASKET_KEY)) { @@ -183,9 +185,9 @@ public class WorkbasketAccessItemController extends AbstractPagingController { private WorkbasketAccessItemQuery applySortingParams( WorkbasketAccessItemQuery query, MultiValueMap params) - throws IllegalArgumentException { + throws InvalidArgumentException { if (LOGGER.isDebugEnabled()) { - LOGGER.debug("Entry to applySortingParams(query= {}, params= {})", params); + LOGGER.debug("Entry to applySortingParams(query= {}, params= {})", query, params); } // sorting @@ -193,7 +195,7 @@ public class WorkbasketAccessItemController extends AbstractPagingController { if (sortBy != null) { BaseQuery.SortDirection sortDirection; if (params.getFirst(SORT_DIRECTION) != null - && "desc".equals(params.getFirst(SORT_DIRECTION))) { + && "desc".equals(params.getFirst(SORT_DIRECTION))) { sortDirection = BaseQuery.SortDirection.DESCENDING; } else { sortDirection = BaseQuery.SortDirection.ASCENDING; @@ -206,7 +208,7 @@ public class WorkbasketAccessItemController extends AbstractPagingController { query = query.orderByAccessId(sortDirection); break; default: - throw new IllegalArgumentException("Unknown order '" + sortBy + "'"); + throw new InvalidArgumentException("Unknown order '" + sortBy + "'"); } } params.remove(SORT_BY); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java similarity index 95% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java index 090eef61c..c354eef66 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.workbasket.rest; import java.util.ArrayList; import java.util.List; @@ -27,14 +27,9 @@ import pro.taskana.common.api.exceptions.ConcurrencyException; 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.DistributionTargetRepresentationModelAssembler; -import pro.taskana.rest.resource.TaskanaPagedModel; -import pro.taskana.rest.resource.WorkbasketAccessItemRepresentationModel; -import pro.taskana.rest.resource.WorkbasketAccessItemRepresentationModelAssembler; -import pro.taskana.rest.resource.WorkbasketRepresentationModel; -import pro.taskana.rest.resource.WorkbasketRepresentationModelAssembler; -import pro.taskana.rest.resource.WorkbasketSummaryRepresentationModel; -import pro.taskana.rest.resource.WorkbasketSummaryRepresentationModelAssembler; +import pro.taskana.common.rest.AbstractPagingController; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; import pro.taskana.workbasket.api.WorkbasketPermission; import pro.taskana.workbasket.api.WorkbasketQuery; import pro.taskana.workbasket.api.WorkbasketService; @@ -47,6 +42,13 @@ import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.models.Workbasket; import pro.taskana.workbasket.api.models.WorkbasketAccessItem; import pro.taskana.workbasket.api.models.WorkbasketSummary; +import pro.taskana.workbasket.rest.assembler.DistributionTargetRepresentationModelAssembler; +import pro.taskana.workbasket.rest.assembler.WorkbasketAccessItemRepresentationModelAssembler; +import pro.taskana.workbasket.rest.assembler.WorkbasketRepresentationModelAssembler; +import pro.taskana.workbasket.rest.assembler.WorkbasketSummaryRepresentationModelAssembler; +import pro.taskana.workbasket.rest.models.WorkbasketAccessItemRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel; /** Controller for all {@link Workbasket} related endpoints. */ @RestController @@ -146,12 +148,12 @@ public class WorkbasketController extends AbstractPagingController { @DeleteMapping(path = Mapping.URL_WORKBASKET_ID) @Transactional(rollbackFor = Exception.class, noRollbackFor = WorkbasketNotFoundException.class) - public ResponseEntity deleteWorkbasket( + public ResponseEntity deleteWorkbasket( @PathVariable(value = "workbasketId") String workbasketId) throws NotAuthorizedException, InvalidArgumentException, WorkbasketNotFoundException, - WorkbasketInUseException { + WorkbasketInUseException { LOGGER.debug("Entry to markWorkbasketForDeletion(workbasketId= {})", workbasketId); - ResponseEntity response; + ResponseEntity response; boolean workbasketDeleted = workbasketService.deleteWorkbasket(workbasketId); @@ -345,7 +347,7 @@ public class WorkbasketController extends AbstractPagingController { } private WorkbasketQuery applySortingParams( - WorkbasketQuery query, MultiValueMap params) throws IllegalArgumentException { + WorkbasketQuery query, MultiValueMap params) throws InvalidArgumentException { if (LOGGER.isDebugEnabled()) { LOGGER.debug("Entry to applySortingParams(query= {}, params={})", query, params); } @@ -355,7 +357,7 @@ public class WorkbasketController extends AbstractPagingController { if (sortBy != null) { SortDirection sortDirection; if (params.getFirst(SORT_DIRECTION) != null - && "desc".equals(params.getFirst(SORT_DIRECTION))) { + && "desc".equals(params.getFirst(SORT_DIRECTION))) { sortDirection = SortDirection.DESCENDING; } else { sortDirection = SortDirection.ASCENDING; @@ -377,7 +379,7 @@ public class WorkbasketController extends AbstractPagingController { query = query.orderByDescription(sortDirection); break; default: - throw new IllegalArgumentException("Unknown order '" + sortBy + "'"); + throw new InvalidArgumentException("Unknown order '" + sortBy + "'"); } } params.remove(SORT_BY); diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketDefinitionController.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketDefinitionController.java similarity index 92% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketDefinitionController.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketDefinitionController.java index ddabf00cc..707036ddd 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/WorkbasketDefinitionController.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/WorkbasketDefinitionController.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.workbasket.rest; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationFeature; @@ -28,9 +28,7 @@ import pro.taskana.common.api.exceptions.ConcurrencyException; 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.WorkbasketDefinitionRepresentationModel; -import pro.taskana.rest.resource.WorkbasketDefinitionRepresentationModelAssembler; -import pro.taskana.rest.resource.WorkbasketRepresentationModel; +import pro.taskana.common.rest.Mapping; import pro.taskana.workbasket.api.WorkbasketQuery; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.exceptions.InvalidWorkbasketException; @@ -42,6 +40,9 @@ import pro.taskana.workbasket.api.models.WorkbasketAccessItem; import pro.taskana.workbasket.api.models.WorkbasketSummary; import pro.taskana.workbasket.internal.models.WorkbasketAccessItemImpl; import pro.taskana.workbasket.internal.models.WorkbasketImpl; +import pro.taskana.workbasket.rest.assembler.WorkbasketDefinitionRepresentationModelAssembler; +import pro.taskana.workbasket.rest.models.WorkbasketDefinitionRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketRepresentationModel; /** Controller for all {@link WorkbasketDefinitionRepresentationModel} related endpoints. */ @RestController @@ -51,9 +52,9 @@ public class WorkbasketDefinitionController { private static final Logger LOGGER = LoggerFactory.getLogger(WorkbasketDefinitionController.class); - private WorkbasketService workbasketService; + private final WorkbasketService workbasketService; - private WorkbasketDefinitionRepresentationModelAssembler workbasketDefinitionAssembler; + private final WorkbasketDefinitionRepresentationModelAssembler workbasketDefinitionAssembler; WorkbasketDefinitionController( WorkbasketService workbasketService, @@ -74,7 +75,7 @@ public class WorkbasketDefinitionController { List basketExports = new ArrayList<>(); for (WorkbasketSummary summary : workbasketSummaryList) { Workbasket workbasket = workbasketService.getWorkbasket(summary.getId()); - basketExports.add(workbasketDefinitionAssembler.toEntityModel(workbasket)); + basketExports.add(workbasketDefinitionAssembler.toModel(workbasket)); } ResponseEntity> response = @@ -156,18 +157,16 @@ public class WorkbasketDefinitionController { // Since we would have a n² runtime when doing a lookup and updating the access items we // decided to // simply delete all existing accessItems and create new ones. - boolean noWrongAuth = + boolean authenticated = definition.getAuthorizations().stream() - .noneMatch( - access -> { - return (!access.getWorkbasketId().equals(importedWb.getId())) - || (!access.getWorkbasketKey().equals(importedWb.getKey())); - }); - if (!noWrongAuth) { + .anyMatch( + access -> (access.getWorkbasketId().equals(importedWb.getId())) + && (access.getWorkbasketKey().equals(importedWb.getKey()))); + if (!authenticated && !definition.getAuthorizations().isEmpty()) { throw new InvalidWorkbasketException( "The given Authentications for Workbasket " + importedWb.getId() - + " doesn't match in WorkbasketId and/or WorkbasketKey. " + + " don't match in WorkbasketId and WorkbasketKey. " + "Please provide consistent WorkbasketDefinitions"); } for (WorkbasketAccessItem accessItem : workbasketService.getWorkbasketAccessItems(newId)) { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/DistributionTargetRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/DistributionTargetRepresentationModelAssembler.java similarity index 66% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/DistributionTargetRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/DistributionTargetRepresentationModelAssembler.java index 53a116dcc..d7100f05c 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/DistributionTargetRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/DistributionTargetRepresentationModelAssembler.java @@ -1,9 +1,11 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; -import static pro.taskana.rest.resource.TaskanaPagedModelKeys.DISTRIBUTION_TARGETS; +import static pro.taskana.common.rest.models.TaskanaPagedModelKeys.DISTRIBUTION_TARGETS; import org.springframework.stereotype.Component; +import pro.taskana.common.rest.models.TaskanaPagedModelKeys; + /** * Transforms WorkbasketSummary to its resource counterpart DistributionTargerResource and vice * versa. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketAccessItemRepresentationModelAssembler.java similarity index 89% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketAccessItemRepresentationModelAssembler.java index 0ac770c7f..c9f64bdd9 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketAccessItemRepresentationModelAssembler.java @@ -1,8 +1,8 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; -import static pro.taskana.rest.resource.TaskanaPagedModelKeys.ACCESSITEMS; +import static pro.taskana.common.rest.models.TaskanaPagedModelKeys.ACCESSITEMS; import java.util.List; import java.util.stream.Collectors; @@ -14,13 +14,15 @@ import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; import pro.taskana.common.api.exceptions.NotAuthorizedException; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.WorkbasketController; -import pro.taskana.rest.resource.links.PageLinks; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; +import pro.taskana.resource.rest.PageLinks; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.models.WorkbasketAccessItem; import pro.taskana.workbasket.internal.models.WorkbasketAccessItemImpl; +import pro.taskana.workbasket.rest.WorkbasketController; +import pro.taskana.workbasket.rest.models.WorkbasketAccessItemRepresentationModel; /** * Transforms {@link WorkbasketAccessItem} to its resource counterpart {@link diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketDefinitionRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketDefinitionRepresentationModelAssembler.java similarity index 89% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketDefinitionRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketDefinitionRepresentationModelAssembler.java index 7b6dd497d..c8c85bf26 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketDefinitionRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketDefinitionRepresentationModelAssembler.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; import java.time.Instant; import java.util.ArrayList; @@ -18,6 +18,9 @@ import pro.taskana.workbasket.api.models.WorkbasketAccessItem; import pro.taskana.workbasket.api.models.WorkbasketSummary; import pro.taskana.workbasket.internal.models.WorkbasketAccessItemImpl; import pro.taskana.workbasket.internal.models.WorkbasketImpl; +import pro.taskana.workbasket.rest.models.WorkbasketDefinitionRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketRepresentationModelWithoutLinks; /** * Transforms {@link Workbasket} into a {@link WorkbasketDefinitionRepresentationModel} containing @@ -44,7 +47,7 @@ public class WorkbasketDefinitionRepresentationModelAssembler { * @throws WorkbasketNotFoundException if {@code basket} is an unknown workbasket */ @NonNull - public WorkbasketDefinitionRepresentationModel toEntityModel(Workbasket workbasket) + public WorkbasketDefinitionRepresentationModel toModel(Workbasket workbasket) throws NotAuthorizedException, WorkbasketNotFoundException { WorkbasketRepresentationModelWithoutLinks basket = diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketRepresentationModelAssembler.java similarity index 95% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketRepresentationModelAssembler.java index 925184a22..8dad7726a 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketRepresentationModelAssembler.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.methodOn; @@ -14,11 +14,12 @@ import org.springframework.util.LinkedMultiValueMap; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.NotAuthorizedException; import pro.taskana.common.api.exceptions.SystemException; -import pro.taskana.rest.WorkbasketController; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.exceptions.WorkbasketNotFoundException; import pro.taskana.workbasket.api.models.Workbasket; import pro.taskana.workbasket.internal.models.WorkbasketImpl; +import pro.taskana.workbasket.rest.WorkbasketController; +import pro.taskana.workbasket.rest.models.WorkbasketRepresentationModel; /** * Transforms {@link Workbasket} to its resource counterpart {@link WorkbasketRepresentationModel} diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryRepresentationModelAssembler.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketSummaryRepresentationModelAssembler.java similarity index 84% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryRepresentationModelAssembler.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketSummaryRepresentationModelAssembler.java index 406f8bc2b..daea462fb 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryRepresentationModelAssembler.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/assembler/WorkbasketSummaryRepresentationModelAssembler.java @@ -1,6 +1,6 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; -import static pro.taskana.rest.resource.TaskanaPagedModelKeys.WORKBASKETS; +import static pro.taskana.common.rest.models.TaskanaPagedModelKeys.WORKBASKETS; import java.util.List; import java.util.stream.Collectors; @@ -11,11 +11,14 @@ import org.springframework.hateoas.server.RepresentationModelAssembler; import org.springframework.lang.NonNull; import org.springframework.stereotype.Component; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.resource.links.PageLinks; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModel; +import pro.taskana.common.rest.models.TaskanaPagedModelKeys; +import pro.taskana.resource.rest.PageLinks; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.models.WorkbasketSummary; import pro.taskana.workbasket.internal.models.WorkbasketImpl; +import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel; /** * EntityModel assembler for {@link WorkbasketSummaryRepresentationModel}. diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketAccessItemRepresentationModel.java similarity index 99% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketAccessItemRepresentationModel.java index 6e265b55b..14c5983cc 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketAccessItemRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.models; import org.springframework.hateoas.RepresentationModel; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketDefinitionRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketDefinitionRepresentationModel.java similarity index 97% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketDefinitionRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketDefinitionRepresentationModel.java index 9853197de..0ab15fce1 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketDefinitionRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketDefinitionRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.models; import java.util.List; import java.util.Set; diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketRepresentationModel.java similarity index 90% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketRepresentationModel.java index efd3abd5d..0355805c9 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.models; import pro.taskana.workbasket.api.models.Workbasket; @@ -12,8 +12,7 @@ public class WorkbasketRepresentationModel private String created; // ISO-8601 private String modified; // ISO-8601 - @SuppressWarnings("unused") //Mandatory for Jackson - protected WorkbasketRepresentationModel() { + public WorkbasketRepresentationModel() { } public WorkbasketRepresentationModel(Workbasket workbasket) { diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModelWithoutLinks.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketRepresentationModelWithoutLinks.java similarity index 77% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModelWithoutLinks.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketRepresentationModelWithoutLinks.java index 2843049d0..04e608352 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketRepresentationModelWithoutLinks.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketRepresentationModelWithoutLinks.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.models; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @@ -10,7 +10,7 @@ public class WorkbasketRepresentationModelWithoutLinks extends WorkbasketReprese WorkbasketRepresentationModelWithoutLinks() {} - WorkbasketRepresentationModelWithoutLinks(Workbasket workbasket) { + public WorkbasketRepresentationModelWithoutLinks(Workbasket workbasket) { super(workbasket); } } diff --git a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryRepresentationModel.java b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketSummaryRepresentationModel.java similarity index 99% rename from rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryRepresentationModel.java rename to rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketSummaryRepresentationModel.java index 3da86eb1d..cf3bfa9ef 100644 --- a/rest/taskana-rest-spring/src/main/java/pro/taskana/rest/resource/WorkbasketSummaryRepresentationModel.java +++ b/rest/taskana-rest-spring/src/main/java/pro/taskana/workbasket/rest/models/WorkbasketSummaryRepresentationModel.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.models; import org.springframework.hateoas.RepresentationModel; diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ClassificationControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/ClassificationControllerIntTest.java similarity index 97% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ClassificationControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/ClassificationControllerIntTest.java index f499b876d..97fcec6c0 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ClassificationControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/ClassificationControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.classification.rest; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -17,11 +17,12 @@ import org.springframework.test.annotation.DirtiesContext; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.ClassificationRepresentationModel; -import pro.taskana.rest.resource.ClassificationSummaryRepresentationModel; -import pro.taskana.rest.resource.TaskanaPagedModel; +import pro.taskana.classification.rest.models.ClassificationRepresentationModel; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; +import pro.taskana.common.rest.models.TaskanaPagedModel; /** * Test ClassificationController. diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ClassificationDefinitionControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/ClassificationDefinitionControllerIntTest.java similarity index 97% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ClassificationDefinitionControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/ClassificationDefinitionControllerIntTest.java index 568c3f30c..0ddb4ee9f 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ClassificationDefinitionControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/ClassificationDefinitionControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.classification.rest; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -29,11 +29,12 @@ import org.springframework.util.MultiValueMap; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.ClassificationRepresentationModel; -import pro.taskana.rest.resource.ClassificationSummaryRepresentationModel; -import pro.taskana.rest.resource.TaskanaPagedModel; +import pro.taskana.classification.rest.models.ClassificationRepresentationModel; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; +import pro.taskana.common.rest.models.TaskanaPagedModel; /** Test classification definitions. */ @TaskanaSpringBootTest diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ClassificationAssemblerTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/assembler/ClassificationAssemblerTest.java similarity index 96% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ClassificationAssemblerTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/assembler/ClassificationAssemblerTest.java index 671bdd1e2..65680f290 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ClassificationAssemblerTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/assembler/ClassificationAssemblerTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.classification.rest.assembler; import static org.assertj.core.api.Assertions.assertThat; @@ -6,11 +6,12 @@ import java.time.Instant; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.models.Classification; import pro.taskana.classification.internal.models.ClassificationImpl; -import pro.taskana.rest.Mapping; +import pro.taskana.classification.rest.models.ClassificationRepresentationModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.TaskanaSpringBootTest; /** Test for {@link ClassificationRepresentationModelAssembler}. */ @TaskanaSpringBootTest diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ClassificationSummaryAssemblerTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/assembler/ClassificationSummaryAssemblerTest.java similarity index 96% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ClassificationSummaryAssemblerTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/assembler/ClassificationSummaryAssemblerTest.java index 8acc3dc28..ba25fb54f 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ClassificationSummaryAssemblerTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/classification/rest/assembler/ClassificationSummaryAssemblerTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.classification.rest.assembler; import static org.assertj.core.api.Assertions.assertThat; @@ -6,10 +6,11 @@ import java.time.Instant; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.models.ClassificationSummary; import pro.taskana.classification.internal.models.ClassificationImpl; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; +import pro.taskana.common.rest.TaskanaSpringBootTest; /** Test for {@link ClassificationSummaryRepresentationModelAssembler}. */ @TaskanaSpringBootTest diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/AccessIdControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/AccessIdControllerIntTest.java similarity index 94% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/AccessIdControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/AccessIdControllerIntTest.java index f6fa6a941..0c2d43e18 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/AccessIdControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/AccessIdControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -17,9 +17,7 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; @TaskanaSpringBootTest @ActiveProfiles({"test", "ldap"}) @@ -27,7 +25,8 @@ class AccessIdControllerIntTest { private static RestTemplate template; - @Autowired RestHelper restHelper; + @Autowired + RestHelper restHelper; @BeforeAll static void init() { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ExampleDocumentationApp.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ExampleDocumentationApp.java similarity index 95% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ExampleDocumentationApp.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ExampleDocumentationApp.java index a9a600f90..cbb714efb 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/ExampleDocumentationApp.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ExampleDocumentationApp.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import javax.annotation.PostConstruct; import javax.sql.DataSource; @@ -17,7 +17,8 @@ import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.transaction.PlatformTransactionManager; -import pro.taskana.ldap.LdapCacheTestImpl; +import pro.taskana.RestConfiguration; +import pro.taskana.common.rest.ldap.LdapCacheTestImpl; import pro.taskana.sampledata.SampleDataGenerator; /** Example Application to create the documentation. */ diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/GeneralExceptionHandlingTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/GeneralExceptionHandlingTest.java similarity index 85% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/GeneralExceptionHandlingTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/GeneralExceptionHandlingTest.java index d47b1a83f..2723b6830 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/GeneralExceptionHandlingTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/GeneralExceptionHandlingTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -11,10 +11,8 @@ import org.springframework.http.HttpMethod; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.ClassificationSummaryRepresentationModel; -import pro.taskana.rest.resource.TaskanaPagedModel; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; +import pro.taskana.common.rest.models.TaskanaPagedModel; /** Test general Exception Handling. */ @TaskanaSpringBootTest @@ -26,7 +24,8 @@ class GeneralExceptionHandlingTest { new ParameterizedTypeReference< TaskanaPagedModel>() {}; private static RestTemplate template; - @Autowired RestHelper restHelper; + @Autowired + RestHelper restHelper; @BeforeAll static void init() { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/MappingTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/MappingTest.java similarity index 92% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/MappingTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/MappingTest.java index 551b7c267..4a1563075 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/MappingTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/MappingTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import static org.assertj.core.api.Assertions.assertThat; import static org.springframework.hateoas.server.mvc.WebMvcLinkBuilder.linkTo; @@ -8,6 +8,8 @@ import org.junit.jupiter.api.Test; import org.springframework.util.LinkedMultiValueMap; import org.springframework.web.util.UriComponentsBuilder; +import pro.taskana.task.rest.TaskController; + /** Test Mapping and Linkbuilder. */ class MappingTest { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/RestHelper.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/RestHelper.java similarity index 99% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/RestHelper.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/RestHelper.java index 915f5256b..3d8ad5f85 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/RestHelper.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/RestHelper.java @@ -1,4 +1,4 @@ -package pro.taskana; +package pro.taskana.common.rest; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/security/SampleLoginModule.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/SampleLoginModule.java similarity index 90% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/security/SampleLoginModule.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/SampleLoginModule.java index 1f2492269..117011d3c 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/security/SampleLoginModule.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/SampleLoginModule.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.security; +package pro.taskana.common.rest; import java.util.List; import java.util.Map; @@ -12,8 +12,8 @@ import org.springframework.security.web.authentication.UsernamePasswordAuthentic import pro.taskana.common.internal.security.GroupPrincipal; import pro.taskana.common.internal.security.UserPrincipal; -import pro.taskana.ldap.LdapCacheTestImpl; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.ldap.LdapCacheTestImpl; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; /** * This class will take care of Test API calls authentification. Also see {@link WebSecurityConfig} @@ -39,7 +39,7 @@ public class SampleLoginModule extends UsernamePasswordAuthenticationFilter impl nameCallback = new NameCallback("prompt"); passwordCallback = new PasswordCallback("prompt", false); - callbackHandler.handle(new Callback[] {nameCallback, passwordCallback}); + callbackHandler.handle(new Callback[]{nameCallback, passwordCallback}); } catch (Exception e) { throw new RuntimeException(e); } diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskanaEngineControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TaskanaEngineControllerIntTest.java similarity index 92% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskanaEngineControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TaskanaEngineControllerIntTest.java index 9cba480f2..bf4ba2712 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskanaEngineControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TaskanaEngineControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import static org.assertj.core.api.Assertions.assertThat; @@ -11,17 +11,16 @@ import org.springframework.http.HttpMethod; import org.springframework.http.ResponseEntity; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; import pro.taskana.common.api.TaskanaRole; -import pro.taskana.rest.resource.TaskanaUserInfoRepresentationModel; +import pro.taskana.common.rest.models.TaskanaUserInfoRepresentationModel; /** Test TaskanaEngineController. */ @TaskanaSpringBootTest class TaskanaEngineControllerIntTest { private static RestTemplate template; - @Autowired RestHelper restHelper; + @Autowired + RestHelper restHelper; @BeforeAll static void init() { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/TaskanaSpringBootTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TaskanaSpringBootTest.java similarity index 92% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/TaskanaSpringBootTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TaskanaSpringBootTest.java index f988efcdb..f20fd9374 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/TaskanaSpringBootTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TaskanaSpringBootTest.java @@ -1,4 +1,4 @@ -package pro.taskana; +package pro.taskana.common.rest; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; @@ -10,7 +10,7 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit.jupiter.SpringExtension; -import pro.taskana.rest.RestConfiguration; +import pro.taskana.RestConfiguration; /** Use this annotation to test with a spring context and a standardized configuration. */ @Target(ElementType.TYPE) diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TestConfiguration.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TestConfiguration.java similarity index 77% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TestConfiguration.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TestConfiguration.java index cff37e09f..5c8ae298c 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TestConfiguration.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TestConfiguration.java @@ -1,11 +1,12 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import javax.sql.DataSource; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; +import pro.taskana.RestConfiguration; import pro.taskana.TaskanaEngineConfiguration; -import pro.taskana.ldap.LdapConfiguration; +import pro.taskana.common.rest.ldap.LdapConfiguration; /** Configuration class for all rest tests. */ @Import({RestConfiguration.class, LdapConfiguration.class}) diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TestSchemaNameCustomizable.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TestSchemaNameCustomizable.java similarity index 97% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TestSchemaNameCustomizable.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TestSchemaNameCustomizable.java index 7b12dec5f..e4435538b 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TestSchemaNameCustomizable.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/TestSchemaNameCustomizable.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.common.rest; import static org.assertj.core.api.Assertions.assertThat; @@ -13,7 +13,6 @@ import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import pro.taskana.SpringTaskanaEngineConfiguration; -import pro.taskana.TaskanaSpringBootTest; import pro.taskana.common.internal.configuration.DB; import pro.taskana.sampledata.SampleDataGenerator; diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/security/WebSecurityConfig.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/WebSecurityConfig.java similarity index 91% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/security/WebSecurityConfig.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/WebSecurityConfig.java index 1c64ccb34..351e741ca 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/security/WebSecurityConfig.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/WebSecurityConfig.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.security; +package pro.taskana.common.rest; import java.util.Collections; import org.springframework.boot.web.servlet.FilterRegistrationBean; @@ -20,7 +20,9 @@ import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -/** Default basic configuration for taskana web example. */ +/** + * Default basic configuration for taskana web example. + */ @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @@ -29,10 +31,10 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { public JaasAuthenticationProvider jaasAuthProvider() { JaasAuthenticationProvider authenticationProvider = new JaasAuthenticationProvider(); authenticationProvider.setAuthorityGranters( - new AuthorityGranter[] {p -> Collections.singleton(p.getName())}); + new AuthorityGranter[]{p -> Collections.singleton(p.getName())}); authenticationProvider.setCallbackHandlers( - new JaasAuthenticationCallbackHandler[] { - new JaasNameCallbackHandler(), new JaasPasswordCallbackHandler() + new JaasAuthenticationCallbackHandler[]{ + new JaasNameCallbackHandler(), new JaasPasswordCallbackHandler() }); authenticationProvider.setLoginContextName("taskana"); authenticationProvider.setLoginConfig(new ClassPathResource("pss_jaas.config")); diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapCacheTestImpl.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ldap/LdapCacheTestImpl.java similarity index 99% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapCacheTestImpl.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ldap/LdapCacheTestImpl.java index 3090711db..059c35879 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapCacheTestImpl.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ldap/LdapCacheTestImpl.java @@ -1,4 +1,4 @@ -package pro.taskana.ldap; +package pro.taskana.common.rest.ldap; import java.util.ArrayList; import java.util.Arrays; @@ -7,7 +7,7 @@ import java.util.List; import java.util.Map; import java.util.stream.Collectors; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; /** * Implementation of LdapCache used for Unit tests. diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapClientTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ldap/LdapClientTest.java similarity index 97% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapClientTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ldap/LdapClientTest.java index d71f988a9..9172bf0fa 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/ldap/LdapClientTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/common/rest/ldap/LdapClientTest.java @@ -1,4 +1,4 @@ -package pro.taskana.ldap; +package pro.taskana.common.rest.ldap; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatCode; @@ -9,7 +9,7 @@ import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.lenient; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static pro.taskana.ldap.LdapSettings.TASKANA_LDAP_USE_LDAP; +import static pro.taskana.common.rest.ldap.LdapSettings.TASKANA_LDAP_USE_LDAP; import java.util.Collections; import java.util.List; @@ -26,7 +26,7 @@ import org.springframework.ldap.core.LdapTemplate; import pro.taskana.common.api.exceptions.InvalidArgumentException; import pro.taskana.common.api.exceptions.SystemException; -import pro.taskana.rest.resource.AccessIdRepresentationModel; +import pro.taskana.common.rest.models.AccessIdRepresentationModel; @ExtendWith(MockitoExtension.class) class LdapClientTest { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/AbstractPagingControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/AbstractPagingControllerRestDocumentation.java index 113082611..28093bc7a 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/AbstractPagingControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/AbstractPagingControllerRestDocumentation.java @@ -12,7 +12,7 @@ import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Generate Rest Docu for AbstractPagingController. */ class AbstractPagingControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/BaseRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/BaseRestDocumentation.java index 112fc21f4..8a447d756 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/BaseRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/BaseRestDocumentation.java @@ -13,8 +13,8 @@ import org.springframework.context.annotation.Import; import org.springframework.test.web.servlet.MockMvc; import org.springframework.web.context.WebApplicationContext; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.doc.api.BaseRestDocumentation.ResultHandlerConfiguration; /** Base class for Rest Documentation tests. */ diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationControllerRestDocumentation.java index 70924279e..0a4c3a11e 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationControllerRestDocumentation.java @@ -20,7 +20,7 @@ import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** * Generate REST Dokumentation for ClassificationController. diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationDefinitionControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationDefinitionControllerRestDocumentation.java index b713350c3..c4640e17f 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationDefinitionControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/ClassificationDefinitionControllerRestDocumentation.java @@ -15,7 +15,7 @@ import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Test ClassificationDefinitionControlller. */ class ClassificationDefinitionControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/CommonRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/CommonRestDocumentation.java index 32596cd21..95a8e083c 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/CommonRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/CommonRestDocumentation.java @@ -11,7 +11,7 @@ import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Generate common REST Documentation. */ class CommonRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/MonitorControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/MonitorControllerRestDocumentation.java index 6e81206c3..439b8ee66 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/MonitorControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/MonitorControllerRestDocumentation.java @@ -11,7 +11,7 @@ import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Generate REST docu for the monitor controller. */ class MonitorControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskCommentControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskCommentControllerRestDocumentation.java index f2ea09b9b..42616dd6d 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskCommentControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskCommentControllerRestDocumentation.java @@ -21,10 +21,10 @@ import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.resource.TaskanaPagedModelKeys; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModelKeys; -public class TaskCommentControllerRestDocumentation extends BaseRestDocumentation { +class TaskCommentControllerRestDocumentation extends BaseRestDocumentation { private final HashMap taskCommentFieldDescriptionsMap = new HashMap<>(); diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskControllerRestDocumentation.java index a9ecfa5fe..aac76f690 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskControllerRestDocumentation.java @@ -20,7 +20,7 @@ import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Generate REST Documentation for the TaskController. */ class TaskControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskanaEngineControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskanaEngineControllerRestDocumentation.java index 81a41a81a..8eedbac79 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskanaEngineControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/TaskanaEngineControllerRestDocumentation.java @@ -10,7 +10,7 @@ import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Generate REST Docu for the TaskanaEngineController. */ class TaskanaEngineControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketAccessItemControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketAccessItemControllerRestDocumentation.java index 80361b81c..25f8ce62d 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketAccessItemControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketAccessItemControllerRestDocumentation.java @@ -12,7 +12,7 @@ import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.annotation.DirtiesContext; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Generate REST Docu for the WorkbasketAccessItemController. */ class WorkbasketAccessItemControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketControllerRestDocumentation.java index 7a5191134..1792f03d1 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketControllerRestDocumentation.java @@ -19,8 +19,8 @@ import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; -import pro.taskana.rest.resource.TaskanaPagedModelKeys; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.models.TaskanaPagedModelKeys; /** Generate REST Documentatioon for the WorkbasketController. */ class WorkbasketControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketDefinitionControllerRestDocumentation.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketDefinitionControllerRestDocumentation.java index f9c5996d3..6b9e201d5 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketDefinitionControllerRestDocumentation.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/doc/api/WorkbasketDefinitionControllerRestDocumentation.java @@ -15,7 +15,7 @@ import org.springframework.restdocs.mockmvc.RestDocumentationRequestBuilders; import org.springframework.restdocs.payload.FieldDescriptor; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; /** Generate Rest Documentation for Workbasket Definitions. */ class WorkbasketDefinitionControllerRestDocumentation extends BaseRestDocumentation { diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ReportRepresentationModelTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/monitor/rest/models/ReportRepresentationModelTest.java similarity index 95% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ReportRepresentationModelTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/monitor/rest/models/ReportRepresentationModelTest.java index e25c1edb6..6fe592098 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/ReportRepresentationModelTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/monitor/rest/models/ReportRepresentationModelTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.monitor.rest.models; import static junit.framework.TestCase.assertTrue; import static org.junit.Assert.assertArrayEquals; @@ -16,23 +16,31 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.monitor.api.reports.ClassificationReport; import pro.taskana.monitor.api.reports.WorkbasketReport; import pro.taskana.monitor.api.reports.header.TimeIntervalColumnHeader; import pro.taskana.monitor.api.reports.item.DetailedMonitorQueryItem; import pro.taskana.monitor.api.reports.item.MonitorQueryItem; +import pro.taskana.monitor.rest.assembler.ReportRepresentationModelAssembler; -/** Test for {@link ReportRepresentationModelAssembler}. */ +/** + * Test for {@link ReportRepresentationModelAssembler}. + */ @TaskanaSpringBootTest class ReportRepresentationModelTest { - @Autowired private ReportRepresentationModelAssembler reportRepresentationModelAssembler; - + private final ReportRepresentationModelAssembler reportRepresentationModelAssembler; private int daysDiff; private LocalDateTime now; private List headers; + @Autowired + public ReportRepresentationModelTest( + ReportRepresentationModelAssembler reportRepresentationModelAssembler) { + this.reportRepresentationModelAssembler = reportRepresentationModelAssembler; + } + @BeforeEach void before() { now = LocalDate.parse("2019-01-02").atStartOfDay(); diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskCommentControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskCommentControllerIntTest.java similarity index 97% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskCommentControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskCommentControllerIntTest.java index 79ccf9284..12b4a8b7a 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskCommentControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskCommentControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.task.rest; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -20,10 +20,11 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.TaskCommentRepresentationModel; -import pro.taskana.rest.resource.TaskanaPagedModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; +import pro.taskana.common.rest.models.TaskanaPagedModel; +import pro.taskana.task.rest.models.TaskCommentRepresentationModel; /** Test TaskCommentController. */ @TaskanaSpringBootTest diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskControllerIntTest.java similarity index 98% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskControllerIntTest.java index 7fc03cfe8..36cc4f245 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/TaskControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/TaskControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.task.rest; import static java.nio.charset.StandardCharsets.UTF_8; import static org.assertj.core.api.Assertions.assertThat; @@ -32,16 +32,17 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.ClassificationSummaryRepresentationModel; -import pro.taskana.rest.resource.TaskRepresentationModel; -import pro.taskana.rest.resource.TaskSummaryRepresentationModel; -import pro.taskana.rest.resource.TaskanaPagedModel; -import pro.taskana.rest.resource.WorkbasketSummaryRepresentationModel; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; +import pro.taskana.common.rest.models.TaskanaPagedModel; import pro.taskana.sampledata.SampleDataGenerator; import pro.taskana.task.api.TaskState; import pro.taskana.task.api.models.ObjectReference; +import pro.taskana.task.rest.models.TaskRepresentationModel; +import pro.taskana.task.rest.models.TaskSummaryRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel; /** Test Task Controller. */ @TaskanaSpringBootTest @@ -764,7 +765,7 @@ class TaskControllerIntTest { ParameterizedTypeReference.forType(TaskRepresentationModel.class)); assertThat(cancelClaimResponse.getBody()).isNotNull(); - assertThat(cancelClaimResponse.getStatusCode().is2xxSuccessful()); + assertThat(cancelClaimResponse.getStatusCode().is2xxSuccessful()).isTrue(); TaskRepresentationModel cancelClaimedtaskRepresentationModel = cancelClaimResponse.getBody(); assertThat(cancelClaimedtaskRepresentationModel.getOwner()).isNull(); diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskCommentRepresentationModelAssemblerTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskCommentRepresentationModelAssemblerTest.java similarity index 91% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskCommentRepresentationModelAssemblerTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskCommentRepresentationModelAssemblerTest.java index 0fd885588..3a08f3aea 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskCommentRepresentationModelAssemblerTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskCommentRepresentationModelAssemblerTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; import static org.assertj.core.api.Assertions.assertThat; @@ -6,14 +6,17 @@ import java.time.Instant; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.models.TaskComment; import pro.taskana.task.internal.models.TaskCommentImpl; +import pro.taskana.task.rest.models.TaskCommentRepresentationModel; -/** Test for {@link TaskCommentRepresentationModelAssembler}. */ +/** + * Test for {@link TaskCommentRepresentationModelAssembler}. + */ @TaskanaSpringBootTest -public class TaskCommentRepresentationModelAssemblerTest { +class TaskCommentRepresentationModelAssemblerTest { private final TaskCommentRepresentationModelAssembler taskCommentRepresentationModelAssembler; private final TaskService taskService; diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskRepresentationModelAssemberTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskRepresentationModelAssemberTest.java similarity index 96% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskRepresentationModelAssemberTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskRepresentationModelAssemberTest.java index 45a720f54..843920cbc 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskRepresentationModelAssemberTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskRepresentationModelAssemberTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; import static org.assertj.core.api.Assertions.assertThat; @@ -9,11 +9,12 @@ import java.util.Map; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.models.Classification; +import pro.taskana.classification.rest.models.ClassificationSummaryRepresentationModel; import pro.taskana.common.api.exceptions.InvalidArgumentException; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskState; import pro.taskana.task.api.models.Attachment; @@ -21,8 +22,11 @@ import pro.taskana.task.api.models.ObjectReference; import pro.taskana.task.api.models.Task; import pro.taskana.task.internal.models.AttachmentImpl; import pro.taskana.task.internal.models.TaskImpl; +import pro.taskana.task.rest.models.AttachmentRepresentationModel; +import pro.taskana.task.rest.models.TaskRepresentationModel; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.models.Workbasket; +import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel; /** * Test for {@link TaskRepresentationModelAssembler}. diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskSummaryAssemblerTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskSummaryAssemblerTest.java similarity index 97% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskSummaryAssemblerTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskSummaryAssemblerTest.java index dc68c2f9e..47345abf6 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/TaskSummaryAssemblerTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/task/rest/assembler/TaskSummaryAssemblerTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.task.rest.assembler; import java.time.Instant; import java.util.Collections; @@ -7,9 +7,9 @@ import org.junit.Assert; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; import pro.taskana.classification.api.ClassificationService; import pro.taskana.classification.api.models.Classification; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.task.api.TaskService; import pro.taskana.task.api.TaskState; import pro.taskana.task.api.models.AttachmentSummary; @@ -17,6 +17,8 @@ import pro.taskana.task.api.models.ObjectReference; import pro.taskana.task.internal.models.AttachmentImpl; import pro.taskana.task.internal.models.TaskImpl; import pro.taskana.task.internal.models.TaskSummaryImpl; +import pro.taskana.task.rest.models.AttachmentSummaryRepresentationModel; +import pro.taskana.task.rest.models.TaskSummaryRepresentationModel; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.models.Workbasket; diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketAccessItemControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketAccessItemControllerIntTest.java similarity index 94% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketAccessItemControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketAccessItemControllerIntTest.java index 7ac5c1b65..cf6845108 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketAccessItemControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketAccessItemControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.workbasket.rest; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -17,10 +17,11 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.TaskanaPagedModel; -import pro.taskana.rest.resource.WorkbasketAccessItemRepresentationModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; +import pro.taskana.common.rest.models.TaskanaPagedModel; +import pro.taskana.workbasket.rest.models.WorkbasketAccessItemRepresentationModel; /** Test WorkbasketAccessItemController. */ @TestMethodOrder(MethodOrderer.Alphanumeric.class) diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketControllerIntTest.java similarity index 96% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketControllerIntTest.java index 0c4fb5c18..4f1fdc895 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketControllerIntTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest; +package pro.taskana.workbasket.rest; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @@ -19,13 +19,14 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.client.HttpClientErrorException; import org.springframework.web.client.RestTemplate; -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.TaskanaPagedModel; -import pro.taskana.rest.resource.WorkbasketAccessItemRepresentationModel; -import pro.taskana.rest.resource.WorkbasketRepresentationModel; -import pro.taskana.rest.resource.WorkbasketSummaryRepresentationModel; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; +import pro.taskana.common.rest.models.TaskanaPagedModel; import pro.taskana.workbasket.api.WorkbasketType; +import pro.taskana.workbasket.rest.models.WorkbasketAccessItemRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketRepresentationModel; +import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel; /** Test WorkbasketController. */ @TaskanaSpringBootTest diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketDefinitionControllerIntTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketDefinitionControllerIntTest.java similarity index 96% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketDefinitionControllerIntTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketDefinitionControllerIntTest.java index 0797e5842..8df5292cc 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/WorkbasketDefinitionControllerIntTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/WorkbasketDefinitionControllerIntTest.java @@ -1,289 +1,290 @@ -package pro.taskana.rest; - -import static java.nio.charset.StandardCharsets.UTF_8; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.assertThatThrownBy; -import static org.assertj.core.api.Assertions.fail; - -import com.fasterxml.jackson.core.JsonProcessingException; -import com.fasterxml.jackson.databind.ObjectMapper; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; -import java.util.stream.Collectors; -import javax.sql.DataSource; -import org.assertj.core.api.ThrowableAssert.ThrowingCallable; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.ParameterizedTypeReference; -import org.springframework.core.io.FileSystemResource; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.HttpStatus; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; -import org.springframework.util.LinkedMultiValueMap; -import org.springframework.util.MultiValueMap; -import org.springframework.web.client.HttpClientErrorException; -import org.springframework.web.client.RestTemplate; - -import pro.taskana.RestHelper; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.resource.WorkbasketDefinitionRepresentationModel; -import pro.taskana.sampledata.SampleDataGenerator; - -/** Integration tests for WorkbasketDefinitionController. */ -@TaskanaSpringBootTest -class WorkbasketDefinitionControllerIntTest { - - private static RestTemplate template; - - @Value("${taskana.schemaName:TASKANA}") - String schemaName; - - ObjectMapper objMapper = new ObjectMapper(); - - @Autowired RestHelper restHelper; - - @Autowired private DataSource dataSource; - - @BeforeAll - static void init() { - template = RestHelper.TEMPLATE; - } - - @BeforeEach - void resetDb() { - SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName); - sampleDataGenerator.generateSampleData(); - } - - @Test - void testExportWorkbasketFromDomain() { - ResponseEntity> response = - executeExportRequestForDomain("DOMAIN_A"); - - assertThat(response.getBody()).isNotNull(); - assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); - assertThat(response.getBody().get(0)) - .isInstanceOf(WorkbasketDefinitionRepresentationModel.class); - - boolean allAuthorizationsAreEmpty = true; - boolean allDistributionTargetsAreEmpty = true; - for (WorkbasketDefinitionRepresentationModel workbasketDefinition : response.getBody()) { - if (allAuthorizationsAreEmpty && !workbasketDefinition.getAuthorizations().isEmpty()) { - allAuthorizationsAreEmpty = false; - } - if (allDistributionTargetsAreEmpty - && !workbasketDefinition.getDistributionTargets().isEmpty()) { - allDistributionTargetsAreEmpty = false; - } - if (!allAuthorizationsAreEmpty && !allDistributionTargetsAreEmpty) { - break; - } - } - assertThat(allDistributionTargetsAreEmpty).isFalse(); - assertThat(allAuthorizationsAreEmpty).isFalse(); - } - - @Test - void testExportWorkbasketsFromWrongDomain() { - ResponseEntity> response = - executeExportRequestForDomain("wrongDomain"); - assertThat(response.getBody()).isEmpty(); - } - - @Test - void testImportEveryWorkbasketFromDomainA() throws IOException { - List wbList = - executeExportRequestForDomain("DOMAIN_A").getBody(); - for (WorkbasketDefinitionRepresentationModel w : wbList) { - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); - } - } - - @Test - void testImportWorkbasketWithoutDistributionTargets() throws IOException { - WorkbasketDefinitionRepresentationModel w = - executeExportRequestForDomain("DOMAIN_A").getBody().get(0); - w.setDistributionTargets(new HashSet<>()); - - this.expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); - - w.getWorkbasket().setKey("newKey"); - w.getAuthorizations().forEach(authorization -> authorization.setWorkbasketKey("newKey")); - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); - } - - @Test - void testImportWorkbasketWithDistributionTargetsInImportFile() throws IOException { - List wbList = - executeExportRequestForDomain("DOMAIN_A").getBody(); - - WorkbasketDefinitionRepresentationModel w = wbList.get(0); - w.setDistributionTargets(new HashSet<>()); - String letMeBeYourDistributionTarget = w.getWorkbasket().getWorkbasketId(); - WorkbasketDefinitionRepresentationModel w2 = wbList.get(1); - w2.setDistributionTargets(Collections.singleton(letMeBeYourDistributionTarget)); - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); - - this.changeWorkbasketIdOrKey(w, "fancyNewId", null); - w2.setDistributionTargets(Collections.singleton("fancyNewId")); - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); - - this.changeWorkbasketIdOrKey(w, null, "nowImANewWB"); - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); - - this.changeWorkbasketIdOrKey(w2, null, "nowImAlsoANewWB"); - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); - } - - @Test - void testImportWorkbasketWithDistributionTargetsInSystem() throws IOException { - List wbList = - executeExportRequestForDomain("DOMAIN_A").getBody(); - - wbList.removeIf(definition -> definition.getDistributionTargets().isEmpty()); - WorkbasketDefinitionRepresentationModel w = wbList.get(0); - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); - - changeWorkbasketIdOrKey(w, null, "new"); - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); - } - - @Test - void testImportWorkbasketWithDistributionTargetsNotInSystem() throws IOException { - List wbList = - executeExportRequestForDomain("DOMAIN_A").getBody(); - - WorkbasketDefinitionRepresentationModel w = wbList.get(0); - w.setDistributionTargets(Collections.singleton("invalidWorkbasketId")); - try { - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.BAD_REQUEST, w); - fail("Expected http-Status 400"); - } catch (HttpClientErrorException e) { - assertThat(e.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST); - } - - w.getWorkbasket().setKey("anotherNewKey"); - try { - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.BAD_REQUEST, w); - fail("Expected http-Status 400"); - } catch (HttpClientErrorException e) { - assertThat(e.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST); - } - } - - @Test - void testFailOnImportDuplicates() throws IOException { - WorkbasketDefinitionRepresentationModel w = - executeExportRequestForDomain("DOMAIN_A").getBody().get(0); - try { - expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.CONFLICT, w, w); - fail("Expected http-Status 409"); - } catch (HttpClientErrorException e) { - assertThat(e.getStatusCode()).isEqualTo(HttpStatus.CONFLICT); - } - } - - @Test - void testNoErrorWhenImportWithSameIdButDifferentKeyAndDomain() throws IOException { - List wbList = - executeExportRequestForDomain("DOMAIN_A").getBody(); - - WorkbasketDefinitionRepresentationModel w = wbList.get(0); - WorkbasketDefinitionRepresentationModel differentLogicalId = wbList.get(1); - this.changeWorkbasketIdOrKey(differentLogicalId, w.getWorkbasket().getWorkbasketId(), null); - - // breaks the logic but not the script- should we really allow this case? - WorkbasketDefinitionRepresentationModel theDestroyer = wbList.get(2); - theDestroyer.setDistributionTargets( - Collections.singleton(differentLogicalId.getWorkbasket().getWorkbasketId())); - - expectStatusWhenExecutingImportRequestOfWorkbaskets( - HttpStatus.NO_CONTENT, w, differentLogicalId, theDestroyer); - } - - @Test - void testErrorWhenImportWithSameAccessIdAndWorkbasket() { - WorkbasketDefinitionRepresentationModel w = - executeExportRequestForDomain("DOMAIN_A").getBody().get(0); - - String w1String = workbasketToString(w); - w.getWorkbasket().setKey("new Key for this WB"); - String w2String = workbasketToString(w); - ThrowingCallable httpCall = - () -> { - expectStatusWhenExecutingImportRequestOfWorkbaskets( - HttpStatus.CONFLICT, Arrays.asList(w1String, w2String)); - }; - assertThatThrownBy(httpCall).isInstanceOf(HttpClientErrorException.class); - } - - private void changeWorkbasketIdOrKey( - WorkbasketDefinitionRepresentationModel w, String newId, String newKey) { - if (newId != null && !newId.isEmpty()) { - w.getWorkbasket().setWorkbasketId(newId); - w.getAuthorizations().forEach(auth -> auth.setWorkbasketId(newId)); - } - if (newKey != null && !newKey.isEmpty()) { - w.getWorkbasket().setKey(newKey); - w.getAuthorizations().forEach(auth -> auth.setWorkbasketKey(newKey)); - } - } - - private ResponseEntity> - executeExportRequestForDomain(String domain) { - return template.exchange( - restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=" + domain, - HttpMethod.GET, - restHelper.defaultRequest(), - new ParameterizedTypeReference>() {}); - } - - private void expectStatusWhenExecutingImportRequestOfWorkbaskets( - HttpStatus expectedStatus, WorkbasketDefinitionRepresentationModel... workbaskets) - throws IOException { - List workbasketStrings = - Arrays.stream(workbaskets).map(this::workbasketToString).collect(Collectors.toList()); - expectStatusWhenExecutingImportRequestOfWorkbaskets(expectedStatus, workbasketStrings); - } - - private void expectStatusWhenExecutingImportRequestOfWorkbaskets( - HttpStatus expectedStatus, List workbasketStrings) throws IOException { - File tmpFile = File.createTempFile("test", ".tmp"); - OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tmpFile), UTF_8); - writer.write(workbasketStrings.toString()); - writer.close(); - - MultiValueMap body = new LinkedMultiValueMap<>(); - HttpHeaders headers = restHelper.getHeaders(); - headers.setContentType(MediaType.MULTIPART_FORM_DATA); - body.add("file", new FileSystemResource(tmpFile)); - - HttpEntity> requestEntity = new HttpEntity<>(body, headers); - String serverUrl = restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS); - - ResponseEntity responseImport = - template.postForEntity(serverUrl, requestEntity, Void.class); - assertThat(responseImport.getStatusCode()).isEqualTo(expectedStatus); - } - - private String workbasketToString( - WorkbasketDefinitionRepresentationModel workbasketDefinitionRepresentationModel) { - try { - return objMapper.writeValueAsString(workbasketDefinitionRepresentationModel); - } catch (JsonProcessingException e) { - return ""; - } - } -} +package pro.taskana.workbasket.rest; + +import static java.nio.charset.StandardCharsets.UTF_8; +import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.Assertions.assertThatThrownBy; +import static org.assertj.core.api.Assertions.fail; + +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.stream.Collectors; +import javax.sql.DataSource; +import org.assertj.core.api.ThrowableAssert.ThrowingCallable; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.core.io.FileSystemResource; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.client.HttpClientErrorException; +import org.springframework.web.client.RestTemplate; + +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.RestHelper; +import pro.taskana.common.rest.TaskanaSpringBootTest; +import pro.taskana.sampledata.SampleDataGenerator; +import pro.taskana.workbasket.rest.models.WorkbasketDefinitionRepresentationModel; + +/** Integration tests for WorkbasketDefinitionController. */ +@TaskanaSpringBootTest +class WorkbasketDefinitionControllerIntTest { + + private static RestTemplate template; + + @Value("${taskana.schemaName:TASKANA}") + String schemaName; + + ObjectMapper objMapper = new ObjectMapper(); + + @Autowired RestHelper restHelper; + + @Autowired private DataSource dataSource; + + @BeforeAll + static void init() { + template = RestHelper.TEMPLATE; + } + + @BeforeEach + void resetDb() { + SampleDataGenerator sampleDataGenerator = new SampleDataGenerator(dataSource, schemaName); + sampleDataGenerator.generateSampleData(); + } + + @Test + void testExportWorkbasketFromDomain() { + ResponseEntity> response = + executeExportRequestForDomain("DOMAIN_A"); + + assertThat(response.getBody()).isNotNull(); + assertThat(response.getStatusCode()).isEqualTo(HttpStatus.OK); + assertThat(response.getBody().get(0)) + .isInstanceOf(WorkbasketDefinitionRepresentationModel.class); + + boolean allAuthorizationsAreEmpty = true; + boolean allDistributionTargetsAreEmpty = true; + for (WorkbasketDefinitionRepresentationModel workbasketDefinition : response.getBody()) { + if (allAuthorizationsAreEmpty && !workbasketDefinition.getAuthorizations().isEmpty()) { + allAuthorizationsAreEmpty = false; + } + if (allDistributionTargetsAreEmpty + && !workbasketDefinition.getDistributionTargets().isEmpty()) { + allDistributionTargetsAreEmpty = false; + } + if (!allAuthorizationsAreEmpty && !allDistributionTargetsAreEmpty) { + break; + } + } + assertThat(allDistributionTargetsAreEmpty).isFalse(); + assertThat(allAuthorizationsAreEmpty).isFalse(); + } + + @Test + void testExportWorkbasketsFromWrongDomain() { + ResponseEntity> response = + executeExportRequestForDomain("wrongDomain"); + assertThat(response.getBody()).isEmpty(); + } + + @Test + void testImportEveryWorkbasketFromDomainA() throws IOException { + List wbList = + executeExportRequestForDomain("DOMAIN_A").getBody(); + for (WorkbasketDefinitionRepresentationModel w : wbList) { + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); + } + } + + @Test + void testImportWorkbasketWithoutDistributionTargets() throws IOException { + WorkbasketDefinitionRepresentationModel w = + executeExportRequestForDomain("DOMAIN_A").getBody().get(0); + w.setDistributionTargets(new HashSet<>()); + + this.expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); + + w.getWorkbasket().setKey("newKey"); + w.getAuthorizations().forEach(authorization -> authorization.setWorkbasketKey("newKey")); + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); + } + + @Test + void testImportWorkbasketWithDistributionTargetsInImportFile() throws IOException { + List wbList = + executeExportRequestForDomain("DOMAIN_A").getBody(); + + WorkbasketDefinitionRepresentationModel w = wbList.get(0); + w.setDistributionTargets(new HashSet<>()); + String letMeBeYourDistributionTarget = w.getWorkbasket().getWorkbasketId(); + WorkbasketDefinitionRepresentationModel w2 = wbList.get(1); + w2.setDistributionTargets(Collections.singleton(letMeBeYourDistributionTarget)); + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); + + this.changeWorkbasketIdOrKey(w, "fancyNewId", null); + w2.setDistributionTargets(Collections.singleton("fancyNewId")); + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); + + this.changeWorkbasketIdOrKey(w, null, "nowImANewWB"); + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); + + this.changeWorkbasketIdOrKey(w2, null, "nowImAlsoANewWB"); + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w, w2); + } + + @Test + void testImportWorkbasketWithDistributionTargetsInSystem() throws IOException { + List wbList = + executeExportRequestForDomain("DOMAIN_A").getBody(); + + wbList.removeIf(definition -> definition.getDistributionTargets().isEmpty()); + WorkbasketDefinitionRepresentationModel w = wbList.get(0); + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); + + changeWorkbasketIdOrKey(w, null, "new"); + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.NO_CONTENT, w); + } + + @Test + void testImportWorkbasketWithDistributionTargetsNotInSystem() throws IOException { + List wbList = + executeExportRequestForDomain("DOMAIN_A").getBody(); + + WorkbasketDefinitionRepresentationModel w = wbList.get(0); + w.setDistributionTargets(Collections.singleton("invalidWorkbasketId")); + try { + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.BAD_REQUEST, w); + fail("Expected http-Status 400"); + } catch (HttpClientErrorException e) { + assertThat(e.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST); + } + + w.getWorkbasket().setKey("anotherNewKey"); + try { + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.BAD_REQUEST, w); + fail("Expected http-Status 400"); + } catch (HttpClientErrorException e) { + assertThat(e.getStatusCode()).isEqualTo(HttpStatus.BAD_REQUEST); + } + } + + @Test + void testFailOnImportDuplicates() throws IOException { + WorkbasketDefinitionRepresentationModel w = + executeExportRequestForDomain("DOMAIN_A").getBody().get(0); + try { + expectStatusWhenExecutingImportRequestOfWorkbaskets(HttpStatus.CONFLICT, w, w); + fail("Expected http-Status 409"); + } catch (HttpClientErrorException e) { + assertThat(e.getStatusCode()).isEqualTo(HttpStatus.CONFLICT); + } + } + + @Test + void testNoErrorWhenImportWithSameIdButDifferentKeyAndDomain() throws IOException { + List wbList = + executeExportRequestForDomain("DOMAIN_A").getBody(); + + WorkbasketDefinitionRepresentationModel w = wbList.get(0); + WorkbasketDefinitionRepresentationModel differentLogicalId = wbList.get(1); + this.changeWorkbasketIdOrKey(differentLogicalId, w.getWorkbasket().getWorkbasketId(), null); + + // breaks the logic but not the script- should we really allow this case? + WorkbasketDefinitionRepresentationModel theDestroyer = wbList.get(2); + theDestroyer.setDistributionTargets( + Collections.singleton(differentLogicalId.getWorkbasket().getWorkbasketId())); + + expectStatusWhenExecutingImportRequestOfWorkbaskets( + HttpStatus.NO_CONTENT, w, differentLogicalId, theDestroyer); + } + + @Test + void testErrorWhenImportWithSameAccessIdAndWorkbasket() { + WorkbasketDefinitionRepresentationModel w = + executeExportRequestForDomain("DOMAIN_A").getBody().get(0); + + String w1String = workbasketToString(w); + w.getWorkbasket().setKey("new Key for this WB"); + String w2String = workbasketToString(w); + ThrowingCallable httpCall = + () -> { + expectStatusWhenExecutingImportRequestOfWorkbaskets( + HttpStatus.CONFLICT, Arrays.asList(w1String, w2String)); + }; + assertThatThrownBy(httpCall).isInstanceOf(HttpClientErrorException.class); + } + + private void changeWorkbasketIdOrKey( + WorkbasketDefinitionRepresentationModel w, String newId, String newKey) { + if (newId != null && !newId.isEmpty()) { + w.getWorkbasket().setWorkbasketId(newId); + w.getAuthorizations().forEach(auth -> auth.setWorkbasketId(newId)); + } + if (newKey != null && !newKey.isEmpty()) { + w.getWorkbasket().setKey(newKey); + w.getAuthorizations().forEach(auth -> auth.setWorkbasketKey(newKey)); + } + } + + private ResponseEntity> + executeExportRequestForDomain(String domain) { + return template.exchange( + restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=" + domain, + HttpMethod.GET, + restHelper.defaultRequest(), + new ParameterizedTypeReference>() {}); + } + + private void expectStatusWhenExecutingImportRequestOfWorkbaskets( + HttpStatus expectedStatus, WorkbasketDefinitionRepresentationModel... workbaskets) + throws IOException { + List workbasketStrings = + Arrays.stream(workbaskets).map(this::workbasketToString).collect(Collectors.toList()); + expectStatusWhenExecutingImportRequestOfWorkbaskets(expectedStatus, workbasketStrings); + } + + private void expectStatusWhenExecutingImportRequestOfWorkbaskets( + HttpStatus expectedStatus, List workbasketStrings) throws IOException { + File tmpFile = File.createTempFile("test", ".tmp"); + OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(tmpFile), UTF_8); + writer.write(workbasketStrings.toString()); + writer.close(); + + MultiValueMap body = new LinkedMultiValueMap<>(); + HttpHeaders headers = restHelper.getHeaders(); + headers.setContentType(MediaType.MULTIPART_FORM_DATA); + body.add("file", new FileSystemResource(tmpFile)); + + HttpEntity> requestEntity = new HttpEntity<>(body, headers); + String serverUrl = restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS); + + ResponseEntity responseImport = + template.postForEntity(serverUrl, requestEntity, Void.class); + assertThat(responseImport.getStatusCode()).isEqualTo(expectedStatus); + } + + private String workbasketToString( + WorkbasketDefinitionRepresentationModel workbasketDefinitionRepresentationModel) { + try { + return objMapper.writeValueAsString(workbasketDefinitionRepresentationModel); + } catch (JsonProcessingException e) { + return ""; + } + } +} diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModelAssemblerTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketAccessItemRepresentationModelAssemblerTest.java similarity index 96% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModelAssemblerTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketAccessItemRepresentationModelAssemblerTest.java index cf60e1620..30202b21c 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketAccessItemRepresentationModelAssemblerTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketAccessItemRepresentationModelAssemblerTest.java @@ -1,14 +1,15 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; import static org.assertj.core.api.Assertions.assertThat; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.models.WorkbasketAccessItem; import pro.taskana.workbasket.internal.models.WorkbasketAccessItemImpl; +import pro.taskana.workbasket.rest.models.WorkbasketAccessItemRepresentationModel; /** Test for {@link WorkbasketAccessItemRepresentationModelAssembler}. */ @TaskanaSpringBootTest diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketRepresentationModelAssemblerTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketRepresentationModelAssemblerTest.java similarity index 96% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketRepresentationModelAssemblerTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketRepresentationModelAssemblerTest.java index 7eb1beddf..10dca158f 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketRepresentationModelAssemblerTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketRepresentationModelAssemblerTest.java @@ -1,4 +1,4 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; import static org.assertj.core.api.Assertions.assertThat; @@ -6,12 +6,13 @@ import java.time.Instant; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; -import pro.taskana.rest.Mapping; +import pro.taskana.common.rest.Mapping; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketType; import pro.taskana.workbasket.api.models.Workbasket; import pro.taskana.workbasket.internal.models.WorkbasketImpl; +import pro.taskana.workbasket.rest.models.WorkbasketRepresentationModel; /** Test for {@link WorkbasketRepresentationModelAssembler}. */ @TaskanaSpringBootTest diff --git a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketSummaryAssemblerTest.java b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketSummaryAssemblerTest.java similarity index 94% rename from rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketSummaryAssemblerTest.java rename to rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketSummaryAssemblerTest.java index 5c640e762..7ded0a440 100644 --- a/rest/taskana-rest-spring/src/test/java/pro/taskana/rest/resource/WorkbasketSummaryAssemblerTest.java +++ b/rest/taskana-rest-spring/src/test/java/pro/taskana/workbasket/rest/assembler/WorkbasketSummaryAssemblerTest.java @@ -1,13 +1,14 @@ -package pro.taskana.rest.resource; +package pro.taskana.workbasket.rest.assembler; import org.junit.Assert; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; -import pro.taskana.TaskanaSpringBootTest; +import pro.taskana.common.rest.TaskanaSpringBootTest; import pro.taskana.workbasket.api.WorkbasketService; import pro.taskana.workbasket.api.WorkbasketType; import pro.taskana.workbasket.internal.models.WorkbasketSummaryImpl; +import pro.taskana.workbasket.rest.models.WorkbasketSummaryRepresentationModel; /** * Test for {@link WorkbasketSummaryRepresentationModelAssembler}. diff --git a/rest/taskana-rest-spring/src/test/resources/pss_jaas.config b/rest/taskana-rest-spring/src/test/resources/pss_jaas.config index c8faa6456..7f95e3dc7 100644 --- a/rest/taskana-rest-spring/src/test/resources/pss_jaas.config +++ b/rest/taskana-rest-spring/src/test/resources/pss_jaas.config @@ -1 +1 @@ -taskana {pro.taskana.rest.security.SampleLoginModule required;}; +taskana {pro.taskana.common.rest.SampleLoginModule required;};