From 17723237d19fb9e12b4a10dcd5a946daf5c2cea3 Mon Sep 17 00:00:00 2001 From: Anton Romanov Date: Sat, 20 Jul 2019 13:03:14 +0400 Subject: [PATCH] fix event removing --- .../common/service/ActivityService.java | 8 +++-- .../conference/service/ConferenceService.java | 6 ++++ .../activity/grant/service/GrantService.java | 13 ++++----- .../activity/paper/service/PaperService.java | 6 ++++ .../project/service/ProjectService.java | 6 ++++ .../students/service/TaskService.java | 6 ++++ .../timeline/service/EventService.java | 29 +++++++++++++++++-- 7 files changed, 62 insertions(+), 12 deletions(-) diff --git a/src/main/java/ru/ulstu/activity/common/service/ActivityService.java b/src/main/java/ru/ulstu/activity/common/service/ActivityService.java index bca8c96..c51b750 100644 --- a/src/main/java/ru/ulstu/activity/common/service/ActivityService.java +++ b/src/main/java/ru/ulstu/activity/common/service/ActivityService.java @@ -8,11 +8,13 @@ import ru.ulstu.activity.api.model.ActivityListDto; import ru.ulstu.activity.common.model.AbstractActivity; import ru.ulstu.activity.common.model.EventSource; import ru.ulstu.activity.ping.service.PingService; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.response.PageableItems; import java.io.IOException; +import java.util.List; import static ru.ulstu.core.util.StreamApiUtils.convertPageable; @@ -46,11 +48,13 @@ public abstract class ActivityService getEvents(T entity); + @Transactional public D update(D entityDto) { T newEntity; diff --git a/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java b/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java index d92424b..3614766 100644 --- a/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java +++ b/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java @@ -12,6 +12,7 @@ import ru.ulstu.activity.conference.model.ConferenceListDto; import ru.ulstu.activity.deadline.service.DeadlineService; import ru.ulstu.activity.paper.service.PaperService; import ru.ulstu.activity.ping.service.PingService; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.response.PageableItems; @@ -137,4 +138,9 @@ public class ConferenceService extends ActivityService getEvents(Conference entity) { + return eventService.findByConference(entity); + } } diff --git a/src/main/java/ru/ulstu/activity/grant/service/GrantService.java b/src/main/java/ru/ulstu/activity/grant/service/GrantService.java index 599fdab..4ef96e0 100644 --- a/src/main/java/ru/ulstu/activity/grant/service/GrantService.java +++ b/src/main/java/ru/ulstu/activity/grant/service/GrantService.java @@ -18,6 +18,7 @@ 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.service.ProjectService; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.response.PageableItems; @@ -98,13 +99,6 @@ public class GrantService extends ActivityService return new GrantDto(entity); } - @Transactional - @Override - public GrantDto update(GrantDto grantDto) { - Grant grant = findById(grantDto.getId()); - return new GrantDto(update(grant)); - } - protected Grant copyFromDto(Grant grant, GrantDto grantDto) throws IOException { grant.setComment(grantDto.getComment()); grant.setStatus(grantDto.getStatus() == null ? APPLICATION : grantDto.getStatus()); @@ -129,6 +123,11 @@ public class GrantService extends ActivityService return grant; } + @Override + protected List getEvents(Grant entity) { + return eventService.findByGrant(entity); + } + @Transactional public boolean delete(Integer grantId) { Grant grant = findById(grantId); diff --git a/src/main/java/ru/ulstu/activity/paper/service/PaperService.java b/src/main/java/ru/ulstu/activity/paper/service/PaperService.java index d31750f..45325a8 100644 --- a/src/main/java/ru/ulstu/activity/paper/service/PaperService.java +++ b/src/main/java/ru/ulstu/activity/paper/service/PaperService.java @@ -16,6 +16,7 @@ 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.ping.service.PingService; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.response.PageableItems; @@ -101,6 +102,11 @@ public class PaperService extends ActivityService return new PageableItems<>(activePapersPage.getTotalElements(), sortPapers(activePapersPage.getContent())); } + @Override + protected List getEvents(Paper entity) { + return eventService.findByPaper(entity); + } + @Transactional public PaperDto update(PaperDto paperDto) { Paper paper = findById(paperDto.getId()); diff --git a/src/main/java/ru/ulstu/activity/project/service/ProjectService.java b/src/main/java/ru/ulstu/activity/project/service/ProjectService.java index b7b0a8b..52cedc0 100644 --- a/src/main/java/ru/ulstu/activity/project/service/ProjectService.java +++ b/src/main/java/ru/ulstu/activity/project/service/ProjectService.java @@ -11,6 +11,7 @@ import ru.ulstu.activity.project.model.Project; import ru.ulstu.activity.project.model.ProjectDashboardDto; import ru.ulstu.activity.project.model.ProjectDto; import ru.ulstu.activity.project.model.ProjectListDto; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.response.PageableItems; @@ -59,6 +60,11 @@ public class ProjectService extends ActivityService(activeProjectPage.getTotalElements(), activeProjectPage.getContent()); } + @Override + protected List getEvents(Project entity) { + return eventService.findByProject(entity); + } + @Transactional public boolean delete(Integer projectId) { if (projectRepository.existsById(projectId)) { diff --git a/src/main/java/ru/ulstu/activity/students/service/TaskService.java b/src/main/java/ru/ulstu/activity/students/service/TaskService.java index c95b290..f7b62ee 100644 --- a/src/main/java/ru/ulstu/activity/students/service/TaskService.java +++ b/src/main/java/ru/ulstu/activity/students/service/TaskService.java @@ -16,6 +16,7 @@ import ru.ulstu.activity.students.model.TaskFilterDto; import ru.ulstu.activity.students.model.TaskListDto; import ru.ulstu.activity.tags.model.Tag; import ru.ulstu.activity.tags.service.TagService; +import ru.ulstu.activity.timeline.model.Event; import ru.ulstu.activity.timeline.service.EventService; import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.model.response.PageableItems; @@ -112,6 +113,11 @@ public class TaskService extends ActivityService { return task; } + @Override + protected List getEvents(Task entity) { + return eventService.findByTask(entity); + } + @Transactional public boolean delete(Integer taskId) { if (taskRepository.existsById(taskId)) { diff --git a/src/main/java/ru/ulstu/activity/timeline/service/EventService.java b/src/main/java/ru/ulstu/activity/timeline/service/EventService.java index 1ed772b..99d49b4 100644 --- a/src/main/java/ru/ulstu/activity/timeline/service/EventService.java +++ b/src/main/java/ru/ulstu/activity/timeline/service/EventService.java @@ -4,7 +4,12 @@ import org.apache.commons.lang3.time.DateUtils; import org.springframework.data.domain.Page; import org.springframework.stereotype.Service; 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.core.jpa.OffsetablePageRequest; @@ -61,20 +66,38 @@ public class EventService { + deadline.getDescription() + "' " + eventSource.getSuffix() + " '" + eventSource.getTitle() + "'"); - newEvent.getRecipients().addAll(eventSource.getRecipients()); + eventSource.addObjectToEvent(newEvent); newEvent.setRecipients(eventSource.getRecipients()); newEvents.add(eventRepository.save(newEvent)); } eventRepository.saveAll(newEvents); } - private PageableItems createPageable(Page page) { return convertPageable(new PageableItems<>(page.getTotalElements(), page.getContent()), EventDto::new); } - public void deleteByObject(EventSource eventSource) { + public void deleteAll(List events) { + eventRepository.deleteAll(events); + } + public List findByConference(Conference conference) { + return eventRepository.findAllByConference(conference); + } + + public List findByGrant(Grant entity) { + return eventRepository.findAllByGrant(entity); + } + + public List findByProject(Project entity) { + return eventRepository.findAllByProject(entity); + } + + public List findByPaper(Paper entity) { + return eventRepository.findAllByPaper(entity); + } + public List findByTask(Task entity) { + return eventRepository.findAllByTask(entity); } } \ No newline at end of file