From 17e53464f450b353e120a7b42ecab765d2bbe83d Mon Sep 17 00:00:00 2001 From: tbilos Date: Sat, 26 Mar 2022 21:38:12 +0100 Subject: [PATCH 1/2] create AgentAssignment entity --- .../group7/secretservice/entity/Agent.java | 8 ++++ .../secretservice/entity/AgentAssignment.java | 43 +++++++++++++++++++ .../group7/secretservice/entity/Mission.java | 4 ++ .../group7/secretservice/entity/Report.java | 21 ++++----- 4 files changed, 63 insertions(+), 13 deletions(-) diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Agent.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Agent.java index 57621866..768dfeff 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Agent.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Agent.java @@ -30,6 +30,14 @@ public class Agent { @Getter private List codeNames; + @OneToMany(mappedBy = "agent") + @Getter + private List agentAssignments = new ArrayList<>(); + + public void addAgentAssignment(AgentAssignment agentAssignment) { + agentAssignments.add(agentAssignment); + } + public void addCodeName(CodeName codeName) { codeNames.add(codeName); } 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 569b6147..74586ad3 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,4 +1,47 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; +import lombok.Getter; +import lombok.Setter; + +import javax.persistence.*; +import java.sql.Date; + +/** + * @author Tomáš Biloš + */ +@Entity 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() {} + } diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java index 1771c3be..0825cc82 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Mission.java @@ -47,6 +47,10 @@ public class Mission { @Setter private Country country; + + @OneToMany(mappedBy = "mission") + private List agentAssignments; + @Override public boolean equals(Object o) { if (this == o) return true; 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 68beaf3a..c73949b3 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 @@ -4,8 +4,6 @@ import lombok.Getter; import lombok.Setter; import javax.persistence.*; -import java.util.ArrayList; -import java.util.List; /** * @author Jan Smejkal @@ -23,20 +21,17 @@ public class Report { @Setter private String report; - @OneToMany + @OneToOne + @Setter @Getter - private List performanceEvaluations = new ArrayList(); - -// @ManyToOne -// @Getter -// private AgentAssignment agentAssignment; + private PerformanceEvaluation performanceEvaluation; - public Report() { - } + @OneToOne(mappedBy = "report") + @Getter + @Setter + private AgentAssignment agentAssignment; - public void addPerformanceEvaluation(PerformanceEvaluation performanceEvaluation) { - performanceEvaluations.add(performanceEvaluation); - } + public Report() {} public Report(String report){ this.report = report; -- GitLab From 4870d04e9b5ec60c524ef8ffae2c837e9776e68b Mon Sep 17 00:00:00 2001 From: tbilos Date: Sat, 26 Mar 2022 22:03:47 +0100 Subject: [PATCH 2/2] add AgentAssignmentDao --- .../group7/secretservice/dao/AgentAssignmentDao.java | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentAssignmentDao.java diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentAssignmentDao.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentAssignmentDao.java new file mode 100644 index 00000000..0f5df26a --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentAssignmentDao.java @@ -0,0 +1,7 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.dao; + +import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.AgentAssignment; +import org.springframework.data.repository.CrudRepository; + +public interface AgentAssignmentDao extends CrudRepository { +} -- GitLab