task/3382: Harmonisera tabellnamn #6
@ -33,25 +33,40 @@ public class FileDescription extends DomainObject {
|
|||||||
public static final int FILES_PER_SUBDIRECTORY = 1000;
|
public static final int FILES_PER_SUBDIRECTORY = 1000;
|
||||||
public static final String FILE_ROOT = "/scipro-files";
|
public static final String FILE_ROOT = "/scipro-files";
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Basic JPA-mappings
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Column
|
@Basic
|
||||||
|
@Column(name = "name")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@Column
|
@Basic
|
||||||
|
@Column(name = "mime_type")
|
||||||
private String mimeType;
|
private String mimeType;
|
||||||
|
|
||||||
@Column
|
@Basic
|
||||||
private String identifier;
|
@Column(name = "size")
|
||||||
|
|
||||||
@ManyToOne
|
|
||||||
@JoinColumn(name = "userId")
|
|
||||||
private User uploader;
|
|
||||||
|
|
||||||
private long size;
|
private long size;
|
||||||
|
|
||||||
|
@Basic
|
||||||
|
@Column(name = "file_identifier")
|
||||||
|
private String identifier;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// JPA-mappings of foreign keys in this table (file_description) referencing
|
||||||
|
// other tables.
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
@ManyToOne
|
||||||
|
@JoinColumn(name = "user_id", referencedColumnName = "id")
|
||||||
|
private User uploader;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// JPA lifecycle methods
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
@PostRemove
|
@PostRemove
|
||||||
void removeActualData() {
|
void removeActualData() {
|
||||||
try {
|
try {
|
||||||
@ -63,6 +78,96 @@ public class FileDescription extends DomainObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Properties (Getters and Setters)
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public Long getId() {
|
||||||
|
return this.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMimeType() {
|
||||||
|
return this.mimeType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMimeType(String mimeType) {
|
||||||
|
this.mimeType = mimeType;
|
||||||
|
}
|
||||||
|
|
||||||
|
public long getSize() {
|
||||||
|
return this.size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSize(long size) {
|
||||||
|
this.size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIdentifier() {
|
||||||
|
return this.identifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIdentifier(String identifier) {
|
||||||
|
this.identifier = identifier;
|
||||||
|
}
|
||||||
|
|
||||||
|
public User getUploader() {
|
||||||
|
return this.uploader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUploader(User uploader) {
|
||||||
|
this.uploader = uploader;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Methods Common To All Objects
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean equals(final Object o) {
|
||||||
|
if (o == this) return true;
|
||||||
|
if (!(o instanceof FileDescription)) return false;
|
||||||
|
final FileDescription other = (FileDescription) o;
|
||||||
|
return other.canEqual(this)
|
||||||
|
&& Objects.equals(this.getId(), other.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
final int PRIME = 59;
|
||||||
|
int result = 1;
|
||||||
|
final Object $id = this.getId();
|
||||||
|
result = result * PRIME + ($id == null ? 43 : $id.hashCode());
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Todo
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
if (name != null) {
|
||||||
|
return name;
|
||||||
|
} else {
|
||||||
|
return super.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Other methods
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
protected boolean canEqual(final Object other) {
|
||||||
|
return other instanceof FileDescription;
|
||||||
|
}
|
||||||
|
|
||||||
public Path getPath0() {
|
public Path getPath0() {
|
||||||
return FileSystems.getDefault().getPath(FILE_ROOT, getSubdirectory(), Long.toString(id));
|
return FileSystems.getDefault().getPath(FILE_ROOT, getSubdirectory(), Long.toString(id));
|
||||||
}
|
}
|
||||||
@ -78,85 +183,4 @@ public class FileDescription extends DomainObject {
|
|||||||
public InputStream getData() throws IOException {
|
public InputStream getData() throws IOException {
|
||||||
return Files.newInputStream(getPath0());
|
return Files.newInputStream(getPath0());
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Todo
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
if (name != null) {
|
|
||||||
return name;
|
|
||||||
} else {
|
|
||||||
return super.toString();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getId() {
|
|
||||||
return this.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getMimeType() {
|
|
||||||
return this.mimeType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getIdentifier() {
|
|
||||||
return this.identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
public User getUploader() {
|
|
||||||
return this.uploader;
|
|
||||||
}
|
|
||||||
|
|
||||||
public long getSize() {
|
|
||||||
return this.size;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setName(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setMimeType(String mimeType) {
|
|
||||||
this.mimeType = mimeType;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setIdentifier(String identifier) {
|
|
||||||
this.identifier = identifier;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setUploader(User uploader) {
|
|
||||||
this.uploader = uploader;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSize(long size) {
|
|
||||||
this.size = size;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
if (o == this) return true;
|
|
||||||
if (!(o instanceof FileDescription)) return false;
|
|
||||||
final FileDescription other = (FileDescription) o;
|
|
||||||
return other.canEqual(this)
|
|
||||||
&& Objects.equals(this.getId(), other.getId());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean canEqual(final Object other) {
|
|
||||||
return other instanceof FileDescription;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
final int PRIME = 59;
|
|
||||||
int result = 1;
|
|
||||||
final Object $id = this.getId();
|
|
||||||
result = result * PRIME + ($id == null ? 43 : $id.hashCode());
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ import jakarta.persistence.JoinColumn;
|
|||||||
import jakarta.persistence.ManyToOne;
|
import jakarta.persistence.ManyToOne;
|
||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.util.*;
|
import java.util.Objects;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A reference to a file.
|
* A reference to a file.
|
||||||
@ -29,7 +29,7 @@ public class FileReference implements Serializable {
|
|||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ManyToOne(cascade = CascadeType.PERSIST)
|
@ManyToOne(cascade = CascadeType.PERSIST)
|
||||||
@JoinColumn(name = "file_description_id")
|
@JoinColumn(name = "file_description_id", referencedColumnName = "id")
|
||||||
private FileDescription fileDescription;
|
private FileDescription fileDescription;
|
||||||
|
|
||||||
public Long getId() {
|
public Long getId() {
|
||||||
|
@ -1,71 +1,88 @@
|
|||||||
package se.su.dsv.scipro.file;
|
package se.su.dsv.scipro.file;
|
||||||
|
|
||||||
|
import jakarta.persistence.Basic;
|
||||||
|
import jakarta.persistence.Column;
|
||||||
|
import jakarta.persistence.Entity;
|
||||||
|
import jakarta.persistence.EnumType;
|
||||||
|
import jakarta.persistence.Enumerated;
|
||||||
|
import jakarta.persistence.GeneratedValue;
|
||||||
|
import jakarta.persistence.GenerationType;
|
||||||
|
import jakarta.persistence.Id;
|
||||||
|
import jakarta.persistence.JoinColumn;
|
||||||
|
import jakarta.persistence.ManyToOne;
|
||||||
|
import jakarta.persistence.OneToOne;
|
||||||
|
import jakarta.persistence.Table;
|
||||||
import se.su.dsv.scipro.project.Project;
|
import se.su.dsv.scipro.project.Project;
|
||||||
import se.su.dsv.scipro.system.DomainObject;
|
import se.su.dsv.scipro.system.DomainObject;
|
||||||
|
|
||||||
import jakarta.persistence.*;
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table(name = "project_file")
|
@Table(name = "project_file")
|
||||||
public class ProjectFile extends DomainObject {
|
public class ProjectFile extends DomainObject {
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Basic JPA-mappings
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ManyToOne
|
@Basic
|
||||||
private Project project;
|
@Column(name = "file_source")
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
@Enumerated(EnumType.STRING)
|
||||||
private FileSource fileSource = FileSource.FILES;
|
private FileSource fileSource = FileSource.FILES;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// JPA-mappings of foreign keys in this table (project_file) referencing other tables.
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
@ManyToOne
|
||||||
|
@JoinColumn(name = "project_id", referencedColumnName = "id")
|
||||||
|
private Project project;
|
||||||
|
|
||||||
@OneToOne
|
@OneToOne
|
||||||
@JoinColumn(name = "file_reference_id")
|
@JoinColumn(name = "file_reference_id", referencedColumnName = "id")
|
||||||
private FileReference fileReference;
|
private FileReference fileReference;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Properties (Getters and Setters)
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
@Override
|
@Override
|
||||||
public Long getId() {
|
public Long getId() {
|
||||||
return this.id;
|
return this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Project getProject() {
|
|
||||||
return this.project;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FileSource getFileSource() {
|
|
||||||
return this.fileSource;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FileDescription getFileDescription() {
|
|
||||||
return this.fileReference.getFileDescription();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
public void setId(Long id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setProject(Project project) {
|
public FileSource getFileSource() {
|
||||||
this.project = project;
|
return this.fileSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFileSource(FileSource fileSource) {
|
public void setFileSource(FileSource fileSource) {
|
||||||
this.fileSource = fileSource;
|
this.fileSource = fileSource;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFileReference(FileReference fileReference) {
|
|
||||||
this.fileReference = fileReference;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FileReference getFileReference() {
|
public FileReference getFileReference() {
|
||||||
return this.fileReference;
|
return this.fileReference;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void setFileReference(FileReference fileReference) {
|
||||||
public String toString() {
|
this.fileReference = fileReference;
|
||||||
return "ProjectFile(id=" + this.getId() + ", project=" + this.getProject() + ", fileSource=" + this.getFileSource() + ", fileDescription=" + this.getFileDescription() + ")";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Project getProject() {
|
||||||
|
return this.project;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProject(Project project) {
|
||||||
|
this.project = project;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Methods Common To All Objects
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
@Override
|
@Override
|
||||||
public boolean equals(final Object o) {
|
public boolean equals(final Object o) {
|
||||||
if (o == this) return true;
|
if (o == this) return true;
|
||||||
@ -79,12 +96,24 @@ public class ProjectFile extends DomainObject {
|
|||||||
&& Objects.equals(this.getFileDescription(), other.getFileDescription());
|
&& Objects.equals(this.getFileDescription(), other.getFileDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean canEqual(final Object other) {
|
|
||||||
return other instanceof ProjectFile;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hash(this.getId(), this.getProject(), this.getFileSource(), this.getFileDescription());
|
return Objects.hash(this.getId(), this.getProject(), this.getFileSource(), this.getFileDescription());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "ProjectFile(id=" + this.getId() + ", project=" + this.getProject() + ", fileSource=" + this.getFileSource() + ", fileDescription=" + this.getFileDescription() + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Other methods
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
protected boolean canEqual(final Object other) {
|
||||||
|
return other instanceof ProjectFile;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileDescription getFileDescription() {
|
||||||
|
return this.fileReference.getFileDescription();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -21,50 +21,67 @@ import jakarta.persistence.Table;
|
|||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.util.*;
|
import java.util.Date;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
@Entity
|
@Entity
|
||||||
@Table
|
@Table(name = "final_thesis")
|
||||||
public class FinalThesis extends DomainObject {
|
public class FinalThesis extends DomainObject {
|
||||||
|
|
||||||
public enum Status {
|
// ----------------------------------------------------------------------------------
|
||||||
APPROVED, REJECTED, NO_DECISION
|
// Basic JPA-mappings
|
||||||
}
|
// ----------------------------------------------------------------------------------
|
||||||
|
|
||||||
@Id
|
@Id
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@ManyToOne(optional = false)
|
@Basic
|
||||||
@JoinColumn(name = "document_reference_id")
|
@Column(name = "english_title")
|
||||||
private FileReference document;
|
private String englishTitle;
|
||||||
|
|
||||||
@ManyToOne(optional = true)
|
@Basic
|
||||||
@JoinColumn(name = "text_matching_document_reference_id")
|
@Column(name = "swedish_title")
|
||||||
private FileReference textMatchingDocument;
|
private String swedishTitle;
|
||||||
|
|
||||||
|
@Basic
|
||||||
|
@Column(name = "status")
|
||||||
|
@Enumerated(EnumType.STRING)
|
||||||
|
private Status status = Status.NO_DECISION;
|
||||||
|
|
||||||
|
@Basic
|
||||||
|
@Column(name = "date_approved")
|
||||||
|
private Date dateApproved;
|
||||||
|
|
||||||
|
@Basic
|
||||||
|
@Column(name = "date_rejected")
|
||||||
|
private Date dateRejected;
|
||||||
|
|
||||||
|
@Basic
|
||||||
|
@Column(name = "rejection_comment")
|
||||||
|
private String rejectionComment;
|
||||||
|
|
||||||
@Basic
|
@Basic
|
||||||
@Column(name = "text_matching_analysis")
|
@Column(name = "text_matching_analysis")
|
||||||
private String textMatchingAnalysis;
|
private String textMatchingAnalysis;
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// JPA-mappings of foreign keys in this table (final_thesis) referencing other tables.
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
@ManyToOne(optional = true)
|
||||||
|
@JoinColumn(name = "text_matching_document_reference_id", referencedColumnName = "id")
|
||||||
|
private FileReference textMatchingDocument;
|
||||||
|
|
||||||
@ManyToOne(optional = false)
|
@ManyToOne(optional = false)
|
||||||
@JoinColumn(name = "project_id")
|
@JoinColumn(name = "document_reference_id", referencedColumnName = "id")
|
||||||
|
private FileReference document;
|
||||||
|
|
||||||
|
@ManyToOne(optional = false)
|
||||||
|
@JoinColumn(name = "project_id", referencedColumnName = "id")
|
||||||
private Project project;
|
private Project project;
|
||||||
|
|
||||||
@Enumerated(EnumType.STRING)
|
// ----------------------------------------------------------------------------------
|
||||||
private Status status = Status.NO_DECISION;
|
// JPA lifecycle method
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
private Date dateApproved;
|
|
||||||
|
|
||||||
private Date dateRejected;
|
|
||||||
|
|
||||||
private String englishTitle;
|
|
||||||
|
|
||||||
private String swedishTitle;
|
|
||||||
|
|
||||||
@Column(name = "rejection_comment")
|
|
||||||
private String rejectionComment;
|
|
||||||
|
|
||||||
@PrePersist
|
@PrePersist
|
||||||
@PreUpdate
|
@PreUpdate
|
||||||
void cleanTitle() {
|
void cleanTitle() {
|
||||||
@ -72,6 +89,126 @@ public class FinalThesis extends DomainObject {
|
|||||||
this.swedishTitle = clean(this.swedishTitle);
|
this.swedishTitle = clean(this.swedishTitle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Properties (Getters and Setters)
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public Long getId() {
|
||||||
|
return this.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setId(Long id) {
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEnglishTitle() {
|
||||||
|
return this.englishTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEnglishTitle(String englishTitle) {
|
||||||
|
this.englishTitle = englishTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSwedishTitle() {
|
||||||
|
return this.swedishTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSwedishTitle(String swedishTitle) {
|
||||||
|
this.swedishTitle = swedishTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Status getStatus() {
|
||||||
|
return this.status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(Status status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDateApproved() {
|
||||||
|
return dateApproved;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDateApproved(Date dateApproved) {
|
||||||
|
this.dateApproved = dateApproved;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Date getDateRejected() {
|
||||||
|
return dateRejected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDateRejected(Date dateRejected) {
|
||||||
|
this.dateRejected = dateRejected;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getRejectionComment() {
|
||||||
|
return rejectionComment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRejectionComment(String rejectionComment) {
|
||||||
|
this.rejectionComment = rejectionComment;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTextMatchingAnalysis() {
|
||||||
|
return textMatchingAnalysis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTextMatchingAnalysis(String textMatchingAnalysis) {
|
||||||
|
this.textMatchingAnalysis = textMatchingAnalysis;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileReference getTextMatchingDocument() {
|
||||||
|
return this.textMatchingDocument;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTextMatchingDocument(FileReference textMatchingDocument) {
|
||||||
|
this.textMatchingDocument = textMatchingDocument;
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileReference getDocument() {
|
||||||
|
return this.document;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDocument(FileReference fileDescription) {
|
||||||
|
this.document = fileDescription;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Project getProject() {
|
||||||
|
return this.project;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProject(Project project) {
|
||||||
|
this.project = project;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Methods Common To All Objects
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
@Override
|
||||||
|
public boolean equals(final Object o) {
|
||||||
|
if (o == this) return true;
|
||||||
|
if (!(o instanceof FinalThesis)) return false;
|
||||||
|
final FinalThesis other = (FinalThesis) o;
|
||||||
|
return other.canEqual(this)
|
||||||
|
&& Objects.equals(this.getDocument(), other.getDocument())
|
||||||
|
&& Objects.equals(this.getProject(), other.getProject());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(this.getDocument(), this.getProject());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "FinalThesis(id=" + this.getId() + ", fileDescription=" + this.getDocument() + ", textMatchingDocument=" + this.getTextMatchingDocument() + ", project=" + this.getProject() + ", status=" + this.getStatus() + ", dateApproved=" + this.getDateApproved() + ", dateRejected=" + this.getDateRejected() + ", englishTitle=" + this.getEnglishTitle() + ", swedishTitle=" + this.getSwedishTitle() + ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Other methods
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
private String clean(String str) {
|
private String clean(String str) {
|
||||||
if (str == null) {
|
if (str == null) {
|
||||||
return null;
|
return null;
|
||||||
@ -83,125 +220,23 @@ public class FinalThesis extends DomainObject {
|
|||||||
.trim();
|
.trim();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Long getId() {
|
|
||||||
return this.id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FileReference getDocument() {
|
|
||||||
return this.document;
|
|
||||||
}
|
|
||||||
|
|
||||||
public FileReference getTextMatchingDocument() {
|
|
||||||
return this.textMatchingDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Project getProject() {
|
|
||||||
return this.project;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Status getStatus() {
|
|
||||||
return this.status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getEnglishTitle() {
|
|
||||||
return this.englishTitle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getSwedishTitle() {
|
|
||||||
return this.swedishTitle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setId(Long id) {
|
|
||||||
this.id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDocument(FileReference fileDescription) {
|
|
||||||
this.document = fileDescription;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextMatchingDocument(FileReference textMatchingDocument) {
|
|
||||||
this.textMatchingDocument = textMatchingDocument;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setProject(Project project) {
|
|
||||||
this.project = project;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setStatus(Status status) {
|
|
||||||
this.status = status;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDateApproved(Date dateApproved) {
|
|
||||||
this.dateApproved = dateApproved;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setDateRejected(Date dateRejected) {
|
|
||||||
this.dateRejected = dateRejected;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setEnglishTitle(String englishTitle) {
|
|
||||||
this.englishTitle = englishTitle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setSwedishTitle(String swedishTitle) {
|
|
||||||
this.swedishTitle = swedishTitle;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTextMatchingAnalysis() {
|
|
||||||
return textMatchingAnalysis;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setTextMatchingAnalysis(String textMatchingAnalysis) {
|
|
||||||
this.textMatchingAnalysis = textMatchingAnalysis;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getRejectionComment() {
|
|
||||||
return rejectionComment;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setRejectionComment(String rejectionComment) {
|
|
||||||
this.rejectionComment = rejectionComment;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String toString() {
|
|
||||||
return "FinalThesis(id=" + this.getId() + ", fileDescription=" + this.getDocument() + ", textMatchingDocument=" + this.getTextMatchingDocument() + ", project=" + this.getProject() + ", status=" + this.getStatus() + ", dateApproved=" + this.getDateApproved() + ", dateRejected=" + this.getDateRejected() + ", englishTitle=" + this.getEnglishTitle() + ", swedishTitle=" + this.getSwedishTitle() + ")";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean equals(final Object o) {
|
|
||||||
if (o == this) return true;
|
|
||||||
if (!(o instanceof FinalThesis)) return false;
|
|
||||||
final FinalThesis other = (FinalThesis) o;
|
|
||||||
return other.canEqual(this)
|
|
||||||
&& Objects.equals(this.getDocument(), other.getDocument())
|
|
||||||
&& Objects.equals(this.getProject(), other.getProject());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected boolean canEqual(final Object other) {
|
protected boolean canEqual(final Object other) {
|
||||||
return other instanceof FinalThesis;
|
return other instanceof FinalThesis;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int hashCode() {
|
|
||||||
return Objects.hash(this.getDocument(), this.getProject());
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isRejected() {
|
|
||||||
return getStatus() == Status.REJECTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getDateRejected() {
|
|
||||||
return dateRejected;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Date getDateApproved() {
|
|
||||||
return dateApproved;
|
|
||||||
}
|
|
||||||
|
|
||||||
public LocalDate getUploadDate() {
|
public LocalDate getUploadDate() {
|
||||||
Instant instant = document.getFileDescription().getDateCreated().toInstant();
|
Instant instant = document.getFileDescription().getDateCreated().toInstant();
|
||||||
return instant.atZone(ZoneId.systemDefault()).toLocalDate();
|
return instant.atZone(ZoneId.systemDefault()).toLocalDate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean isRejected() {
|
||||||
|
return getStatus() == Status.REJECTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
// Nested types
|
||||||
|
// ----------------------------------------------------------------------------------
|
||||||
|
public enum Status {
|
||||||
|
APPROVED, REJECTED, NO_DECISION
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2613,8 +2613,105 @@ alter table `grade`
|
|||||||
foreign key (reported_by_user_id) references user (id)
|
foreign key (reported_by_user_id) references user (id)
|
||||||
on delete cascade on update cascade;
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Step 17: file_reference & file_description, FinalThesis and project_file
|
||||||
|
*/
|
||||||
|
|
||||||
|
-- table: file_description
|
||||||
|
|
||||||
|
alter table `file_description` drop foreign key `file_description_user`;
|
||||||
|
|
||||||
|
alter table `file_description` drop key `file_description_user`;
|
||||||
|
alter table `file_description` drop key `file_description_identifier_index`;
|
||||||
|
|
||||||
|
alter table `file_description` change `version` `version` int(4) not null default 0 after `last_modified`;
|
||||||
|
alter table `file_description` change `name` `name` varchar(255) default null after `version`;
|
||||||
|
alter table `file_description` change `mimeType` `mime_type` varchar(255) default null after `name`;
|
||||||
|
alter table `file_description` change `size` `size` bigint(20) default null after `mime_type`;
|
||||||
|
alter table `file_description` change `identifier` `file_identifier` varchar(255) default null after `size`;
|
||||||
|
alter table `file_description` change `type` `type` varchar(255) default null after `file_identifier`;
|
||||||
|
alter table `file_description` change `userId` `user_id` bigint(20) default null after `type`;
|
||||||
|
|
||||||
|
alter table `file_description`
|
||||||
|
add constraint fk_file_description_user_id
|
||||||
|
foreign key (user_id) references user (id)
|
||||||
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
-- table: file_reference
|
||||||
|
|
||||||
|
alter table file_reference drop foreign key `FK_file_reference_file_description`;
|
||||||
|
|
||||||
|
alter table file_reference drop key `FK_file_reference_file_description`;
|
||||||
|
|
||||||
|
alter table file_reference
|
||||||
|
add constraint fk_file_reference_file_description_id
|
||||||
|
foreign key (file_description_id) references file_description (id)
|
||||||
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
-- table: FinalThesis
|
||||||
|
|
||||||
|
alter table FinalThesis drop foreign key `FK_final_thesis_text_matching_document_reference`;
|
||||||
|
alter table FinalThesis drop foreign key `FK_final_thesis_project`;
|
||||||
|
alter table FinalThesis drop foreign key `FK_final_thesis_document_reference`;
|
||||||
|
|
||||||
|
alter table FinalThesis drop key `FK_final_thesis_text_matching_document_reference`;
|
||||||
|
alter table FinalThesis drop key `FK_final_thesis_project`;
|
||||||
|
|
||||||
|
rename table FinalThesis to `final_thesis`;
|
||||||
|
|
||||||
|
alter table `final_thesis` change `englishTitle` `english_title` varchar(255) default null after `version`;
|
||||||
|
alter table `final_thesis` change `swedishTitle` `swedish_title` varchar(255) default null after `english_title`;
|
||||||
|
alter table `final_thesis` change `status` `status` varchar(32) not null after `swedish_title`;
|
||||||
|
alter table `final_thesis` change `dateApproved` `date_approved` date default null after `status`;
|
||||||
|
alter table `final_thesis` change `dateRejected` `date_rejected` date default null after `date_approved`;
|
||||||
|
alter table `final_thesis` change `rejection_comment` `rejection_comment` text default null after `date_rejected`;
|
||||||
|
alter table `final_thesis` change `text_matching_analysis` `text_matching_analysis` text default null after `rejection_comment`;
|
||||||
|
alter table `final_thesis` change `text_matching_document_reference_id` `text_matching_document_reference_id` bigint(20) default null after `text_matching_analysis`;
|
||||||
|
alter table `final_thesis` change `project_id` `project_id` bigint(20) not null after `document_reference_id`;
|
||||||
|
|
||||||
|
alter table `final_thesis`
|
||||||
|
add constraint fk_final_thesis_text_matching_document_reference_id
|
||||||
|
foreign key (text_matching_document_reference_id) references file_reference (id)
|
||||||
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
alter table `final_thesis`
|
||||||
|
add constraint fk_final_thesis_document_reference_id
|
||||||
|
foreign key (document_reference_id) references file_reference (id)
|
||||||
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
alter table `final_thesis`
|
||||||
|
add constraint fk_final_thesis_project_id
|
||||||
|
foreign key (project_id) references project (id)
|
||||||
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
-- table: project_file
|
||||||
|
|
||||||
|
alter table `project_file` drop foreign key project_file_ibfk_2;
|
||||||
|
alter table `project_file` drop foreign key FK_project_file_file;
|
||||||
|
|
||||||
|
alter table `project_file` drop key FK_project_file_file;
|
||||||
|
alter table `project_file` drop key FK_project_file_project;
|
||||||
|
|
||||||
|
alter table `project_file` change `fileSource` `file_source` varchar(255) not null after `version`;
|
||||||
|
alter table `project_file` change `project_id` `project_id` bigint(20) not null after `file_reference_id`;
|
||||||
|
|
||||||
|
alter table `project_file`
|
||||||
|
add constraint fk_project_file_file_reference_id
|
||||||
|
foreign key (file_reference_id) references file_reference (id)
|
||||||
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
alter table `project_file`
|
||||||
|
add constraint fk_project_file_project_id
|
||||||
|
foreign key (project_id) references project (id)
|
||||||
|
on delete cascade on update cascade;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Step 18: Decision & ReviewerApproval
|
||||||
|
*/
|
||||||
|
|
||||||
|
-- todo: table: Decision
|
||||||
|
|
||||||
|
-- todo: table: ReviewerApproval
|
||||||
|
|
||||||
/* Useful SQL
|
/* Useful SQL
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user