From 86ef45abaa17b411cd2e67aad069f836e865da9c Mon Sep 17 00:00:00 2001 From: Juraj Fiala Date: Fri, 25 Mar 2022 23:05:12 +0100 Subject: [PATCH 1/3] temp commit --- .../group7/secretservice/dao/AgentDao.java | 19 +++++++ .../secretservice/dao/AgentDaoImpl.java | 42 ++++++++++++++++ .../group7/secretservice/entity/Agent.java | 49 +++++++++++++++++++ .../group7/secretservice/entity/CodeName.java | 25 ++++++++++ .../secretservice/entity/LanguageSkill.java | 26 ++++++++++ .../group7/secretservice/entity/Skill.java | 24 +++++++++ .../secretservice/entity/WeaponSkill.java | 26 ++++++++++ .../secretservice/enums/LanguageCode.java | 7 +++ .../secretservice/enums/WeaponCategory.java | 8 +++ 9 files changed, 226 insertions(+) create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDao.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDaoImpl.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Agent.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/LanguageCode.java create mode 100644 src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/WeaponCategory.java diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDao.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDao.java new file mode 100644 index 00000000..17027e22 --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDao.java @@ -0,0 +1,19 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.dao; + +import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.Agent; + +import java.util.List; + +/** + * @author Juraj Fiala + */ +public interface AgentDao { + + void create(Agent a); + + List findAll(); + + Agent findById(Long id); + + void remove(Agent a); +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDaoImpl.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDaoImpl.java new file mode 100644 index 00000000..7750b307 --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/dao/AgentDaoImpl.java @@ -0,0 +1,42 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.dao; + +import cz.fi.muni.pa165.seminar4.group7.secretservice.entity.Agent; +import org.springframework.stereotype.Repository; + +import javax.persistence.EntityManager; +import javax.persistence.PersistenceContext; +import java.util.List; + +/** + * @author Juraj Fiala + */ +@Repository +public class AgentDaoImpl implements AgentDao { + + @PersistenceContext + private EntityManager em; + + public AgentDaoImpl(EntityManager em) { + this.em = em; + } + + @Override + public void create(Agent a) { + em.persist(a); + } + + @Override + public List findAll() { + return em.createQuery("select a from Agent a", Agent.class).getResultList(); + } + + @Override + public Agent findById(Long id) { + return em.find(Agent.class, id); + } + + @Override + public void remove(Agent a) { + em.remove(a); + } +} \ No newline at end of file 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 new file mode 100644 index 00000000..8c66378a --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Agent.java @@ -0,0 +1,49 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + +@Entity +public class Agent { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @OneToMany + private List skills = new ArrayList<>(); + + private String training; + + @OneToMany + private List codeNames = new ArrayList<>(); + + public void setCodeNames(List codenames) { + this.codeNames = codenames; + } + + public List getCodeNames() { + return codeNames; + } + + public Long getId() { + return id; + } + + public List getSkills() { + return skills; + } + + public void setSkills(List skills) { + this.skills = skills; + } + + + public String getTraining() { + return training; + } + + public void setTraining(String training) { + this.training = training; + } +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java new file mode 100644 index 00000000..1a4f76cf --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java @@ -0,0 +1,25 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; + +import javax.persistence.*; + +@Entity +@Table(name = "code_name") +public class CodeName { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String codeName; + + @ManyToOne + @JoinColumn(name = "agent_id") + private Agent agent; + + public Agent getAgent() { + return agent; + } + + public void setAgent(Agent agent) { + this.agent = agent; + } +} \ No newline at end of file diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java new file mode 100644 index 00000000..bebe50a9 --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java @@ -0,0 +1,26 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; + +import cz.fi.muni.pa165.seminar4.group7.secretservice.enums.LanguageCode; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class LanguageSkill extends Skill { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private LanguageCode languageCode; + + public LanguageCode getLanguageCode() { + return languageCode; + } + + public void setLanguageCode(LanguageCode weaponCategory) { + this.languageCode = weaponCategory; + } +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java new file mode 100644 index 00000000..553669fe --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java @@ -0,0 +1,24 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; + +import javax.persistence.*; + +@Entity +public class Skill { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private int level; + + public Long getId() { + return id; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java new file mode 100644 index 00000000..b6e8c97a --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java @@ -0,0 +1,26 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; + +import cz.fi.muni.pa165.seminar4.group7.secretservice.enums.WeaponCategory; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class WeaponSkill extends Skill { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private WeaponCategory weaponCategory; + + public WeaponCategory getWeaponCategory() { + return weaponCategory; + } + + public void setWeaponCategory(WeaponCategory weaponCategory) { + this.weaponCategory = weaponCategory; + } +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/LanguageCode.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/LanguageCode.java new file mode 100644 index 00000000..1b341c19 --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/LanguageCode.java @@ -0,0 +1,7 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.enums; + +public enum LanguageCode { + en_US, + cs_CZ, + sk_SK, +} diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/WeaponCategory.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/WeaponCategory.java new file mode 100644 index 00000000..127ee15d --- /dev/null +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/enums/WeaponCategory.java @@ -0,0 +1,8 @@ +package cz.fi.muni.pa165.seminar4.group7.secretservice.enums; + +public enum WeaponCategory { + KNIVES, + RIFLES, + POISONS, + EXPLOSIVES, +} -- GitLab From 426c45dfc089db4abc8c707e08e5dbf7667a9f01 Mon Sep 17 00:00:00 2001 From: Juraj Fiala Date: Sat, 26 Mar 2022 10:38:23 +0100 Subject: [PATCH 2/3] temp commit 2 --- .../group7/secretservice/entity/Agent.java | 43 ++++++++----------- .../group7/secretservice/entity/CodeName.java | 25 +++++++---- .../secretservice/entity/LanguageSkill.java | 19 +++++--- .../group7/secretservice/entity/Skill.java | 22 ++++++---- .../secretservice/entity/WeaponSkill.java | 18 +++++--- 5 files changed, 73 insertions(+), 54 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 8c66378a..57621866 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 @@ -1,49 +1,40 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; +import lombok.Getter; +import lombok.Setter; + import javax.persistence.*; import java.util.ArrayList; import java.util.List; +/** + * @author Juraj Fiala + */ @Entity public class Agent { @Id + @Getter + @Setter @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @OneToMany + @Getter private List skills = new ArrayList<>(); + @Getter + @Setter private String training; @OneToMany - private List codeNames = new ArrayList<>(); - - public void setCodeNames(List codenames) { - this.codeNames = codenames; - } - - public List getCodeNames() { - return codeNames; - } - - public Long getId() { - return id; - } - - public List getSkills() { - return skills; - } - - public void setSkills(List skills) { - this.skills = skills; - } - + @Getter + private List codeNames; - public String getTraining() { - return training; + public void addCodeName(CodeName codeName) { + codeNames.add(codeName); } - public void setTraining(String training) { - this.training = training; + public void addSkill(Skill skill) { + skills.add(skill); } } diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java index 1a4f76cf..3dfc7d91 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/CodeName.java @@ -1,25 +1,34 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; +import lombok.Getter; +import lombok.Setter; + import javax.persistence.*; +/** + * @author Juraj Fiala + */ @Entity -@Table(name = "code_name") public class CodeName { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Getter + @Setter private Long id; - private String codeName; + @Getter + @Setter + private String codeName = ""; @ManyToOne - @JoinColumn(name = "agent_id") + @Getter + @Setter private Agent agent; - public Agent getAgent() { - return agent; - } - - public void setAgent(Agent agent) { + public CodeName(Agent agent, String codeName) { this.agent = agent; + this.codeName = codeName; } + + public CodeName() { } } \ No newline at end of file diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java index bebe50a9..27b3275c 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java @@ -1,26 +1,33 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; import cz.fi.muni.pa165.seminar4.group7.secretservice.enums.LanguageCode; +import lombok.Getter; +import lombok.Setter; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +/** + * @author Juraj Fiala + */ @Entity public class LanguageSkill extends Skill { - @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Getter + @Setter private Long id; + @Getter + @Setter private LanguageCode languageCode; - public LanguageCode getLanguageCode() { - return languageCode; + public LanguageSkill(int level, LanguageCode languageCode) { + super(level); + this.languageCode = languageCode; } - public void setLanguageCode(LanguageCode weaponCategory) { - this.languageCode = weaponCategory; - } + public LanguageSkill() { } } diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java index 553669fe..cd62915f 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java @@ -1,24 +1,28 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; +import lombok.Getter; +import lombok.Setter; + import javax.persistence.*; +/** + * @author Juraj Fiala + */ @Entity public class Skill { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Getter + @Setter private Long id; + @Getter + @Setter private int level; - public Long getId() { - return id; - } - - public int getLevel() { - return level; - } - - public void setLevel(int level) { + public Skill(int level) { this.level = level; } + + public Skill() { } } diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java index b6e8c97a..e2495042 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java @@ -1,26 +1,34 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; +import cz.fi.muni.pa165.seminar4.group7.secretservice.enums.LanguageCode; import cz.fi.muni.pa165.seminar4.group7.secretservice.enums.WeaponCategory; +import lombok.Getter; +import lombok.Setter; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +/** + * @author Juraj Fiala + */ @Entity public class WeaponSkill extends Skill { - @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + @Getter + @Setter private Long id; + @Getter + @Setter private WeaponCategory weaponCategory; - public WeaponCategory getWeaponCategory() { - return weaponCategory; - } + public WeaponSkill() { } - public void setWeaponCategory(WeaponCategory weaponCategory) { + public WeaponSkill(int level, WeaponCategory weaponCategory) { + super(level); this.weaponCategory = weaponCategory; } } -- GitLab From a3069daf56655cf9c716302e4ceb683d2f270350 Mon Sep 17 00:00:00 2001 From: tbilos Date: Sat, 26 Mar 2022 19:14:12 +0100 Subject: [PATCH 3/3] fix: make Skill abstract, remove redundant ID --- .../group7/secretservice/entity/LanguageSkill.java | 8 -------- .../secretservice/entity/PerformanceEvaluation.java | 1 - .../seminar4/group7/secretservice/entity/Skill.java | 2 +- .../group7/secretservice/entity/WeaponSkill.java | 9 --------- 4 files changed, 1 insertion(+), 19 deletions(-) diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java index 27b3275c..889d2acd 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/LanguageSkill.java @@ -5,20 +5,12 @@ import lombok.Getter; import lombok.Setter; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; /** * @author Juraj Fiala */ @Entity public class LanguageSkill extends Skill { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Getter - @Setter - private Long id; @Getter @Setter 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 72e61ac9..7865e33b 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 @@ -26,7 +26,6 @@ public class PerformanceEvaluation { @Setter private String evaluation; - //on a scale of 0 upto 100 @Getter @Setter private int rating; diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java index cd62915f..481af0c8 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Skill.java @@ -9,7 +9,7 @@ import javax.persistence.*; * @author Juraj Fiala */ @Entity -public class Skill { +public abstract class Skill { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Getter diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java index e2495042..f6382b0b 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/WeaponSkill.java @@ -1,25 +1,16 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; -import cz.fi.muni.pa165.seminar4.group7.secretservice.enums.LanguageCode; import cz.fi.muni.pa165.seminar4.group7.secretservice.enums.WeaponCategory; import lombok.Getter; import lombok.Setter; import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; /** * @author Juraj Fiala */ @Entity public class WeaponSkill extends Skill { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Getter - @Setter - private Long id; @Getter @Setter -- GitLab