Browse Source

Added The other side of person relationship - domain

Andrew Grant 6 months ago
parent
commit
ec12c82178

+ 0 - 1
src/main/java/scot/carricksoftware/grants/domains/census/Census.java

@@ -22,7 +22,6 @@ import scot.carricksoftware.grants.enums.census.CensusDate;
 import java.util.ArrayList;
 import java.util.List;
 
-@SuppressWarnings("JpaDataSourceORMInspection")
 @Entity
 public class Census extends BaseEntity {
 

+ 1 - 1
src/main/java/scot/carricksoftware/grants/domains/certificates/BirthCertificate.java

@@ -13,7 +13,7 @@ import scot.carricksoftware.grants.domains.people.Person;
 public class BirthCertificate extends BaseEntity {
 
     @SuppressWarnings("JpaDataSourceORMInspection")
-    @ManyToOne
+    @ManyToOne()
     @JoinColumn(name = "`new_born_id`")
     private Person newBorn;
 

+ 89 - 1
src/main/java/scot/carricksoftware/grants/domains/people/Person.java

@@ -5,9 +5,21 @@
 
 package scot.carricksoftware.grants.domains.people;
 
+import jakarta.persistence.CascadeType;
 import jakarta.persistence.Column;
 import jakarta.persistence.Entity;
+import jakarta.persistence.OneToMany;
 import scot.carricksoftware.grants.BaseEntity;
+import scot.carricksoftware.grants.domains.census.CensusEntry;
+import scot.carricksoftware.grants.domains.certificates.BirthCertificate;
+import scot.carricksoftware.grants.domains.certificates.DeathCertificate;
+import scot.carricksoftware.grants.domains.certificates.DivorceCertificate;
+import scot.carricksoftware.grants.domains.certificates.MarriageCertificate;
+import scot.carricksoftware.grants.domains.images.PersonImage;
+import scot.carricksoftware.grants.domains.text.PersonText;
+
+import java.util.ArrayList;
+import java.util.List;
 
 @Entity
 public class Person extends BaseEntity {
@@ -15,7 +27,6 @@ public class Person extends BaseEntity {
     @Column(name = "`first_name`")
     private String firstName;
 
-
     @Column(name = "`last_name`")
     String lastName;
 
@@ -25,6 +36,27 @@ public class Person extends BaseEntity {
     @Column(name = "`certified_year_of_birth`")
     String certifiedYearOfBirth;
 
+    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<BirthCertificate> birthCertificates = new ArrayList<>();
+
+    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<DeathCertificate> deathCertificates = new ArrayList<>();
+
+    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<MarriageCertificate> marriageCertificates = new ArrayList<>();
+
+    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<DivorceCertificate> divorceCertificates = new ArrayList<>();
+
+    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<CensusEntry> censusEntries = new ArrayList<>();
+
+    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<PersonImage> personImages = new ArrayList<>();
+
+    @OneToMany(mappedBy = "id", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<PersonText> personTexts = new ArrayList<>();
+
     public String getFirstName() {
         return firstName;
     }
@@ -79,4 +111,60 @@ public class Person extends BaseEntity {
     public void setCertifiedYearOfBirth(String certifiedYearOfBirth) {
         this.certifiedYearOfBirth = certifiedYearOfBirth;
     }
+
+    public List<BirthCertificate> getBirthCertificates() {
+        return birthCertificates;
+    }
+
+    public void setBirthCertificates(List<BirthCertificate> birthCertificates) {
+        this.birthCertificates = birthCertificates;
+    }
+
+    public List<DeathCertificate> getDeathCertificates() {
+        return deathCertificates;
+    }
+
+    public void setDeathCertificates(List<DeathCertificate> deathCertificates) {
+        this.deathCertificates = deathCertificates;
+    }
+
+    public List<MarriageCertificate> getMarriageCertificates() {
+        return marriageCertificates;
+    }
+
+    public void setMarriageCertificates(List<MarriageCertificate> marriageCertificates) {
+        this.marriageCertificates = marriageCertificates;
+    }
+
+    public List<DivorceCertificate> getDivorceCertificates() {
+        return divorceCertificates;
+    }
+
+    public void setDivorceCertificates(List<DivorceCertificate> divorceCertificates) {
+        this.divorceCertificates = divorceCertificates;
+    }
+
+    public List<CensusEntry> getCensusEntries() {
+        return censusEntries;
+    }
+
+    public void setCensusEntries(List<CensusEntry> censusEntries) {
+        this.censusEntries = censusEntries;
+    }
+
+    public List<PersonImage> getPersonImages() {
+        return personImages;
+    }
+
+    public void setPersonImages(List<PersonImage> personImages) {
+        this.personImages = personImages;
+    }
+
+    public List<PersonText> getPersonTexts() {
+        return personTexts;
+    }
+
+    public void setPersonTexts(List<PersonText> personTexts) {
+        this.personTexts = personTexts;
+    }
 }

+ 1 - 1
src/main/resources/application.properties

@@ -2,7 +2,7 @@ spring.application.name=grants
 server.port=8086
 server.servlet.context-path=/grants
 spring.mvc.format.date=dd-MM-yyyy
-spring.profiles.active=uat
+spring.profiles.active=dev
 logging.level.scot.carricksoftware=trace
 
 

+ 2 - 2
src/main/resources/templates/person/list.html

@@ -36,10 +36,10 @@
                 <td th:text="${person.lastName}">Last</td>
                 <td><span>
                         <a th:action="delete" class="btn btn-danger btn-sm" href=""
-                           th:href="'person/' + ${person.id} + '/delete'"
+                           th:href="@{/person/{id}/delete(id=${person.id})}"
                            th:text="Delete"></a>
                     <a th:action="edit" class="btn btn-warning btn-sm"
-                       th:href="'person/' + ${person.id} + '/edit'"
+                       th:href="@{/person/{id}/edit(id=${person.id})}"
                        th:text="Edit"></a>
                     </span></td>
             </tr>