156 lines
4.5 KiB
Java
156 lines
4.5 KiB
Java
package ru.ulstu.timeline.model;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import org.hibernate.validator.constraints.NotBlank;
|
|
import ru.ulstu.conference.model.ConferenceDto;
|
|
import ru.ulstu.grant.model.GrantDto;
|
|
import ru.ulstu.paper.model.PaperDto;
|
|
import ru.ulstu.students.model.TaskDto;
|
|
import ru.ulstu.user.model.UserDto;
|
|
|
|
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 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("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.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 (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 TaskDto getTaskDto() {
|
|
return taskDto;
|
|
}
|
|
|
|
public void setTaskDto(TaskDto taskDto) {
|
|
this.taskDto = taskDto;
|
|
}
|
|
}
|