diff --git a/src/main/java/ru/ulstu/activity/conference/model/ConferenceDto.java b/src/main/java/ru/ulstu/activity/conference/model/ConferenceDto.java index 97da7b5..b6b33ea 100644 --- a/src/main/java/ru/ulstu/activity/conference/model/ConferenceDto.java +++ b/src/main/java/ru/ulstu/activity/conference/model/ConferenceDto.java @@ -4,8 +4,8 @@ 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.activity.common.model.ScienceGroupMemberDto; +import ru.ulstu.activity.deadline.model.DeadlineDto; import ru.ulstu.core.model.BaseEntity; import javax.persistence.Temporal; @@ -15,7 +15,6 @@ import javax.validation.constraints.Size; import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Objects; import static ru.ulstu.core.util.StreamApiUtils.convert; @@ -39,12 +38,9 @@ public class ConferenceDto extends ActivityDto { @Temporal(TemporalType.TIMESTAMP) @DateTimeFormat(pattern = "yyyy-MM-dd") private Date endDate = new Date(); - private List deadlines = new ArrayList<>(); - private List removedDeadlineIds = new ArrayList<>(); - private List userIds = new ArrayList<>(); + private List deadlines = new ArrayList<>(); + private List userIds = new ArrayList<>(); private List paperIds = new ArrayList<>(); - private List papers = new ArrayList<>(); - private List notSelectedPapers = new ArrayList<>(); private List users = new ArrayList<>(); private boolean disabledTakePart = false; @@ -56,13 +52,10 @@ public class ConferenceDto extends ActivityDto { @JsonProperty("ping") Integer ping, @JsonProperty("beginDate") Date beginDate, @JsonProperty("endDate") Date endDate, - @JsonProperty("deadlines") List deadlines, - @JsonProperty("userIds") List userIds, + @JsonProperty("deadlines") List deadlines, + @JsonProperty("userIds") List userIds, @JsonProperty("paperIds") List paperIds, - @JsonProperty("users") List users, - @JsonProperty("papers") List papers, - @JsonProperty("notSelectedPapers") List notSelectedPapers, - @JsonProperty("notSelectedPapers") Boolean disabledTakePart) { + @JsonProperty("users") List users) { super(id); this.description = description; this.url = url; @@ -73,9 +66,7 @@ public class ConferenceDto extends ActivityDto { this.userIds = userIds; this.paperIds = paperIds; this.users = users; - this.papers = papers; - this.notSelectedPapers = notSelectedPapers; - this.disabledTakePart = disabledTakePart; + this.title = title; } public ConferenceDto(Conference conference) { @@ -86,11 +77,10 @@ public class ConferenceDto extends ActivityDto { this.ping = conference.getPing(); this.beginDate = conference.getBeginDate(); this.endDate = conference.getEndDate(); - this.deadlines = conference.getDeadlines(); - this.userIds = convert(conference.getUsers(), BaseEntity::getId); + this.deadlines = convert(conference.getDeadlines(), DeadlineDto::new); + this.userIds = convert(conference.getUsers(), ScienceGroupMemberDto::new); this.paperIds = convert(conference.getPapers(), BaseEntity::getId); this.users = conference.getUsers(); - this.papers = conference.getPapers(); } public ConferenceDto() { @@ -153,19 +143,19 @@ public class ConferenceDto extends ActivityDto { this.endDate = endDate; } - public List getDeadlines() { + public List getDeadlines() { return deadlines; } - public void setDeadlines(List deadlines) { + public void setDeadlines(List deadlines) { this.deadlines = deadlines; } - public List getUserIds() { + public List getUserIds() { return userIds; } - public void setUserIds(List userIds) { + public void setUserIds(List userIds) { this.userIds = userIds; } @@ -177,14 +167,6 @@ public class ConferenceDto extends ActivityDto { this.paperIds = paperIds; } - public List getPapers() { - return papers; - } - - public void setPapers(List papers) { - this.papers = papers; - } - public List getUsers() { return users; } @@ -200,54 +182,4 @@ public class ConferenceDto extends ActivityDto { public void setDisabledTakePart(boolean disabledTakePart) { this.disabledTakePart = disabledTakePart; } - - public List getRemovedDeadlineIds() { - return removedDeadlineIds; - } - - public void setRemovedDeadlineIds(List removedDeadlineIds) { - this.removedDeadlineIds = removedDeadlineIds; - } - - public List getNotSelectedPapers() { - return notSelectedPapers; - } - - public void setNotSelectedPapers(List notSelectedPapers) { - this.notSelectedPapers = notSelectedPapers; - } - - public String getDatesString() { - return BEGIN_DATE + beginDate.toString().split(" ")[0] + " " + END_DATE + endDate.toString().split(" ")[0]; - } - - @Override - public boolean equals(Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - ConferenceDto that = (ConferenceDto) o; - return ping == that.ping && - disabledTakePart == that.disabledTakePart && - Objects.equals(id, that.id) && - Objects.equals(title, that.title) && - Objects.equals(description, that.description) && - Objects.equals(url, that.url) && - Objects.equals(deadlines, that.deadlines) && - Objects.equals(removedDeadlineIds, that.removedDeadlineIds) && - Objects.equals(userIds, that.userIds) && - Objects.equals(paperIds, that.paperIds) && - Objects.equals(papers, that.papers) && - Objects.equals(notSelectedPapers, that.notSelectedPapers) && - Objects.equals(users, that.users); - } - - @Override - public int hashCode() { - return Objects.hash(id, title, description, url, ping, beginDate, endDate, deadlines, removedDeadlineIds, - userIds, paperIds, papers, notSelectedPapers, users, disabledTakePart); - } } 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 a280439..d92424b 100644 --- a/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java +++ b/src/main/java/ru/ulstu/activity/conference/service/ConferenceService.java @@ -3,17 +3,13 @@ package ru.ulstu.activity.conference.service; 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.ActivityService; import ru.ulstu.activity.conference.model.Conference; import ru.ulstu.activity.conference.model.ConferenceDashboardDto; 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.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; @@ -23,12 +19,9 @@ import ru.ulstu.user.model.User; import ru.ulstu.user.service.UserService; import java.io.IOException; -import java.util.Arrays; import java.util.Date; import java.util.List; -import java.util.stream.Collectors; -import static org.springframework.util.ObjectUtils.isEmpty; import static ru.ulstu.core.util.StreamApiUtils.convert; import static ru.ulstu.core.util.StreamApiUtils.convertPageable; @@ -63,31 +56,6 @@ public class ConferenceService extends ActivityService getNotSelectPapers(List paperIds) { - return paperService.findAllNotSelect(paperIds); - } - - public List getAllUsers() { - return userService.findAll(); - } - - public List getAllParticipations() { - return Arrays.asList(ConferenceUser.Participation.values()); - } - - public List getAllDeposit() { - return Arrays.asList(ConferenceUser.Deposit.values()); - } - protected Conference copyFromDto(Conference conference, ConferenceDto conferenceDto) throws IOException { conference.setTitle(conferenceDto.getTitle()); conference.setDescription(conferenceDto.getDescription()); @@ -183,7 +99,7 @@ public class ConferenceService extends ActivityService conference.getPapers().add(paper.getId() != null ? paperService.findById(paper.getId()) : paperService.create(paper))); + conferenceDto.getPaperIds().forEach(paperId -> conference.getPapers().add(paperService.findById(paperId))); conference.setDeadlines(deadlineService.saveOrCreate(conferenceDto.getDeadlines())); conference.setUsers(conferenceUserService.saveOrCreate(conferenceDto.getUsers())); if (conferenceDto.getPaperIds() != null && !conferenceDto.getPaperIds().isEmpty()) { @@ -193,11 +109,6 @@ public class ConferenceService extends ActivityService conferenceUsers) { - return conferenceUsers.stream().anyMatch(participant -> participant.getUser().equals(userService.getCurrentUser())); - } - public List filter(ConferenceFilterDto conferenceFilterDto) { return convert(conferenceRepository.findByUserAndYear( conferenceFilterDto.getFilterUserId() == null ? null : userService.findById(conferenceFilterDto.getFilterUserId()), @@ -215,10 +126,6 @@ public class ConferenceService extends ActivityService(activeConferencePage.getTotalElements(), activeConferencePage.getContent()); } - public boolean isAttachedToConference(Integer paperId) { - return conferenceRepository.isPaperAttached(paperId); - } - public ConferenceDto findConferenceById(Integer id) { return new ConferenceDto(findById(id)); } @@ -227,46 +134,6 @@ public class ConferenceService extends ActivityService 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); - } - } - - private Deadline copyDeadline(Deadline oldDeadline) { - Deadline newDeadline = new Deadline(oldDeadline.getDate(), oldDeadline.getDescription()); - newDeadline.setId(oldDeadline.getId()); - return newDeadline; - } - - private void checkEmptyFieldsOfDeadline(ConferenceDto conferenceDto, Errors errors) { - for (Deadline deadline : conferenceDto.getDeadlines()) { - if (deadline.getDate() == null || deadline.getDescription().isEmpty()) { - errors.rejectValue("deadlines", "errorCode", "Все поля дедлайна должны быть заполнены"); - } - } - } - - private void checkEmptyFieldsOfDates(ConferenceDto conferenceDto, Errors errors) { - if (conferenceDto.getBeginDate() == null || conferenceDto.getEndDate() == null) { - errors.rejectValue("beginDate", "errorCode", "Даты должны быть заполнены"); - } - } - - public void filterEmptyDeadlines(ConferenceDto conferenceDto) { - conferenceDto.setDeadlines(conferenceDto.getDeadlines().stream() - .filter(dto -> dto.getDate() != null || !org.springframework.util.StringUtils.isEmpty(dto.getDescription())) - .collect(Collectors.toList())); - } - public Conference getActiveConferenceByUser(User user) { return conferenceRepository.findActiveByUser(user); } diff --git a/src/main/java/ru/ulstu/activity/deadline/model/Deadline.java b/src/main/java/ru/ulstu/activity/deadline/model/Deadline.java index d68ed5a..c4b07fa 100644 --- a/src/main/java/ru/ulstu/activity/deadline/model/Deadline.java +++ b/src/main/java/ru/ulstu/activity/deadline/model/Deadline.java @@ -82,7 +82,7 @@ public class Deadline extends BaseEntity { this.executors = executors; } - public Boolean getDone() { + public Boolean isDone() { return done; } diff --git a/src/main/java/ru/ulstu/activity/deadline/model/DeadlineDto.java b/src/main/java/ru/ulstu/activity/deadline/model/DeadlineDto.java new file mode 100644 index 0000000..31b77fb --- /dev/null +++ b/src/main/java/ru/ulstu/activity/deadline/model/DeadlineDto.java @@ -0,0 +1,61 @@ +package ru.ulstu.activity.deadline.model; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; + +public class DeadlineDto { + private final Integer id; + private final Date date; + private final String description; + private final List executorsIds; + private final Boolean done; + + public DeadlineDto() { + this.id = null; + this.date = null; + this.description = null; + this.executorsIds = new ArrayList<>(); + this.done = false; + } + + public DeadlineDto(Deadline deadline) { + this.id = deadline.getId(); + this.date = deadline.getDate(); + this.description = deadline.getDescription(); + this.executorsIds = deadline.getExecutors() + .stream() + .map(executor -> executor.getId()) + .collect(Collectors.toList()); + this.done = deadline.isDone(); + } + + public DeadlineDto(Date date, String description) { + this.id = null; + this.date = date; + this.description = description; + this.executorsIds = new ArrayList<>(); + this.done = false; + } + + public Integer getId() { + return id; + } + + public Date getDate() { + return date; + } + + public String getDescription() { + return description; + } + + public List getExecutorsIds() { + return executorsIds; + } + + public Boolean isDone() { + return done; + } +} diff --git a/src/main/java/ru/ulstu/activity/deadline/service/DeadlineService.java b/src/main/java/ru/ulstu/activity/deadline/service/DeadlineService.java index b655985..cf78f54 100644 --- a/src/main/java/ru/ulstu/activity/deadline/service/DeadlineService.java +++ b/src/main/java/ru/ulstu/activity/deadline/service/DeadlineService.java @@ -3,6 +3,8 @@ package ru.ulstu.activity.deadline.service; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.model.DeadlineDto; +import ru.ulstu.user.service.UserService; import java.util.Date; import java.util.List; @@ -11,12 +13,15 @@ import java.util.stream.Collectors; @Service public class DeadlineService { private final DeadlineRepository deadlineRepository; + private final UserService userService; - public DeadlineService(DeadlineRepository deadlineRepository) { + public DeadlineService(DeadlineRepository deadlineRepository, + UserService userService) { this.deadlineRepository = deadlineRepository; + this.userService = userService; } - public List saveOrCreate(List deadlines) { + public List saveOrCreate(List deadlines) { return deadlines .stream() .map(deadline -> { @@ -25,16 +30,17 @@ public class DeadlineService { } @Transactional - public Deadline update(Deadline deadline) { - Deadline updateDeadline = deadlineRepository.getOne(deadline.getId()); - updateDeadline.setDate(deadline.getDate()); - updateDeadline.setDescription(deadline.getDescription()); - updateDeadline.setExecutors(deadline.getExecutors()); - updateDeadline.setDone(deadline.getDone()); - deadlineRepository.save(updateDeadline); + public Deadline update(DeadlineDto deadlineDto) { + Deadline updateDeadline = deadlineRepository.getOne(deadlineDto.getId()); + deadlineRepository.save(copyFromDto(updateDeadline, deadlineDto)); return updateDeadline; } + @Transactional + public Deadline create(DeadlineDto deadlineDto) { + return deadlineRepository.save(copyFromDto(new Deadline(), deadlineDto)); + } + @Transactional public Deadline create(Deadline deadline) { return deadlineRepository.save(deadline); @@ -45,6 +51,14 @@ public class DeadlineService { deadlineRepository.deleteById(deadlineId); } + private Deadline copyFromDto(Deadline deadline, DeadlineDto deadlineDto) { + deadline.setDate(deadlineDto.getDate()); + deadline.setDescription(deadlineDto.getDescription()); + deadline.setExecutors(userService.findByIds(deadlineDto.getExecutorsIds())); + deadline.setDone(deadlineDto.isDone()); + return deadline; + } + public Date findByGrantIdAndDate(Integer id, Date date) { return deadlineRepository.findByGrantIdAndDate(id, date); } diff --git a/src/main/java/ru/ulstu/activity/grant/controller/GrantController.java b/src/main/java/ru/ulstu/activity/grant/controller/GrantController.java index a5563ff..93fbba8 100644 --- a/src/main/java/ru/ulstu/activity/grant/controller/GrantController.java +++ b/src/main/java/ru/ulstu/activity/grant/controller/GrantController.java @@ -31,7 +31,7 @@ public class GrantController implements ActivityController deadlines = new ArrayList<>(); + private List deadlines = new ArrayList<>(); private String comment; private List files = new ArrayList<>(); - private ProjectDto project; + private List projectIds; private Set authorIds; private Set members; private Integer leaderId; - private boolean wasLeader; - private boolean hasAge; - private boolean hasDegree; - private boolean hasBAKPapers; - private boolean hasScopusPapers; private List paperIds = new ArrayList<>(); - private List papers = new ArrayList<>(); - private List removedDeadlineIds = new ArrayList<>(); @JsonCreator public GrantDto(@JsonProperty("id") Integer id, @JsonProperty("title") String title, @JsonProperty("status") Grant.GrantStatus status, - @JsonProperty("deadlines") List deadlines, + @JsonProperty("deadlines") List deadlines, @JsonProperty("comment") String comment, @JsonProperty("files") List files, @JsonProperty("project") ProjectDto project, @@ -59,15 +52,10 @@ public class GrantDto extends ActivityDto { this.deadlines = deadlines; this.comment = comment; this.files = files; - this.project = project; this.authorIds = authorIds; this.members = members; this.leaderId = leaderId; - this.wasLeader = wasLeader; - this.hasAge = hasAge; - this.hasDegree = hasDegree; this.paperIds = paperIds; - this.papers = papers; } public GrantDto(Integer id) { @@ -78,24 +66,19 @@ public class GrantDto extends ActivityDto { super(grant.getId()); this.title = grant.getTitle(); this.status = grant.getStatus(); - this.deadlines = grant.getDeadlines(); + this.deadlines = convert(grant.getDeadlines(), DeadlineDto::new); this.comment = grant.getComment(); 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.members = convert(grant.getAuthors(), ScienceGroupMemberDto::new); this.leaderId = grant.getLeader().getId(); - this.wasLeader = false; - this.hasAge = false; - this.hasDegree = false; this.paperIds = convert(grant.getPapers(), paper -> paper.getId()); - this.papers = convert(grant.getPapers(), PaperDto::new); } - public GrantDto(String grantTitle, Date deadLineDate) { + public GrantDto(String grantTitle, Date deadlineDate) { super(null); this.title = grantTitle; - this.deadlines.add(new Deadline(deadLineDate, "Окончание приёма заявок")); + this.deadlines.add(new DeadlineDto(deadlineDate, "Окончание приёма заявок")); this.status = Grant.GrantStatus.LOADED_FROM_KIAS; } @@ -119,11 +102,11 @@ public class GrantDto extends ActivityDto { this.status = status; } - public List getDeadlines() { + public List getDeadlines() { return deadlines; } - public void setDeadlines(List deadlines) { + public void setDeadlines(List deadlines) { this.deadlines = deadlines; } @@ -143,14 +126,6 @@ public class GrantDto extends ActivityDto { this.files = files; } - public ProjectDto getProject() { - return project; - } - - public void setProject(ProjectDto project) { - this.project = project; - } - public Set getAuthorIds() { return authorIds; } @@ -175,30 +150,6 @@ public class GrantDto extends ActivityDto { this.leaderId = leaderId; } - public boolean isWasLeader() { - return wasLeader; - } - - public void setWasLeader(boolean wasLeader) { - this.wasLeader = wasLeader; - } - - public boolean isHasAge() { - return hasAge; - } - - public void setHasAge(boolean hasAge) { - this.hasAge = hasAge; - } - - public boolean isHasDegree() { - return hasDegree; - } - - public void setHasDegree(boolean hasDegree) { - this.hasDegree = hasDegree; - } - public List getPaperIds() { return paperIds; } @@ -207,35 +158,7 @@ public class GrantDto extends ActivityDto { this.paperIds = paperIds; } - public List getPapers() { - return papers; - } - - public void setPapers(List papers) { - this.papers = papers; - } - - public List getRemovedDeadlineIds() { - return removedDeadlineIds; - } - - public void setRemovedDeadlineIds(List removedDeadlineIds) { - this.removedDeadlineIds = removedDeadlineIds; - } - - public boolean isHasBAKPapers() { - return hasBAKPapers; - } - - public void setHasBAKPapers(boolean hasBAKPapers) { - this.hasBAKPapers = hasBAKPapers; - } - - public boolean isHasScopusPapers() { - return hasScopusPapers; - } - - public void setHasScopusPapers(boolean hasScopusPapers) { - this.hasScopusPapers = hasScopusPapers; + public List getProjectIds() { + return projectIds; } } 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 596d61e..84f9fcf 100644 --- a/src/main/java/ru/ulstu/activity/grant/service/GrantService.java +++ b/src/main/java/ru/ulstu/activity/grant/service/GrantService.java @@ -1,6 +1,5 @@ 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; @@ -8,7 +7,6 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.Errors; import ru.ulstu.activity.common.service.ActivityService; -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; @@ -30,13 +28,10 @@ import ru.ulstu.user.service.UserService; import java.io.IOException; import java.text.ParseException; import java.util.Arrays; -import java.util.Collections; import java.util.Date; import java.util.List; -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.convertPageable; @@ -114,9 +109,6 @@ public class GrantService extends ActivityService grant.setComment(grantDto.getComment()); grant.setStatus(grantDto.getStatus() == null ? APPLICATION : grantDto.getStatus()); grant.setTitle(grantDto.getTitle()); - if (grantDto.getProject() != null && grantDto.getProject().getId() != null) { - grant.setProject(projectService.findById(grantDto.getProject().getId())); - } grant.setDeadlines(deadlineService.saveOrCreate(grantDto.getDeadlines())); if (!grant.getFiles().isEmpty()) { grant.setFiles(fileService.saveOrCreate(grantDto.getFiles().stream() @@ -151,23 +143,6 @@ public class GrantService extends ActivityService return Arrays.asList(Grant.GrantStatus.values()); } - public boolean save(GrantDto grantDto, Errors errors) throws IOException { - grantDto.setTitle(grantDto.getTitle()); - filterEmptyDeadlines(grantDto); - checkEmptyDeadlines(grantDto, errors); - checkEmptyLeader(grantDto, errors); - checkUniqueName(grantDto.getTitle(), grantDto.getId()); - if (errors.hasErrors()) { - return false; - } - if (isEmpty(grantDto.getId())) { - create(grantDto); - } else { - update(grantDto); - } - return true; - } - private boolean saveFromKias(GrantDto grantDto) throws IOException { grantDto.setTitle(grantDto.getTitle()); if (checkUniqueName(grantDto.getTitle(), grantDto.getId())) { @@ -202,33 +177,6 @@ public class GrantService extends ActivityService return foundGrantDate != null && foundGrantDate.compareTo(date) == 0; } - public List getGrantAuthors(GrantDto grantDto) { - List filteredUsers = userService.filterByAgeAndDegree(grantDto.isHasAge(), grantDto.isHasDegree()); - if (grantDto.isWasLeader()) { - filteredUsers = checkContains(filteredUsers, getCompletedGrantLeaders()); - } - if (grantDto.isHasBAKPapers()) { - filteredUsers = checkContains(filteredUsers, getBAKAuthors()); - } - if (grantDto.isHasScopusPapers()) { - filteredUsers = checkContains(filteredUsers, getScopusAuthors()); - } - return filteredUsers; - } - - private List checkContains(List filteredUsers, List checkUsers) { - return filteredUsers.stream() - .filter(checkUsers::contains) - .collect(toList()); - } - - private List getCompletedGrantLeaders() { - return grantRepository.findByStatus(Grant.GrantStatus.COMPLETED) - .stream() - .map(Grant::getLeader) - .collect(toList()); - } - public List getGrantPapers(List paperIds) { return paperService.findAllSelect(paperIds); } @@ -237,24 +185,6 @@ public class GrantService extends ActivityService return paperService.findAllNotCompleted(); } - public List attachPaper(GrantDto grantDto) { - if (!grantDto.getPaperIds().isEmpty()) { - grantDto.getPapers().clear(); - grantDto.setPapers(getGrantPapers(grantDto.getPaperIds())); - } else { - grantDto.getPapers().clear(); - } - return grantDto.getPapers(); - } - - public GrantDto removeDeadline(GrantDto grantDto, Integer deadlineId) { - if (grantDto.getDeadlines().get(deadlineId).getId() != null) { - grantDto.getRemovedDeadlineIds().add(grantDto.getDeadlines().get(deadlineId).getId()); - } - grantDto.getDeadlines().remove((int) deadlineId); - return grantDto; - } - private List getCompletedPapersAuthors(Paper.PaperType type) { List papers = paperService.findAllCompletedByType(type); return papers.stream() @@ -263,28 +193,6 @@ public class GrantService extends ActivityService .collect(toList()); } - private List getBAKAuthors() { - return getCompletedPapersAuthors(Paper.PaperType.VAK) - .stream() - .distinct() - .collect(toList()); - } - - private List getScopusAuthors() { - List authors = getCompletedPapersAuthors(Paper.PaperType.SCOPUS); - return authors - .stream() - .filter(author -> Collections.frequency(authors, author) > 3) - .collect(toList()); - } - - public List filterEmptyDeadlines(GrantDto grantDto) { - grantDto.setDeadlines(grantDto.getDeadlines().stream() - .filter(dto -> dto.getDate() != null || !StringUtils.isEmpty(dto.getDescription())) - .collect(Collectors.toList())); - return grantDto.getDeadlines(); - } - @Transactional public void createFromKias() throws IOException, ParseException { for (GrantDto grantDto : kiasService.getNewGrantsDto()) { diff --git a/src/main/java/ru/ulstu/activity/paper/model/PaperDto.java b/src/main/java/ru/ulstu/activity/paper/model/PaperDto.java index 1917193..89ceb8e 100644 --- a/src/main/java/ru/ulstu/activity/paper/model/PaperDto.java +++ b/src/main/java/ru/ulstu/activity/paper/model/PaperDto.java @@ -4,7 +4,7 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; 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.deadline.model.DeadlineDto; import ru.ulstu.activity.file.model.FileDataDto; import javax.validation.constraints.NotEmpty; @@ -25,7 +25,7 @@ public class PaperDto extends ActivityDto { private Date createDate; private Date updateDate; @NotEmpty - private List deadlines = new ArrayList<>(); + private List deadlines = new ArrayList<>(); private String comment; private String url; private Boolean locked; @@ -45,7 +45,7 @@ public class PaperDto extends ActivityDto { @JsonProperty("type") Paper.PaperType type, @JsonProperty("createDate") Date createDate, @JsonProperty("updateDate") Date updateDate, - @JsonProperty("deadlines") List deadlines, + @JsonProperty("deadlines") List deadlines, @JsonProperty("comment") String comment, @JsonProperty("url") String url, @JsonProperty("locked") Boolean locked, @@ -72,7 +72,7 @@ public class PaperDto extends ActivityDto { this.type = paper.getType(); this.createDate = paper.getCreateDate(); this.updateDate = paper.getUpdateDate(); - this.deadlines = paper.getDeadlines(); + this.deadlines = convert(paper.getDeadlines(), DeadlineDto::new); this.comment = paper.getComment(); this.url = paper.getUrl(); this.locked = paper.getLocked(); @@ -120,11 +120,11 @@ public class PaperDto extends ActivityDto { this.updateDate = updateDate; } - public List getDeadlines() { + public List getDeadlines() { return deadlines; } - public void setDeadlines(List deadlines) { + public void setDeadlines(List deadlines) { this.deadlines = deadlines; } diff --git a/src/main/java/ru/ulstu/activity/project/model/ProjectDto.java b/src/main/java/ru/ulstu/activity/project/model/ProjectDto.java index 8cc84b4..f97b10d 100644 --- a/src/main/java/ru/ulstu/activity/project/model/ProjectDto.java +++ b/src/main/java/ru/ulstu/activity/project/model/ProjectDto.java @@ -3,11 +3,9 @@ package ru.ulstu.activity.project.model; import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonProperty; import ru.ulstu.activity.api.model.ActivityDto; -import ru.ulstu.activity.deadline.model.Deadline; +import ru.ulstu.activity.deadline.model.DeadlineDto; 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; import javax.validation.constraints.NotEmpty; import java.util.ArrayList; @@ -22,28 +20,22 @@ public class ProjectDto extends ActivityDto { private String title; private Project.ProjectStatus status; private String description; - private List deadlines = new ArrayList<>(); + private List deadlines = new ArrayList<>(); private String repository; private List files = new ArrayList<>(); - private List removedDeadlineIds = new ArrayList<>(); private Set executorIds; - private List executors; private List grantIds; - private List grants; @JsonCreator public ProjectDto(@JsonProperty("id") Integer id, @JsonProperty("title") String title, @JsonProperty("status") Project.ProjectStatus status, @JsonProperty("description") String description, - @JsonProperty("grant") GrantDto grant, @JsonProperty("repository") String repository, @JsonProperty("files") List files, - @JsonProperty("deadlines") List deadlines, + @JsonProperty("deadlines") List deadlines, @JsonProperty("executorIds") Set executorIds, - @JsonProperty("executors") List executors, - @JsonProperty("grantIds") List grantIds, - @JsonProperty("grants") List grants) { + @JsonProperty("grantIds") List grantIds) { super(id); this.title = title; this.status = status; @@ -52,9 +44,7 @@ public class ProjectDto extends ActivityDto { this.deadlines = deadlines; this.files = files; this.executorIds = executorIds; - this.executors = executors; this.grantIds = grantIds; - this.grants = grants; } @@ -66,11 +56,9 @@ public class ProjectDto extends ActivityDto { this.description = project.getDescription(); this.files = convert(project.getFiles(), FileDataDto::new); this.repository = project.getRepository(); - this.deadlines = project.getDeadlines(); + this.deadlines = convert(project.getDeadlines(), DeadlineDto::new); this.executorIds = convert(users, user -> user.getId()); - this.executors = convert(project.getExecutors(), UserDto::new); this.grantIds = convert(project.getGrants(), grant -> grant.getId()); - this.grants = convert(project.getGrants(), GrantDto::new); } public String getTitle() { @@ -105,11 +93,11 @@ public class ProjectDto extends ActivityDto { this.repository = repository; } - public List getDeadlines() { + public List getDeadlines() { return deadlines; } - public void setDeadlines(List deadlines) { + public void setDeadlines(List deadlines) { this.deadlines = deadlines; } @@ -121,14 +109,6 @@ public class ProjectDto extends ActivityDto { this.files = files; } - public List getRemovedDeadlineIds() { - return removedDeadlineIds; - } - - public void setRemovedDeadlineIds(List removedDeadlineIds) { - this.removedDeadlineIds = removedDeadlineIds; - } - public Set getExecutorIds() { return executorIds; } @@ -137,14 +117,6 @@ public class ProjectDto extends ActivityDto { this.executorIds = executorIds; } - public List getExecutors() { - return executors; - } - - public void setExecutors(List executors) { - this.executors = executors; - } - public List getGrantIds() { return grantIds; } @@ -152,12 +124,4 @@ public class ProjectDto extends ActivityDto { public void setGrantIds(List grantIds) { this.grantIds = grantIds; } - - public List getGrants() { - return grants; - } - - public void setGrants(List grants) { - this.grants = grants; - } } 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 5d2eccc..b7b0a8b 100644 --- a/src/main/java/ru/ulstu/activity/project/service/ProjectService.java +++ b/src/main/java/ru/ulstu/activity/project/service/ProjectService.java @@ -97,14 +97,6 @@ public class ProjectService extends ActivityService deadlines = new ArrayList<>(); + private List deadlines = new ArrayList<>(); private Date createDate; private Date updateDate; private Set tagIds; - private List tags = new ArrayList<>(); @JsonCreator public TaskDto(@JsonProperty("id") Integer id, @@ -35,9 +33,8 @@ public class TaskDto extends ActivityDto { @JsonProperty("createDate") Date createDate, @JsonProperty("updateDate") Date updateDate, @JsonProperty("status") Task.TaskStatus status, - @JsonProperty("deadlines") List deadlines, - @JsonProperty("tagIds") Set tagIds, - @JsonProperty("tags") List tags) { + @JsonProperty("deadlines") List deadlines, + @JsonProperty("tagIds") Set tagIds) { super(id); this.title = title; this.status = status; @@ -45,18 +42,16 @@ public class TaskDto extends ActivityDto { this.createDate = createDate; this.updateDate = updateDate; this.description = description; - this.tags = tags; } public TaskDto(Task task) { super(task.getId()); this.title = task.getTitle(); this.status = task.getStatus(); - this.deadlines = task.getDeadlines(); + this.deadlines = convert(task.getDeadlines(), DeadlineDto::new); this.createDate = task.getCreateDate(); this.updateDate = task.getUpdateDate(); this.description = task.getDescription(); - this.tags = task.getTags(); } public String getTitle() { @@ -83,14 +78,6 @@ public class TaskDto extends ActivityDto { this.status = status; } - public List getDeadlines() { - return deadlines; - } - - public void setDeadlines(List deadlines) { - this.deadlines = deadlines; - } - public Date getCreateDate() { return createDate; } @@ -115,18 +102,7 @@ public class TaskDto extends ActivityDto { this.tagIds = tagIds; } - public List getTags() { - return tags; - } - - public void setTags(List tags) { - this.tags = tags; - } - - public String getTagsString() { - return StringUtils.abbreviate(tags - .stream() - .map(tag -> tag.getTagName()) - .collect(Collectors.joining(", ")), MAX_TAGS_LENGTH); + public List getDeadlines() { + return deadlines; } } 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 7d379ff..c95b290 100644 --- a/src/main/java/ru/ulstu/activity/students/service/TaskService.java +++ b/src/main/java/ru/ulstu/activity/students/service/TaskService.java @@ -22,7 +22,6 @@ import ru.ulstu.core.model.response.PageableItems; import ru.ulstu.core.util.DateUtils; import javax.persistence.EntityNotFoundException; -import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; @@ -101,18 +100,7 @@ public class TaskService extends ActivityService { } } - @Transactional - public TaskDto create(TaskDto taskDto) { - Task newTask = null; - try { - newTask = copyFromDto(new Task(), taskDto); - } catch (IOException e) { - e.printStackTrace(); - } - return new TaskDto(create(newTask)); - } - - protected Task copyFromDto(Task task, TaskDto taskDto) throws IOException { + protected Task copyFromDto(Task task, TaskDto taskDto) { task.setTitle(taskDto.getTitle()); task.setDescription(taskDto.getDescription()); task.setStatus(taskDto.getStatus() == null ? IN_WORK : taskDto.getStatus()); @@ -120,16 +108,10 @@ public class TaskService extends ActivityService { task.setCreateDate(task.getCreateDate() == null ? new Date() : task.getCreateDate()); task.setUpdateDate(new Date()); task.getTags().clear(); - task.setTags(tagService.saveOrCreate(taskDto.getTags())); + //task.setTags(tagService.saveOrCreate(taskDto.getTags())); return task; } - @Transactional - public TaskDto update(TaskDto taskDto) { - Task task = taskRepository.getOne(taskDto.getId()); - return new TaskDto(update(task)); - } - @Transactional public boolean delete(Integer taskId) { if (taskRepository.existsById(taskId)) { diff --git a/src/test/java/conference/ConferenceServiceTest.java b/src/test/java/conference/ConferenceServiceTest.java deleted file mode 100644 index b89902e..0000000 --- a/src/test/java/conference/ConferenceServiceTest.java +++ /dev/null @@ -1,281 +0,0 @@ -package conference; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -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.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.conference.service.ConferenceNotificationService; -import ru.ulstu.activity.conference.service.ConferenceService; -import ru.ulstu.activity.conference.service.ConferenceUserService; -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; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.when; - -@RunWith(SpringRunner.class) -public class ConferenceServiceTest { - - @Mock - ConferenceRepository conferenceRepository; - - @Mock - DeadlineService deadlineService; - - @Mock - ConferenceUserService conferenceUserService; - - @Mock - PaperService paperService; - - @Mock - UserService userService; - - @Mock - EventService eventService; - - @Mock - ConferenceNotificationService conferenceNotificationService; - - @Mock - PingService pingService; - - @InjectMocks - ConferenceService conferenceService; - - private final static Integer ID = 1; - private final static Integer INDEX = 0; - private final static String NAME = "Name"; - private final static String DESCRIPTION = "Desc"; - private final static boolean TRUE = true; - private final static Integer YEAR = 2019; - private final static Sort SORT = new Sort(Sort.Direction.DESC, "beginDate"); - - private List conferences; - private List deadlines; - private List papers; - private List conferenceUsers; - - private Conference conferenceWithId; - - private Paper paperWithId; - private Paper paperWithoutId; - - private ConferenceDto conferenceDto; - private User user; - private Deadline deadline; - - @Before - public void setUp() throws Exception { - conferences = new ArrayList<>(); - conferenceWithId = new Conference(); - - conferenceWithId.setId(ID); - conferenceWithId.setTitle(NAME); - conferenceWithId.setDescription(DESCRIPTION); - - paperWithId = new Paper(); - paperWithId.setId(1); - paperWithId.setTitle(NAME); - - paperWithoutId = new Paper(); - paperWithoutId.setTitle(NAME); - - papers = new ArrayList<>(); - papers.add(paperWithId); - papers.add(paperWithoutId); - - deadlines = new ArrayList<>(); - deadline = new Deadline(new Date(), DESCRIPTION); - deadline.setId(ID); - deadlines.add(deadline); - - ConferenceUser conferenceUser = new ConferenceUser(); - conferenceUser.setDeposit(ConferenceUser.Deposit.ARTICLE); - conferenceUser.setParticipation(ConferenceUser.Participation.INTRAMURAL); - user = new User(); - user.setFirstName(NAME); - conferenceUser.setUser(user); - - conferenceUsers = new ArrayList<>(); - conferenceUsers.add(conferenceUser); - - conferences.add(conferenceWithId); - conferenceDto = new ConferenceDto(conferenceWithId); - } - - @Test - public void getExistConferenceById() { - when(conferenceRepository.getOne(ID)).thenReturn(conferenceWithId); - when(paperService.findAllNotSelect(new ArrayList<>())).thenReturn(papers); - when(userService.getCurrentUser()).thenReturn(user); - - ConferenceDto newConferenceDto = new ConferenceDto(conferenceWithId); - newConferenceDto.setNotSelectedPapers(papers); - newConferenceDto.setDisabledTakePart(!TRUE); - ConferenceDto result = conferenceService.getExistConferenceById(ID); - - assertEquals(newConferenceDto.getId(), result.getId()); - assertEquals(newConferenceDto.getNotSelectedPapers(), result.getNotSelectedPapers()); - assertEquals(newConferenceDto.isDisabledTakePart(), result.isDisabledTakePart()); - } - - @Test - public void getNewConference() { - when(paperService.findAllNotSelect(new ArrayList<>())).thenReturn(papers); - - ConferenceDto newConferenceDto = new ConferenceDto(); - newConferenceDto.setNotSelectedPapers(papers); - ConferenceDto result = new ConferenceDto(); - - assertEquals(newConferenceDto.getId(), result.getId()); - assertEquals(newConferenceDto.getNotSelectedPapers(), result.getNotSelectedPapers()); - assertEquals(newConferenceDto.isDisabledTakePart(), result.isDisabledTakePart()); - } - - @Test - public void findAll() { - when(conferenceRepository.findAll(SORT)).thenReturn(conferences); - - assertEquals(Collections.singletonList(conferenceWithId), conferenceService.findAll(0, 100).getItems()); - } - - @Test - public void create() throws IOException { - when(paperService.findById(ID)).thenReturn(paperWithId); - when(paperService.create(new Paper())).thenReturn(paperWithoutId); - when(deadlineService.saveOrCreate(new ArrayList<>())).thenReturn(deadlines); - when(conferenceUserService.saveOrCreate(new ArrayList<>())).thenReturn(conferenceUsers); - when(conferenceRepository.save(new Conference())).thenReturn(conferenceWithId); - - conferenceDto.setPapers(papers); - conferenceDto.setDeadlines(deadlines); - conferenceDto.setUsers(conferenceUsers); - conferenceDto.getPaperIds().add(ID); - - Conference newConference = new Conference(); - newConference.setId(ID); - newConference.setTitle(NAME); - newConference.setDescription(DESCRIPTION); - newConference.setPapers(papers); - newConference.getPapers().add(paperWithId); - newConference.setDeadlines(deadlines); - newConference.setUsers(conferenceUsers); - - assertEquals(newConference, conferenceService.create(conferenceDto)); - } - - @Test - public void delete() { - when(conferenceRepository.existsById(ID)).thenReturn(true); - when(conferenceRepository.getOne(ID)).thenReturn(conferenceWithId); - assertTrue(conferenceService.delete(ID)); - } - - @Test - public void addDeadline() { - ConferenceDto newConferenceDto = new ConferenceDto(); - newConferenceDto.getDeadlines().add(new Deadline()); - conferenceDto.getDeadlines().clear(); - - assertEquals(newConferenceDto.getDeadlines().get(0), conferenceService.addDeadline(conferenceDto).getDeadlines().get(0)); - } - - @Test - public void removeDeadline() throws IOException { - ConferenceDto newConferenceDto = new ConferenceDto(); - newConferenceDto.getRemovedDeadlineIds().add(ID); - conferenceDto.getDeadlines().add(deadline); - ConferenceDto result = conferenceService.removeDeadline(conferenceDto, INDEX); - - assertEquals(newConferenceDto.getDeadlines(), result.getDeadlines()); - assertEquals(newConferenceDto.getRemovedDeadlineIds(), result.getRemovedDeadlineIds()); - } - - @Test - public void addPaper() { - when(userService.getCurrentUser()).thenReturn(user); - - ConferenceDto newConferenceDto = new ConferenceDto(); - newConferenceDto.getPapers().add(paperWithoutId); - conferenceDto.getPapers().clear(); - ConferenceDto result = conferenceService.addPaper(conferenceDto); - result.getPapers().get(INDEX).setTitle(NAME); // приходится вручную назначать название, т.е. название зависит от даты - - assertEquals(newConferenceDto.getPapers(), result.getPapers()); - } - - @Test - public void removePaper() throws IOException { - ConferenceDto newConferenceDto = new ConferenceDto(); - newConferenceDto.getNotSelectedPapers().add(paperWithId); - newConferenceDto.getPapers().add(paperWithoutId); - conferenceDto.getPapers().add(paperWithId); - conferenceDto.getPapers().add(paperWithoutId); - ConferenceDto result = conferenceService.removePaper(conferenceDto, INDEX); - - assertEquals(newConferenceDto.getPapers(), result.getPapers()); - assertEquals(newConferenceDto.getNotSelectedPapers(), result.getNotSelectedPapers()); - } - - @Test - public void takePart() throws IOException { - when(userService.getCurrentUser()).thenReturn(user); - - ConferenceDto newConferenceDto = new ConferenceDto(); - newConferenceDto.setUsers(conferenceUsers); - newConferenceDto.setDisabledTakePart(TRUE); - conferenceDto.getPapers().clear(); - ConferenceDto result = conferenceService.takePart(conferenceDto); - - assertEquals(newConferenceDto.getUsers(), result.getUsers()); - assertEquals(newConferenceDto.isDisabledTakePart(), result.isDisabledTakePart()); - } - - @Test - public void getAllUsers() { - List users = Collections.singletonList(user); - when(userService.findAll()).thenReturn(users); - assertEquals(users, conferenceService.getAllUsers()); - } - - @Test - public void filter() { - when(userService.findById(ID)).thenReturn(user); - when(conferenceRepository.findByUserAndYear(user, YEAR)).thenReturn(conferences); - - ConferenceFilterDto conferenceFilterDto = new ConferenceFilterDto(); - conferenceFilterDto.setFilterUserId(ID); - conferenceFilterDto.setYear(YEAR); - - assertEquals(Collections.singletonList(conferenceDto), conferenceService.filter(conferenceFilterDto)); - } - - @Test - public void isAttachedToConference() { - when(conferenceRepository.isPaperAttached(ID)).thenReturn(TRUE); - - assertTrue(conferenceService.isAttachedToConference(ID)); - } -} \ No newline at end of file diff --git a/src/test/java/project/ProjectServiceTest.java b/src/test/java/project/ProjectServiceTest.java deleted file mode 100644 index 269a855..0000000 --- a/src/test/java/project/ProjectServiceTest.java +++ /dev/null @@ -1,149 +0,0 @@ -package project; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.Mock; -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.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.project.service.ProjectService; -import ru.ulstu.activity.timeline.service.EventService; -import ru.ulstu.user.model.User; -import ru.ulstu.user.service.UserService; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; - -import static junit.framework.TestCase.assertTrue; -import static org.junit.Assert.assertEquals; -import static org.mockito.Mockito.when; - -@RunWith(SpringRunner.class) -public class ProjectServiceTest { - - @Mock - ProjectRepository projectRepository; - - @Mock - DeadlineService deadlineService; - - @Mock - EventService eventService; - - @Mock - FileService fileService; - - @Mock - UserService userService; - - @Mock - GrantService grantService; - - @InjectMocks - ProjectService projectService; - - private final static String TITLE = "title"; - private final static String DESCR = "descr"; - private final static Integer ID = 1; - private final static Integer INDEX = 0; - private final static String NAME = "name"; - - private List projects; - private Project project; - private ProjectDto projectDto; - private Deadline deadline; - private List deadlines; - private FileData file; - private List files; - private User user; - - @Before - public void setUp() throws Exception { - projects = new ArrayList<>(); - project = new Project(); - - projects.add(project); - projectDto = new ProjectDto(project); - - deadlines = new ArrayList<>(); - deadline = new Deadline(new Date(), DESCR); - deadline.setId(ID); - deadlines.add(deadline); - - user = new User(); - user.setFirstName(NAME); - - List grants = new ArrayList<>(); - GrantDto grant = new GrantDto(ID); - grants.add(grant); - } - - @Test - public void findAll() { - when(projectRepository.findAll()).thenReturn(projects); - assertEquals(projects, projectService.findAll(0, 100).getItems()); - } - - @Test - public void create() throws IOException { - when(deadlineService.saveOrCreate(new ArrayList<>())).thenReturn(deadlines); - when(projectRepository.save(new Project())).thenReturn(project); - eventService.createFromObject(new Project(), Collections.emptyList(), false, "проекта"); - - projectDto.setTitle(TITLE); - projectDto.setDeadlines(deadlines); - - project.setId(ID); - project.setTitle(TITLE); - project.setDescription(DESCR); - project.setDeadlines(deadlines); - project.setFiles(files); - - assertEquals(project.getId(), (projectService.create(projectDto)).getId()); - } - - @Test - public void delete() throws IOException { - when(projectRepository.existsById(ID)).thenReturn(true); - when(projectRepository.getOne(ID)).thenReturn(project); - - assertTrue(projectService.delete(ID)); - } - - @Test - public void getProjectExecutors() { - List executors = Collections.singletonList(user); - when(userService.findAll()).thenReturn(executors); - - assertEquals(executors, projectService.getProjectExecutors(projectDto)); - } - - @Test - public void findById() { - when(projectRepository.getOne(ID)).thenReturn(project); - assertEquals(project, projectService.findById(ID)); - } - - @Test - public void removeDeadline() { - ProjectDto newProjectDto = new ProjectDto(null); - newProjectDto.getRemovedDeadlineIds().add(INDEX); - projectDto.getDeadlines().add(deadline); - ProjectDto result = projectService.removeDeadline(projectDto, INDEX); - - assertEquals(newProjectDto.getDeadlines(), result.getDeadlines()); - assertEquals(newProjectDto.getRemovedDeadlineIds(), result.getRemovedDeadlineIds()); - } -} \ No newline at end of file diff --git a/src/test/java/students/TaskServiceTest.java b/src/test/java/students/TaskServiceTest.java deleted file mode 100644 index 1bdae87..0000000 --- a/src/test/java/students/TaskServiceTest.java +++ /dev/null @@ -1,216 +0,0 @@ -package students; - -import org.junit.Before; -import org.junit.Test; -import org.junit.runner.RunWith; -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.students.service.TaskService; -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 java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Date; -import java.util.HashSet; -import java.util.List; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.when; - -@RunWith(SpringRunner.class) -public class TaskServiceTest { - - @Mock - TaskRepository taskRepository; - - @Mock - SchedulerRepository schedulerRepository; - - @Mock - private TagService tagService; - - @Mock - DeadlineService deadlineService; - - @Mock - EventService eventService; - - @InjectMocks - TaskService taskService; - - private final static Sort SORT = new Sort(Sort.Direction.DESC, "createDate"); - private final static Integer ID = 1; - private final static Task.TaskStatus STATUS = Task.TaskStatus.IN_WORK; - private final static String TITLE = "title"; - private final static String DESCR = "descr"; - private final static String TAG = "tag"; - private final static Date YEAR = DateUtils.clearTime(DateUtils.addYears(new Date(), 0)); - - private List tasks; - private List tags; - private Task task; - private Task taskForSchedule; - private TaskDto taskDto; - private Tag tag; - private Deadline deadline; - private List deadlines; - private Scheduler scheduler; - - - @Before - public void setUp() throws Exception { - - tasks = new ArrayList<>(); - task = new Task(); - - task.setId(ID); - task.setTitle(TITLE); - task.setDescription(DESCR); - - - tag = new Tag(); - tag.setId(ID); - tag.setTagName(TAG); - - deadlines = new ArrayList<>(); - deadline = new Deadline(new Date(), DESCR); - deadline.setId(ID); - deadlines.add(deadline); - - task.setDeadlines(deadlines); - - tags = new ArrayList<>(); - tags.add(tag); - - tasks.add(task); - taskDto = new TaskDto(task); - - taskForSchedule = new Task(); - taskForSchedule.setTitle(TITLE); - taskForSchedule.setDescription(DESCR); - - scheduler = new Scheduler(); - scheduler.setDate(new Date()); - scheduler.setTask(taskForSchedule); - - - } - - @Test - public void findAll() { - when(taskRepository.findAll(SORT)).thenReturn(tasks); - assertEquals(Collections.singletonList(task), taskService.findAll()); - } - - @Test - public void filter() { - when(tagService.findById(ID)).thenReturn(tag); - when(taskRepository.filterNew(STATUS, tag)).thenReturn(tasks); - - TaskFilterDto taskFilterDto = new TaskFilterDto(); - taskFilterDto.setTag(ID); - taskFilterDto.setOrder("new"); - taskFilterDto.setStatus(STATUS); - - assertEquals(Collections.singletonList(taskDto), taskService.filter(taskFilterDto)); - } - - @Test - public void create() throws IOException { - when(tagService.saveOrCreate(new ArrayList<>())).thenReturn(tags); - when(deadlineService.saveOrCreate(new ArrayList<>())).thenReturn(deadlines); - when(taskRepository.save(new Task())).thenReturn(task); - eventService.createFromObject(new Task(), Collections.emptyList(), true, "задачи"); - - taskDto.setTags(tags); - taskDto.setDeadlines(deadlines); - - Task newTask = new Task(); - task.setId(ID); - task.setTitle(TITLE); - task.setDescription(DESCR); - task.setTags(tags); - task.setDeadlines(deadlines); - - assertEquals(task.getId(), taskService.create(taskDto)); - } - - @Test - public void delete() throws IOException { - when(taskRepository.existsById(ID)).thenReturn(true); - when(taskRepository.getOne(ID)).thenReturn(task); - when(schedulerRepository.findOneByTask(task)).thenReturn(null); - - assertTrue(taskService.delete(ID)); - } - - @Test - public void generateYearTasks() { - when(tagService.getTags()).thenReturn(tags); - tasks.get(0).setTags(tags); - when(taskRepository.findAllYear(DateUtils.clearTime(DateUtils.addYears(new Date(), -1)))).thenReturn(tasks); - tasks.get(0).setCreateDate(DateUtils.clearTime(DateUtils.addYears(new Date(), -1))); - when(taskRepository.findByTag(tag)).thenReturn(tasks); - - Task newTask = new Task(); - newTask.setTitle(tasks.get(0).getTitle()); - newTask.setTags(tasks.get(0).getTags()); - newTask.setCreateDate(new Date()); - newTask.setStatus(Task.TaskStatus.LOADED_FROM_KIAS); - - Deadline newDeadline = new Deadline(); - newDeadline.setId(ID); - newDeadline.setDescription(deadline.getDescription()); - newDeadline.setDate(DateUtils.addYears(deadline.getDate(), 1)); - when(deadlineService.create(newDeadline)).thenReturn(newDeadline); - newTask.setDeadlines(Arrays.asList(newDeadline)); - - when(taskRepository.save(newTask)).thenReturn(task); - - assertEquals(Arrays.asList(task), taskService.generateYearTasks()); - } - - @Test - public void checkRepeatingTags() { - when(tagService.getTags()).thenReturn(tags); - tasks.get(0).setTags(tags); - when(taskRepository.findAllYear(DateUtils.clearTime(DateUtils.addYears(new Date(), -1)))).thenReturn(tasks); - - assertEquals(new HashSet(Arrays.asList(tag)), taskService.checkRepeatingTags(false)); - } - - @Test - public void createPeriodTask() { - Task newTask = new Task(); - newTask.setTitle(scheduler.getTask().getTitle()); - newTask.setTags(scheduler.getTask().getTags()); - newTask.setCreateDate(new Date()); - - Deadline newDeadline = new Deadline(); - newDeadline.setId(ID); - newDeadline.setDescription(deadline.getDescription()); - newDeadline.setDate(DateUtils.addYears(deadline.getDate(), 1)); - when(deadlineService.create(newDeadline)).thenReturn(newDeadline); - newTask.setDeadlines(Arrays.asList(newDeadline)); - - when(taskRepository.save(newTask)).thenReturn(taskForSchedule); - - assertEquals(taskForSchedule, taskService.createPeriodTask(scheduler)); - } -} \ No newline at end of file