Anton Romanov 36c4e52e37 Merge branch 'dev' into move-to-jdk11
# Conflicts:
#	src/main/java/ru/ulstu/conference/service/ConferenceService.java
#	src/main/java/ru/ulstu/grant/model/Grant.java
#	src/main/java/ru/ulstu/grant/service/GrantService.java
#	src/main/java/ru/ulstu/paper/model/Paper.java
#	src/main/java/ru/ulstu/paper/service/PaperService.java
#	src/main/java/ru/ulstu/project/model/Project.java
#	src/main/java/ru/ulstu/project/model/ProjectDto.java
#	src/main/java/ru/ulstu/students/model/Task.java
#	src/main/java/ru/ulstu/students/service/TaskService.java
#	src/main/java/ru/ulstu/timeline/model/Event.java
#	src/main/java/ru/ulstu/timeline/model/EventDto.java
#	src/main/java/ru/ulstu/timeline/service/EventService.java
#	src/main/java/ru/ulstu/user/service/UserService.java
#	src/main/resources/application.properties
#	src/main/resources/db/changelog-master.xml
#	src/main/resources/public/css/conference.css
#	src/main/resources/public/js/conference.js
#	src/main/resources/public/js/tasks.js
#	src/main/resources/templates/conferences/conference.html
#	src/main/resources/templates/grants/grant.html
#	src/main/resources/templates/papers/paper.html
2019-06-21 04:22:06 +04:00

171 lines
4.9 KiB
Java

package ru.ulstu.timeline.model;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import ru.ulstu.conference.model.ConferenceDto;
import ru.ulstu.grant.model.GrantDto;
import ru.ulstu.paper.model.PaperDto;
import ru.ulstu.project.model.ProjectDto;
import ru.ulstu.students.model.TaskDto;
import ru.ulstu.user.model.UserDto;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
import static ru.ulstu.core.util.StreamApiUtils.convert;
public class EventDto {
private final Integer id;
@NotBlank
private final String title;
private final PeriodEvent period;
private final Event.EventStatus status;
@NotNull
private final Date executeDate;
private final Date createDate;
private final Date updateDate;
private final String description;
private final List<UserDto> recipients;
private PaperDto paperDto;
private ConferenceDto conferenceDto;
private GrantDto grantDto;
private ProjectDto projectDto;
private TaskDto taskDto;
@JsonCreator
public EventDto(@JsonProperty("id") Integer id,
@JsonProperty("title") String title,
@JsonProperty("status") Event.EventStatus status,
@JsonProperty("period") PeriodEvent period,
@JsonProperty("executeDate") Date executeDate,
@JsonProperty("createDate") Date createDate,
@JsonProperty("updateDate") Date updateDate,
@JsonProperty("description") String description,
@JsonProperty("paperDto") PaperDto paperDto,
@JsonProperty("recipients") List<UserDto> recipients,
@JsonProperty("conferenceDto") ConferenceDto conferenceDto,
@JsonProperty("grantDto") GrantDto grantDto,
@JsonProperty("projectDto") ProjectDto projectDto,
@JsonProperty("taskDto") TaskDto taskDto) {
this.id = id;
this.title = title;
this.period = period;
this.status = status;
this.executeDate = executeDate;
this.createDate = createDate;
this.updateDate = updateDate;
this.description = description;
this.recipients = recipients;
this.paperDto = paperDto;
this.conferenceDto = conferenceDto;
this.grantDto = grantDto;
this.projectDto = projectDto;
this.taskDto = taskDto;
}
public EventDto(Event event) {
this.id = event.getId();
this.title = event.getTitle();
this.status = event.getStatus();
this.period = event.getPeriod();
this.executeDate = event.getExecuteDate();
this.createDate = event.getCreateDate();
this.updateDate = event.getUpdateDate();
this.description = event.getDescription();
this.recipients = convert(event.getRecipients(), UserDto::new);
if (paperDto != null) {
this.paperDto = new PaperDto(event.getPaper());
}
if (conferenceDto != null) {
this.conferenceDto = new ConferenceDto(event.getConference());
}
if (grantDto != null) {
this.grantDto = new GrantDto(event.getGrant());
}
if (projectDto != null) {
this.projectDto = new ProjectDto(event.getProject());
}
if (taskDto != null) {
this.taskDto = new TaskDto(event.getTask());
}
}
public Integer getId() {
return id;
}
public String getTitle() {
return title;
}
public PeriodEvent getPeriod() {
return period;
}
public Event.EventStatus getStatus() {
return status;
}
public Date getCreateDate() {
return createDate;
}
public Date getUpdateDate() {
return updateDate;
}
public String getDescription() {
return description;
}
public List<UserDto> getRecipients() {
return recipients;
}
public Date getExecuteDate() {
return executeDate;
}
public PaperDto getPaperDto() {
return paperDto;
}
public void setPaperDto(PaperDto paperDto) {
this.paperDto = paperDto;
}
public ConferenceDto getConferenceDto() {
return conferenceDto;
}
public void setConferenceDto(ConferenceDto conferenceDto) {
this.conferenceDto = conferenceDto;
}
public GrantDto getGrantDto() {
return grantDto;
}
public void setGrantDto(GrantDto grantDto) {
this.grantDto = grantDto;
}
public ProjectDto getProjectDto() {
return projectDto;
}
public void setProjectDto(ProjectDto projectDto) {
this.projectDto = projectDto;
}
public TaskDto getTaskDto() {
return taskDto;
}
public void setTaskDto(TaskDto taskDto) {
this.taskDto = taskDto;
}
}