From a925bd3ab026de1a57ae1642631fe12f87716d09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Mozol=C3=A1k?= Date: Sun, 27 Mar 2022 15:34:46 +0200 Subject: [PATCH 1/3] Country equals + hash depend on code attribute --- .../seminar4/group7/secretservice/entity/Country.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java index 08a3079b..d5b8dc39 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java @@ -3,6 +3,7 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; import com.sun.istack.NotNull; import lombok.Getter; import lombok.Setter; +import lombok.experimental.Accessors; import javax.persistence.*; import java.util.List; @@ -77,14 +78,12 @@ public class Country { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - Country country = (Country) o; - - return id.equals(country.id) && code.equals(country.code); + return code.equals(country.code); } @Override public int hashCode() { - return Objects.hash(id, code); + return Objects.hash(code); } } -- GitLab From 7b129ee2f661512fd3fd3b9ef8bc43cd8be960cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Mozol=C3=A1k?= Date: Sun, 27 Mar 2022 15:36:43 +0200 Subject: [PATCH 2/3] Moved country getters and setters annotation to whole class --- .../group7/secretservice/entity/Country.java | 23 +++---------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java index d5b8dc39..2addf7e4 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java @@ -13,64 +13,47 @@ import java.util.Objects; * @author Milan Mozolak */ @Entity +@Getter +@Setter +@Accessors(chain = true) public class Country { @Id @Column(name = "id", nullable = false) @GeneratedValue(strategy = GenerationType.IDENTITY) - @Getter - @Setter private Long id; @NotNull @Column(nullable = false) - @Getter - @Setter private String code; @NotNull @Column(nullable = false) - @Getter - @Setter private String name; @NotNull @Column(nullable = false) - @Getter - @Setter private String demographics; @NotNull @Column(nullable = false) - @Getter - @Setter private String geography; @NotNull @Column(nullable = false) - @Getter - @Setter private String communications; @NotNull @Column(nullable = false) - @Getter - @Setter private String government; @NotNull @Column(nullable = false) - @Getter - @Setter private String economy; @NotNull @Column(nullable = false) - @Getter - @Setter private String military; - @Getter - @Setter @OneToMany(mappedBy = "country") private List missions; -- GitLab From 4c48be97b592a2bdad9dfb97ec7dca2f45447e09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milan=20Mozol=C3=A1k?= Date: Sun, 27 Mar 2022 15:38:13 +0200 Subject: [PATCH 3/3] Added propper adding and removing of missions in country --- .../group7/secretservice/entity/Country.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java index 2addf7e4..d8cbfaf1 100644 --- a/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java +++ b/src/main/java/cz/fi/muni/pa165/seminar4/group7/secretservice/entity/Country.java @@ -1,13 +1,15 @@ package cz.fi.muni.pa165.seminar4.group7.secretservice.entity; import com.sun.istack.NotNull; +import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; import javax.persistence.*; -import java.util.List; +import java.util.HashSet; import java.util.Objects; +import java.util.Set; /** * @author Milan Mozolak @@ -54,8 +56,19 @@ public class Country { @Column(nullable = false) private String military; + @Setter(AccessLevel.NONE) @OneToMany(mappedBy = "country") - private List missions; + private Set missions = new HashSet<>(); + + public void addMission(Mission mission) { + missions.add(mission); + mission.setCountry(this); + } + + public void removeMission(Mission mission) { + missions.remove(mission); + mission.setCountry(null); + } @Override public boolean equals(Object o) { -- GitLab