work with different version of entity

pull/244/head
Anton Romanov 5 years ago
parent a1d268a8c2
commit 0f9f591c6b

@ -4,6 +4,8 @@ import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import java.util.Optional;
public interface ActivityRepository<T> { public interface ActivityRepository<T> {
String findByNameAndNotId(@Param("name") String name, @Param("id") Integer id); String findByNameAndNotId(@Param("name") String name, @Param("id") Integer id);
@ -14,4 +16,8 @@ public interface ActivityRepository<T> {
Page<T> findAll(Pageable pageable); Page<T> findAll(Pageable pageable);
void deleteById(Integer id); void deleteById(Integer id);
Optional<T> findById(Integer id);
void detach(T t);
} }

@ -1,8 +1,10 @@
package ru.ulstu.activity.common.model; package ru.ulstu.activity.common.model;
import ru.ulstu.activity.timeline.model.Event;
import ru.ulstu.core.model.BaseEntity; import ru.ulstu.core.model.BaseEntity;
import ru.ulstu.user.model.User; import ru.ulstu.user.model.User;
import java.util.List;
import java.util.Set; import java.util.Set;
public abstract class AbstractActivity extends BaseEntity { public abstract class AbstractActivity extends BaseEntity {
@ -17,4 +19,6 @@ public abstract class AbstractActivity extends BaseEntity {
} }
public abstract Set<User> getActivityMembers(); public abstract Set<User> getActivityMembers();
public abstract List<Event> getEvents();
} }

@ -13,6 +13,7 @@ import ru.ulstu.activity.timeline.service.EventService;
import ru.ulstu.core.jpa.OffsetablePageRequest; import ru.ulstu.core.jpa.OffsetablePageRequest;
import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.core.model.response.PageableItems;
import javax.persistence.EntityNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.util.List; import java.util.List;
@ -47,23 +48,31 @@ public abstract class ActivityService<L extends ActivityListDto, T extends Abstr
} }
@Transactional @Transactional
public T update(T entity) { public T update(T oldEntity, T entity) {
entity.getEvents().clear();
eventService.deleteAll(getEvents(entity)); eventService.deleteAll(getEvents(entity));
eventService.createFromObject((EventSource) entity); eventService.createFromObject((EventSource) entity);
doActionsOnDiffObjects(oldEntity, entity);
return activityRepository.save(entity); return activityRepository.save(entity);
} }
protected abstract void doActionsOnDiffObjects(T oldEntity, T entity);
protected abstract List<Event> getEvents(T entity); protected abstract List<Event> getEvents(T entity);
@Transactional @Transactional
public D update(D entityDto) { public D update(D entityDto) {
T oldEntity = activityRepository.getById(entityDto.getId());
//to init lazy collection
oldEntity.getActivityMembers();
activityRepository.detach(oldEntity);
T newEntity; T newEntity;
try { try {
newEntity = copyFromDto(activityRepository.getById(entityDto.getId()), entityDto); newEntity = copyFromDto(activityRepository.getById(entityDto.getId()), entityDto);
} catch (IOException e) { } catch (IOException e) {
throw new RuntimeException(e); throw new RuntimeException(e);
} }
return getNewActivityDto(update(newEntity)); return getNewActivityDto(update(oldEntity, newEntity));
} }
@Transactional @Transactional
@ -79,8 +88,13 @@ public abstract class ActivityService<L extends ActivityListDto, T extends Abstr
return true; return true;
} }
public D findDtoById(Integer id) {
return getNewActivityDto(findById(id));
}
public T findById(Integer id) { public T findById(Integer id) {
return activityRepository.getById(id); return activityRepository.findById(id)
.orElseThrow(() -> new EntityNotFoundException("Entity with id=" + id + " not found"));
} }
public PageableItems<T> findAll(int offset, int count) { public PageableItems<T> findAll(int offset, int count) {
@ -92,7 +106,6 @@ public abstract class ActivityService<L extends ActivityListDto, T extends Abstr
return convertPageable(findAll(offset, count), entity -> getActivityListDto(entity)); return convertPageable(findAll(offset, count), entity -> getActivityListDto(entity));
} }
public abstract PageableItems findAllActiveDto(int offset, int count); public abstract PageableItems findAllActiveDto(int offset, int count);
public abstract PageableItems<T> findAllActive(int offset, int count); public abstract PageableItems<T> findAllActive(int offset, int count);

@ -25,6 +25,7 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType; import javax.persistence.TemporalType;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -177,4 +178,9 @@ public class Conference extends AbstractActivity implements EventSource {
public Set<User> getActivityMembers() { public Set<User> getActivityMembers() {
return users.stream().map(conferenceUser -> conferenceUser.getUser()).collect(Collectors.toSet()); return users.stream().map(conferenceUser -> conferenceUser.getUser()).collect(Collectors.toSet());
} }
@Override
public List<Event> getEvents() {
return Collections.emptyList();
}
} }

@ -2,13 +2,13 @@ package ru.ulstu.activity.conference.service;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import ru.ulstu.activity.common.service.ActivityService; import ru.ulstu.activity.common.service.ActivityService;
import ru.ulstu.activity.conference.model.Conference; import ru.ulstu.activity.conference.model.Conference;
import ru.ulstu.activity.conference.model.ConferenceDashboardDto; import ru.ulstu.activity.conference.model.ConferenceDashboardDto;
import ru.ulstu.activity.conference.model.ConferenceDto; import ru.ulstu.activity.conference.model.ConferenceDto;
import ru.ulstu.activity.conference.model.ConferenceFilterDto; import ru.ulstu.activity.conference.model.ConferenceFilterDto;
import ru.ulstu.activity.conference.model.ConferenceListDto; import ru.ulstu.activity.conference.model.ConferenceListDto;
import ru.ulstu.activity.deadline.model.Deadline;
import ru.ulstu.activity.deadline.service.DeadlineService; import ru.ulstu.activity.deadline.service.DeadlineService;
import ru.ulstu.activity.paper.service.PaperService; import ru.ulstu.activity.paper.service.PaperService;
import ru.ulstu.activity.ping.service.PingService; import ru.ulstu.activity.ping.service.PingService;
@ -57,18 +57,6 @@ public class ConferenceService extends ActivityService<ConferenceListDto, Confer
this.eventService = eventService; this.eventService = eventService;
} }
@Transactional
@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));
}
@Override @Override
protected ConferenceListDto getActivityListDto(Conference entity) { protected ConferenceListDto getActivityListDto(Conference entity) {
return new ConferenceListDto(entity); return new ConferenceListDto(entity);
@ -131,6 +119,34 @@ public class ConferenceService extends ActivityService<ConferenceListDto, Confer
return conferenceRepository.findActiveByUser(user); return conferenceRepository.findActiveByUser(user);
} }
@Override
protected void doActionsOnDiffObjects(Conference oldEntity, Conference entity) {
if (!entity.getBeginDate().equals(oldEntity.getBeginDate())
|| !entity.getEndDate().equals(oldEntity.getEndDate())) {
conferenceNotificationService.updateConferencesDatesNotification(entity, oldEntity.getBeginDate(), oldEntity.getEndDate());
}
entity.getActivityMembers().forEach(author -> {
if (!oldEntity.getActivityMembers().contains(author)) {
conferenceNotificationService.sendCreateNotification(entity);
}
});
sendNotificationAfterUpdateDeadlines(entity, oldEntity.getDeadlines());
}
private void sendNotificationAfterUpdateDeadlines(Conference conference, List<Deadline> oldDeadlines) {
if (oldDeadlines.size() != conference.getDeadlines().size()) {
conferenceNotificationService.updateDeadlineNotification(conference);
return;
}
if (conference.getDeadlines()
.stream()
.filter(deadline -> !oldDeadlines.contains(deadline))
.count() > 0) {
conferenceNotificationService.updateDeadlineNotification(conference);
}
}
@Override @Override
protected List<Event> getEvents(Conference entity) { protected List<Event> getEvents(Conference entity) {
return eventService.findByConference(entity); return eventService.findByConference(entity);

@ -53,7 +53,7 @@ public class GrantController implements ActivityController<GrantListDto, GrantDa
@Override @Override
@GetMapping("{grant-id}") @GetMapping("{grant-id}")
public Response<GrantDto> get(@PathVariable("grant-id") Integer entityId) { public Response<GrantDto> get(@PathVariable("grant-id") Integer entityId) {
return new Response<>(grantService.findGrantById(entityId)); return new Response<>(grantService.findDtoById(entityId));
} }
@Override @Override

@ -2,15 +2,15 @@ package ru.ulstu.activity.grant.service;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query; import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param; import org.springframework.data.repository.query.Param;
import ru.ulstu.activity.api.ActivityRepository; import ru.ulstu.activity.api.ActivityRepository;
import ru.ulstu.activity.grant.model.Grant; import ru.ulstu.activity.grant.model.Grant;
import ru.ulstu.core.repository.JpaDetachableRepository;
import java.util.List; import java.util.List;
interface GrantRepository extends JpaRepository<Grant, Integer>, ActivityRepository<Grant> { interface GrantRepository extends JpaDetachableRepository<Grant, Integer>, ActivityRepository<Grant> {
List<Grant> findByStatus(Grant.GrantStatus status); List<Grant> findByStatus(Grant.GrantStatus status);

@ -116,6 +116,18 @@ public class GrantService extends ActivityService<GrantListDto, Grant, GrantDto>
return grant; return grant;
} }
@Override
protected void doActionsOnDiffObjects(Grant oldEntity, Grant entity) {
entity.getAuthors().forEach(author -> {
if (!oldEntity.getAuthors().contains(author)) {
grantNotificationService.sendAuthorsChangeNotification(entity, oldEntity.getAuthors());
}
});
if (!entity.getLeader().equals(oldEntity.getLeader())) {
grantNotificationService.sendLeaderChangeNotification(entity, oldEntity.getLeader());
}
}
@Override @Override
protected List<Event> getEvents(Grant entity) { protected List<Event> getEvents(Grant entity) {
return eventService.findByGrant(entity); return eventService.findByGrant(entity);
@ -169,14 +181,6 @@ public class GrantService extends ActivityService<GrantListDto, Grant, GrantDto>
return new PageableItems<>(activeGrantsPage.getTotalElements(), activeGrantsPage.getContent()); return new PageableItems<>(activeGrantsPage.getTotalElements(), activeGrantsPage.getContent());
} }
public GrantDto findGrantById(Integer id) {
return new GrantDto(findById(id));
}
public Grant findById(Integer id) {
return grantRepository.getOne(id);
}
@Transactional @Transactional
public void ping(int grantId) { public void ping(int grantId) {
pingService.addPing(findById(grantId)); pingService.addPing(findById(grantId));

@ -47,7 +47,7 @@ public class PaperController implements ActivityController<PaperListDto, PaperDa
@GetMapping("{paper-id}") @GetMapping("{paper-id}")
public Response<PaperDto> get(@PathVariable("paper-id") Integer paperId) { public Response<PaperDto> get(@PathVariable("paper-id") Integer paperId) {
return new Response<>(paperService.findPaperById(paperId)); return new Response<>(paperService.findDtoById(paperId));
} }
@PostMapping @PostMapping

@ -6,12 +6,10 @@ import org.springframework.transaction.annotation.Transactional;
import ru.ulstu.activity.common.service.ActivityService; import ru.ulstu.activity.common.service.ActivityService;
import ru.ulstu.activity.deadline.model.Deadline; import ru.ulstu.activity.deadline.model.Deadline;
import ru.ulstu.activity.deadline.service.DeadlineService; 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.file.service.FileService;
import ru.ulstu.activity.paper.model.Paper; import ru.ulstu.activity.paper.model.Paper;
import ru.ulstu.activity.paper.model.PaperDashboardDto; import ru.ulstu.activity.paper.model.PaperDashboardDto;
import ru.ulstu.activity.paper.model.PaperDto; 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.PaperListDto;
import ru.ulstu.activity.paper.model.PaperStatusDto; import ru.ulstu.activity.paper.model.PaperStatusDto;
import ru.ulstu.activity.paper.model.PaperTypeDto; import ru.ulstu.activity.paper.model.PaperTypeDto;
@ -23,13 +21,10 @@ import ru.ulstu.core.model.response.PageableItems;
import ru.ulstu.user.model.User; import ru.ulstu.user.model.User;
import ru.ulstu.user.service.UserService; import ru.ulstu.user.service.UserService;
import javax.persistence.EntityNotFoundException;
import java.io.IOException; import java.io.IOException;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import static java.util.stream.Collectors.toList; import static java.util.stream.Collectors.toList;
import static org.hibernate.internal.util.collections.CollectionHelper.isNotEmpty; import static org.hibernate.internal.util.collections.CollectionHelper.isNotEmpty;
@ -53,9 +48,6 @@ public class PaperService extends ActivityService<PaperListDto, Paper, PaperDto>
private final EventService eventService; private final EventService eventService;
private final PingService pingService; private final PingService pingService;
private Paper.PaperStatus oldStatus;
private Set<User> oldAuthors;
public PaperService(PaperRepository paperRepository, public PaperService(PaperRepository paperRepository,
FileService fileService, FileService fileService,
PaperNotificationService paperNotificationService, PaperNotificationService paperNotificationService,
@ -108,21 +100,14 @@ public class PaperService extends ActivityService<PaperListDto, Paper, PaperDto>
return eventService.findByPaper(entity); return eventService.findByPaper(entity);
} }
@Transactional @Override
public PaperDto update(PaperDto paperDto) { protected void doActionsOnDiffObjects(Paper oldEntity, Paper entity) {
Paper paper = findById(paperDto.getId()); if (oldEntity.getStatus() != entity.getStatus()) {
oldStatus = paper.getStatus(); paperNotificationService.statusChangeNotification(entity, oldEntity.getStatus());
oldAuthors = new HashSet<>(paper.getAuthors()); }
if (!oldEntity.getAuthors().equals(entity.getAuthors())) {
//TODO: move to service paperNotificationService.sendCreateNotification(entity, oldEntity.getAuthors());
if (paperDto.getFiles() != null) {
for (FileDataDto file : paperDto.getFiles().stream()
.filter(f -> f.isDeleted() && f.getId() != null)
.collect(toList())) {
fileService.delete(file.getId());
}
} }
return new PaperDto(update(copyFromDto(paper, paperDto)));
} }
protected Paper copyFromDto(Paper paper, PaperDto paperDto) { protected Paper copyFromDto(Paper paper, PaperDto paperDto) {
@ -152,13 +137,6 @@ public class PaperService extends ActivityService<PaperListDto, Paper, PaperDto>
return paper; return paper;
} }
@Transactional
public boolean delete(Integer paperId) {
Paper paper = paperRepository.getOne(paperId);
paperRepository.delete(paper);
return true;
}
public List<PaperStatusDto> getPaperStatuses() { public List<PaperStatusDto> getPaperStatuses() {
return convert(Arrays.asList(Paper.PaperStatus.values()), PaperStatusDto::new); return convert(Arrays.asList(Paper.PaperStatus.values()), PaperStatusDto::new);
} }
@ -181,12 +159,6 @@ public class PaperService extends ActivityService<PaperListDto, Paper, PaperDto>
return create(paper); return create(paper);
} }
public List<PaperListDto> filter(PaperFilterListDto filterDto) {
return convert(sortPapers(paperRepository.filter(
filterDto.getFilterAuthorId() == null ? null : userService.findById(filterDto.getFilterAuthorId()),
filterDto.getYear())), PaperListDto::new);
}
private List<Paper> sortPapers(List<Paper> papers) { private List<Paper> sortPapers(List<Paper> papers) {
return papers.stream().sorted((paper1, paper2) -> { return papers.stream().sorted((paper1, paper2) -> {
int statusCompareResult = int statusCompareResult =
@ -223,28 +195,7 @@ public class PaperService extends ActivityService<PaperListDto, Paper, PaperDto>
} }
} }
public PaperDto findPaperById(Integer paperId) {
return new PaperDto(findById(paperId));
}
public Paper findById(Integer paperId) {
return paperRepository.findById(paperId)
.orElseThrow(() -> new EntityNotFoundException("Paper with id=" + paperId + " not found"));
}
public List<PaperDto> findAllNotCompleted() {
return convert(paperRepository.findByStatusNot(COMPLETED), PaperDto::new);
}
public List<PaperDto> findAllSelect(List<Integer> paperIds) {
return convert(paperRepository.findAllByIdIn(paperIds), PaperDto::new);
}
public List<User> getPaperAuthors() { public List<User> getPaperAuthors() {
return userService.findAll(); return userService.findAll();
} }
public List<Paper> findAllCompletedByType(Paper.PaperType type) {
return paperRepository.findByTypeAndStatus(type, Paper.PaperStatus.COMPLETED);
}
} }

@ -43,7 +43,7 @@ public class ProjectController implements ActivityController<ProjectListDto, Pro
@GetMapping("{project-id}") @GetMapping("{project-id}")
public Response<ProjectDto> get(@PathVariable("project-id") Integer projectId) { public Response<ProjectDto> get(@PathVariable("project-id") Integer projectId) {
return new Response<>(projectService.findProjectById(projectId)); return new Response<>(projectService.findDtoById(projectId));
} }
@PostMapping @PostMapping

@ -56,6 +56,11 @@ public class ProjectService extends ActivityService<ProjectListDto, Project, Pro
return new PageableItems<>(activeProjectPage.getTotalElements(), activeProjectPage.getContent()); return new PageableItems<>(activeProjectPage.getTotalElements(), activeProjectPage.getContent());
} }
@Override
protected void doActionsOnDiffObjects(Project oldEntity, Project entity) {
//TODO
}
@Override @Override
protected List<Event> getEvents(Project entity) { protected List<Event> getEvents(Project entity) {
return eventService.findByProject(entity); return eventService.findByProject(entity);
@ -88,8 +93,4 @@ public class ProjectService extends ActivityService<ProjectListDto, Project, Pro
protected ProjectDto getNewActivityDto(Project entity) { protected ProjectDto getNewActivityDto(Project entity) {
return new ProjectDto(entity); return new ProjectDto(entity);
} }
public ProjectDto findProjectById(Integer projectId) {
return getNewActivityDto(findById(projectId));
}
} }

@ -44,7 +44,7 @@ public class TaskController implements ActivityController<TaskListDto, TaskDashb
@GetMapping("{task-id}") @GetMapping("{task-id}")
public Response<TaskDto> get(@PathVariable("task-id") Integer taskId) { public Response<TaskDto> get(@PathVariable("task-id") Integer taskId) {
return new Response<>(taskService.findTaskById(taskId)); return new Response<>(taskService.findDtoById(taskId));
} }
@PostMapping @PostMapping

@ -110,6 +110,11 @@ public class Task extends AbstractActivity implements EventSource {
return Collections.emptySet(); return Collections.emptySet();
} }
@Override
public List<Event> getEvents() {
return Collections.emptyList();
}
public TaskStatus getStatus() { public TaskStatus getStatus() {
return status; return status;
} }

@ -1,7 +1,6 @@
package ru.ulstu.activity.students.service; package ru.ulstu.activity.students.service;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import ru.ulstu.activity.common.service.ActivityService; import ru.ulstu.activity.common.service.ActivityService;
@ -12,7 +11,6 @@ import ru.ulstu.activity.students.model.Scheduler;
import ru.ulstu.activity.students.model.Task; import ru.ulstu.activity.students.model.Task;
import ru.ulstu.activity.students.model.TaskDashboardDto; import ru.ulstu.activity.students.model.TaskDashboardDto;
import ru.ulstu.activity.students.model.TaskDto; import ru.ulstu.activity.students.model.TaskDto;
import ru.ulstu.activity.students.model.TaskFilterDto;
import ru.ulstu.activity.students.model.TaskListDto; import ru.ulstu.activity.students.model.TaskListDto;
import ru.ulstu.activity.tags.model.Tag; import ru.ulstu.activity.tags.model.Tag;
import ru.ulstu.activity.tags.service.TagService; import ru.ulstu.activity.tags.service.TagService;
@ -22,7 +20,6 @@ import ru.ulstu.core.jpa.OffsetablePageRequest;
import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.core.model.response.PageableItems;
import ru.ulstu.core.util.DateUtils; import ru.ulstu.core.util.DateUtils;
import javax.persistence.EntityNotFoundException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Calendar; import java.util.Calendar;
@ -34,7 +31,6 @@ import java.util.TreeMap;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static ru.ulstu.activity.students.model.Task.TaskStatus.IN_WORK; import static ru.ulstu.activity.students.model.Task.TaskStatus.IN_WORK;
import static ru.ulstu.core.util.StreamApiUtils.convert;
import static ru.ulstu.core.util.StreamApiUtils.convertPageable; import static ru.ulstu.core.util.StreamApiUtils.convertPageable;
@Service @Service
@ -65,10 +61,6 @@ public class TaskService extends ActivityService<TaskListDto, Task, TaskDto> {
this.pingService = pingService; this.pingService = pingService;
} }
public List<Task> findAll() {
return taskRepository.findAll(new Sort(Sort.Direction.DESC, "createDate"));
}
public PageableItems<Task> findAll(int offset, int count) { public PageableItems<Task> findAll(int offset, int count) {
final Page<Task> page = taskRepository.findAll(new OffsetablePageRequest(offset, count)); final Page<Task> page = taskRepository.findAll(new OffsetablePageRequest(offset, count));
return new PageableItems<>(page.getTotalElements(), page.getContent()); return new PageableItems<>(page.getTotalElements(), page.getContent());
@ -89,18 +81,6 @@ public class TaskService extends ActivityService<TaskListDto, Task, TaskDto> {
return new TaskDto(entity); return new TaskDto(entity);
} }
public List<TaskDto> filter(TaskFilterDto filterDto) {
if (filterDto.getOrder().compareTo("new") == 0) {
return convert(taskRepository.filterNew(
filterDto.getStatus(),
filterDto.getTag() == null ? null : tagService.findById(filterDto.getTag())), TaskDto::new);
} else {
return convert(taskRepository.filterOld(
filterDto.getStatus(),
filterDto.getTag() == null ? null : tagService.findById(filterDto.getTag())), TaskDto::new);
}
}
protected Task copyFromDto(Task task, TaskDto taskDto) { protected Task copyFromDto(Task task, TaskDto taskDto) {
task.setTitle(taskDto.getTitle()); task.setTitle(taskDto.getTitle());
task.setDescription(taskDto.getDescription()); task.setDescription(taskDto.getDescription());
@ -113,6 +93,11 @@ public class TaskService extends ActivityService<TaskListDto, Task, TaskDto> {
return task; return task;
} }
@Override
protected void doActionsOnDiffObjects(Task oldEntity, Task entity) {
//TODO
}
@Override @Override
protected List<Event> getEvents(Task entity) { protected List<Event> getEvents(Task entity) {
return eventService.findByTask(entity); return eventService.findByTask(entity);
@ -252,19 +237,4 @@ public class TaskService extends ActivityService<TaskListDto, Task, TaskDto> {
public PageableItems<Task> findAllActive(int offset, int count) { public PageableItems<Task> findAllActive(int offset, int count) {
return findAll(offset, count); return findAll(offset, count);
} }
public TaskDto findTaskById(Integer taskId) {
return new TaskDto(findById(taskId));
}
public Task findById(Integer taskId) {
return taskRepository.findById(taskId)
.orElseThrow(() -> new EntityNotFoundException("Paper with id=" + taskId + " not found"));
}
@Transactional
public void ping(int taskId) {
pingService.addPing(findById(taskId));
}
} }

@ -68,7 +68,6 @@ public class EventService {
+ eventSource.getTitle() + "'"); + eventSource.getTitle() + "'");
eventSource.addObjectToEvent(newEvent); eventSource.addObjectToEvent(newEvent);
newEvent.setRecipients(eventSource.getRecipients()); newEvent.setRecipients(eventSource.getRecipients());
newEvents.add(eventRepository.save(newEvent));
} }
eventRepository.saveAll(newEvents); eventRepository.saveAll(newEvents);
} }

Loading…
Cancel
Save