From 119f5a52ab686394c332b30309ec9104633c2f5a Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Sun, 7 Jul 2019 17:22:42 +0400 Subject: [PATCH] create api for activities --- .../activity/api/ActivityController.java | 31 ++++ .../api/ActivityRepository.java} | 4 +- .../api/model/ActivityDashboardDto.java | 4 + .../ulstu/activity/api/model/ActivityDto.java | 4 + .../activity/api/model/ActivityListDto.java | 19 ++ .../boundary}/timetable/TimetableService.java | 8 +- .../errors/TimetableClientException.java | 2 +- .../boundary}/timetable/model/Day.java | 2 +- .../boundary}/timetable/model/Lesson.java | 2 +- .../boundary}/timetable/model/Response.java | 2 +- .../timetable/model/TimetableResponse.java | 2 +- .../boundary}/timetable/model/Week.java | 2 +- .../common}/model/AbstractActivity.java | 7 +- .../common}/model/EventSource.java | 6 +- .../common}/model/ScienceGroupMemberDto.java | 10 +- .../service/AbstractActivityService.java | 17 +- .../strategy/api/EntityCreateStrategy.java | 10 +- .../api/StrategyEntityCreateExecutor.java | 2 +- .../conference/model/Conference.java | 27 ++- .../conference/model/ConferenceDto.java | 10 +- .../conference/model/ConferenceFilterDto.java | 2 +- .../conference/model/ConferenceListDto.java | 21 +++ .../conference/model/ConferenceUser.java | 2 +- .../repository/ConferenceRepository.java | 8 +- .../repository/ConferenceUserRepository.java | 4 +- .../ConferenceNotificationService.java | 6 +- .../service/ConferenceScheduler.java | 10 +- .../conference/service/ConferenceService.java | 104 ++++++----- .../service/ConferenceUserService.java | 6 +- .../deadline/model/Deadline.java | 2 +- .../repository/DeadlineRepository.java | 4 +- .../deadline/service/DeadlineService.java | 6 +- .../{ => activity}/file/FileController.java | 8 +- .../{ => activity}/file/model/FileData.java | 2 +- .../file/model/FileDataDto.java | 2 +- .../file/repostory/FileRepository.java | 4 +- .../file/service/FileService.java | 10 +- .../grant/controller/GrantRestController.java | 4 +- .../{ => activity}/grant/model/Grant.java | 31 ++-- .../{ => activity}/grant/model/GrantDto.java | 34 ++-- .../activity/grant/model/GrantListDto.java | 28 +++ .../{ => activity}/grant/page/KiasPage.java | 2 +- .../grant/repository/GrantRepository.java | 8 +- .../service/GrantNotificationService.java | 4 +- .../grant/service/GrantScheduler.java | 2 +- .../grant/service/GrantService.java | 148 +++++++++------- .../grant/service/KiasService.java | 6 +- .../paper/controller/PaperController.java | 30 ++-- .../paper/model/AutoCompleteData.java | 2 +- .../{ => activity}/paper/model/Paper.java | 31 ++-- .../paper/model/PaperDashboardDto.java | 7 +- .../{ => activity}/paper/model/PaperDto.java | 10 +- .../paper/model/PaperFilterListDto.java | 2 +- .../activity/paper/model/PaperListDto.java | 27 +++ .../paper/model/PaperStatusDto.java | 2 +- .../paper/model/PaperTypeDto.java | 2 +- .../{ => activity}/paper/model/Reference.java | 2 +- .../paper/model/ReferenceDto.java | 2 +- .../paper/repository/PaperRepository.java | 4 +- .../paper/repository/ReferenceRepository.java | 4 +- .../paper/service/LatexService.java | 6 +- .../paper/service/PaperCreateStrategy.java | 6 +- .../service/PaperNotificationService.java | 4 +- .../paper/service/PaperScheduler.java | 2 +- .../paper/service/PaperService.java | 48 ++--- .../ulstu/{ => activity}/ping/model/Ping.java | 18 +- .../{ => activity}/ping/model/PingInfo.java | 2 +- .../ping/repository/PingRepository.java | 6 +- .../ping/service/PingScheduler.java | 14 +- .../ping/service/PingService.java | 13 +- .../project/controller/ProjectController.java | 12 +- .../{ => activity}/project/model/Project.java | 27 ++- .../project/model/ProjectDto.java | 8 +- .../project/repository/ProjectRepository.java | 4 +- .../project/service/ProjectService.java | 26 +-- .../students/controller/Navigation.java | 2 +- .../students/controller/TaskController.java | 20 +-- .../students/model/Scheduler.java | 2 +- .../{ => activity}/students/model/Task.java | 10 +- .../students/model/TaskDto.java | 6 +- .../students/model/TaskFilterDto.java | 2 +- .../repository/SchedulerRepository.java | 6 +- .../students/repository/TaskRepository.java | 6 +- .../students/service/SchedulerService.java | 10 +- .../service/TaskGenerationService.java | 2 +- .../students/service/TaskService.java | 26 +-- .../ulstu/{ => activity}/tags/model/Tag.java | 2 +- .../tags/repository/TagRepository.java | 4 +- .../tags/service/TagService.java | 6 +- .../timeline/controller/EventController.java | 6 +- .../{ => activity}/timeline/model/Event.java | 12 +- .../timeline/model/EventDto.java | 12 +- .../timeline/model/PeriodEvent.java | 2 +- .../timeline/model/Timeline.java | 2 +- .../timeline/model/TimelineDto.java | 2 +- .../timeline/repository/EventRepository.java | 14 +- .../repository/TimelineRepository.java | 4 +- .../timeline/service/EventScheduler.java | 6 +- .../timeline/service/EventService.java | 24 +-- .../timeline/service/TimelineService.java | 10 +- .../ru/ulstu/boundary/model/ActivityDto.java | 4 - .../ulstu/boundary/model/ActivityListDto.java | 4 - .../controller/ConferenceController.java | 165 ------------------ .../ru/ulstu/core/controller/Navigation.java | 19 -- .../ru/ulstu/core/model/UserActivity.java | 11 -- .../grant/controller/GrantController.java | 133 -------------- src/main/java/ru/ulstu/name/BaseService.java | 23 --- .../java/ru/ulstu/name/NameContainer.java | 14 -- .../ru/ulstu/paper/model/PaperListDto.java | 55 ------ .../java/ru/ulstu/user/model/UserInfoNow.java | 4 +- .../ru/ulstu/user/service/UserService.java | 18 +- .../grantAuthorsChangeNotification.html | 2 +- src/main/resources/public/js/core.js | 2 +- src/main/resources/public/js/file-loader.js | 8 +- src/main/resources/public/js/tasks.js | 6 +- .../service/ConferenceServiceTest.java | 24 +-- .../grant/service/GrantServiceTest.java | 20 +-- .../project/service/ProjectServiceTest.java | 22 +-- .../students/service/TaskServiceTest.java | 24 +-- 119 files changed, 738 insertions(+), 978 deletions(-) create mode 100644 src/main/java/ru/ulstu/activity/api/ActivityController.java rename src/main/java/ru/ulstu/{name/BaseRepository.java => activity/api/ActivityRepository.java} (67%) create mode 100644 src/main/java/ru/ulstu/activity/api/model/ActivityDashboardDto.java create mode 100644 src/main/java/ru/ulstu/activity/api/model/ActivityDto.java create mode 100644 src/main/java/ru/ulstu/activity/api/model/ActivityListDto.java rename src/main/java/ru/ulstu/{utils => activity/boundary}/timetable/TimetableService.java (92%) rename src/main/java/ru/ulstu/{utils => activity/boundary}/timetable/errors/TimetableClientException.java (74%) rename src/main/java/ru/ulstu/{utils => activity/boundary}/timetable/model/Day.java (89%) rename src/main/java/ru/ulstu/{utils => activity/boundary}/timetable/model/Lesson.java (88%) rename src/main/java/ru/ulstu/{utils => activity/boundary}/timetable/model/Response.java (84%) rename src/main/java/ru/ulstu/{utils => activity/boundary}/timetable/model/TimetableResponse.java (88%) rename src/main/java/ru/ulstu/{utils => activity/boundary}/timetable/model/Week.java (85%) rename src/main/java/ru/ulstu/{boundary => activity/common}/model/AbstractActivity.java (64%) rename src/main/java/ru/ulstu/{core => activity/common}/model/EventSource.java (62%) rename src/main/java/ru/ulstu/{boundary => activity/common}/model/ScienceGroupMemberDto.java (82%) rename src/main/java/ru/ulstu/{boundary => activity/common}/service/AbstractActivityService.java (51%) rename src/main/java/ru/ulstu/{ => activity/common}/strategy/api/EntityCreateStrategy.java (67%) rename src/main/java/ru/ulstu/{ => activity/common}/strategy/api/StrategyEntityCreateExecutor.java (94%) rename src/main/java/ru/ulstu/{ => activity}/conference/model/Conference.java (88%) rename src/main/java/ru/ulstu/{ => activity}/conference/model/ConferenceDto.java (96%) rename src/main/java/ru/ulstu/{ => activity}/conference/model/ConferenceFilterDto.java (95%) create mode 100644 src/main/java/ru/ulstu/activity/conference/model/ConferenceListDto.java rename src/main/java/ru/ulstu/{ => activity}/conference/model/ConferenceUser.java (98%) rename src/main/java/ru/ulstu/{ => activity}/conference/repository/ConferenceRepository.java (89%) rename src/main/java/ru/ulstu/{ => activity}/conference/repository/ConferenceUserRepository.java (59%) rename src/main/java/ru/ulstu/{ => activity}/conference/service/ConferenceNotificationService.java (97%) rename src/main/java/ru/ulstu/{ => activity}/conference/service/ConferenceScheduler.java (83%) rename src/main/java/ru/ulstu/{ => activity}/conference/service/ConferenceService.java (80%) rename src/main/java/ru/ulstu/{ => activity}/conference/service/ConferenceUserService.java (89%) rename src/main/java/ru/ulstu/{ => activity}/deadline/model/Deadline.java (98%) rename src/main/java/ru/ulstu/{ => activity}/deadline/repository/DeadlineRepository.java (82%) rename src/main/java/ru/ulstu/{ => activity}/deadline/service/DeadlineService.java (90%) rename src/main/java/ru/ulstu/{ => activity}/file/FileController.java (92%) rename src/main/java/ru/ulstu/{ => activity}/file/model/FileData.java (96%) rename src/main/java/ru/ulstu/{ => activity}/file/model/FileDataDto.java (98%) rename src/main/java/ru/ulstu/{ => activity}/file/repostory/FileRepository.java (61%) rename src/main/java/ru/ulstu/{ => activity}/file/service/FileService.java (95%) rename src/main/java/ru/ulstu/{ => activity}/grant/controller/GrantRestController.java (87%) rename src/main/java/ru/ulstu/{ => activity}/grant/model/Grant.java (90%) rename src/main/java/ru/ulstu/{ => activity}/grant/model/GrantDto.java (88%) create mode 100644 src/main/java/ru/ulstu/activity/grant/model/GrantListDto.java rename src/main/java/ru/ulstu/{ => activity}/grant/page/KiasPage.java (97%) rename src/main/java/ru/ulstu/{ => activity}/grant/repository/GrantRepository.java (81%) rename src/main/java/ru/ulstu/{ => activity}/grant/service/GrantNotificationService.java (97%) rename src/main/java/ru/ulstu/{ => activity}/grant/service/GrantScheduler.java (97%) rename src/main/java/ru/ulstu/{ => activity}/grant/service/GrantService.java (80%) rename src/main/java/ru/ulstu/{ => activity}/grant/service/KiasService.java (95%) rename src/main/java/ru/ulstu/{ => activity}/paper/controller/PaperController.java (70%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/AutoCompleteData.java (96%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/Paper.java (93%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/PaperDashboardDto.java (84%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/PaperDto.java (94%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/PaperFilterListDto.java (96%) create mode 100644 src/main/java/ru/ulstu/activity/paper/model/PaperListDto.java rename src/main/java/ru/ulstu/{ => activity}/paper/model/PaperStatusDto.java (89%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/PaperTypeDto.java (89%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/Reference.java (98%) rename src/main/java/ru/ulstu/{ => activity}/paper/model/ReferenceDto.java (99%) rename src/main/java/ru/ulstu/{ => activity}/paper/repository/PaperRepository.java (93%) rename src/main/java/ru/ulstu/{ => activity}/paper/repository/ReferenceRepository.java (89%) rename src/main/java/ru/ulstu/{ => activity}/paper/service/LatexService.java (95%) rename src/main/java/ru/ulstu/{ => activity}/paper/service/PaperCreateStrategy.java (85%) rename src/main/java/ru/ulstu/{ => activity}/paper/service/PaperNotificationService.java (97%) rename src/main/java/ru/ulstu/{ => activity}/paper/service/PaperScheduler.java (97%) rename src/main/java/ru/ulstu/{ => activity}/paper/service/PaperService.java (87%) rename src/main/java/ru/ulstu/{ => activity}/ping/model/Ping.java (82%) rename src/main/java/ru/ulstu/{ => activity}/ping/model/PingInfo.java (94%) rename src/main/java/ru/ulstu/{ => activity}/ping/repository/PingRepository.java (86%) rename src/main/java/ru/ulstu/{ => activity}/ping/service/PingScheduler.java (82%) rename src/main/java/ru/ulstu/{ => activity}/ping/service/PingService.java (79%) rename src/main/java/ru/ulstu/{ => activity}/project/controller/ProjectController.java (93%) rename src/main/java/ru/ulstu/{ => activity}/project/model/Project.java (90%) rename src/main/java/ru/ulstu/{ => activity}/project/model/ProjectDto.java (96%) rename src/main/java/ru/ulstu/{ => activity}/project/repository/ProjectRepository.java (60%) rename src/main/java/ru/ulstu/{ => activity}/project/service/ProjectService.java (89%) rename src/main/java/ru/ulstu/{ => activity}/students/controller/Navigation.java (89%) rename src/main/java/ru/ulstu/{ => activity}/students/controller/TaskController.java (86%) rename src/main/java/ru/ulstu/{ => activity}/students/model/Scheduler.java (96%) rename src/main/java/ru/ulstu/{ => activity}/students/model/Task.java (93%) rename src/main/java/ru/ulstu/{ => activity}/students/model/TaskDto.java (97%) rename src/main/java/ru/ulstu/{ => activity}/students/model/TaskFilterDto.java (96%) rename src/main/java/ru/ulstu/{ => activity}/students/repository/SchedulerRepository.java (56%) rename src/main/java/ru/ulstu/{ => activity}/students/repository/TaskRepository.java (88%) rename src/main/java/ru/ulstu/{ => activity}/students/service/SchedulerService.java (93%) rename src/main/java/ru/ulstu/{ => activity}/students/service/TaskGenerationService.java (95%) rename src/main/java/ru/ulstu/{ => activity}/students/service/TaskService.java (92%) rename src/main/java/ru/ulstu/{ => activity}/tags/model/Tag.java (97%) rename src/main/java/ru/ulstu/{ => activity}/tags/repository/TagRepository.java (81%) rename src/main/java/ru/ulstu/{ => activity}/tags/service/TagService.java (91%) rename src/main/java/ru/ulstu/{ => activity}/timeline/controller/EventController.java (91%) rename src/main/java/ru/ulstu/{ => activity}/timeline/model/Event.java (94%) rename src/main/java/ru/ulstu/{ => activity}/timeline/model/EventDto.java (94%) rename src/main/java/ru/ulstu/{ => activity}/timeline/model/PeriodEvent.java (93%) rename src/main/java/ru/ulstu/{ => activity}/timeline/model/Timeline.java (93%) rename src/main/java/ru/ulstu/{ => activity}/timeline/model/TimelineDto.java (94%) rename src/main/java/ru/ulstu/{ => activity}/timeline/repository/EventRepository.java (67%) rename src/main/java/ru/ulstu/{ => activity}/timeline/repository/TimelineRepository.java (59%) rename src/main/java/ru/ulstu/{ => activity}/timeline/service/EventScheduler.java (95%) rename src/main/java/ru/ulstu/{ => activity}/timeline/service/EventService.java (91%) rename src/main/java/ru/ulstu/{ => activity}/timeline/service/TimelineService.java (86%) delete mode 100644 src/main/java/ru/ulstu/boundary/model/ActivityDto.java delete mode 100644 src/main/java/ru/ulstu/boundary/model/ActivityListDto.java delete mode 100644 src/main/java/ru/ulstu/conference/controller/ConferenceController.java delete mode 100644 src/main/java/ru/ulstu/core/controller/Navigation.java delete mode 100644 src/main/java/ru/ulstu/core/model/UserActivity.java delete mode 100644 src/main/java/ru/ulstu/grant/controller/GrantController.java delete mode 100644 src/main/java/ru/ulstu/name/BaseService.java delete mode 100644 src/main/java/ru/ulstu/name/NameContainer.java delete mode 100644 src/main/java/ru/ulstu/paper/model/PaperListDto.java rename src/test/java/ru/ulstu/{ => activity}/conference/service/ConferenceServiceTest.java (93%) rename src/test/java/ru/ulstu/{ => activity}/grant/service/GrantServiceTest.java (92%) rename src/test/java/ru/ulstu/{ => activity}/project/service/ProjectServiceTest.java (87%) rename src/test/java/ru/ulstu/{ => activity}/students/service/TaskServiceTest.java (91%) diff --git a/src/main/java/ru/ulstu/activity/api/ActivityController.java b/src/main/java/ru/ulstu/activity/api/ActivityController.java new file mode 100644 index 0000000..0fd5d1e --- /dev/null +++ b/src/main/java/ru/ulstu/activity/api/ActivityController.java @@ -0,0 +1,31 @@ +package ru.ulstu.activity.api; + +import ru.ulstu.activity.api.model.ActivityDashboardDto; +import ru.ulstu.activity.api.model.ActivityDto; +import ru.ulstu.activity.api.model.ActivityListDto; +import ru.ulstu.core.model.response.PageableItems; +import ru.ulstu.core.model.response.Response; + +/** + * Базовый API для контролеров активностей + * + * @param + * @param + * @param + */ +public interface ActivityController { + + Response> getList(int offset, int count); + + Response> getDashboard(int offset, int count); + + Response get(Integer entityId); + + Response create(ENTITYDTO entity); + + Response update(ENTITYDTO entity); + + Response delete(Integer entityId); + + void ping(int entityId); +} diff --git a/src/main/java/ru/ulstu/name/BaseRepository.java b/src/main/java/ru/ulstu/activity/api/ActivityRepository.java similarity index 67% rename from src/main/java/ru/ulstu/name/BaseRepository.java rename to src/main/java/ru/ulstu/activity/api/ActivityRepository.java index b691ea2..7353958 100644 --- a/src/main/java/ru/ulstu/name/BaseRepository.java +++ b/src/main/java/ru/ulstu/activity/api/ActivityRepository.java @@ -1,7 +1,7 @@ -package ru.ulstu.name; +package ru.ulstu.activity.api; import org.springframework.data.repository.query.Param; -public interface BaseRepository { +public interface ActivityRepository { String findByNameAndNotId(@Param("name") String name, @Param("id") Integer id); } diff --git a/src/main/java/ru/ulstu/activity/api/model/ActivityDashboardDto.java b/src/main/java/ru/ulstu/activity/api/model/ActivityDashboardDto.java new file mode 100644 index 0000000..71695e6 --- /dev/null +++ b/src/main/java/ru/ulstu/activity/api/model/ActivityDashboardDto.java @@ -0,0 +1,4 @@ +package ru.ulstu.activity.api.model; + +public interface ActivityDashboardDto { +} \ No newline at end of file diff --git a/src/main/java/ru/ulstu/activity/api/model/ActivityDto.java b/src/main/java/ru/ulstu/activity/api/model/ActivityDto.java new file mode 100644 index 0000000..5675e18 --- /dev/null +++ b/src/main/java/ru/ulstu/activity/api/model/ActivityDto.java @@ -0,0 +1,4 @@ +package ru.ulstu.activity.api.model; + +public interface ActivityDto { +} diff --git a/src/main/java/ru/ulstu/activity/api/model/ActivityListDto.java b/src/main/java/ru/ulstu/activity/api/model/ActivityListDto.java new file mode 100644 index 0000000..52237eb --- /dev/null +++ b/src/main/java/ru/ulstu/activity/api/model/ActivityListDto.java @@ -0,0 +1,19 @@ +package ru.ulstu.activity.api.model; + +public abstract class ActivityListDto { + private final Integer id; + private final String title; + + protected ActivityListDto(Integer id, String title) { + this.id = id; + this.title = title; + } + + public Integer getId() { + return id; + } + + public String getTitle() { + return title; + } +} \ No newline at end of file diff --git a/src/main/java/ru/ulstu/utils/timetable/TimetableService.java b/src/main/java/ru/ulstu/activity/boundary/timetable/TimetableService.java similarity index 92% rename from src/main/java/ru/ulstu/utils/timetable/TimetableService.java rename to src/main/java/ru/ulstu/activity/boundary/timetable/TimetableService.java index b2a7874..56b82d2 100644 --- a/src/main/java/ru/ulstu/utils/timetable/TimetableService.java +++ b/src/main/java/ru/ulstu/activity/boundary/timetable/TimetableService.java @@ -1,12 +1,12 @@ -package ru.ulstu.utils.timetable; +package ru.ulstu.activity.boundary.timetable; import com.fasterxml.jackson.databind.ObjectMapper; import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; +import ru.ulstu.activity.boundary.timetable.errors.TimetableClientException; +import ru.ulstu.activity.boundary.timetable.model.Lesson; +import ru.ulstu.activity.boundary.timetable.model.TimetableResponse; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.utils.timetable.errors.TimetableClientException; -import ru.ulstu.utils.timetable.model.Lesson; -import ru.ulstu.utils.timetable.model.TimetableResponse; import java.text.ParseException; import java.text.SimpleDateFormat; diff --git a/src/main/java/ru/ulstu/utils/timetable/errors/TimetableClientException.java b/src/main/java/ru/ulstu/activity/boundary/timetable/errors/TimetableClientException.java similarity index 74% rename from src/main/java/ru/ulstu/utils/timetable/errors/TimetableClientException.java rename to src/main/java/ru/ulstu/activity/boundary/timetable/errors/TimetableClientException.java index 4723bda..bb0aaf5 100644 --- a/src/main/java/ru/ulstu/utils/timetable/errors/TimetableClientException.java +++ b/src/main/java/ru/ulstu/activity/boundary/timetable/errors/TimetableClientException.java @@ -1,4 +1,4 @@ -package ru.ulstu.utils.timetable.errors; +package ru.ulstu.activity.boundary.timetable.errors; public class TimetableClientException extends RuntimeException { public TimetableClientException(String message) { diff --git a/src/main/java/ru/ulstu/utils/timetable/model/Day.java b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Day.java similarity index 89% rename from src/main/java/ru/ulstu/utils/timetable/model/Day.java rename to src/main/java/ru/ulstu/activity/boundary/timetable/model/Day.java index 211165d..4448a8c 100644 --- a/src/main/java/ru/ulstu/utils/timetable/model/Day.java +++ b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Day.java @@ -1,4 +1,4 @@ -package ru.ulstu.utils.timetable.model; +package ru.ulstu.activity.boundary.timetable.model; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ru/ulstu/utils/timetable/model/Lesson.java b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Lesson.java similarity index 88% rename from src/main/java/ru/ulstu/utils/timetable/model/Lesson.java rename to src/main/java/ru/ulstu/activity/boundary/timetable/model/Lesson.java index 9c855bd..0df534b 100644 --- a/src/main/java/ru/ulstu/utils/timetable/model/Lesson.java +++ b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Lesson.java @@ -1,4 +1,4 @@ -package ru.ulstu.utils.timetable.model; +package ru.ulstu.activity.boundary.timetable.model; public class Lesson { private String group; diff --git a/src/main/java/ru/ulstu/utils/timetable/model/Response.java b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Response.java similarity index 84% rename from src/main/java/ru/ulstu/utils/timetable/model/Response.java rename to src/main/java/ru/ulstu/activity/boundary/timetable/model/Response.java index dfd3a84..0089433 100644 --- a/src/main/java/ru/ulstu/utils/timetable/model/Response.java +++ b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Response.java @@ -1,4 +1,4 @@ -package ru.ulstu.utils.timetable.model; +package ru.ulstu.activity.boundary.timetable.model; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ru/ulstu/utils/timetable/model/TimetableResponse.java b/src/main/java/ru/ulstu/activity/boundary/timetable/model/TimetableResponse.java similarity index 88% rename from src/main/java/ru/ulstu/utils/timetable/model/TimetableResponse.java rename to src/main/java/ru/ulstu/activity/boundary/timetable/model/TimetableResponse.java index 118c979..06fbed6 100644 --- a/src/main/java/ru/ulstu/utils/timetable/model/TimetableResponse.java +++ b/src/main/java/ru/ulstu/activity/boundary/timetable/model/TimetableResponse.java @@ -1,4 +1,4 @@ -package ru.ulstu.utils.timetable.model; +package ru.ulstu.activity.boundary.timetable.model; public class TimetableResponse { private Response response; diff --git a/src/main/java/ru/ulstu/utils/timetable/model/Week.java b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Week.java similarity index 85% rename from src/main/java/ru/ulstu/utils/timetable/model/Week.java rename to src/main/java/ru/ulstu/activity/boundary/timetable/model/Week.java index 8ea76ea..242d783 100644 --- a/src/main/java/ru/ulstu/utils/timetable/model/Week.java +++ b/src/main/java/ru/ulstu/activity/boundary/timetable/model/Week.java @@ -1,4 +1,4 @@ -package ru.ulstu.utils.timetable.model; +package ru.ulstu.activity.boundary.timetable.model; import java.io.Serializable; import java.util.ArrayList; diff --git a/src/main/java/ru/ulstu/boundary/model/AbstractActivity.java b/src/main/java/ru/ulstu/activity/common/model/AbstractActivity.java similarity index 64% rename from src/main/java/ru/ulstu/boundary/model/AbstractActivity.java rename to src/main/java/ru/ulstu/activity/common/model/AbstractActivity.java index 20039de..f4271dc 100644 --- a/src/main/java/ru/ulstu/boundary/model/AbstractActivity.java +++ b/src/main/java/ru/ulstu/activity/common/model/AbstractActivity.java @@ -1,6 +1,9 @@ -package ru.ulstu.boundary.model; +package ru.ulstu.activity.common.model; import ru.ulstu.core.model.BaseEntity; +import ru.ulstu.user.model.User; + +import java.util.Set; public abstract class AbstractActivity extends BaseEntity { private String title; @@ -12,4 +15,6 @@ public abstract class AbstractActivity extends BaseEntity { public void setTitle(String title) { this.title = title; } + + public abstract Set getActivityMembers(); } diff --git a/src/main/java/ru/ulstu/core/model/EventSource.java b/src/main/java/ru/ulstu/activity/common/model/EventSource.java similarity index 62% rename from src/main/java/ru/ulstu/core/model/EventSource.java rename to src/main/java/ru/ulstu/activity/common/model/EventSource.java index 32ffcf2..ffe8f4d 100644 --- a/src/main/java/ru/ulstu/core/model/EventSource.java +++ b/src/main/java/ru/ulstu/activity/common/model/EventSource.java @@ -1,7 +1,7 @@ -package ru.ulstu.core.model; +package ru.ulstu.activity.common.model; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.timeline.model.Event; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.user.model.User; import java.util.List; diff --git a/src/main/java/ru/ulstu/boundary/model/ScienceGroupMemberDto.java b/src/main/java/ru/ulstu/activity/common/model/ScienceGroupMemberDto.java similarity index 82% rename from src/main/java/ru/ulstu/boundary/model/ScienceGroupMemberDto.java rename to src/main/java/ru/ulstu/activity/common/model/ScienceGroupMemberDto.java index 25ccdae..694b837 100644 --- a/src/main/java/ru/ulstu/boundary/model/ScienceGroupMemberDto.java +++ b/src/main/java/ru/ulstu/activity/common/model/ScienceGroupMemberDto.java @@ -1,7 +1,8 @@ -package ru.ulstu.boundary.model; +package ru.ulstu.activity.common.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; +import ru.ulstu.activity.conference.model.ConferenceUser; import ru.ulstu.user.model.User; import javax.validation.constraints.NotBlank; @@ -34,6 +35,13 @@ public class ScienceGroupMemberDto { this.lastName = user.getLastName(); } + public ScienceGroupMemberDto(ConferenceUser conferenceUser) { + User user = conferenceUser.getUser(); + this.id = user.getId(); + this.firstName = user.getFirstName(); + this.lastName = user.getLastName(); + } + public String getFirstName() { return firstName; } diff --git a/src/main/java/ru/ulstu/boundary/service/AbstractActivityService.java b/src/main/java/ru/ulstu/activity/common/service/AbstractActivityService.java similarity index 51% rename from src/main/java/ru/ulstu/boundary/service/AbstractActivityService.java rename to src/main/java/ru/ulstu/activity/common/service/AbstractActivityService.java index 9c4af80..d964822 100644 --- a/src/main/java/ru/ulstu/boundary/service/AbstractActivityService.java +++ b/src/main/java/ru/ulstu/activity/common/service/AbstractActivityService.java @@ -1,13 +1,16 @@ -package ru.ulstu.boundary.service; +package ru.ulstu.activity.common.service; -import ru.ulstu.boundary.model.AbstractActivity; -import ru.ulstu.boundary.model.ActivityDto; -import ru.ulstu.boundary.model.ActivityListDto; +import ru.ulstu.activity.api.ActivityRepository; +import ru.ulstu.activity.api.model.ActivityDto; +import ru.ulstu.activity.api.model.ActivityListDto; +import ru.ulstu.activity.common.model.AbstractActivity; import ru.ulstu.core.model.response.PageableItems; import static ru.ulstu.core.util.StreamApiUtils.convertPageable; -public abstract class AbstractActivityService { +public abstract class AbstractActivityService { + + protected ActivityRepository activityRepository; public abstract T create(T entity); @@ -26,4 +29,8 @@ public abstract class AbstractActivityService { +public abstract class EntityCreateStrategy { protected abstract List getActiveEntities(); protected abstract void createEntity(User user); - private void createDefaultEntityIfNeed(List allUsers, List entities) { + private void createDefaultEntityIfNeed(List allUsers, List entities) { allUsers.forEach(user -> { if (entities .stream() - .filter(entity -> entity.getActivityUsers().contains(user)) + .filter(entity -> entity.getActivityMembers().contains(user)) .collect(Collectors.toSet()).isEmpty()) { createEntity(user); } diff --git a/src/main/java/ru/ulstu/strategy/api/StrategyEntityCreateExecutor.java b/src/main/java/ru/ulstu/activity/common/strategy/api/StrategyEntityCreateExecutor.java similarity index 94% rename from src/main/java/ru/ulstu/strategy/api/StrategyEntityCreateExecutor.java rename to src/main/java/ru/ulstu/activity/common/strategy/api/StrategyEntityCreateExecutor.java index c3d4d95..0ca34d5 100644 --- a/src/main/java/ru/ulstu/strategy/api/StrategyEntityCreateExecutor.java +++ b/src/main/java/ru/ulstu/activity/common/strategy/api/StrategyEntityCreateExecutor.java @@ -1,4 +1,4 @@ -package ru.ulstu.strategy.api; +package ru.ulstu.activity.common.strategy.api; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; diff --git a/src/main/java/ru/ulstu/conference/model/Conference.java b/src/main/java/ru/ulstu/activity/conference/model/Conference.java similarity index 88% rename from src/main/java/ru/ulstu/conference/model/Conference.java rename to src/main/java/ru/ulstu/activity/conference/model/Conference.java index d11901f..a0e61ef 100644 --- a/src/main/java/ru/ulstu/conference/model/Conference.java +++ b/src/main/java/ru/ulstu/activity/conference/model/Conference.java @@ -1,14 +1,13 @@ -package ru.ulstu.conference.model; +package ru.ulstu.activity.conference.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; import org.springframework.format.annotation.DateTimeFormat; -import ru.ulstu.core.model.BaseEntity; -import ru.ulstu.core.model.EventSource; -import ru.ulstu.core.model.UserActivity; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.timeline.model.Event; +import ru.ulstu.activity.common.model.AbstractActivity; +import ru.ulstu.activity.common.model.EventSource; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.user.model.User; import javax.persistence.CascadeType; @@ -36,7 +35,7 @@ import java.util.stream.Collectors; @Entity @Table(name = "conference") @DiscriminatorValue("CONFERENCE") -public class Conference extends BaseEntity implements UserActivity, EventSource { +public class Conference extends AbstractActivity implements EventSource { @NotBlank private String title; @@ -79,6 +78,10 @@ public class Conference extends BaseEntity implements UserActivity, EventSource return title; } + public void setTitle(String title) { + this.title = title; + } + @Override public List getRecipients() { List list = new ArrayList<>(); @@ -92,10 +95,6 @@ public class Conference extends BaseEntity implements UserActivity, EventSource event.setConference(this); } - public void setTitle(String title) { - this.title = title; - } - public String getDescription() { return description; } @@ -170,7 +169,7 @@ public class Conference extends BaseEntity implements UserActivity, EventSource } @Override - public Set getActivityUsers() { - return getUsers().stream().map(ConferenceUser::getUser).collect(Collectors.toSet()); + public Set getActivityMembers() { + return users.stream().map(conferenceUser -> conferenceUser.getUser()).collect(Collectors.toSet()); } } diff --git a/src/main/java/ru/ulstu/conference/model/ConferenceDto.java b/src/main/java/ru/ulstu/activity/conference/model/ConferenceDto.java similarity index 96% rename from src/main/java/ru/ulstu/conference/model/ConferenceDto.java rename to src/main/java/ru/ulstu/activity/conference/model/ConferenceDto.java index 7246854..f4952e7 100644 --- a/src/main/java/ru/ulstu/conference/model/ConferenceDto.java +++ b/src/main/java/ru/ulstu/activity/conference/model/ConferenceDto.java @@ -1,12 +1,12 @@ -package ru.ulstu.conference.model; +package ru.ulstu.activity.conference.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.springframework.format.annotation.DateTimeFormat; +import ru.ulstu.activity.api.model.ActivityDto; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.paper.model.Paper; import ru.ulstu.core.model.BaseEntity; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.name.NameContainer; -import ru.ulstu.paper.model.Paper; import javax.persistence.Temporal; import javax.persistence.TemporalType; @@ -19,7 +19,7 @@ import java.util.Objects; import static ru.ulstu.core.util.StreamApiUtils.convert; -public class ConferenceDto extends NameContainer { +public class ConferenceDto implements ActivityDto { private final static String BEGIN_DATE = "Начало: "; private final static String END_DATE = "Конец: "; diff --git a/src/main/java/ru/ulstu/conference/model/ConferenceFilterDto.java b/src/main/java/ru/ulstu/activity/conference/model/ConferenceFilterDto.java similarity index 95% rename from src/main/java/ru/ulstu/conference/model/ConferenceFilterDto.java rename to src/main/java/ru/ulstu/activity/conference/model/ConferenceFilterDto.java index 0649901..c1b07b5 100644 --- a/src/main/java/ru/ulstu/conference/model/ConferenceFilterDto.java +++ b/src/main/java/ru/ulstu/activity/conference/model/ConferenceFilterDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.conference.model; +package ru.ulstu.activity.conference.model; import java.util.List; diff --git a/src/main/java/ru/ulstu/activity/conference/model/ConferenceListDto.java b/src/main/java/ru/ulstu/activity/conference/model/ConferenceListDto.java new file mode 100644 index 0000000..d1a6f0a --- /dev/null +++ b/src/main/java/ru/ulstu/activity/conference/model/ConferenceListDto.java @@ -0,0 +1,21 @@ +package ru.ulstu.activity.conference.model; + +import ru.ulstu.activity.api.model.ActivityListDto; +import ru.ulstu.activity.common.model.ScienceGroupMemberDto; + +import java.util.Set; + +import static ru.ulstu.core.util.StreamApiUtils.convert; + +public class ConferenceListDto extends ActivityListDto { + private final Set members; + + public ConferenceListDto(Conference conference) { + super(conference.getId(), conference.getTitle()); + this.members = convert(conference.getActivityMembers(), ScienceGroupMemberDto::new); + } + + public Set getAuthors() { + return members; + } +} diff --git a/src/main/java/ru/ulstu/conference/model/ConferenceUser.java b/src/main/java/ru/ulstu/activity/conference/model/ConferenceUser.java similarity index 98% rename from src/main/java/ru/ulstu/conference/model/ConferenceUser.java rename to src/main/java/ru/ulstu/activity/conference/model/ConferenceUser.java index f00b9fa..057ff9e 100644 --- a/src/main/java/ru/ulstu/conference/model/ConferenceUser.java +++ b/src/main/java/ru/ulstu/activity/conference/model/ConferenceUser.java @@ -1,4 +1,4 @@ -package ru.ulstu.conference.model; +package ru.ulstu.activity.conference.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/ru/ulstu/conference/repository/ConferenceRepository.java b/src/main/java/ru/ulstu/activity/conference/repository/ConferenceRepository.java similarity index 89% rename from src/main/java/ru/ulstu/conference/repository/ConferenceRepository.java rename to src/main/java/ru/ulstu/activity/conference/repository/ConferenceRepository.java index 8f9e05f..2fd5243 100644 --- a/src/main/java/ru/ulstu/conference/repository/ConferenceRepository.java +++ b/src/main/java/ru/ulstu/activity/conference/repository/ConferenceRepository.java @@ -1,17 +1,17 @@ -package ru.ulstu.conference.repository; +package ru.ulstu.activity.conference.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.name.BaseRepository; +import ru.ulstu.activity.api.ActivityRepository; +import ru.ulstu.activity.conference.model.Conference; import ru.ulstu.user.model.User; import java.util.Date; import java.util.List; -public interface ConferenceRepository extends JpaRepository, BaseRepository { +public interface ConferenceRepository extends JpaRepository, ActivityRepository { @Query("SELECT c FROM Conference c LEFT JOIN c.users u WHERE (:user IS NULL OR u.user = :user) " + "AND (YEAR(c.beginDate) = :year OR :year IS NULL) ORDER BY begin_date DESC") List findByUserAndYear(@Param("user") User user, @Param("year") Integer year); diff --git a/src/main/java/ru/ulstu/conference/repository/ConferenceUserRepository.java b/src/main/java/ru/ulstu/activity/conference/repository/ConferenceUserRepository.java similarity index 59% rename from src/main/java/ru/ulstu/conference/repository/ConferenceUserRepository.java rename to src/main/java/ru/ulstu/activity/conference/repository/ConferenceUserRepository.java index 5e654d5..252f52c 100644 --- a/src/main/java/ru/ulstu/conference/repository/ConferenceUserRepository.java +++ b/src/main/java/ru/ulstu/activity/conference/repository/ConferenceUserRepository.java @@ -1,7 +1,7 @@ -package ru.ulstu.conference.repository; +package ru.ulstu.activity.conference.repository; import org.springframework.data.jpa.repository.JpaRepository; -import ru.ulstu.conference.model.ConferenceUser; +import ru.ulstu.activity.conference.model.ConferenceUser; public interface ConferenceUserRepository extends JpaRepository { } diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceNotificationService.java b/src/main/java/ru/ulstu/activity/conference/service/ConferenceNotificationService.java similarity index 97% rename from src/main/java/ru/ulstu/conference/service/ConferenceNotificationService.java rename to src/main/java/ru/ulstu/activity/conference/service/ConferenceNotificationService.java index 961d369..db3a056 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceNotificationService.java +++ b/src/main/java/ru/ulstu/activity/conference/service/ConferenceNotificationService.java @@ -1,10 +1,10 @@ -package ru.ulstu.conference.service; +package ru.ulstu.activity.conference.service; import com.google.common.collect.ImmutableMap; import org.springframework.stereotype.Service; -import ru.ulstu.conference.model.Conference; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.ping.service.PingService; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.ping.service.PingService; import ru.ulstu.user.service.MailService; import ru.ulstu.user.service.UserService; diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceScheduler.java b/src/main/java/ru/ulstu/activity/conference/service/ConferenceScheduler.java similarity index 83% rename from src/main/java/ru/ulstu/conference/service/ConferenceScheduler.java rename to src/main/java/ru/ulstu/activity/conference/service/ConferenceScheduler.java index 6f8fe90..2d8df65 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceScheduler.java +++ b/src/main/java/ru/ulstu/activity/conference/service/ConferenceScheduler.java @@ -1,10 +1,12 @@ -package ru.ulstu.conference.service; +package ru.ulstu.activity.conference.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import java.util.stream.Collectors; + @Service public class ConferenceScheduler { private final static boolean IS_DEADLINE_NOTIFICATION_BEFORE_WEEK = true; @@ -24,14 +26,16 @@ public class ConferenceScheduler { @Scheduled(cron = "0 0 8 * * MON", zone = "Europe/Samara") public void checkDeadlineBeforeWeek() { log.debug("ConferenceScheduler.checkDeadlineBeforeWeek started"); - conferenceNotificationService.sendDeadlineNotifications(conferenceService.findAll()); + conferenceNotificationService.sendDeadlineNotifications(conferenceService.findAll(0, 100) + .getItems().stream().collect(Collectors.toList())); log.debug("ConferenceScheduler.checkDeadlineBeforeWeek finished"); } @Scheduled(cron = "0 0 8 * * *", zone = "Europe/Samara") public void checkNewPing() { log.debug("ConferenceScheduler.checkPing started"); - conferenceNotificationService.sendPingNotifications(conferenceService.findAll()); + conferenceNotificationService.sendPingNotifications(conferenceService.findAll(0, 100) + .getItems().stream().collect(Collectors.toList())); log.debug("ConferenceScheduler.checkPing finished"); } } diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceService.java b/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java similarity index 80% rename from src/main/java/ru/ulstu/conference/service/ConferenceService.java rename to src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java index 470e712..11c98f5 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceService.java +++ b/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java @@ -1,23 +1,25 @@ -package ru.ulstu.conference.service; +package ru.ulstu.activity.conference.service; -import org.apache.commons.lang3.StringUtils; -import org.springframework.data.domain.Sort; +import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.ui.ModelMap; import org.springframework.validation.Errors; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.conference.model.ConferenceDto; -import ru.ulstu.conference.model.ConferenceFilterDto; -import ru.ulstu.conference.model.ConferenceUser; -import ru.ulstu.conference.repository.ConferenceRepository; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.name.BaseService; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.paper.service.PaperService; -import ru.ulstu.ping.service.PingService; -import ru.ulstu.timeline.service.EventService; +import ru.ulstu.activity.common.service.AbstractActivityService; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.conference.model.ConferenceDto; +import ru.ulstu.activity.conference.model.ConferenceFilterDto; +import ru.ulstu.activity.conference.model.ConferenceListDto; +import ru.ulstu.activity.conference.model.ConferenceUser; +import ru.ulstu.activity.conference.repository.ConferenceRepository; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.paper.service.PaperService; +import ru.ulstu.activity.ping.service.PingService; +import ru.ulstu.activity.timeline.service.EventService; +import ru.ulstu.core.jpa.OffsetablePageRequest; +import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; @@ -33,8 +35,7 @@ import static org.springframework.util.ObjectUtils.isEmpty; import static ru.ulstu.core.util.StreamApiUtils.convert; @Service -public class ConferenceService extends BaseService { - private final static int MAX_DISPLAY_SIZE = 40; +public class ConferenceService extends AbstractActivityService { private final ConferenceRepository conferenceRepository; private final ConferenceUserService conferenceUserService; @@ -53,7 +54,7 @@ public class ConferenceService extends BaseService { PingService pingService, ConferenceNotificationService conferenceNotificationService, EventService eventService) { - this.baseRepository = conferenceRepository; + this.activityRepository = conferenceRepository; this.conferenceRepository = conferenceRepository; this.conferenceUserService = conferenceUserService; this.deadlineService = deadlineService; @@ -77,28 +78,18 @@ public class ConferenceService extends BaseService { return conferenceDto; } - - public List findAll() { - return conferenceRepository.findAll(new Sort(Sort.Direction.DESC, "beginDate")); - } - - public List findAllDto() { - List conferences = convert(findAll(), ConferenceDto::new); - conferences.forEach(conferenceDto -> conferenceDto.setTitle(StringUtils.abbreviate(conferenceDto.getTitle(), MAX_DISPLAY_SIZE))); - return conferences; + public PageableItems findAll(int offset, int count) { + final Page page = conferenceRepository.findAll(new OffsetablePageRequest(offset, count)); + return new PageableItems<>(page.getTotalElements(), page.getContent()); } public boolean save(ConferenceDto conferenceDto, Errors errors) throws IOException { - conferenceDto.setName(conferenceDto.getTitle()); + conferenceDto.setTitle(conferenceDto.getTitle()); filterEmptyDeadlines(conferenceDto); checkEmptyFieldsOfDeadline(conferenceDto, errors); checkEmptyFieldsOfDates(conferenceDto, errors); - checkUniqueName(conferenceDto, - errors, - conferenceDto.getId(), - "Конференция с таким именем уже существует"); - if (errors.hasErrors()) { - return false; + if (!checkUniqueName(conferenceDto.getTitle(), conferenceDto.getId())) { + throw new RuntimeException("Название не уникально"); } if (isEmpty(conferenceDto.getId())) { @@ -111,29 +102,51 @@ public class ConferenceService extends BaseService { } @Transactional - public Conference create(ConferenceDto conferenceDto) throws IOException { - Conference newConference = copyFromDto(new Conference(), conferenceDto); - newConference = conferenceRepository.save(newConference); - conferenceNotificationService.sendCreateNotification(newConference); - eventService.createFromObject(newConference, Collections.emptyList(), false, "конференции"); - return newConference; + @Override + public ConferenceDto create(ConferenceDto conferenceDto) { + Conference newConference; + try { + newConference = copyFromDto(new Conference(), conferenceDto); + } catch (IOException e) { + throw new RuntimeException(e); + } + return new ConferenceDto(create(newConference)); + } + + @Transactional + @Override + public Conference create(Conference conference) { + conference = conferenceRepository.save(conference); + conferenceNotificationService.sendCreateNotification(conference); + eventService.createFromObject(conference, Collections.emptyList(), false, "конференции"); + return conference; } @Transactional - private Conference update(ConferenceDto conferenceDto) throws IOException { + @Override + public ConferenceDto update(ConferenceDto conferenceDto) { Conference conference = conferenceRepository.getOne(conferenceDto.getId()); + try { + conferenceRepository.save(copyFromDto(conference, conferenceDto)); + } catch (IOException e) { + throw new RuntimeException(e); + } + return new ConferenceDto(update(conference)); + } + + @Transactional + @Override + public Conference update(Conference conference) { List oldDeadlines = conference.getDeadlines().stream() .map(this::copyDeadline) .collect(Collectors.toList()); Date oldBeginDate = conference.getBeginDate(); Date oldEndDate = conference.getEndDate(); - conferenceRepository.save(copyFromDto(conference, conferenceDto)); eventService.updateConferenceDeadlines(conference); sendNotificationAfterUpdateDeadlines(conference, oldDeadlines); if (!conference.getBeginDate().equals(oldBeginDate) || !conference.getEndDate().equals(oldEndDate)) { conferenceNotificationService.updateConferencesDatesNotification(conference, oldBeginDate, oldEndDate); } - conferenceDto.getRemovedDeadlineIds().forEach(deadlineService::remove); return conference; } @@ -147,6 +160,11 @@ public class ConferenceService extends BaseService { return false; } + @Override + protected ConferenceListDto getActivityListDto(Conference entity) { + return new ConferenceListDto(entity); + } + public ConferenceDto addDeadline(ConferenceDto conferenceDto) { conferenceDto.getDeadlines().add(new Deadline()); return conferenceDto; diff --git a/src/main/java/ru/ulstu/conference/service/ConferenceUserService.java b/src/main/java/ru/ulstu/activity/conference/service/ConferenceUserService.java similarity index 89% rename from src/main/java/ru/ulstu/conference/service/ConferenceUserService.java rename to src/main/java/ru/ulstu/activity/conference/service/ConferenceUserService.java index 01d02d6..c9b5742 100644 --- a/src/main/java/ru/ulstu/conference/service/ConferenceUserService.java +++ b/src/main/java/ru/ulstu/activity/conference/service/ConferenceUserService.java @@ -1,9 +1,9 @@ -package ru.ulstu.conference.service; +package ru.ulstu.activity.conference.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ru.ulstu.conference.model.ConferenceUser; -import ru.ulstu.conference.repository.ConferenceUserRepository; +import ru.ulstu.activity.conference.model.ConferenceUser; +import ru.ulstu.activity.conference.repository.ConferenceUserRepository; import java.util.List; import java.util.stream.Collectors; diff --git a/src/main/java/ru/ulstu/deadline/model/Deadline.java b/src/main/java/ru/ulstu/activity/deadline/model/Deadline.java similarity index 98% rename from src/main/java/ru/ulstu/deadline/model/Deadline.java rename to src/main/java/ru/ulstu/activity/deadline/model/Deadline.java index 30ff96c..d68ed5a 100644 --- a/src/main/java/ru/ulstu/deadline/model/Deadline.java +++ b/src/main/java/ru/ulstu/activity/deadline/model/Deadline.java @@ -1,4 +1,4 @@ -package ru.ulstu.deadline.model; +package ru.ulstu.activity.deadline.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/ru/ulstu/deadline/repository/DeadlineRepository.java b/src/main/java/ru/ulstu/activity/deadline/repository/DeadlineRepository.java similarity index 82% rename from src/main/java/ru/ulstu/deadline/repository/DeadlineRepository.java rename to src/main/java/ru/ulstu/activity/deadline/repository/DeadlineRepository.java index 652f01d..87829f6 100644 --- a/src/main/java/ru/ulstu/deadline/repository/DeadlineRepository.java +++ b/src/main/java/ru/ulstu/activity/deadline/repository/DeadlineRepository.java @@ -1,10 +1,10 @@ -package ru.ulstu.deadline.repository; +package ru.ulstu.activity.deadline.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -import ru.ulstu.deadline.model.Deadline; +import ru.ulstu.activity.deadline.model.Deadline; import java.util.Date; diff --git a/src/main/java/ru/ulstu/deadline/service/DeadlineService.java b/src/main/java/ru/ulstu/activity/deadline/service/DeadlineService.java similarity index 90% rename from src/main/java/ru/ulstu/deadline/service/DeadlineService.java rename to src/main/java/ru/ulstu/activity/deadline/service/DeadlineService.java index 28415e2..a3488e8 100644 --- a/src/main/java/ru/ulstu/deadline/service/DeadlineService.java +++ b/src/main/java/ru/ulstu/activity/deadline/service/DeadlineService.java @@ -1,9 +1,9 @@ -package ru.ulstu.deadline.service; +package ru.ulstu.activity.deadline.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.repository.DeadlineRepository; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.repository.DeadlineRepository; import java.util.Date; import java.util.List; diff --git a/src/main/java/ru/ulstu/file/FileController.java b/src/main/java/ru/ulstu/activity/file/FileController.java similarity index 92% rename from src/main/java/ru/ulstu/file/FileController.java rename to src/main/java/ru/ulstu/activity/file/FileController.java index 02421aa..82ffb82 100644 --- a/src/main/java/ru/ulstu/file/FileController.java +++ b/src/main/java/ru/ulstu/activity/file/FileController.java @@ -1,4 +1,4 @@ -package ru.ulstu.file; +package ru.ulstu.activity.file; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; @@ -10,11 +10,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; +import ru.ulstu.activity.file.model.FileData; +import ru.ulstu.activity.file.model.FileDataDto; +import ru.ulstu.activity.file.service.FileService; import ru.ulstu.configuration.Constants; import ru.ulstu.core.model.response.Response; -import ru.ulstu.file.model.FileData; -import ru.ulstu.file.model.FileDataDto; -import ru.ulstu.file.service.FileService; import java.io.IOException; import java.io.UnsupportedEncodingException; diff --git a/src/main/java/ru/ulstu/file/model/FileData.java b/src/main/java/ru/ulstu/activity/file/model/FileData.java similarity index 96% rename from src/main/java/ru/ulstu/file/model/FileData.java rename to src/main/java/ru/ulstu/activity/file/model/FileData.java index 3f97130..2177f58 100644 --- a/src/main/java/ru/ulstu/file/model/FileData.java +++ b/src/main/java/ru/ulstu/activity/file/model/FileData.java @@ -1,4 +1,4 @@ -package ru.ulstu.file.model; +package ru.ulstu.activity.file.model; import ru.ulstu.core.model.BaseEntity; diff --git a/src/main/java/ru/ulstu/file/model/FileDataDto.java b/src/main/java/ru/ulstu/activity/file/model/FileDataDto.java similarity index 98% rename from src/main/java/ru/ulstu/file/model/FileDataDto.java rename to src/main/java/ru/ulstu/activity/file/model/FileDataDto.java index e83bf12..853e536 100644 --- a/src/main/java/ru/ulstu/file/model/FileDataDto.java +++ b/src/main/java/ru/ulstu/activity/file/model/FileDataDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.file.model; +package ru.ulstu.activity.file.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/ru/ulstu/file/repostory/FileRepository.java b/src/main/java/ru/ulstu/activity/file/repostory/FileRepository.java similarity index 61% rename from src/main/java/ru/ulstu/file/repostory/FileRepository.java rename to src/main/java/ru/ulstu/activity/file/repostory/FileRepository.java index 7399239..9738a6d 100644 --- a/src/main/java/ru/ulstu/file/repostory/FileRepository.java +++ b/src/main/java/ru/ulstu/activity/file/repostory/FileRepository.java @@ -1,7 +1,7 @@ -package ru.ulstu.file.repostory; +package ru.ulstu.activity.file.repostory; import org.springframework.data.jpa.repository.JpaRepository; -import ru.ulstu.file.model.FileData; +import ru.ulstu.activity.file.model.FileData; public interface FileRepository extends JpaRepository { } diff --git a/src/main/java/ru/ulstu/file/service/FileService.java b/src/main/java/ru/ulstu/activity/file/service/FileService.java similarity index 95% rename from src/main/java/ru/ulstu/file/service/FileService.java rename to src/main/java/ru/ulstu/activity/file/service/FileService.java index c7d7dc2..d071ddf 100644 --- a/src/main/java/ru/ulstu/file/service/FileService.java +++ b/src/main/java/ru/ulstu/activity/file/service/FileService.java @@ -1,12 +1,12 @@ -package ru.ulstu.file.service; +package ru.ulstu.activity.file.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import ru.ulstu.file.model.FileData; -import ru.ulstu.file.model.FileDataDto; -import ru.ulstu.file.repostory.FileRepository; -import ru.ulstu.paper.model.PaperDto; +import ru.ulstu.activity.file.model.FileData; +import ru.ulstu.activity.file.model.FileDataDto; +import ru.ulstu.activity.file.repostory.FileRepository; +import ru.ulstu.activity.paper.model.PaperDto; import java.io.BufferedWriter; import java.io.File; diff --git a/src/main/java/ru/ulstu/grant/controller/GrantRestController.java b/src/main/java/ru/ulstu/activity/grant/controller/GrantRestController.java similarity index 87% rename from src/main/java/ru/ulstu/grant/controller/GrantRestController.java rename to src/main/java/ru/ulstu/activity/grant/controller/GrantRestController.java index c965471..b5faf66 100644 --- a/src/main/java/ru/ulstu/grant/controller/GrantRestController.java +++ b/src/main/java/ru/ulstu/activity/grant/controller/GrantRestController.java @@ -1,10 +1,10 @@ -package ru.ulstu.grant.controller; +package ru.ulstu.activity.grant.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import ru.ulstu.activity.grant.service.GrantService; import ru.ulstu.configuration.Constants; -import ru.ulstu.grant.service.GrantService; import java.io.IOException; import java.text.ParseException; diff --git a/src/main/java/ru/ulstu/grant/model/Grant.java b/src/main/java/ru/ulstu/activity/grant/model/Grant.java similarity index 90% rename from src/main/java/ru/ulstu/grant/model/Grant.java rename to src/main/java/ru/ulstu/activity/grant/model/Grant.java index 0d16f77..1471eee 100644 --- a/src/main/java/ru/ulstu/grant/model/Grant.java +++ b/src/main/java/ru/ulstu/activity/grant/model/Grant.java @@ -1,15 +1,14 @@ -package ru.ulstu.grant.model; +package ru.ulstu.activity.grant.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import ru.ulstu.core.model.BaseEntity; -import ru.ulstu.core.model.EventSource; -import ru.ulstu.core.model.UserActivity; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.file.model.FileData; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.project.model.Project; -import ru.ulstu.timeline.model.Event; +import ru.ulstu.activity.common.model.AbstractActivity; +import ru.ulstu.activity.common.model.EventSource; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.file.model.FileData; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.project.model.Project; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.user.model.User; import javax.persistence.CascadeType; @@ -39,7 +38,7 @@ import java.util.Set; @Entity @Table(name = "grants") @DiscriminatorValue("GRANT") -public class Grant extends BaseEntity implements UserActivity, EventSource { +public class Grant extends AbstractActivity implements EventSource { public enum GrantStatus { APPLICATION("Заявка"), ON_COMPETITION("Отправлен на конкурс"), @@ -138,6 +137,10 @@ public class Grant extends BaseEntity implements UserActivity, EventSource { return title; } + public void setTitle(String title) { + this.title = title; + } + @Override public List getRecipients() { return authors != null ? new ArrayList<>(authors) : Collections.emptyList(); @@ -148,10 +151,6 @@ public class Grant extends BaseEntity implements UserActivity, EventSource { event.setGrant(this); } - public void setTitle(String title) { - this.title = title; - } - public Project getProject() { return project; } @@ -169,8 +168,8 @@ public class Grant extends BaseEntity implements UserActivity, EventSource { } @Override - public Set getActivityUsers() { - return getAuthors(); + public Set getActivityMembers() { + return authors; } public User getLeader() { diff --git a/src/main/java/ru/ulstu/grant/model/GrantDto.java b/src/main/java/ru/ulstu/activity/grant/model/GrantDto.java similarity index 88% rename from src/main/java/ru/ulstu/grant/model/GrantDto.java rename to src/main/java/ru/ulstu/activity/grant/model/GrantDto.java index 541dae8..a541a3f 100644 --- a/src/main/java/ru/ulstu/grant/model/GrantDto.java +++ b/src/main/java/ru/ulstu/activity/grant/model/GrantDto.java @@ -1,14 +1,14 @@ -package ru.ulstu.grant.model; +package ru.ulstu.activity.grant.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.StringUtils; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.file.model.FileDataDto; -import ru.ulstu.name.NameContainer; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.project.model.ProjectDto; -import ru.ulstu.user.model.UserDto; +import ru.ulstu.activity.api.model.ActivityDto; +import ru.ulstu.activity.common.model.ScienceGroupMemberDto; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.file.model.FileDataDto; +import ru.ulstu.activity.paper.model.PaperDto; +import ru.ulstu.activity.project.model.ProjectDto; import javax.validation.constraints.NotEmpty; import java.util.ArrayList; @@ -19,7 +19,7 @@ import java.util.stream.Collectors; import static ru.ulstu.core.util.StreamApiUtils.convert; -public class GrantDto extends NameContainer { +public class GrantDto implements ActivityDto { private final static int MAX_AUTHORS_LENGTH = 60; private Integer id; @@ -31,7 +31,7 @@ public class GrantDto extends NameContainer { private List files = new ArrayList<>(); private ProjectDto project; private Set authorIds; - private Set authors; + private Set members; private Integer leaderId; private boolean wasLeader; private boolean hasAge; @@ -55,7 +55,7 @@ public class GrantDto extends NameContainer { @JsonProperty("files") List files, @JsonProperty("project") ProjectDto project, @JsonProperty("authorIds") Set authorIds, - @JsonProperty("authors") Set authors, + @JsonProperty("members") Set members, @JsonProperty("leaderId") Integer leaderId, @JsonProperty("wasLeader") boolean wasLeader, @JsonProperty("hasAge") boolean hasAge, @@ -70,7 +70,7 @@ public class GrantDto extends NameContainer { this.files = files; this.project = project; this.authorIds = authorIds; - this.authors = authors; + this.members = members; this.leaderId = leaderId; this.wasLeader = wasLeader; this.hasAge = hasAge; @@ -88,7 +88,7 @@ public class GrantDto extends NameContainer { this.files = convert(grant.getFiles(), FileDataDto::new); this.project = grant.getProject() == null ? null : new ProjectDto(grant.getProject()); this.authorIds = convert(grant.getAuthors(), user -> user.getId()); - this.authors = convert(grant.getAuthors(), UserDto::new); + this.members = convert(grant.getAuthors(), ScienceGroupMemberDto::new); this.leaderId = grant.getLeader().getId(); this.wasLeader = false; this.hasAge = false; @@ -167,16 +167,16 @@ public class GrantDto extends NameContainer { this.authorIds = authorIds; } - public Set getAuthors() { - return authors; + public Set getMembers() { + return members; } - public void setAuthors(Set authors) { - this.authors = authors; + public void setMembers(Set members) { + this.members = members; } public String getAuthorsString() { - return StringUtils.abbreviate(authors + return StringUtils.abbreviate(members .stream() .map(author -> author.getLastName()) .collect(Collectors.joining(", ")), MAX_AUTHORS_LENGTH); diff --git a/src/main/java/ru/ulstu/activity/grant/model/GrantListDto.java b/src/main/java/ru/ulstu/activity/grant/model/GrantListDto.java new file mode 100644 index 0000000..237b572 --- /dev/null +++ b/src/main/java/ru/ulstu/activity/grant/model/GrantListDto.java @@ -0,0 +1,28 @@ +package ru.ulstu.activity.grant.model; + +import ru.ulstu.activity.api.model.ActivityListDto; +import ru.ulstu.activity.common.model.ScienceGroupMemberDto; + +import java.util.Set; + +import static ru.ulstu.core.util.StreamApiUtils.convert; + +public class GrantListDto extends ActivityListDto { + + private final Grant.GrantStatus status; + private final Set members; + + public GrantListDto(Grant grant) { + super(grant.getId(), grant.getTitle()); + this.status = grant.getStatus(); + this.members = convert(grant.getActivityMembers(), ScienceGroupMemberDto::new); + } + + public Grant.GrantStatus getStatus() { + return status; + } + + public Set getAuthors() { + return members; + } +} \ No newline at end of file diff --git a/src/main/java/ru/ulstu/grant/page/KiasPage.java b/src/main/java/ru/ulstu/activity/grant/page/KiasPage.java similarity index 97% rename from src/main/java/ru/ulstu/grant/page/KiasPage.java rename to src/main/java/ru/ulstu/activity/grant/page/KiasPage.java index 49d54a0..ef152d6 100644 --- a/src/main/java/ru/ulstu/grant/page/KiasPage.java +++ b/src/main/java/ru/ulstu/activity/grant/page/KiasPage.java @@ -1,4 +1,4 @@ -package ru.ulstu.grant.page; +package ru.ulstu.activity.grant.page; import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlElement; diff --git a/src/main/java/ru/ulstu/grant/repository/GrantRepository.java b/src/main/java/ru/ulstu/activity/grant/repository/GrantRepository.java similarity index 81% rename from src/main/java/ru/ulstu/grant/repository/GrantRepository.java rename to src/main/java/ru/ulstu/activity/grant/repository/GrantRepository.java index 50fad13..b7add49 100644 --- a/src/main/java/ru/ulstu/grant/repository/GrantRepository.java +++ b/src/main/java/ru/ulstu/activity/grant/repository/GrantRepository.java @@ -1,14 +1,14 @@ -package ru.ulstu.grant.repository; +package ru.ulstu.activity.grant.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.name.BaseRepository; +import ru.ulstu.activity.api.ActivityRepository; +import ru.ulstu.activity.grant.model.Grant; import java.util.List; -public interface GrantRepository extends JpaRepository, BaseRepository { +public interface GrantRepository extends JpaRepository, ActivityRepository { List findByStatus(Grant.GrantStatus status); diff --git a/src/main/java/ru/ulstu/grant/service/GrantNotificationService.java b/src/main/java/ru/ulstu/activity/grant/service/GrantNotificationService.java similarity index 97% rename from src/main/java/ru/ulstu/grant/service/GrantNotificationService.java rename to src/main/java/ru/ulstu/activity/grant/service/GrantNotificationService.java index 677b38f..affe2a7 100644 --- a/src/main/java/ru/ulstu/grant/service/GrantNotificationService.java +++ b/src/main/java/ru/ulstu/activity/grant/service/GrantNotificationService.java @@ -1,9 +1,9 @@ -package ru.ulstu.grant.service; +package ru.ulstu.activity.grant.service; import com.google.common.collect.ImmutableMap; import org.springframework.stereotype.Service; +import ru.ulstu.activity.grant.model.Grant; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.grant.model.Grant; import ru.ulstu.user.model.User; import ru.ulstu.user.service.MailService; diff --git a/src/main/java/ru/ulstu/grant/service/GrantScheduler.java b/src/main/java/ru/ulstu/activity/grant/service/GrantScheduler.java similarity index 97% rename from src/main/java/ru/ulstu/grant/service/GrantScheduler.java rename to src/main/java/ru/ulstu/activity/grant/service/GrantScheduler.java index d026911..9c93706 100644 --- a/src/main/java/ru/ulstu/grant/service/GrantScheduler.java +++ b/src/main/java/ru/ulstu/activity/grant/service/GrantScheduler.java @@ -1,4 +1,4 @@ -package ru.ulstu.grant.service; +package ru.ulstu.activity.grant.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/ru/ulstu/grant/service/GrantService.java b/src/main/java/ru/ulstu/activity/grant/service/GrantService.java similarity index 80% rename from src/main/java/ru/ulstu/grant/service/GrantService.java rename to src/main/java/ru/ulstu/activity/grant/service/GrantService.java index 28d3f8c..19ca532 100644 --- a/src/main/java/ru/ulstu/grant/service/GrantService.java +++ b/src/main/java/ru/ulstu/activity/grant/service/GrantService.java @@ -1,27 +1,30 @@ -package ru.ulstu.grant.service; +package ru.ulstu.activity.grant.service; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.Errors; +import ru.ulstu.activity.common.service.AbstractActivityService; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.file.service.FileService; +import ru.ulstu.activity.grant.model.Grant; +import ru.ulstu.activity.grant.model.GrantDto; +import ru.ulstu.activity.grant.model.GrantListDto; +import ru.ulstu.activity.grant.repository.GrantRepository; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.paper.model.PaperDto; +import ru.ulstu.activity.paper.service.PaperService; +import ru.ulstu.activity.ping.service.PingService; +import ru.ulstu.activity.project.model.ProjectDto; +import ru.ulstu.activity.project.service.ProjectService; +import ru.ulstu.activity.timeline.service.EventService; +import ru.ulstu.core.jpa.OffsetablePageRequest; +import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.file.model.FileDataDto; -import ru.ulstu.file.service.FileService; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.grant.repository.GrantRepository; -import ru.ulstu.name.BaseService; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.paper.service.PaperService; -import ru.ulstu.ping.service.PingService; -import ru.ulstu.project.model.ProjectDto; -import ru.ulstu.project.service.ProjectService; -import ru.ulstu.timeline.service.EventService; import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; @@ -37,11 +40,11 @@ import java.util.stream.Collectors; import static java.util.stream.Collectors.toList; import static org.springframework.util.ObjectUtils.isEmpty; +import static ru.ulstu.activity.grant.model.Grant.GrantStatus.APPLICATION; import static ru.ulstu.core.util.StreamApiUtils.convert; -import static ru.ulstu.grant.model.Grant.GrantStatus.APPLICATION; @Service -public class GrantService extends BaseService { +public class GrantService extends AbstractActivityService { private final Logger log = LoggerFactory.getLogger(GrantService.class); private final GrantRepository grantRepository; @@ -67,7 +70,7 @@ public class GrantService extends BaseService { PingService pingService) { this.grantRepository = grantRepository; this.kiasService = kiasService; - this.baseRepository = grantRepository; + this.activityRepository = grantRepository; this.fileService = fileService; this.deadlineService = deadlineService; this.projectService = projectService; @@ -82,21 +85,65 @@ public class GrantService extends BaseService { return new GrantDto(findById(id)); } - public List findAll() { - return grantRepository.findAll(); + @Override + public PageableItems findAll(int offset, int count) { + final Page page = grantRepository.findAll(new OffsetablePageRequest(offset, count)); + return new PageableItems<>(page.getTotalElements(), page.getContent()); } - public List findAllDto() { - return convert(findAll(), GrantDto::new); + @Override + protected GrantListDto getActivityListDto(Grant entity) { + return new GrantListDto(entity); } @Transactional - public Grant create(GrantDto grantDto) throws IOException { - Grant newGrant = copyFromDto(new Grant(), grantDto); - newGrant = grantRepository.save(newGrant); - eventService.createFromObject(newGrant, Collections.emptyList(), false, "гранта"); - grantNotificationService.sendCreateNotification(newGrant); - return newGrant; + @Override + public GrantDto create(GrantDto grantDto) { + Grant newGrant; + try { + newGrant = copyFromDto(new Grant(), grantDto); + } catch (IOException e) { + throw new RuntimeException(e); + } + return new GrantDto(create(newGrant)); + } + + @Transactional + @Override + public Grant create(Grant grant) { + grant = grantRepository.save(grant); + eventService.createFromObject(grant, Collections.emptyList(), false, "гранта"); + grantNotificationService.sendCreateNotification(grant); + return grant; + } + + @Transactional + @Override + public GrantDto update(GrantDto grantDto) { + Grant grant = findById(grantDto.getId()); + return new GrantDto(update(grant)); + } + + @Transactional + @Override + public Grant update(Grant grant) { + Set oldAuthors = new HashSet<>(grant.getAuthors()); + User oldLeader = grant.getLeader(); + grant.getAuthors().forEach(author -> { + if (!oldAuthors.contains(author)) { + grantNotificationService.sendAuthorsChangeNotification(grant, oldAuthors); + } + }); + oldAuthors.forEach(oldAuthor -> { + if (!grant.getAuthors().contains(oldAuthor)) { + grantNotificationService.sendAuthorsChangeNotification(grant, oldAuthors); + } + }); + if (grant.getLeader() != oldLeader) { + grantNotificationService.sendLeaderChangeNotification(grant, oldLeader); + } + eventService.updateGrantDeadlines(grant); + return grant; } private Grant copyFromDto(Grant grant, GrantDto grantDto) throws IOException { @@ -133,37 +180,7 @@ public class GrantService extends BaseService { } @Transactional - private Integer update(GrantDto grantDto) throws IOException { - Grant grant = findById(grantDto.getId()); - Set oldAuthors = new HashSet<>(grant.getAuthors()); - User oldLeader = grant.getLeader(); - for (FileDataDto file : grantDto.getFiles().stream() - .filter(f -> f.isDeleted() && f.getId() != null) - .collect(toList())) { - fileService.delete(file.getId()); - } - grantDto.getRemovedDeadlineIds().forEach(deadlineService::remove); - grantRepository.save(copyFromDto(grant, grantDto)); - - grant.getAuthors().forEach(author -> { - if (!oldAuthors.contains(author)) { - grantNotificationService.sendAuthorsChangeNotification(grant, oldAuthors); - } - }); - oldAuthors.forEach(oldAuthor -> { - if (!grant.getAuthors().contains(oldAuthor)) { - grantNotificationService.sendAuthorsChangeNotification(grant, oldAuthors); - } - }); - if (grant.getLeader() != oldLeader) { - grantNotificationService.sendLeaderChangeNotification(grant, oldLeader); - } - eventService.updateGrantDeadlines(grant); - return grant.getId(); - } - - @Transactional - public boolean delete(Integer grantId) throws IOException { + public boolean delete(Integer grantId) { Grant grant = findById(grantId); if (grant != null) { grantRepository.delete(grant); @@ -177,11 +194,11 @@ public class GrantService extends BaseService { } public boolean save(GrantDto grantDto, Errors errors) throws IOException { - grantDto.setName(grantDto.getTitle()); + grantDto.setTitle(grantDto.getTitle()); filterEmptyDeadlines(grantDto); checkEmptyDeadlines(grantDto, errors); checkEmptyLeader(grantDto, errors); - checkUniqueName(grantDto, errors, grantDto.getId(), "Грант с таким именем уже существует"); + checkUniqueName(grantDto.getTitle(), grantDto.getId()); if (errors.hasErrors()) { return false; } @@ -194,10 +211,9 @@ public class GrantService extends BaseService { } private boolean saveFromKias(GrantDto grantDto) throws IOException { - grantDto.setName(grantDto.getTitle()); - String title = checkUniqueName(grantDto, grantDto.getId()); //проверка уникальности имени - if (title != null) { - Grant grantFromDB = grantRepository.findByTitle(title); //грант с таким же названием из бд + grantDto.setTitle(grantDto.getTitle()); + if (checkUniqueName(grantDto.getTitle(), grantDto.getId())) { + Grant grantFromDB = grantRepository.findByTitle(grantDto.getTitle()); //грант с таким же названием из бд if (checkSameDeadline(grantDto, grantFromDB.getId())) { //если дедайны тоже совпадают return false; } else { //иначе грант уже был в системе, но в другом году, поэтому надо создать diff --git a/src/main/java/ru/ulstu/grant/service/KiasService.java b/src/main/java/ru/ulstu/activity/grant/service/KiasService.java similarity index 95% rename from src/main/java/ru/ulstu/grant/service/KiasService.java rename to src/main/java/ru/ulstu/activity/grant/service/KiasService.java index dea6f55..66fc6a0 100644 --- a/src/main/java/ru/ulstu/grant/service/KiasService.java +++ b/src/main/java/ru/ulstu/activity/grant/service/KiasService.java @@ -1,12 +1,12 @@ -package ru.ulstu.grant.service; +package ru.ulstu.activity.grant.service; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.DomNode; import com.gargoylesoftware.htmlunit.html.HtmlPage; import org.springframework.stereotype.Service; +import ru.ulstu.activity.grant.model.GrantDto; +import ru.ulstu.activity.grant.page.KiasPage; import ru.ulstu.configuration.ApplicationProperties; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.grant.page.KiasPage; import ru.ulstu.user.service.UserService; import java.io.IOException; diff --git a/src/main/java/ru/ulstu/paper/controller/PaperController.java b/src/main/java/ru/ulstu/activity/paper/controller/PaperController.java similarity index 70% rename from src/main/java/ru/ulstu/paper/controller/PaperController.java rename to src/main/java/ru/ulstu/activity/paper/controller/PaperController.java index 4cea225..0c1816c 100644 --- a/src/main/java/ru/ulstu/paper/controller/PaperController.java +++ b/src/main/java/ru/ulstu/activity/paper/controller/PaperController.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.controller; +package ru.ulstu.activity.paper.controller; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -9,24 +9,24 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import ru.ulstu.activity.api.ActivityController; +import ru.ulstu.activity.paper.model.PaperDashboardDto; +import ru.ulstu.activity.paper.model.PaperDto; +import ru.ulstu.activity.paper.model.PaperListDto; +import ru.ulstu.activity.paper.model.PaperStatusDto; +import ru.ulstu.activity.paper.model.PaperTypeDto; +import ru.ulstu.activity.paper.service.PaperService; import ru.ulstu.configuration.Constants; import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.core.model.response.Response; -import ru.ulstu.paper.model.PaperDashboardDto; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.paper.model.PaperListDto; -import ru.ulstu.paper.model.PaperStatusDto; -import ru.ulstu.paper.model.PaperTypeDto; -import ru.ulstu.paper.service.PaperService; import ru.ulstu.user.model.User; import javax.validation.Valid; -import java.io.IOException; import java.util.List; @RestController @RequestMapping(Constants.API_1_0 + "papers") -public class PaperController { +public class PaperController implements ActivityController { private final PaperService paperService; public PaperController(PaperService paperService) { @@ -34,8 +34,8 @@ public class PaperController { } @GetMapping("list") - public Response> getPapers(@RequestParam(value = "offset", defaultValue = "0") int offset, - @RequestParam(value = "count", defaultValue = "10") int count) { + public Response> getList(@RequestParam(value = "offset", defaultValue = "0") int offset, + @RequestParam(value = "count", defaultValue = "10") int count) { return new Response<>(paperService.findAllDto(offset, count)); } @@ -46,17 +46,17 @@ public class PaperController { } @GetMapping("{paper-id}") - public Response getPaper(@PathVariable("paper-id") Integer paperId) { + public Response get(@PathVariable("paper-id") Integer paperId) { return new Response<>(paperService.findById(paperId)); } @PostMapping - public Response createPaper(@RequestBody @Valid PaperDto paperDto) { + public Response create(@RequestBody @Valid PaperDto paperDto) { return new Response<>(paperService.create(paperDto)); } @PutMapping - public Response updatePaper(@RequestBody @Valid PaperDto paperDto) { + public Response update(@RequestBody @Valid PaperDto paperDto) { return new Response<>(paperService.update(paperDto)); } @@ -66,7 +66,7 @@ public class PaperController { } @PostMapping("ping/{paper-id}") - public void ping(@PathVariable("paper-id") int paperId) throws IOException { + public void ping(@PathVariable("paper-id") int paperId) { paperService.ping(paperId); } diff --git a/src/main/java/ru/ulstu/paper/model/AutoCompleteData.java b/src/main/java/ru/ulstu/activity/paper/model/AutoCompleteData.java similarity index 96% rename from src/main/java/ru/ulstu/paper/model/AutoCompleteData.java rename to src/main/java/ru/ulstu/activity/paper/model/AutoCompleteData.java index 91c3bf4..859b265 100644 --- a/src/main/java/ru/ulstu/paper/model/AutoCompleteData.java +++ b/src/main/java/ru/ulstu/activity/paper/model/AutoCompleteData.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/ru/ulstu/paper/model/Paper.java b/src/main/java/ru/ulstu/activity/paper/model/Paper.java similarity index 93% rename from src/main/java/ru/ulstu/paper/model/Paper.java rename to src/main/java/ru/ulstu/activity/paper/model/Paper.java index d083f3e..e7a8a65 100644 --- a/src/main/java/ru/ulstu/paper/model/Paper.java +++ b/src/main/java/ru/ulstu/activity/paper/model/Paper.java @@ -1,15 +1,14 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import ru.ulstu.boundary.model.AbstractActivity; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.core.model.EventSource; -import ru.ulstu.core.model.UserActivity; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.file.model.FileData; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.timeline.model.Event; +import ru.ulstu.activity.common.model.AbstractActivity; +import ru.ulstu.activity.common.model.EventSource; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.file.model.FileData; +import ru.ulstu.activity.grant.model.Grant; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.user.model.User; import javax.persistence.CascadeType; @@ -37,7 +36,7 @@ import java.util.Set; @Entity @DiscriminatorValue("PAPER") -public class Paper extends AbstractActivity implements UserActivity, EventSource { +public class Paper extends AbstractActivity implements EventSource { public enum PaperStatus { ATTENTION("Обратить внимание"), ON_PREPARATION("На подготовке"), @@ -199,6 +198,10 @@ public class Paper extends AbstractActivity implements UserActivity, EventSource return title; } + public void setTitle(String title) { + this.title = title; + } + @Override public List getRecipients() { return new ArrayList<>(authors); @@ -209,10 +212,6 @@ public class Paper extends AbstractActivity implements UserActivity, EventSource event.setPaper(this); } - public void setTitle(String title) { - this.title = title; - } - public Set getAuthors() { return authors; } @@ -262,8 +261,8 @@ public class Paper extends AbstractActivity implements UserActivity, EventSource } @Override - public Set getActivityUsers() { - return getAuthors(); + public Set getActivityMembers() { + return authors; } public List getReferences() { diff --git a/src/main/java/ru/ulstu/paper/model/PaperDashboardDto.java b/src/main/java/ru/ulstu/activity/paper/model/PaperDashboardDto.java similarity index 84% rename from src/main/java/ru/ulstu/paper/model/PaperDashboardDto.java rename to src/main/java/ru/ulstu/activity/paper/model/PaperDashboardDto.java index 643112c..37f26fe 100644 --- a/src/main/java/ru/ulstu/paper/model/PaperDashboardDto.java +++ b/src/main/java/ru/ulstu/activity/paper/model/PaperDashboardDto.java @@ -1,12 +1,13 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; -import ru.ulstu.boundary.model.ScienceGroupMemberDto; +import ru.ulstu.activity.api.model.ActivityDashboardDto; +import ru.ulstu.activity.common.model.ScienceGroupMemberDto; import java.util.Set; import static ru.ulstu.core.util.StreamApiUtils.convert; -public class PaperDashboardDto { +public class PaperDashboardDto implements ActivityDashboardDto { private Integer id; private String title; diff --git a/src/main/java/ru/ulstu/paper/model/PaperDto.java b/src/main/java/ru/ulstu/activity/paper/model/PaperDto.java similarity index 94% rename from src/main/java/ru/ulstu/paper/model/PaperDto.java rename to src/main/java/ru/ulstu/activity/paper/model/PaperDto.java index 24d8127..71e46cf 100644 --- a/src/main/java/ru/ulstu/paper/model/PaperDto.java +++ b/src/main/java/ru/ulstu/activity/paper/model/PaperDto.java @@ -1,11 +1,11 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import ru.ulstu.boundary.model.ActivityDto; -import ru.ulstu.boundary.model.ScienceGroupMemberDto; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.file.model.FileDataDto; +import ru.ulstu.activity.api.model.ActivityDto; +import ru.ulstu.activity.common.model.ScienceGroupMemberDto; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.file.model.FileDataDto; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; diff --git a/src/main/java/ru/ulstu/paper/model/PaperFilterListDto.java b/src/main/java/ru/ulstu/activity/paper/model/PaperFilterListDto.java similarity index 96% rename from src/main/java/ru/ulstu/paper/model/PaperFilterListDto.java rename to src/main/java/ru/ulstu/activity/paper/model/PaperFilterListDto.java index 85aec09..d7cf82c 100644 --- a/src/main/java/ru/ulstu/paper/model/PaperFilterListDto.java +++ b/src/main/java/ru/ulstu/activity/paper/model/PaperFilterListDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; import java.util.List; diff --git a/src/main/java/ru/ulstu/activity/paper/model/PaperListDto.java b/src/main/java/ru/ulstu/activity/paper/model/PaperListDto.java new file mode 100644 index 0000000..605c523 --- /dev/null +++ b/src/main/java/ru/ulstu/activity/paper/model/PaperListDto.java @@ -0,0 +1,27 @@ +package ru.ulstu.activity.paper.model; + +import ru.ulstu.activity.api.model.ActivityListDto; +import ru.ulstu.activity.common.model.ScienceGroupMemberDto; + +import java.util.Set; + +import static ru.ulstu.core.util.StreamApiUtils.convert; + +public class PaperListDto extends ActivityListDto { + private final Paper.PaperStatus status; + private final Set authors; + + public PaperListDto(Paper paper) { + super(paper.getId(), paper.getTitle()); + this.status = paper.getStatus(); + this.authors = convert(paper.getAuthors(), ScienceGroupMemberDto::new); + } + + public Paper.PaperStatus getStatus() { + return status; + } + + public Set getAuthors() { + return authors; + } +} diff --git a/src/main/java/ru/ulstu/paper/model/PaperStatusDto.java b/src/main/java/ru/ulstu/activity/paper/model/PaperStatusDto.java similarity index 89% rename from src/main/java/ru/ulstu/paper/model/PaperStatusDto.java rename to src/main/java/ru/ulstu/activity/paper/model/PaperStatusDto.java index 76efd5e..a2cbf52 100644 --- a/src/main/java/ru/ulstu/paper/model/PaperStatusDto.java +++ b/src/main/java/ru/ulstu/activity/paper/model/PaperStatusDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; public class PaperStatusDto { private final String id; diff --git a/src/main/java/ru/ulstu/paper/model/PaperTypeDto.java b/src/main/java/ru/ulstu/activity/paper/model/PaperTypeDto.java similarity index 89% rename from src/main/java/ru/ulstu/paper/model/PaperTypeDto.java rename to src/main/java/ru/ulstu/activity/paper/model/PaperTypeDto.java index de2b4d9..1f48f60 100644 --- a/src/main/java/ru/ulstu/paper/model/PaperTypeDto.java +++ b/src/main/java/ru/ulstu/activity/paper/model/PaperTypeDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; public class PaperTypeDto { private final String id; diff --git a/src/main/java/ru/ulstu/paper/model/Reference.java b/src/main/java/ru/ulstu/activity/paper/model/Reference.java similarity index 98% rename from src/main/java/ru/ulstu/paper/model/Reference.java rename to src/main/java/ru/ulstu/activity/paper/model/Reference.java index 289cdc1..f64c013 100644 --- a/src/main/java/ru/ulstu/paper/model/Reference.java +++ b/src/main/java/ru/ulstu/activity/paper/model/Reference.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; import ru.ulstu.core.model.BaseEntity; diff --git a/src/main/java/ru/ulstu/paper/model/ReferenceDto.java b/src/main/java/ru/ulstu/activity/paper/model/ReferenceDto.java similarity index 99% rename from src/main/java/ru/ulstu/paper/model/ReferenceDto.java rename to src/main/java/ru/ulstu/activity/paper/model/ReferenceDto.java index bf7fed2..737465e 100644 --- a/src/main/java/ru/ulstu/paper/model/ReferenceDto.java +++ b/src/main/java/ru/ulstu/activity/paper/model/ReferenceDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.model; +package ru.ulstu.activity.paper.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/ru/ulstu/paper/repository/PaperRepository.java b/src/main/java/ru/ulstu/activity/paper/repository/PaperRepository.java similarity index 93% rename from src/main/java/ru/ulstu/paper/repository/PaperRepository.java rename to src/main/java/ru/ulstu/activity/paper/repository/PaperRepository.java index fff4399..bd75a12 100644 --- a/src/main/java/ru/ulstu/paper/repository/PaperRepository.java +++ b/src/main/java/ru/ulstu/activity/paper/repository/PaperRepository.java @@ -1,11 +1,11 @@ -package ru.ulstu.paper.repository; +package ru.ulstu.activity.paper.repository; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; +import ru.ulstu.activity.paper.model.Paper; import ru.ulstu.core.repository.JpaDetachableRepository; -import ru.ulstu.paper.model.Paper; import ru.ulstu.user.model.User; import java.util.List; diff --git a/src/main/java/ru/ulstu/paper/repository/ReferenceRepository.java b/src/main/java/ru/ulstu/activity/paper/repository/ReferenceRepository.java similarity index 89% rename from src/main/java/ru/ulstu/paper/repository/ReferenceRepository.java rename to src/main/java/ru/ulstu/activity/paper/repository/ReferenceRepository.java index 942a5b8..9b24f1c 100644 --- a/src/main/java/ru/ulstu/paper/repository/ReferenceRepository.java +++ b/src/main/java/ru/ulstu/activity/paper/repository/ReferenceRepository.java @@ -1,8 +1,8 @@ -package ru.ulstu.paper.repository; +package ru.ulstu.activity.paper.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import ru.ulstu.paper.model.Reference; +import ru.ulstu.activity.paper.model.Reference; import java.util.List; diff --git a/src/main/java/ru/ulstu/paper/service/LatexService.java b/src/main/java/ru/ulstu/activity/paper/service/LatexService.java similarity index 95% rename from src/main/java/ru/ulstu/paper/service/LatexService.java rename to src/main/java/ru/ulstu/activity/paper/service/LatexService.java index ea1bcfc..3b63150 100644 --- a/src/main/java/ru/ulstu/paper/service/LatexService.java +++ b/src/main/java/ru/ulstu/activity/paper/service/LatexService.java @@ -1,8 +1,8 @@ -package ru.ulstu.paper.service; +package ru.ulstu.activity.paper.service; import org.springframework.stereotype.Service; -import ru.ulstu.file.service.FileService; -import ru.ulstu.paper.model.PaperDto; +import ru.ulstu.activity.file.service.FileService; +import ru.ulstu.activity.paper.model.PaperDto; import java.io.BufferedReader; import java.io.File; diff --git a/src/main/java/ru/ulstu/paper/service/PaperCreateStrategy.java b/src/main/java/ru/ulstu/activity/paper/service/PaperCreateStrategy.java similarity index 85% rename from src/main/java/ru/ulstu/paper/service/PaperCreateStrategy.java rename to src/main/java/ru/ulstu/activity/paper/service/PaperCreateStrategy.java index e31b04e..18dc8a6 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperCreateStrategy.java +++ b/src/main/java/ru/ulstu/activity/paper/service/PaperCreateStrategy.java @@ -1,9 +1,9 @@ -package ru.ulstu.paper.service; +package ru.ulstu.activity.paper.service; import org.springframework.stereotype.Service; +import ru.ulstu.activity.common.strategy.api.EntityCreateStrategy; +import ru.ulstu.activity.paper.model.Paper; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.strategy.api.EntityCreateStrategy; import ru.ulstu.user.model.User; import java.util.Date; diff --git a/src/main/java/ru/ulstu/paper/service/PaperNotificationService.java b/src/main/java/ru/ulstu/activity/paper/service/PaperNotificationService.java similarity index 97% rename from src/main/java/ru/ulstu/paper/service/PaperNotificationService.java rename to src/main/java/ru/ulstu/activity/paper/service/PaperNotificationService.java index a4e4452..1e529ac 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperNotificationService.java +++ b/src/main/java/ru/ulstu/activity/paper/service/PaperNotificationService.java @@ -1,10 +1,10 @@ -package ru.ulstu.paper.service; +package ru.ulstu.activity.paper.service; import com.google.common.collect.ImmutableMap; import org.springframework.stereotype.Service; +import ru.ulstu.activity.paper.model.Paper; import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.paper.model.Paper; import ru.ulstu.user.model.User; import ru.ulstu.user.service.MailService; diff --git a/src/main/java/ru/ulstu/paper/service/PaperScheduler.java b/src/main/java/ru/ulstu/activity/paper/service/PaperScheduler.java similarity index 97% rename from src/main/java/ru/ulstu/paper/service/PaperScheduler.java rename to src/main/java/ru/ulstu/activity/paper/service/PaperScheduler.java index 64feb6c..936ed57 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperScheduler.java +++ b/src/main/java/ru/ulstu/activity/paper/service/PaperScheduler.java @@ -1,4 +1,4 @@ -package ru.ulstu.paper.service; +package ru.ulstu.activity.paper.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/ru/ulstu/paper/service/PaperService.java b/src/main/java/ru/ulstu/activity/paper/service/PaperService.java similarity index 87% rename from src/main/java/ru/ulstu/paper/service/PaperService.java rename to src/main/java/ru/ulstu/activity/paper/service/PaperService.java index fa8c978..f2c095f 100644 --- a/src/main/java/ru/ulstu/paper/service/PaperService.java +++ b/src/main/java/ru/ulstu/activity/paper/service/PaperService.java @@ -1,25 +1,25 @@ -package ru.ulstu.paper.service; +package ru.ulstu.activity.paper.service; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ru.ulstu.boundary.service.AbstractActivityService; +import ru.ulstu.activity.common.service.AbstractActivityService; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.file.model.FileDataDto; +import ru.ulstu.activity.file.service.FileService; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.paper.model.PaperDashboardDto; +import ru.ulstu.activity.paper.model.PaperDto; +import ru.ulstu.activity.paper.model.PaperFilterListDto; +import ru.ulstu.activity.paper.model.PaperListDto; +import ru.ulstu.activity.paper.model.PaperStatusDto; +import ru.ulstu.activity.paper.model.PaperTypeDto; +import ru.ulstu.activity.paper.repository.PaperRepository; +import ru.ulstu.activity.ping.service.PingService; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.response.PageableItems; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.file.model.FileDataDto; -import ru.ulstu.file.service.FileService; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.paper.model.PaperDashboardDto; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.paper.model.PaperFilterListDto; -import ru.ulstu.paper.model.PaperListDto; -import ru.ulstu.paper.model.PaperStatusDto; -import ru.ulstu.paper.model.PaperTypeDto; -import ru.ulstu.paper.repository.PaperRepository; -import ru.ulstu.ping.service.PingService; -import ru.ulstu.timeline.service.EventService; import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; @@ -34,17 +34,17 @@ import java.util.Set; import static java.util.stream.Collectors.toList; import static org.hibernate.internal.util.collections.CollectionHelper.isNotEmpty; import static org.springframework.util.ObjectUtils.isEmpty; +import static ru.ulstu.activity.paper.model.Paper.PaperStatus.ATTENTION; +import static ru.ulstu.activity.paper.model.Paper.PaperStatus.COMPLETED; +import static ru.ulstu.activity.paper.model.Paper.PaperStatus.DRAFT; +import static ru.ulstu.activity.paper.model.Paper.PaperStatus.FAILED; +import static ru.ulstu.activity.paper.model.Paper.PaperStatus.ON_PREPARATION; +import static ru.ulstu.activity.paper.model.Paper.PaperType.OTHER; import static ru.ulstu.core.util.StreamApiUtils.convert; import static ru.ulstu.core.util.StreamApiUtils.convertPageable; -import static ru.ulstu.paper.model.Paper.PaperStatus.ATTENTION; -import static ru.ulstu.paper.model.Paper.PaperStatus.COMPLETED; -import static ru.ulstu.paper.model.Paper.PaperStatus.DRAFT; -import static ru.ulstu.paper.model.Paper.PaperStatus.FAILED; -import static ru.ulstu.paper.model.Paper.PaperStatus.ON_PREPARATION; -import static ru.ulstu.paper.model.Paper.PaperType.OTHER; @Service -public class PaperService extends AbstractActivityService { +public class PaperService extends AbstractActivityService { private final PaperNotificationService paperNotificationService; private final PaperRepository paperRepository; private final UserService userService; @@ -264,7 +264,7 @@ public class PaperService extends AbstractActivityService pingInfos = new ArrayList<>(); for (Ping ping : pingRepository.findByDate(java.sql.Date.valueOf(LocalDate.now().minusWeeks(1)))) { - UserActivity pingActivity = ping.getActivity(); - Set users = pingActivity.getActivityUsers(); + AbstractActivity pingActivity = ping.getActivity(); + Set users = pingActivity.getActivityMembers(); for (User user : users) { PingInfo userPing = pingInfos.stream().filter(u -> u.getUser() == user).findFirst().orElse(null); diff --git a/src/main/java/ru/ulstu/ping/service/PingService.java b/src/main/java/ru/ulstu/activity/ping/service/PingService.java similarity index 79% rename from src/main/java/ru/ulstu/ping/service/PingService.java rename to src/main/java/ru/ulstu/activity/ping/service/PingService.java index 99ca26f..343fc80 100644 --- a/src/main/java/ru/ulstu/ping/service/PingService.java +++ b/src/main/java/ru/ulstu/activity/ping/service/PingService.java @@ -1,14 +1,13 @@ -package ru.ulstu.ping.service; +package ru.ulstu.activity.ping.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.core.model.UserActivity; -import ru.ulstu.ping.model.Ping; -import ru.ulstu.ping.repository.PingRepository; +import ru.ulstu.activity.common.model.AbstractActivity; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.ping.model.Ping; +import ru.ulstu.activity.ping.repository.PingRepository; import ru.ulstu.user.service.UserService; -import java.io.IOException; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -26,7 +25,7 @@ public class PingService { } @Transactional - public Ping addPing(UserActivity activity) throws IOException { + public Ping addPing(AbstractActivity activity) { Ping newPing = new Ping(new Date(), userService.getCurrentUser()); newPing.setActivity(activity); return pingRepository.save(newPing); diff --git a/src/main/java/ru/ulstu/project/controller/ProjectController.java b/src/main/java/ru/ulstu/activity/project/controller/ProjectController.java similarity index 93% rename from src/main/java/ru/ulstu/project/controller/ProjectController.java rename to src/main/java/ru/ulstu/activity/project/controller/ProjectController.java index 09438fd..8bc38e9 100644 --- a/src/main/java/ru/ulstu/project/controller/ProjectController.java +++ b/src/main/java/ru/ulstu/activity/project/controller/ProjectController.java @@ -1,4 +1,4 @@ -package ru.ulstu.project.controller; +package ru.ulstu.activity.project.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -10,11 +10,11 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.project.model.Project; -import ru.ulstu.project.model.ProjectDto; -import ru.ulstu.project.service.ProjectService; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.grant.model.GrantDto; +import ru.ulstu.activity.project.model.Project; +import ru.ulstu.activity.project.model.ProjectDto; +import ru.ulstu.activity.project.service.ProjectService; import ru.ulstu.user.model.User; import springfox.documentation.annotations.ApiIgnore; diff --git a/src/main/java/ru/ulstu/project/model/Project.java b/src/main/java/ru/ulstu/activity/project/model/Project.java similarity index 90% rename from src/main/java/ru/ulstu/project/model/Project.java rename to src/main/java/ru/ulstu/activity/project/model/Project.java index 0ddb982..fb26267 100644 --- a/src/main/java/ru/ulstu/project/model/Project.java +++ b/src/main/java/ru/ulstu/activity/project/model/Project.java @@ -1,14 +1,13 @@ -package ru.ulstu.project.model; +package ru.ulstu.activity.project.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; -import ru.ulstu.core.model.BaseEntity; -import ru.ulstu.core.model.EventSource; -import ru.ulstu.core.model.UserActivity; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.file.model.FileData; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.timeline.model.Event; +import ru.ulstu.activity.common.model.AbstractActivity; +import ru.ulstu.activity.common.model.EventSource; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.file.model.FileData; +import ru.ulstu.activity.grant.model.Grant; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.user.model.User; import javax.persistence.CascadeType; @@ -32,7 +31,7 @@ import java.util.Set; @Entity @DiscriminatorValue("PROJECT") -public class Project extends BaseEntity implements UserActivity, EventSource { +public class Project extends AbstractActivity implements EventSource { public enum ProjectStatus { TECHNICAL_TASK("Техническое задание"), @@ -96,6 +95,10 @@ public class Project extends BaseEntity implements UserActivity, EventSource { return title; } + public void setTitle(String title) { + this.title = title; + } + @Override public List getRecipients() { return executors != null ? new ArrayList<>(executors) : Collections.emptyList(); @@ -106,10 +109,6 @@ public class Project extends BaseEntity implements UserActivity, EventSource { event.setProject(this); } - public void setTitle(String title) { - this.title = title; - } - public ProjectStatus getStatus() { return status; } @@ -179,7 +178,7 @@ public class Project extends BaseEntity implements UserActivity, EventSource { } @Override - public Set getActivityUsers() { + public Set getActivityMembers() { return new HashSet<>(); } diff --git a/src/main/java/ru/ulstu/project/model/ProjectDto.java b/src/main/java/ru/ulstu/activity/project/model/ProjectDto.java similarity index 96% rename from src/main/java/ru/ulstu/project/model/ProjectDto.java rename to src/main/java/ru/ulstu/activity/project/model/ProjectDto.java index d5a8345..59af93d 100644 --- a/src/main/java/ru/ulstu/project/model/ProjectDto.java +++ b/src/main/java/ru/ulstu/activity/project/model/ProjectDto.java @@ -1,11 +1,11 @@ -package ru.ulstu.project.model; +package ru.ulstu.activity.project.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.thymeleaf.util.StringUtils; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.file.model.FileDataDto; -import ru.ulstu.grant.model.GrantDto; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.file.model.FileDataDto; +import ru.ulstu.activity.grant.model.GrantDto; import ru.ulstu.user.model.User; import ru.ulstu.user.model.UserDto; diff --git a/src/main/java/ru/ulstu/project/repository/ProjectRepository.java b/src/main/java/ru/ulstu/activity/project/repository/ProjectRepository.java similarity index 60% rename from src/main/java/ru/ulstu/project/repository/ProjectRepository.java rename to src/main/java/ru/ulstu/activity/project/repository/ProjectRepository.java index 6a78075..059cd3c 100644 --- a/src/main/java/ru/ulstu/project/repository/ProjectRepository.java +++ b/src/main/java/ru/ulstu/activity/project/repository/ProjectRepository.java @@ -1,7 +1,7 @@ -package ru.ulstu.project.repository; +package ru.ulstu.activity.project.repository; import org.springframework.data.jpa.repository.JpaRepository; -import ru.ulstu.project.model.Project; +import ru.ulstu.activity.project.model.Project; public interface ProjectRepository extends JpaRepository { diff --git a/src/main/java/ru/ulstu/project/service/ProjectService.java b/src/main/java/ru/ulstu/activity/project/service/ProjectService.java similarity index 89% rename from src/main/java/ru/ulstu/project/service/ProjectService.java rename to src/main/java/ru/ulstu/activity/project/service/ProjectService.java index 07b07fa..e9d6316 100644 --- a/src/main/java/ru/ulstu/project/service/ProjectService.java +++ b/src/main/java/ru/ulstu/activity/project/service/ProjectService.java @@ -1,18 +1,18 @@ -package ru.ulstu.project.service; +package ru.ulstu.activity.project.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.thymeleaf.util.StringUtils; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.file.model.FileDataDto; -import ru.ulstu.file.service.FileService; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.grant.repository.GrantRepository; -import ru.ulstu.ping.service.PingService; -import ru.ulstu.project.model.Project; -import ru.ulstu.project.model.ProjectDto; -import ru.ulstu.project.repository.ProjectRepository; -import ru.ulstu.timeline.service.EventService; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.file.model.FileDataDto; +import ru.ulstu.activity.file.service.FileService; +import ru.ulstu.activity.grant.model.GrantDto; +import ru.ulstu.activity.grant.repository.GrantRepository; +import ru.ulstu.activity.ping.service.PingService; +import ru.ulstu.activity.project.model.Project; +import ru.ulstu.activity.project.model.ProjectDto; +import ru.ulstu.activity.project.repository.ProjectRepository; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; @@ -23,8 +23,8 @@ import java.util.List; import static java.util.stream.Collectors.toList; import static org.springframework.util.ObjectUtils.isEmpty; +import static ru.ulstu.activity.project.model.Project.ProjectStatus.TECHNICAL_TASK; import static ru.ulstu.core.util.StreamApiUtils.convert; -import static ru.ulstu.project.model.Project.ProjectStatus.TECHNICAL_TASK; @Service public class ProjectService { @@ -147,7 +147,7 @@ public class ProjectService { } @Transactional - public void ping(int projectId) throws IOException { + public void ping(int projectId) { pingService.addPing(findById(projectId)); } diff --git a/src/main/java/ru/ulstu/students/controller/Navigation.java b/src/main/java/ru/ulstu/activity/students/controller/Navigation.java similarity index 89% rename from src/main/java/ru/ulstu/students/controller/Navigation.java rename to src/main/java/ru/ulstu/activity/students/controller/Navigation.java index 348f062..16b845b 100644 --- a/src/main/java/ru/ulstu/students/controller/Navigation.java +++ b/src/main/java/ru/ulstu/activity/students/controller/Navigation.java @@ -1,4 +1,4 @@ -package ru.ulstu.students.controller; +package ru.ulstu.activity.students.controller; import org.springframework.validation.Errors; diff --git a/src/main/java/ru/ulstu/students/controller/TaskController.java b/src/main/java/ru/ulstu/activity/students/controller/TaskController.java similarity index 86% rename from src/main/java/ru/ulstu/students/controller/TaskController.java rename to src/main/java/ru/ulstu/activity/students/controller/TaskController.java index 5d0f4e8..2839371 100644 --- a/src/main/java/ru/ulstu/students/controller/TaskController.java +++ b/src/main/java/ru/ulstu/activity/students/controller/TaskController.java @@ -1,4 +1,4 @@ -package ru.ulstu.students.controller; +package ru.ulstu.activity.students.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; @@ -9,12 +9,12 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.students.model.Task; -import ru.ulstu.students.model.TaskDto; -import ru.ulstu.students.model.TaskFilterDto; -import ru.ulstu.students.service.TaskService; -import ru.ulstu.tags.model.Tag; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.students.model.Task; +import ru.ulstu.activity.students.model.TaskDto; +import ru.ulstu.activity.students.model.TaskFilterDto; +import ru.ulstu.activity.students.service.TaskService; +import ru.ulstu.activity.tags.model.Tag; import springfox.documentation.annotations.ApiIgnore; import javax.validation.Valid; @@ -23,9 +23,9 @@ import java.util.List; import java.util.stream.Collectors; import static org.springframework.util.StringUtils.isEmpty; -import static ru.ulstu.students.controller.Navigation.REDIRECT_TO; -import static ru.ulstu.students.controller.Navigation.TASKS_PAGE; -import static ru.ulstu.students.controller.Navigation.TASK_PAGE; +import static ru.ulstu.activity.students.controller.Navigation.REDIRECT_TO; +import static ru.ulstu.activity.students.controller.Navigation.TASKS_PAGE; +import static ru.ulstu.activity.students.controller.Navigation.TASK_PAGE; @Controller() @RequestMapping(value = "/students") diff --git a/src/main/java/ru/ulstu/students/model/Scheduler.java b/src/main/java/ru/ulstu/activity/students/model/Scheduler.java similarity index 96% rename from src/main/java/ru/ulstu/students/model/Scheduler.java rename to src/main/java/ru/ulstu/activity/students/model/Scheduler.java index 67005b1..e886f91 100644 --- a/src/main/java/ru/ulstu/students/model/Scheduler.java +++ b/src/main/java/ru/ulstu/activity/students/model/Scheduler.java @@ -1,4 +1,4 @@ -package ru.ulstu.students.model; +package ru.ulstu.activity.students.model; import org.springframework.format.annotation.DateTimeFormat; import ru.ulstu.core.model.BaseEntity; diff --git a/src/main/java/ru/ulstu/students/model/Task.java b/src/main/java/ru/ulstu/activity/students/model/Task.java similarity index 93% rename from src/main/java/ru/ulstu/students/model/Task.java rename to src/main/java/ru/ulstu/activity/students/model/Task.java index 4da0aa2..9ad5762 100644 --- a/src/main/java/ru/ulstu/students/model/Task.java +++ b/src/main/java/ru/ulstu/activity/students/model/Task.java @@ -1,12 +1,12 @@ -package ru.ulstu.students.model; +package ru.ulstu.activity.students.model; import org.hibernate.annotations.Fetch; import org.hibernate.annotations.FetchMode; +import ru.ulstu.activity.common.model.EventSource; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.tags.model.Tag; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.core.model.BaseEntity; -import ru.ulstu.core.model.EventSource; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.tags.model.Tag; -import ru.ulstu.timeline.model.Event; import ru.ulstu.user.model.User; import javax.persistence.CascadeType; diff --git a/src/main/java/ru/ulstu/students/model/TaskDto.java b/src/main/java/ru/ulstu/activity/students/model/TaskDto.java similarity index 97% rename from src/main/java/ru/ulstu/students/model/TaskDto.java rename to src/main/java/ru/ulstu/activity/students/model/TaskDto.java index 24ad204..f63e494 100644 --- a/src/main/java/ru/ulstu/students/model/TaskDto.java +++ b/src/main/java/ru/ulstu/activity/students/model/TaskDto.java @@ -1,10 +1,10 @@ -package ru.ulstu.students.model; +package ru.ulstu.activity.students.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import org.apache.commons.lang3.StringUtils; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.tags.model.Tag; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.tags.model.Tag; import javax.validation.constraints.NotEmpty; import java.util.ArrayList; diff --git a/src/main/java/ru/ulstu/students/model/TaskFilterDto.java b/src/main/java/ru/ulstu/activity/students/model/TaskFilterDto.java similarity index 96% rename from src/main/java/ru/ulstu/students/model/TaskFilterDto.java rename to src/main/java/ru/ulstu/activity/students/model/TaskFilterDto.java index 21bd5ac..6b4cb42 100644 --- a/src/main/java/ru/ulstu/students/model/TaskFilterDto.java +++ b/src/main/java/ru/ulstu/activity/students/model/TaskFilterDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.students.model; +package ru.ulstu.activity.students.model; import java.util.List; diff --git a/src/main/java/ru/ulstu/students/repository/SchedulerRepository.java b/src/main/java/ru/ulstu/activity/students/repository/SchedulerRepository.java similarity index 56% rename from src/main/java/ru/ulstu/students/repository/SchedulerRepository.java rename to src/main/java/ru/ulstu/activity/students/repository/SchedulerRepository.java index 7481692..3cb346f 100644 --- a/src/main/java/ru/ulstu/students/repository/SchedulerRepository.java +++ b/src/main/java/ru/ulstu/activity/students/repository/SchedulerRepository.java @@ -1,8 +1,8 @@ -package ru.ulstu.students.repository; +package ru.ulstu.activity.students.repository; import org.springframework.data.jpa.repository.JpaRepository; -import ru.ulstu.students.model.Scheduler; -import ru.ulstu.students.model.Task; +import ru.ulstu.activity.students.model.Scheduler; +import ru.ulstu.activity.students.model.Task; public interface SchedulerRepository extends JpaRepository { diff --git a/src/main/java/ru/ulstu/students/repository/TaskRepository.java b/src/main/java/ru/ulstu/activity/students/repository/TaskRepository.java similarity index 88% rename from src/main/java/ru/ulstu/students/repository/TaskRepository.java rename to src/main/java/ru/ulstu/activity/students/repository/TaskRepository.java index af277d1..9e8d30d 100644 --- a/src/main/java/ru/ulstu/students/repository/TaskRepository.java +++ b/src/main/java/ru/ulstu/activity/students/repository/TaskRepository.java @@ -1,10 +1,10 @@ -package ru.ulstu.students.repository; +package ru.ulstu.activity.students.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -import ru.ulstu.students.model.Task; -import ru.ulstu.tags.model.Tag; +import ru.ulstu.activity.students.model.Task; +import ru.ulstu.activity.tags.model.Tag; import java.util.Date; import java.util.List; diff --git a/src/main/java/ru/ulstu/students/service/SchedulerService.java b/src/main/java/ru/ulstu/activity/students/service/SchedulerService.java similarity index 93% rename from src/main/java/ru/ulstu/students/service/SchedulerService.java rename to src/main/java/ru/ulstu/activity/students/service/SchedulerService.java index b192130..150cb0f 100644 --- a/src/main/java/ru/ulstu/students/service/SchedulerService.java +++ b/src/main/java/ru/ulstu/activity/students/service/SchedulerService.java @@ -1,11 +1,11 @@ -package ru.ulstu.students.service; +package ru.ulstu.activity.students.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ru.ulstu.students.model.Scheduler; -import ru.ulstu.students.model.Task; -import ru.ulstu.students.repository.SchedulerRepository; -import ru.ulstu.tags.model.Tag; +import ru.ulstu.activity.students.model.Scheduler; +import ru.ulstu.activity.students.model.Task; +import ru.ulstu.activity.students.repository.SchedulerRepository; +import ru.ulstu.activity.tags.model.Tag; import java.util.Date; import java.util.List; diff --git a/src/main/java/ru/ulstu/students/service/TaskGenerationService.java b/src/main/java/ru/ulstu/activity/students/service/TaskGenerationService.java similarity index 95% rename from src/main/java/ru/ulstu/students/service/TaskGenerationService.java rename to src/main/java/ru/ulstu/activity/students/service/TaskGenerationService.java index 1c04c20..7119194 100644 --- a/src/main/java/ru/ulstu/students/service/TaskGenerationService.java +++ b/src/main/java/ru/ulstu/activity/students/service/TaskGenerationService.java @@ -1,4 +1,4 @@ -package ru.ulstu.students.service; +package ru.ulstu.activity.students.service; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/ru/ulstu/students/service/TaskService.java b/src/main/java/ru/ulstu/activity/students/service/TaskService.java similarity index 92% rename from src/main/java/ru/ulstu/students/service/TaskService.java rename to src/main/java/ru/ulstu/activity/students/service/TaskService.java index c3b4f3a..9680f19 100644 --- a/src/main/java/ru/ulstu/students/service/TaskService.java +++ b/src/main/java/ru/ulstu/activity/students/service/TaskService.java @@ -1,21 +1,21 @@ -package ru.ulstu.students.service; +package ru.ulstu.activity.students.service; import org.apache.commons.lang3.StringUtils; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.students.model.Scheduler; +import ru.ulstu.activity.students.model.Task; +import ru.ulstu.activity.students.model.TaskDto; +import ru.ulstu.activity.students.model.TaskFilterDto; +import ru.ulstu.activity.students.repository.SchedulerRepository; +import ru.ulstu.activity.students.repository.TaskRepository; +import ru.ulstu.activity.tags.model.Tag; +import ru.ulstu.activity.tags.service.TagService; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.students.model.Scheduler; -import ru.ulstu.students.model.Task; -import ru.ulstu.students.model.TaskDto; -import ru.ulstu.students.model.TaskFilterDto; -import ru.ulstu.students.repository.SchedulerRepository; -import ru.ulstu.students.repository.TaskRepository; -import ru.ulstu.tags.model.Tag; -import ru.ulstu.tags.service.TagService; -import ru.ulstu.timeline.service.EventService; import java.io.IOException; import java.util.ArrayList; @@ -30,8 +30,8 @@ import java.util.TreeMap; import java.util.stream.Collectors; import static org.springframework.util.ObjectUtils.isEmpty; +import static ru.ulstu.activity.students.model.Task.TaskStatus.IN_WORK; import static ru.ulstu.core.util.StreamApiUtils.convert; -import static ru.ulstu.students.model.Task.TaskStatus.IN_WORK; @Service public class TaskService { diff --git a/src/main/java/ru/ulstu/tags/model/Tag.java b/src/main/java/ru/ulstu/activity/tags/model/Tag.java similarity index 97% rename from src/main/java/ru/ulstu/tags/model/Tag.java rename to src/main/java/ru/ulstu/activity/tags/model/Tag.java index 023cfb4..b2081e6 100644 --- a/src/main/java/ru/ulstu/tags/model/Tag.java +++ b/src/main/java/ru/ulstu/activity/tags/model/Tag.java @@ -1,4 +1,4 @@ -package ru.ulstu.tags.model; +package ru.ulstu.activity.tags.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/ru/ulstu/tags/repository/TagRepository.java b/src/main/java/ru/ulstu/activity/tags/repository/TagRepository.java similarity index 81% rename from src/main/java/ru/ulstu/tags/repository/TagRepository.java rename to src/main/java/ru/ulstu/activity/tags/repository/TagRepository.java index 213abae..882e476 100644 --- a/src/main/java/ru/ulstu/tags/repository/TagRepository.java +++ b/src/main/java/ru/ulstu/activity/tags/repository/TagRepository.java @@ -1,9 +1,9 @@ -package ru.ulstu.tags.repository; +package ru.ulstu.activity.tags.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; -import ru.ulstu.tags.model.Tag; +import ru.ulstu.activity.tags.model.Tag; public interface TagRepository extends JpaRepository { diff --git a/src/main/java/ru/ulstu/tags/service/TagService.java b/src/main/java/ru/ulstu/activity/tags/service/TagService.java similarity index 91% rename from src/main/java/ru/ulstu/tags/service/TagService.java rename to src/main/java/ru/ulstu/activity/tags/service/TagService.java index f85889d..5615bea 100644 --- a/src/main/java/ru/ulstu/tags/service/TagService.java +++ b/src/main/java/ru/ulstu/activity/tags/service/TagService.java @@ -1,8 +1,8 @@ -package ru.ulstu.tags.service; +package ru.ulstu.activity.tags.service; import org.springframework.stereotype.Service; -import ru.ulstu.tags.model.Tag; -import ru.ulstu.tags.repository.TagRepository; +import ru.ulstu.activity.tags.model.Tag; +import ru.ulstu.activity.tags.repository.TagRepository; import javax.transaction.Transactional; import java.util.List; diff --git a/src/main/java/ru/ulstu/timeline/controller/EventController.java b/src/main/java/ru/ulstu/activity/timeline/controller/EventController.java similarity index 91% rename from src/main/java/ru/ulstu/timeline/controller/EventController.java rename to src/main/java/ru/ulstu/activity/timeline/controller/EventController.java index 2a9245c..c75b406 100644 --- a/src/main/java/ru/ulstu/timeline/controller/EventController.java +++ b/src/main/java/ru/ulstu/activity/timeline/controller/EventController.java @@ -1,4 +1,4 @@ -package ru.ulstu.timeline.controller; +package ru.ulstu.activity.timeline.controller; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; @@ -8,10 +8,10 @@ import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import ru.ulstu.activity.timeline.model.EventDto; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.configuration.Constants; import ru.ulstu.core.model.response.Response; -import ru.ulstu.timeline.model.EventDto; -import ru.ulstu.timeline.service.EventService; import javax.validation.Valid; import java.util.List; diff --git a/src/main/java/ru/ulstu/timeline/model/Event.java b/src/main/java/ru/ulstu/activity/timeline/model/Event.java similarity index 94% rename from src/main/java/ru/ulstu/timeline/model/Event.java rename to src/main/java/ru/ulstu/activity/timeline/model/Event.java index bf69a70..3a9e55e 100644 --- a/src/main/java/ru/ulstu/timeline/model/Event.java +++ b/src/main/java/ru/ulstu/activity/timeline/model/Event.java @@ -1,11 +1,11 @@ -package ru.ulstu.timeline.model; +package ru.ulstu.activity.timeline.model; -import ru.ulstu.conference.model.Conference; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.grant.model.Grant; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.project.model.Project; +import ru.ulstu.activity.students.model.Task; import ru.ulstu.core.model.BaseEntity; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.project.model.Project; -import ru.ulstu.students.model.Task; import ru.ulstu.user.model.User; import javax.persistence.CascadeType; diff --git a/src/main/java/ru/ulstu/timeline/model/EventDto.java b/src/main/java/ru/ulstu/activity/timeline/model/EventDto.java similarity index 94% rename from src/main/java/ru/ulstu/timeline/model/EventDto.java rename to src/main/java/ru/ulstu/activity/timeline/model/EventDto.java index 7c3a836..5a1d014 100644 --- a/src/main/java/ru/ulstu/timeline/model/EventDto.java +++ b/src/main/java/ru/ulstu/activity/timeline/model/EventDto.java @@ -1,12 +1,12 @@ -package ru.ulstu.timeline.model; +package ru.ulstu.activity.timeline.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; -import ru.ulstu.conference.model.ConferenceDto; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.project.model.ProjectDto; -import ru.ulstu.students.model.TaskDto; +import ru.ulstu.activity.conference.model.ConferenceDto; +import ru.ulstu.activity.grant.model.GrantDto; +import ru.ulstu.activity.paper.model.PaperDto; +import ru.ulstu.activity.project.model.ProjectDto; +import ru.ulstu.activity.students.model.TaskDto; import ru.ulstu.user.model.UserDto; import javax.validation.constraints.NotBlank; diff --git a/src/main/java/ru/ulstu/timeline/model/PeriodEvent.java b/src/main/java/ru/ulstu/activity/timeline/model/PeriodEvent.java similarity index 93% rename from src/main/java/ru/ulstu/timeline/model/PeriodEvent.java rename to src/main/java/ru/ulstu/activity/timeline/model/PeriodEvent.java index 39eaffb..c64ede8 100644 --- a/src/main/java/ru/ulstu/timeline/model/PeriodEvent.java +++ b/src/main/java/ru/ulstu/activity/timeline/model/PeriodEvent.java @@ -1,4 +1,4 @@ -package ru.ulstu.timeline.model; +package ru.ulstu.activity.timeline.model; import java.time.Period; diff --git a/src/main/java/ru/ulstu/timeline/model/Timeline.java b/src/main/java/ru/ulstu/activity/timeline/model/Timeline.java similarity index 93% rename from src/main/java/ru/ulstu/timeline/model/Timeline.java rename to src/main/java/ru/ulstu/activity/timeline/model/Timeline.java index 06e04bc..421cba2 100644 --- a/src/main/java/ru/ulstu/timeline/model/Timeline.java +++ b/src/main/java/ru/ulstu/activity/timeline/model/Timeline.java @@ -1,4 +1,4 @@ -package ru.ulstu.timeline.model; +package ru.ulstu.activity.timeline.model; import ru.ulstu.core.model.BaseEntity; diff --git a/src/main/java/ru/ulstu/timeline/model/TimelineDto.java b/src/main/java/ru/ulstu/activity/timeline/model/TimelineDto.java similarity index 94% rename from src/main/java/ru/ulstu/timeline/model/TimelineDto.java rename to src/main/java/ru/ulstu/activity/timeline/model/TimelineDto.java index 1c651a7..aa9c68b 100644 --- a/src/main/java/ru/ulstu/timeline/model/TimelineDto.java +++ b/src/main/java/ru/ulstu/activity/timeline/model/TimelineDto.java @@ -1,4 +1,4 @@ -package ru.ulstu.timeline.model; +package ru.ulstu.activity.timeline.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; diff --git a/src/main/java/ru/ulstu/timeline/repository/EventRepository.java b/src/main/java/ru/ulstu/activity/timeline/repository/EventRepository.java similarity index 67% rename from src/main/java/ru/ulstu/timeline/repository/EventRepository.java rename to src/main/java/ru/ulstu/activity/timeline/repository/EventRepository.java index 15e1355..c921639 100644 --- a/src/main/java/ru/ulstu/timeline/repository/EventRepository.java +++ b/src/main/java/ru/ulstu/activity/timeline/repository/EventRepository.java @@ -1,13 +1,13 @@ -package ru.ulstu.timeline.repository; +package ru.ulstu.activity.timeline.repository; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.project.model.Project; -import ru.ulstu.students.model.Task; -import ru.ulstu.timeline.model.Event; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.grant.model.Grant; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.project.model.Project; +import ru.ulstu.activity.students.model.Task; +import ru.ulstu.activity.timeline.model.Event; import java.util.List; diff --git a/src/main/java/ru/ulstu/timeline/repository/TimelineRepository.java b/src/main/java/ru/ulstu/activity/timeline/repository/TimelineRepository.java similarity index 59% rename from src/main/java/ru/ulstu/timeline/repository/TimelineRepository.java rename to src/main/java/ru/ulstu/activity/timeline/repository/TimelineRepository.java index 6b1be39..c455c8a 100644 --- a/src/main/java/ru/ulstu/timeline/repository/TimelineRepository.java +++ b/src/main/java/ru/ulstu/activity/timeline/repository/TimelineRepository.java @@ -1,7 +1,7 @@ -package ru.ulstu.timeline.repository; +package ru.ulstu.activity.timeline.repository; import org.springframework.data.jpa.repository.JpaRepository; -import ru.ulstu.timeline.model.Timeline; +import ru.ulstu.activity.timeline.model.Timeline; public interface TimelineRepository extends JpaRepository { } diff --git a/src/main/java/ru/ulstu/timeline/service/EventScheduler.java b/src/main/java/ru/ulstu/activity/timeline/service/EventScheduler.java similarity index 95% rename from src/main/java/ru/ulstu/timeline/service/EventScheduler.java rename to src/main/java/ru/ulstu/activity/timeline/service/EventScheduler.java index 7899aca..7854cea 100644 --- a/src/main/java/ru/ulstu/timeline/service/EventScheduler.java +++ b/src/main/java/ru/ulstu/activity/timeline/service/EventScheduler.java @@ -1,13 +1,13 @@ -package ru.ulstu.timeline.service; +package ru.ulstu.activity.timeline.service; import com.google.common.collect.ImmutableMap; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; +import ru.ulstu.activity.timeline.model.Event; +import ru.ulstu.activity.timeline.model.PeriodEvent; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.timeline.model.Event; -import ru.ulstu.timeline.model.PeriodEvent; import ru.ulstu.user.service.MailService; import java.util.Date; diff --git a/src/main/java/ru/ulstu/timeline/service/EventService.java b/src/main/java/ru/ulstu/activity/timeline/service/EventService.java similarity index 91% rename from src/main/java/ru/ulstu/timeline/service/EventService.java rename to src/main/java/ru/ulstu/activity/timeline/service/EventService.java index c7639c2..9c75696 100644 --- a/src/main/java/ru/ulstu/timeline/service/EventService.java +++ b/src/main/java/ru/ulstu/activity/timeline/service/EventService.java @@ -1,20 +1,20 @@ -package ru.ulstu.timeline.service; +package ru.ulstu.activity.timeline.service; import org.apache.commons.lang3.time.DateUtils; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.core.model.EventSource; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.project.model.Project; -import ru.ulstu.students.model.Task; -import ru.ulstu.timeline.model.Event; -import ru.ulstu.timeline.model.EventDto; -import ru.ulstu.timeline.model.Timeline; -import ru.ulstu.timeline.repository.EventRepository; +import ru.ulstu.activity.common.model.EventSource; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.grant.model.Grant; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.project.model.Project; +import ru.ulstu.activity.students.model.Task; +import ru.ulstu.activity.timeline.model.Event; +import ru.ulstu.activity.timeline.model.EventDto; +import ru.ulstu.activity.timeline.model.Timeline; +import ru.ulstu.activity.timeline.repository.EventRepository; import ru.ulstu.user.model.UserDto; import ru.ulstu.user.service.UserService; diff --git a/src/main/java/ru/ulstu/timeline/service/TimelineService.java b/src/main/java/ru/ulstu/activity/timeline/service/TimelineService.java similarity index 86% rename from src/main/java/ru/ulstu/timeline/service/TimelineService.java rename to src/main/java/ru/ulstu/activity/timeline/service/TimelineService.java index dd5c384..e84f314 100644 --- a/src/main/java/ru/ulstu/timeline/service/TimelineService.java +++ b/src/main/java/ru/ulstu/activity/timeline/service/TimelineService.java @@ -1,11 +1,11 @@ -package ru.ulstu.timeline.service; +package ru.ulstu.activity.timeline.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import ru.ulstu.timeline.model.EventDto; -import ru.ulstu.timeline.model.Timeline; -import ru.ulstu.timeline.model.TimelineDto; -import ru.ulstu.timeline.repository.TimelineRepository; +import ru.ulstu.activity.timeline.model.EventDto; +import ru.ulstu.activity.timeline.model.Timeline; +import ru.ulstu.activity.timeline.model.TimelineDto; +import ru.ulstu.activity.timeline.repository.TimelineRepository; import java.util.List; diff --git a/src/main/java/ru/ulstu/boundary/model/ActivityDto.java b/src/main/java/ru/ulstu/boundary/model/ActivityDto.java deleted file mode 100644 index 6570563..0000000 --- a/src/main/java/ru/ulstu/boundary/model/ActivityDto.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.ulstu.boundary.model; - -public interface ActivityDto { -} diff --git a/src/main/java/ru/ulstu/boundary/model/ActivityListDto.java b/src/main/java/ru/ulstu/boundary/model/ActivityListDto.java deleted file mode 100644 index f6b7213..0000000 --- a/src/main/java/ru/ulstu/boundary/model/ActivityListDto.java +++ /dev/null @@ -1,4 +0,0 @@ -package ru.ulstu.boundary.model; - -public interface ActivityListDto { -} \ No newline at end of file diff --git a/src/main/java/ru/ulstu/conference/controller/ConferenceController.java b/src/main/java/ru/ulstu/conference/controller/ConferenceController.java deleted file mode 100644 index f9a4bac..0000000 --- a/src/main/java/ru/ulstu/conference/controller/ConferenceController.java +++ /dev/null @@ -1,165 +0,0 @@ -package ru.ulstu.conference.controller; - - -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.validation.Errors; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import ru.ulstu.conference.model.ConferenceDto; -import ru.ulstu.conference.model.ConferenceFilterDto; -import ru.ulstu.conference.model.ConferenceUser; -import ru.ulstu.conference.service.ConferenceService; -import ru.ulstu.user.model.User; -import springfox.documentation.annotations.ApiIgnore; - -import javax.validation.Valid; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.List; - -import static ru.ulstu.core.controller.Navigation.CONFERENCES_PAGE; -import static ru.ulstu.core.controller.Navigation.CONFERENCE_PAGE; -import static ru.ulstu.core.controller.Navigation.REDIRECT_TO; - - -@Controller() -@RequestMapping(value = "/conferences") -@ApiIgnore -public class ConferenceController { - - private final ConferenceService conferenceService; - - public ConferenceController(ConferenceService conferenceService) { - this.conferenceService = conferenceService; - } - - @GetMapping("/conferences") - public void getConferences(ModelMap modelMap) { - modelMap.put("filteredConferences", new ConferenceFilterDto(conferenceService.findAllDto())); - } - - @PostMapping("/conferences") - public void filterConferences(@Valid ConferenceFilterDto conferenceFilterDto, ModelMap modelMap) { - modelMap.put("filteredConferences", new ConferenceFilterDto(conferenceService.filter(conferenceFilterDto), - conferenceFilterDto.getFilterUserId(), - conferenceFilterDto.getYear())); - } - - @GetMapping("/dashboard") - public void getDashboard(ModelMap modelMap) { - modelMap.put("conferences", conferenceService.findAllActiveDto()); - - conferenceService.setChartData(modelMap); // example - } - - @GetMapping("/conference") - public void getConference(ModelMap modelMap, @RequestParam(value = "id") Integer id) { - if (id != null && id > 0) { - modelMap.put("conferenceDto", conferenceService.getExistConferenceById(id)); - } else { - modelMap.put("conferenceDto", conferenceService.getNewConference()); - } - } - - @PostMapping(value = "/conferences", params = "deleteConference") - public String delete(@RequestParam("deleteConference") Integer conferenceId) throws IOException { - conferenceService.delete(conferenceId); - return String.format(REDIRECT_TO, CONFERENCES_PAGE); - } - - @PostMapping(value = "/conference", params = "save") - public String save(@Valid ConferenceDto conferenceDto, Errors errors) throws IOException { - if (!conferenceService.save(conferenceDto, errors)) { - return CONFERENCE_PAGE; - } - return String.format(REDIRECT_TO, CONFERENCES_PAGE); - } - - @PostMapping(value = "/conference", params = "addDeadline") - public String addDeadline(@Valid ConferenceDto conferenceDto, Errors errors) throws IOException { - conferenceService.filterEmptyDeadlines(conferenceDto); - if (errors.hasErrors()) { - return CONFERENCE_PAGE; - } - conferenceService.addDeadline(conferenceDto); - return CONFERENCE_PAGE; - } - - @PostMapping(value = "/conference", params = "removeDeadline") - public String removeDeadline(@Valid ConferenceDto conferenceDto, Errors errors, - @RequestParam(value = "removeDeadline") Integer deadlineIndex) throws IOException { - if (errors.hasErrors()) { - return CONFERENCE_PAGE; - } - conferenceService.removeDeadline(conferenceDto, deadlineIndex); - return CONFERENCE_PAGE; - } - - @PostMapping(value = "/conference", params = "addPaper") - public String addPaper(@Valid ConferenceDto conferenceDto, Errors errors) throws IOException { - if (errors.hasErrors()) { - return CONFERENCE_PAGE; - } - conferenceService.addPaper(conferenceDto); - - return CONFERENCE_PAGE; - } - - @PostMapping(value = "/conference", params = "removePaper") - public String removePaper(@Valid ConferenceDto conferenceDto, Errors errors, - @RequestParam(value = "removePaper") Integer paperIndex) throws IOException { - if (errors.hasErrors()) { - return CONFERENCE_PAGE; - } - conferenceService.removePaper(conferenceDto, paperIndex); - return CONFERENCE_PAGE; - } - - @PostMapping(value = "/conference", params = "takePart") - public String takePart(@Valid ConferenceDto conferenceDto, Errors errors) throws IOException { - if (errors.hasErrors()) { - return CONFERENCE_PAGE; - } - conferenceService.takePart(conferenceDto); - return CONFERENCE_PAGE; - } - - @PostMapping(value = "/conference", params = "pingConference") - public String ping(@Valid ConferenceDto conferenceDto, Errors errors) throws IOException { - if (errors.hasErrors()) { - return CONFERENCE_PAGE; - } - conferenceService.ping(conferenceDto); - return CONFERENCE_PAGE; - } - - @ModelAttribute("allParticipation") - public List getAllParticipation() { - return conferenceService.getAllParticipations(); - } - - @ModelAttribute("allDeposit") - public List getAllDeposit() { - return conferenceService.getAllDeposit(); - } - - @ModelAttribute("allUsers") - public List getAllUsers() { - return conferenceService.getAllUsers(); - } - - @ModelAttribute("allYears") - public List getAllYears() { - List years = new ArrayList<>(); - for (int i = Calendar.getInstance().get(Calendar.YEAR); i > 2010; i--) { - years.add(i); - } - return years; - } - -} diff --git a/src/main/java/ru/ulstu/core/controller/Navigation.java b/src/main/java/ru/ulstu/core/controller/Navigation.java deleted file mode 100644 index caea429..0000000 --- a/src/main/java/ru/ulstu/core/controller/Navigation.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.ulstu.core.controller; - -import org.springframework.validation.Errors; - -public class Navigation { - public static final String REDIRECT_TO = "redirect:%s"; - public static final String GRANTS_PAGE = "/grants/grants"; - public static final String GRANT_PAGE = "/grants/grant"; - - public static final String CONFERENCES_PAGE = "/conferences/conferences"; - public static final String CONFERENCE_PAGE = "/conferences/conference"; - - public static String hasErrors(Errors errors, String page) { - if (errors.hasErrors()) { - return page; - } - return null; - } -} diff --git a/src/main/java/ru/ulstu/core/model/UserActivity.java b/src/main/java/ru/ulstu/core/model/UserActivity.java deleted file mode 100644 index f45819d..0000000 --- a/src/main/java/ru/ulstu/core/model/UserActivity.java +++ /dev/null @@ -1,11 +0,0 @@ -package ru.ulstu.core.model; - -import ru.ulstu.user.model.User; - -import java.util.Set; - -public interface UserActivity { - String getTitle(); - - Set getActivityUsers(); -} diff --git a/src/main/java/ru/ulstu/grant/controller/GrantController.java b/src/main/java/ru/ulstu/grant/controller/GrantController.java deleted file mode 100644 index 48dee8e..0000000 --- a/src/main/java/ru/ulstu/grant/controller/GrantController.java +++ /dev/null @@ -1,133 +0,0 @@ -package ru.ulstu.grant.controller; - -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; -import org.springframework.validation.Errors; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.ModelAttribute; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseBody; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.grant.service.GrantService; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.user.model.User; -import springfox.documentation.annotations.ApiIgnore; - -import javax.validation.Valid; -import java.io.IOException; -import java.util.List; - -import static ru.ulstu.core.controller.Navigation.GRANTS_PAGE; -import static ru.ulstu.core.controller.Navigation.GRANT_PAGE; -import static ru.ulstu.core.controller.Navigation.REDIRECT_TO; - - -@Controller() -@RequestMapping(value = "/grants") -@ApiIgnore -public class GrantController { - private final GrantService grantService; - - public GrantController(GrantService grantService) { - this.grantService = grantService; - } - - @GetMapping("/grants") - public void getGrants(ModelMap modelMap) { - modelMap.put("grants", grantService.findAllDto()); - } - - @GetMapping("/dashboard") - public void getDashboard(ModelMap modelMap) { - modelMap.put("grants", grantService.findAllActiveDto()); - } - - @GetMapping("/grant") - public void getGrant(ModelMap modelMap, @RequestParam(value = "id") Integer id) { - if (id != null && id > 0) { - GrantDto grantDto = grantService.getExistGrantById(id); - attachPaper(grantDto); - modelMap.put("grantDto", grantDto); - } else { - modelMap.put("grantDto", new GrantDto()); - } - } - - @PostMapping(value = "/grant", params = "save") - public String save(@Valid GrantDto grantDto, Errors errors) - throws IOException { - if (!grantService.save(grantDto, errors)) { - return GRANT_PAGE; - } - return String.format(REDIRECT_TO, GRANTS_PAGE); - } - - @PostMapping(value = "/grant", params = "filterUsers") - public String filterUsers() { - return GRANT_PAGE; - } - - @PostMapping(value = "/grant", params = "attachPaper") - public String attachPaper(GrantDto grantDto) { - grantService.attachPaper(grantDto); - return GRANT_PAGE; - } - - @PostMapping(value = "/grant", params = "addDeadline") - public String addDeadline(@Valid GrantDto grantDto, Errors errors) { - grantService.filterEmptyDeadlines(grantDto); - if (errors.hasErrors()) { - return GRANT_PAGE; - } - grantDto.getDeadlines().add(new Deadline()); - return GRANT_PAGE; - } - - @PostMapping(value = "/grant", params = "removeDeadline") - public String removeDeadline(GrantDto grantDto, - @RequestParam(value = "removeDeadline") Integer deadlineId) { - grantService.removeDeadline(grantDto, deadlineId); - return GRANT_PAGE; - } - - @PostMapping(value = "/grant", params = "createProject") - public String createProject(@Valid GrantDto grantDto, Errors errors) throws IOException { - if (errors.hasErrors()) { - return GRANT_PAGE; - } - grantService.createProject(grantDto); - return GRANT_PAGE; - } - - @GetMapping("/delete/{grant-id}") - public String delete(@PathVariable("grant-id") Integer grantId) throws IOException { - grantService.delete(grantId); - return String.format(REDIRECT_TO, GRANTS_PAGE); - } - - @ModelAttribute("allStatuses") - public List getGrantStatuses() { - return grantService.getGrantStatuses(); - } - - @ModelAttribute("allAuthors") - public List getAllAuthors(GrantDto grantDto) { - return grantService.getGrantAuthors(grantDto); - } - - @ModelAttribute("allPapers") - public List getAllPapers() { - return grantService.getAllUncompletedPapers(); - } - - @ResponseBody - @PostMapping(value = "/ping") - public void ping(@RequestParam("grantId") int grantId) throws IOException { - grantService.ping(grantId); - } -} diff --git a/src/main/java/ru/ulstu/name/BaseService.java b/src/main/java/ru/ulstu/name/BaseService.java deleted file mode 100644 index adcdc74..0000000 --- a/src/main/java/ru/ulstu/name/BaseService.java +++ /dev/null @@ -1,23 +0,0 @@ -package ru.ulstu.name; - -import org.springframework.stereotype.Service; -import org.springframework.validation.Errors; - -@Service -public abstract class BaseService { - - public BaseRepository baseRepository; - - protected void checkUniqueName(NameContainer nameContainer, Errors errors, Integer id, String errorMessage) { - if (nameContainer.getName().equals(baseRepository.findByNameAndNotId(nameContainer.getName(), id))) { - errors.rejectValue("title", "errorCode", errorMessage); - } - } - - protected String checkUniqueName(NameContainer nameContainer, Integer id) { - if (nameContainer.getName().equals(baseRepository.findByNameAndNotId(nameContainer.getName(), id))) { - return baseRepository.findByNameAndNotId(nameContainer.getName(), id); - } - return null; - } -} diff --git a/src/main/java/ru/ulstu/name/NameContainer.java b/src/main/java/ru/ulstu/name/NameContainer.java deleted file mode 100644 index 4339fb2..0000000 --- a/src/main/java/ru/ulstu/name/NameContainer.java +++ /dev/null @@ -1,14 +0,0 @@ -package ru.ulstu.name; - -public abstract class NameContainer { - - private String name = ""; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } -} diff --git a/src/main/java/ru/ulstu/paper/model/PaperListDto.java b/src/main/java/ru/ulstu/paper/model/PaperListDto.java deleted file mode 100644 index 8bbf95b..0000000 --- a/src/main/java/ru/ulstu/paper/model/PaperListDto.java +++ /dev/null @@ -1,55 +0,0 @@ -package ru.ulstu.paper.model; - -import ru.ulstu.boundary.model.ActivityListDto; -import ru.ulstu.boundary.model.ScienceGroupMemberDto; - -import java.util.Set; - -import static ru.ulstu.core.util.StreamApiUtils.convert; - -public class PaperListDto implements ActivityListDto { - - private Integer id; - private String title; - private Paper.PaperStatus status; - private Set authors; - - public PaperListDto(Paper paper) { - this.id = paper.getId(); - this.title = paper.getTitle(); - this.status = paper.getStatus(); - this.authors = convert(paper.getAuthors(), ScienceGroupMemberDto::new); - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getTitle() { - return title; - } - - public void setTitle(String title) { - this.title = title; - } - - public Paper.PaperStatus getStatus() { - return status; - } - - public void setStatus(Paper.PaperStatus status) { - this.status = status; - } - - public Set getAuthors() { - return authors; - } - - public void setAuthors(Set authors) { - this.authors = authors; - } -} diff --git a/src/main/java/ru/ulstu/user/model/UserInfoNow.java b/src/main/java/ru/ulstu/user/model/UserInfoNow.java index 7d69c56..9f55f0f 100644 --- a/src/main/java/ru/ulstu/user/model/UserInfoNow.java +++ b/src/main/java/ru/ulstu/user/model/UserInfoNow.java @@ -1,7 +1,7 @@ package ru.ulstu.user.model; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.utils.timetable.model.Lesson; +import ru.ulstu.activity.boundary.timetable.model.Lesson; +import ru.ulstu.activity.conference.model.Conference; public class UserInfoNow { private Lesson lesson; diff --git a/src/main/java/ru/ulstu/user/service/UserService.java b/src/main/java/ru/ulstu/user/service/UserService.java index 0f69c8e..941c4ea 100644 --- a/src/main/java/ru/ulstu/user/service/UserService.java +++ b/src/main/java/ru/ulstu/user/service/UserService.java @@ -15,15 +15,18 @@ import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.StringUtils; -import ru.ulstu.conference.service.ConferenceService; +import ru.ulstu.activity.boundary.timetable.TimetableService; +import ru.ulstu.activity.boundary.timetable.errors.TimetableClientException; +import ru.ulstu.activity.boundary.timetable.model.Lesson; +import ru.ulstu.activity.common.model.AbstractActivity; +import ru.ulstu.activity.conference.service.ConferenceService; +import ru.ulstu.activity.ping.model.Ping; +import ru.ulstu.activity.ping.service.PingService; import ru.ulstu.configuration.ApplicationProperties; import ru.ulstu.core.error.EntityIdIsNullException; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.BaseEntity; -import ru.ulstu.core.model.UserActivity; import ru.ulstu.core.model.response.PageableItems; -import ru.ulstu.ping.model.Ping; -import ru.ulstu.ping.service.PingService; import ru.ulstu.user.error.UserActivationError; import ru.ulstu.user.error.UserBlockedException; import ru.ulstu.user.error.UserEmailExistsException; @@ -46,9 +49,6 @@ import ru.ulstu.user.model.UserRoleDto; import ru.ulstu.user.repository.UserRepository; import ru.ulstu.user.repository.UserRoleRepository; import ru.ulstu.user.util.UserUtils; -import ru.ulstu.utils.timetable.TimetableService; -import ru.ulstu.utils.timetable.errors.TimetableClientException; -import ru.ulstu.utils.timetable.model.Lesson; import javax.mail.MessagingException; import java.text.ParseException; @@ -411,9 +411,9 @@ public class UserService implements UserDetailsService { Map activitiesPings = new HashMap<>(); for (Ping ping : pingService.getPings(activityName)) { - UserActivity activity = ping.getActivity(); + AbstractActivity activity = ping.getActivity(); - if (user != null && !activity.getActivityUsers().contains(user)) { + if (user != null && !activity.getActivityMembers().contains(user)) { continue; } diff --git a/src/main/resources/mail_templates/grantAuthorsChangeNotification.html b/src/main/resources/mail_templates/grantAuthorsChangeNotification.html index 2bae4fe..15cdf59 100644 --- a/src/main/resources/mail_templates/grantAuthorsChangeNotification.html +++ b/src/main/resources/mail_templates/grantAuthorsChangeNotification.html @@ -13,7 +13,7 @@ Состав рабочей группы гранта "Title" сменился с " oldAuthors" - на " newAuthors". + на " newAuthors".

Regards, diff --git a/src/main/resources/public/js/core.js b/src/main/resources/public/js/core.js index 7f54023..d575d0a 100644 --- a/src/main/resources/public/js/core.js +++ b/src/main/resources/public/js/core.js @@ -191,7 +191,7 @@ function fillSelect(selectElement, values) { $(selectElement).html(""); $.each(values, function (key, value) { $(selectElement).append( - "" + "" ); }); } diff --git a/src/main/resources/public/js/file-loader.js b/src/main/resources/public/js/file-loader.js index 1ba467b..2e1ed9d 100644 --- a/src/main/resources/public/js/file-loader.js +++ b/src/main/resources/public/js/file-loader.js @@ -41,7 +41,7 @@ function FileLoader(args) { .addClass("form-control"); div.append(fileLabel); var fileInput = $("") - .attr("type", "file") + .attr("type", "ru.ulstu.activity.file") .attr("multiple", '') .hide(); fileInput.change(function () { @@ -49,7 +49,7 @@ function FileLoader(args) { if (isEmpty(files)) { return; } - fileLabel.val(files[0].name); + fileLabel.val(ru.ulstu.activity.name); }); div.append(fileInput); @@ -106,7 +106,7 @@ function FileLoader(args) { progressDiv.append(progressBar); function getFileExt(file) { - return file.name.slice((Math.max(0, file.name.lastIndexOf(".")) || Infinity) + 1); + return ru.ulstu.activity.name.slice((Math.max(0, ru.ulstu.activity.name.lastIndexOf(".")) || Infinity) + 1); } function upload(file) { @@ -128,7 +128,7 @@ function FileLoader(args) { }; xhr.open("POST", url, true); var formData = new FormData(); - formData.append("file", file); + formData.append("ru.ulstu.activity.file", file); xhr.send(formData); } } \ No newline at end of file diff --git a/src/main/resources/public/js/tasks.js b/src/main/resources/public/js/tasks.js index ebff7e2..282f462 100644 --- a/src/main/resources/public/js/tasks.js +++ b/src/main/resources/public/js/tasks.js @@ -24,7 +24,7 @@ $(document).ready(function () { if (tagNumber > 0) { tagNumber = $("#tags .tag").last() .children('input') - .attr("name") + .attr("ru.ulstu.activity.name") .split(']')[0] .split('[')[1]; tagNumber++; @@ -48,7 +48,7 @@ $(document).ready(function () { var idInput = $("") .attr("type", "hidden") .attr("id", "tags" + tagNumber + ".id") - .attr("name", "tags[" + tagNumber + "].id") + .attr("ru.ulstu.activity.name", "tags[" + tagNumber + "].id") .attr("value", ''); // контейнер текста var conDiv = $("

") @@ -57,7 +57,7 @@ $(document).ready(function () { var nameInput = $("") .attr("type", "text") .attr("id", "tags" + tagNumber + ".tagName") - .attr("name", "tags[" + tagNumber + "].tagName") + .attr("ru.ulstu.activity.name", "tags[" + tagNumber + "].tagName") .attr("value", tagName) .attr("readonly", "true") .attr("size", tagName.length); diff --git a/src/test/java/ru/ulstu/conference/service/ConferenceServiceTest.java b/src/test/java/ru/ulstu/activity/conference/service/ConferenceServiceTest.java similarity index 93% rename from src/test/java/ru/ulstu/conference/service/ConferenceServiceTest.java rename to src/test/java/ru/ulstu/activity/conference/service/ConferenceServiceTest.java index 56756a3..9fe5bc3 100644 --- a/src/test/java/ru/ulstu/conference/service/ConferenceServiceTest.java +++ b/src/test/java/ru/ulstu/activity/conference/service/ConferenceServiceTest.java @@ -1,4 +1,4 @@ -package ru.ulstu.conference.service; +package ru.ulstu.activity.conference.service; import org.junit.Before; import org.junit.Test; @@ -7,17 +7,17 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.springframework.data.domain.Sort; import org.springframework.test.context.junit4.SpringRunner; -import ru.ulstu.conference.model.Conference; -import ru.ulstu.conference.model.ConferenceDto; -import ru.ulstu.conference.model.ConferenceFilterDto; -import ru.ulstu.conference.model.ConferenceUser; -import ru.ulstu.conference.repository.ConferenceRepository; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.paper.service.PaperService; -import ru.ulstu.ping.service.PingService; -import ru.ulstu.timeline.service.EventService; +import ru.ulstu.activity.conference.model.Conference; +import ru.ulstu.activity.conference.model.ConferenceDto; +import ru.ulstu.activity.conference.model.ConferenceFilterDto; +import ru.ulstu.activity.conference.model.ConferenceUser; +import ru.ulstu.activity.conference.repository.ConferenceRepository; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.paper.service.PaperService; +import ru.ulstu.activity.ping.service.PingService; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; diff --git a/src/test/java/ru/ulstu/grant/service/GrantServiceTest.java b/src/test/java/ru/ulstu/activity/grant/service/GrantServiceTest.java similarity index 92% rename from src/test/java/ru/ulstu/grant/service/GrantServiceTest.java rename to src/test/java/ru/ulstu/activity/grant/service/GrantServiceTest.java index c8df288..dc1a9a0 100644 --- a/src/test/java/ru/ulstu/grant/service/GrantServiceTest.java +++ b/src/test/java/ru/ulstu/activity/grant/service/GrantServiceTest.java @@ -1,4 +1,4 @@ -package ru.ulstu.grant.service; +package ru.ulstu.activity.grant.service; import org.apache.commons.lang3.StringUtils; import org.junit.Before; @@ -8,15 +8,15 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.mockito.Mockito; import org.springframework.test.context.junit4.SpringRunner; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.grant.model.Grant; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.grant.repository.GrantRepository; -import ru.ulstu.paper.model.Paper; -import ru.ulstu.paper.model.PaperDto; -import ru.ulstu.paper.service.PaperService; -import ru.ulstu.timeline.service.EventService; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.grant.model.Grant; +import ru.ulstu.activity.grant.model.GrantDto; +import ru.ulstu.activity.grant.repository.GrantRepository; +import ru.ulstu.activity.paper.model.Paper; +import ru.ulstu.activity.paper.model.PaperDto; +import ru.ulstu.activity.paper.service.PaperService; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; diff --git a/src/test/java/ru/ulstu/project/service/ProjectServiceTest.java b/src/test/java/ru/ulstu/activity/project/service/ProjectServiceTest.java similarity index 87% rename from src/test/java/ru/ulstu/project/service/ProjectServiceTest.java rename to src/test/java/ru/ulstu/activity/project/service/ProjectServiceTest.java index f46971c..04b1282 100644 --- a/src/test/java/ru/ulstu/project/service/ProjectServiceTest.java +++ b/src/test/java/ru/ulstu/activity/project/service/ProjectServiceTest.java @@ -1,4 +1,4 @@ -package ru.ulstu.project.service; +package ru.ulstu.activity.project.service; import org.junit.Before; import org.junit.Test; @@ -6,16 +6,16 @@ import org.junit.runner.RunWith; import org.mockito.InjectMocks; import org.mockito.Mock; import org.springframework.test.context.junit4.SpringRunner; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.file.model.FileData; -import ru.ulstu.file.service.FileService; -import ru.ulstu.grant.model.GrantDto; -import ru.ulstu.grant.service.GrantService; -import ru.ulstu.project.model.Project; -import ru.ulstu.project.model.ProjectDto; -import ru.ulstu.project.repository.ProjectRepository; -import ru.ulstu.timeline.service.EventService; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.file.model.FileData; +import ru.ulstu.activity.file.service.FileService; +import ru.ulstu.activity.grant.model.GrantDto; +import ru.ulstu.activity.grant.service.GrantService; +import ru.ulstu.activity.project.model.Project; +import ru.ulstu.activity.project.model.ProjectDto; +import ru.ulstu.activity.project.repository.ProjectRepository; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; diff --git a/src/test/java/ru/ulstu/students/service/TaskServiceTest.java b/src/test/java/ru/ulstu/activity/students/service/TaskServiceTest.java similarity index 91% rename from src/test/java/ru/ulstu/students/service/TaskServiceTest.java rename to src/test/java/ru/ulstu/activity/students/service/TaskServiceTest.java index 97b9990..10a2cb5 100644 --- a/src/test/java/ru/ulstu/students/service/TaskServiceTest.java +++ b/src/test/java/ru/ulstu/activity/students/service/TaskServiceTest.java @@ -1,4 +1,4 @@ -package ru.ulstu.students.service; +package ru.ulstu.activity.students.service; import org.junit.Before; import org.junit.Test; @@ -7,18 +7,18 @@ import org.mockito.InjectMocks; import org.mockito.Mock; import org.springframework.data.domain.Sort; import org.springframework.test.context.junit4.SpringRunner; +import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.service.DeadlineService; +import ru.ulstu.activity.students.model.Scheduler; +import ru.ulstu.activity.students.model.Task; +import ru.ulstu.activity.students.model.TaskDto; +import ru.ulstu.activity.students.model.TaskFilterDto; +import ru.ulstu.activity.students.repository.SchedulerRepository; +import ru.ulstu.activity.students.repository.TaskRepository; +import ru.ulstu.activity.tags.model.Tag; +import ru.ulstu.activity.tags.service.TagService; +import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.util.DateUtils; -import ru.ulstu.deadline.model.Deadline; -import ru.ulstu.deadline.service.DeadlineService; -import ru.ulstu.students.model.Scheduler; -import ru.ulstu.students.model.Task; -import ru.ulstu.students.model.TaskDto; -import ru.ulstu.students.model.TaskFilterDto; -import ru.ulstu.students.repository.SchedulerRepository; -import ru.ulstu.students.repository.TaskRepository; -import ru.ulstu.tags.model.Tag; -import ru.ulstu.tags.service.TagService; -import ru.ulstu.timeline.service.EventService; import java.io.IOException; import java.util.ArrayList;