From 5e9ede2d741e9a05ba37c8c67c354d69ca8d3a62 Mon Sep 17 00:00:00 2001 From: tbilos Date: Sun, 27 Mar 2022 18:02:15 +0200 Subject: [PATCH 1/2] change relationships --- .../secretservice/entity/AgentAssignment.java | 35 ++++++++++------ .../entity/PerformanceEvaluation.java | 17 +++----- .../group7/secretservice/entity/Report.java | 41 +++---------------- 3 files changed, 34 insertions(+), 59 deletions(-) diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java index 74586ad3..640112da 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java @@ -1,47 +1,56 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; +import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; +import lombok.experimental.Accessors; import javax.persistence.*; import java.sql.Date; +import java.util.HashSet; +import java.util.Objects; +import java.util.Set; /** * @author Tomáš Biloš + * + * Entity representing assignment of an agent in a mission. */ @Entity +@Getter +@Setter +@Accessors(chain = true) public class AgentAssignment { @Id @Column(name = "id", nullable = false) - @Getter - @Setter private Long id; - @Getter - @Setter private Date start; - @Getter - @Setter private int durationInDays; @OneToOne @JoinColumn(name = "report_id") - @Getter - @Setter private Report report; @ManyToOne @JoinColumn(name = "mission_id", referencedColumnName = "id") - @Getter - @Setter private Mission mission; @ManyToOne - @Getter - @Setter private Agent agent; - public AgentAssignment() {} + @OneToMany + @Setter(AccessLevel.NONE) + private Set performanceEvaluations = new HashSet<>(); + public void addPerformanceEvaluation(PerformanceEvaluation performanceEvaluation) { + performanceEvaluations.add(performanceEvaluation); + } + + public void removePerformanceEvaluation(PerformanceEvaluation performanceEvaluation) { + performanceEvaluations.remove(performanceEvaluation); + } + + // TODO equal & hashcode } diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java index 7865e33b..ec55748e 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java @@ -4,30 +4,24 @@ import lombok.Getter; import lombok.Setter; import javax.persistence.*; +import java.util.Objects; /** * @author Jan Smejkal + * + * Entity to represent a performance of an agent in a mission. Contains text evaluation as well as rating. */ @Entity +@Getter +@Setter public class PerformanceEvaluation { @Id @Column(name = "id", nullable = false) @GeneratedValue(strategy = GenerationType.IDENTITY) - @Getter - @Setter private Long id; - @ManyToOne - @Getter - @Setter - private Report report; - - @Getter - @Setter private String evaluation; - @Getter - @Setter private int rating; public PerformanceEvaluation() { @@ -37,4 +31,5 @@ public class PerformanceEvaluation { this.evaluation = evaluation; } + // TODO equals & hashcode } \ No newline at end of file diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Report.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Report.java index c73949b3..e96c3424 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Report.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Report.java @@ -7,28 +7,22 @@ import javax.persistence.*; /** * @author Jan Smejkal + * + * Entity representing text report submited by an agent to his assignment. */ @Entity +@Getter +@Setter public class Report { @Id @Column(name = "id", nullable = false) @GeneratedValue(strategy = GenerationType.IDENTITY) - @Getter - @Setter private Long id; - @Getter - @Setter - private String report; - @OneToOne - @Setter - @Getter - private PerformanceEvaluation performanceEvaluation; + private String report; @OneToOne(mappedBy = "report") - @Getter - @Setter private AgentAssignment agentAssignment; public Report() {} @@ -37,28 +31,5 @@ public class Report { this.report = report; } - @Override - public int hashCode() { - final int PRIME = 31; - int result = 1; - result = PRIME * result + ((report == null) ? 0 : report.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (!(obj instanceof Report)) - return false; - Report other = (Report) obj; - if (id == null) { - if (other.getReport() != null) - return false; - } else if (!report.equals(other.getReport())) - return false; - return true; - } + // TODO equals & hashcode } \ No newline at end of file -- GitLab From 0a8011398985fa764b15dcb84262e98c4a5b0398 Mon Sep 17 00:00:00 2001 From: tbilos Date: Sun, 27 Mar 2022 18:06:18 +0200 Subject: [PATCH 2/2] remove unused imports --- .../seminar4/group7/secretservice/entity/AgentAssignment.java | 4 ++-- .../group7/secretservice/entity/PerformanceEvaluation.java | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java index 640112da..7f4a76ec 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/AgentAssignment.java @@ -8,13 +8,13 @@ import lombok.experimental.Accessors; import javax.persistence.*; import java.sql.Date; import java.util.HashSet; -import java.util.Objects; import java.util.Set; /** * @author Tomáš Biloš * - * Entity representing assignment of an agent in a mission. + * Entity representing assignment of an agent in a mission. Contains report by agent participating in the mission and + * evaluation of his performance from his superiors. */ @Entity @Getter diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java index ec55748e..da20408f 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/PerformanceEvaluation.java @@ -4,7 +4,6 @@ import lombok.Getter; import lombok.Setter; import javax.persistence.*; -import java.util.Objects; /** * @author Jan Smejkal -- GitLab