Browse Source

Add all domains

Andrew Grant 3 months ago
parent
commit
e5e85986b8
27 changed files with 1080 additions and 19 deletions
  1. 3 2
      src/main/java/scot/carricksoftware/grantswriter/data/TimelineData.java
  2. 1 1
      src/main/java/scot/carricksoftware/grantswriter/data/TimelineDataImpl.java
  3. 0 15
      src/main/java/scot/carricksoftware/grantswriter/domains/CensusEntry.java
  4. 169 0
      src/main/java/scot/carricksoftware/grantswriter/domains/census/Census.java
  5. 272 0
      src/main/java/scot/carricksoftware/grantswriter/domains/census/CensusEntry.java
  6. 14 0
      src/main/java/scot/carricksoftware/grantswriter/domains/images/Image.java
  7. 30 0
      src/main/java/scot/carricksoftware/grantswriter/domains/images/PersonImage.java
  8. 30 0
      src/main/java/scot/carricksoftware/grantswriter/domains/images/PlaceImage.java
  9. 42 0
      src/main/java/scot/carricksoftware/grantswriter/domains/places/Country.java
  10. 88 0
      src/main/java/scot/carricksoftware/grantswriter/domains/places/Place.java
  11. 55 0
      src/main/java/scot/carricksoftware/grantswriter/domains/places/Region.java
  12. 17 0
      src/main/java/scot/carricksoftware/grantswriter/domains/text/DocumentText.java
  13. 30 0
      src/main/java/scot/carricksoftware/grantswriter/domains/text/PersonText.java
  14. 30 0
      src/main/java/scot/carricksoftware/grantswriter/domains/text/PlaceText.java
  15. 33 0
      src/main/java/scot/carricksoftware/grantswriter/enums/census/CensusBoundaryType.java
  16. 28 0
      src/main/java/scot/carricksoftware/grantswriter/enums/census/CensusDate.java
  17. 22 0
      src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryCondition.java
  18. 19 0
      src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryGaelic.java
  19. 29 0
      src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryRelationship.java
  20. 22 0
      src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryWorker.java
  21. 20 0
      src/main/java/scot/carricksoftware/grantswriter/enums/general/Sex.java
  22. 20 0
      src/main/java/scot/carricksoftware/grantswriter/enums/general/YesNo.java
  23. 14 0
      src/main/java/scot/carricksoftware/grantswriter/images/Image.java
  24. 30 0
      src/main/java/scot/carricksoftware/grantswriter/images/PersonImage.java
  25. 31 0
      src/main/java/scot/carricksoftware/grantswriter/images/PlaceImage.java
  26. 30 0
      src/test/java/scot/carricksoftware/grantswriter/data/TimelineDataAddTest.java
  27. 1 1
      src/test/java/scot/carricksoftware/grantswriter/data/TimelineDataGetterAndSetterTest.java

+ 3 - 2
src/main/java/scot/carricksoftware/grantswriter/data/TimelineData.java

@@ -5,7 +5,7 @@
 
 package scot.carricksoftware.grantswriter.data;
 
-import scot.carricksoftware.grantswriter.domains.CensusEntry;
+import scot.carricksoftware.grantswriter.domains.census.CensusEntry;
 
 import java.util.List;
 import java.util.SortedMap;
@@ -16,7 +16,8 @@ public interface TimelineData {
     @SuppressWarnings("unused")
     void clear();
     @SuppressWarnings({"EmptyMethod", "unused"})
-    void add(@SuppressWarnings("unused") List<CensusEntry> censusEntryList);
+
+    void add(List<CensusEntry> censusEntryList);
 
     @SuppressWarnings("unused")
     SortedMap<String, String> getTimeline();

+ 1 - 1
src/main/java/scot/carricksoftware/grantswriter/data/TimelineDataImpl.java

@@ -6,7 +6,7 @@
 package scot.carricksoftware.grantswriter.data;
 
 import org.springframework.stereotype.Component;
-import scot.carricksoftware.grantswriter.domains.CensusEntry;
+import scot.carricksoftware.grantswriter.domains.census.CensusEntry;
 
 import java.util.List;
 import java.util.SortedMap;

+ 0 - 15
src/main/java/scot/carricksoftware/grantswriter/domains/CensusEntry.java

@@ -1,15 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grantswriter.domains;
-
-import jakarta.persistence.Entity;
-
-import scot.carricksoftware.grantswriter.BaseEntity;
-
-@Entity
-public class CensusEntry extends BaseEntity {
-
-}

+ 169 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/census/Census.java

@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 19/03/2025, 01:34. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.census;
+
+
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.EnumType;
+import jakarta.persistence.Enumerated;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToMany;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.places.Place;
+import scot.carricksoftware.grantswriter.enums.census.CensusBoundaryType;
+import scot.carricksoftware.grantswriter.enums.census.CensusDate;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+public class Census extends BaseEntity {
+
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`census_date`")
+    private CensusDate censusDate;
+
+    @OneToMany(mappedBy = "census", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<CensusEntry> censusEntries = new ArrayList<>();
+
+    @ManyToOne
+    @JoinColumn(name = "`place_id`")
+    private Place place;
+
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`boundary_type`")
+    private CensusBoundaryType boundaryType;
+
+    @Column(name = "`inhabited_rooms`")
+    private String inhabitedRooms;
+
+    @Column(name = "`rooms_with_windows`")
+    private String roomsWithWindows;
+
+    @Column(name = "`filled_in_by`")
+    private String filledInBy;
+
+    @Column(name = "`total_rooms`")
+    private String totalRooms;
+
+    @Column(name= "`rooms_occupied`")
+    private String roomsOccupied;
+
+    @Column(name = "`inhabited_houses`")
+    private String inhabitedHouses;
+
+    @Column(name = "`uninhabited_houses`")
+    private String uninhabitedHouses;
+
+    @Column(name = "`people_in_houses`")
+    private String peopleInHouses;
+
+    public CensusDate getCensusDate() {
+        return censusDate;
+    }
+
+    public void setCensusDate(CensusDate date) {
+        this.censusDate = date;
+    }
+
+    public List<CensusEntry> getCensusEntries() {
+        return censusEntries;
+    }
+
+    public void setCensusEntries(List<CensusEntry> censusEntries) {
+        this.censusEntries = censusEntries;
+    }
+
+    @Override
+    public String toString() {
+        return place.toString() + ", " + censusDate.label;
+    }
+
+    public Place getPlace() {
+        return place;
+    }
+
+    public void setPlace(Place place) {
+        this.place = place;
+    }
+
+    public CensusBoundaryType getBoundaryType() {
+        return boundaryType;
+    }
+
+    public void setBoundaryType(CensusBoundaryType boundaryType) {
+        this.boundaryType = boundaryType;
+    }
+
+    public String getInhabitedRooms() {
+        return inhabitedRooms;
+    }
+
+    public void setInhabitedRooms(String inhabitedRooms) {
+        this.inhabitedRooms = inhabitedRooms;
+    }
+
+    public String getRoomsWithWindows() {
+        return roomsWithWindows;
+    }
+
+    public void setRoomsWithWindows(String roomsWithWindows) {
+        this.roomsWithWindows = roomsWithWindows;
+    }
+
+    public String getFilledInBy() {
+        return filledInBy;
+    }
+
+    public void setFilledInBy(String filledInBy) {
+        this.filledInBy = filledInBy;
+    }
+
+    public String getTotalRooms() {
+        return totalRooms;
+    }
+
+    @SuppressWarnings("unused")
+    public void setTotalRooms(String totalRooms) {
+        this.totalRooms = totalRooms;
+    }
+
+    public String getRoomsOccupied() {
+        return roomsOccupied;
+    }
+
+    public void setRoomsOccupied(String roomsOccupied) {
+        this.roomsOccupied = roomsOccupied;
+    }
+
+    public String getInhabitedHouses() {
+        return inhabitedHouses;
+    }
+
+    public void setInhabitedHouses(String inhabitedHouses) {
+        this.inhabitedHouses = inhabitedHouses;
+    }
+
+    public String getUninhabitedHouses() {
+        return uninhabitedHouses;
+    }
+
+    public void setUninhabitedHouses(String uninhabitedHouses) {
+        this.uninhabitedHouses = uninhabitedHouses;
+    }
+
+    public String getPeopleInHouses() {
+        return peopleInHouses;
+    }
+
+    public void setPeopleInHouses(String peopleInHouses) {
+        this.peopleInHouses = peopleInHouses;
+    }
+}

+ 272 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/census/CensusEntry.java

@@ -0,0 +1,272 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 19/03/2025, 01:34. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.census;
+
+import jakarta.persistence.*;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.people.Person;
+import scot.carricksoftware.grantswriter.enums.censusentry.CensusEntryCondition;
+import scot.carricksoftware.grantswriter.enums.censusentry.CensusEntryGaelic;
+import scot.carricksoftware.grantswriter.enums.censusentry.CensusEntryRelationship;
+import scot.carricksoftware.grantswriter.enums.censusentry.CensusEntryWorker;
+import scot.carricksoftware.grantswriter.enums.general.Sex;
+import scot.carricksoftware.grantswriter.enums.general.YesNo;
+
+
+@Entity
+public class CensusEntry extends BaseEntity {
+
+    private String name;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "`census_id`")
+    private Census census;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "`person_id`")
+    private Person person;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`relationship`")
+    private CensusEntryRelationship relationship;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`gaelic`")
+    private CensusEntryGaelic gaelic;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`condition`")
+    private CensusEntryCondition condition;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`worker`")
+    private CensusEntryWorker worker;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`sex`")
+    private Sex sex;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`age`")
+    private String age;
+
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`where_born`")
+    private String whereBorn;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`birth_day`")
+    private String birthDay;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`birth_year`")
+    private String birthYear;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`personal_occupation`")
+    private String personalOccupation;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`notes`")
+    private String notes;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`children_who_have_died`")
+    private String childrenWhoHaveDied;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`children_still_alive`")
+    private String childrenStillAlive;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`children_born_alive`")
+    private String childrenBornAlive;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`years_Completed_Marriage`")
+    private String yearsCompletedMarriage;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Enumerated(EnumType.STRING)
+    @Column(name = "`working_at_home`")
+    private YesNo workingAtHome;
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @Column(name = "`industry_or_service`")
+    private String industryOrService;
+
+    public Person getPerson() {
+        return person;
+    }
+
+    public void setPerson(Person person) {
+        this.person = person;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Census getCensus() {
+        return census;
+    }
+
+    public void setCensus(Census census) {
+        this.census = census;
+    }
+
+    public String toString() {
+        return census.toString();
+    }
+
+    public CensusEntryRelationship getRelationship() {
+        return relationship;
+    }
+
+    public void setRelationship(CensusEntryRelationship relationship) {
+        this.relationship = relationship;
+    }
+
+    public CensusEntryCondition getCondition() {
+        return this.condition;
+    }
+
+    public void setCondition(CensusEntryCondition condition) {
+        this.condition = condition;
+    }
+
+    public CensusEntryGaelic getGaelic() {
+        return this.gaelic;
+    }
+
+    public void setGaelic(CensusEntryGaelic gaelic) {
+        this.gaelic = gaelic;
+    }
+
+    public CensusEntryWorker getWorker() {
+        return this.worker;
+    }
+
+    public void setWorker(CensusEntryWorker worker) {
+        this.worker = worker;
+    }
+
+    public String getAge() {
+        return this.age;
+    }
+
+    public void setAge(String age) {
+        this.age = age;
+    }
+
+    public String getWhereBorn() {
+        return this.whereBorn;
+    }
+
+    public void setWhereBorn(String whereBorn) {
+        this.whereBorn = whereBorn;
+    }
+
+    public Sex getSex() {
+        return this.sex;
+    }
+
+    public void setSex(Sex sex) {
+        this.sex = sex;
+    }
+
+    public String getBirthDay() {
+        return this.birthDay;
+    }
+
+    public void setBirthDay(String birthDay) {
+        this.birthDay = birthDay;
+    }
+
+    public String getBirthYear() {
+        return this.birthYear;
+    }
+
+    public void setBirthYear(String birthYear) {
+        this.birthYear = birthYear;
+    }
+
+    public String getPersonalOccupation() {
+        return this.personalOccupation;
+    }
+
+    public void setPersonalOccupation(String occupation) {
+        this.personalOccupation = occupation;
+    }
+
+    public String getNotes() {
+        return notes;
+    }
+
+    public void setNotes(String notes) {
+        this.notes = notes;
+    }
+
+    public String getChildrenWhoHaveDied() {
+        return childrenWhoHaveDied;
+    }
+
+    public void setChildrenWhoHaveDied(String childrenWhoHaveDied) {
+        this.childrenWhoHaveDied = childrenWhoHaveDied;
+    }
+
+    public String getChildrenStillAlive() {
+        return childrenStillAlive;
+    }
+
+    public void setChildrenStillAlive(String childrenStillAlive) {
+        this.childrenStillAlive = childrenStillAlive;
+    }
+
+    public String getChildrenBornAlive() {
+        return childrenBornAlive;
+    }
+
+    public void setChildrenBornAlive(String childrenBornAlive) {
+        this.childrenBornAlive = childrenBornAlive;
+    }
+
+    public String getYearsCompletedMarriage() {
+        return yearsCompletedMarriage;
+    }
+
+    public void setYearsCompletedMarriage(String yearsCompletedMarriage) {
+        this.yearsCompletedMarriage = yearsCompletedMarriage;
+    }
+
+    public YesNo getWorkingAtHome() {
+        return workingAtHome;
+    }
+
+    public void setWorkingAtHome(YesNo yesNo) {
+        this.workingAtHome = yesNo;
+    }
+
+    public String getIndustryOrService() {
+        return industryOrService;
+    }
+
+    public void setIndustryOrService(String industryOrService) {
+        this.industryOrService = industryOrService;
+    }
+}

+ 14 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/images/Image.java

@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 18/03/2025, 01:50. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.images;
+
+import jakarta.persistence.Entity;
+import scot.carricksoftware.grantswriter.BaseEntity;
+
+@Entity
+public class Image extends BaseEntity {
+
+}

+ 30 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/images/PersonImage.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 18/03/2025, 01:50. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.images;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.people.Person;
+
+
+@Entity
+public class PersonImage extends BaseEntity {
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "person_id")
+    private Person person;
+
+    public Person getPerson() {
+        return person;
+    }
+
+    public void setPerson(Person person) {
+        this.person = person;
+    }
+}

+ 30 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/images/PlaceImage.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 18/03/2025, 01:50. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.images;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.places.Place;
+
+@Entity
+public class PlaceImage extends BaseEntity {
+
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "place_id")
+    private Place place;
+
+    public Place getPlace() {
+        return place;
+    }
+
+    public void setPlace(Place place) {
+        this.place = place;
+    }
+}

+ 42 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/places/Country.java

@@ -0,0 +1,42 @@
+/*
+ * Copyright (c)  02 Feb 2025, Andrew Grant of Carrick Software .
+ * All rights reserved.
+ */
+
+package scot.carricksoftware.grantswriter.domains.places;
+
+import jakarta.persistence.CascadeType;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.OneToMany;
+import scot.carricksoftware.grantswriter.BaseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+public class Country extends BaseEntity {
+
+    @Column(name = "`name`")
+    private String name;
+
+    @OneToMany(mappedBy = "country", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<Region> regions = new ArrayList<>();
+
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public List<Region> getRegions() {
+        return this.regions;
+    }
+
+    public void setRegions(List<Region> regions) {
+        this.regions = regions;
+    }
+}

+ 88 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/places/Place.java

@@ -0,0 +1,88 @@
+/*
+ * Copyright (c)  02 Feb 2025, Andrew Grant of Carrick Software .
+ * All rights reserved.
+ */
+
+package scot.carricksoftware.grantswriter.domains.places;
+
+
+import jakarta.persistence.*;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.census.Census;
+import scot.carricksoftware.grantswriter.domains.images.PlaceImage;
+import scot.carricksoftware.grantswriter.domains.text.PlaceText;
+
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+public class Place extends BaseEntity {
+
+    @Column(name = "`name`")
+    private String name;
+
+    @ManyToOne
+    @JoinColumn(name = "`region_id`")
+    private Region region;
+
+    @SuppressWarnings("unused")
+    @OneToMany(mappedBy = "place", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<Census> censuses = new ArrayList<>();
+
+    @SuppressWarnings("unused")
+    @OneToMany(mappedBy = "place", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<PlaceImage> placeImages = new ArrayList<>();
+
+    @SuppressWarnings("unused")
+    @OneToMany(mappedBy = "place", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<PlaceText> placeTexts = new ArrayList<>();
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Region getRegion() {
+        return region;
+    }
+
+    public void setRegion(Region region) {
+        this.region = region;
+    }
+
+    public List<Census> getCensuses() {
+        return censuses;
+    }
+
+    public void setCensuses(List<Census> censuses) {
+        this.censuses = censuses;
+    }
+
+    public List<PlaceImage> getPlaceImages() {
+        return placeImages;
+    }
+
+    public void setPlaceImages(List<PlaceImage> placeImages) {
+        this.placeImages = placeImages;
+    }
+
+    public List<PlaceText> getPlaceTexts() {
+        return placeTexts;
+    }
+
+    public void setPlaceTexts(List<PlaceText> placeTexts) {
+        this.placeTexts = placeTexts;
+    }
+
+    @Override
+    public String toString() {
+        return name +
+                ", " + region.getName() +
+                ", " + region.getCountry().getName();
+    }
+}

+ 55 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/places/Region.java

@@ -0,0 +1,55 @@
+/*
+ * Copyright (c)  02 Feb 2025, Andrew Grant of Carrick Software .
+ * All rights reserved.
+ */
+
+package scot.carricksoftware.grantswriter.domains.places;
+
+
+import jakarta.persistence.*;
+import scot.carricksoftware.grantswriter.BaseEntity;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Entity
+public class Region extends BaseEntity {
+
+    @Column(name = "`name`")
+    private String name;
+
+    @ManyToOne
+    @JoinColumn(name = "`country_id`")
+    private Country country;
+
+    @OneToMany(mappedBy = "region", cascade = CascadeType.ALL, orphanRemoval = true)
+    private List<Place> places = new ArrayList<>();
+
+    @SuppressWarnings("unused")
+    public String getName() {
+        return name;
+    }
+
+    @SuppressWarnings("unused")
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Country getCountry() {
+        return country;
+    }
+
+    public void setCountry(Country country) {
+        this.country = country;
+    }
+
+    @SuppressWarnings("unused")
+    public List<Place> getPlaces() {
+        return places;
+    }
+
+    @SuppressWarnings("unused")
+    public void setPlaces(List<Place> places) {
+        this.places = places;
+    }
+}

+ 17 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/text/DocumentText.java

@@ -0,0 +1,17 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 30/03/2025, 10:24. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.text;
+
+import jakarta.persistence.Entity;
+import scot.carricksoftware.grantswriter.BaseEntity;
+
+
+@Entity
+public class DocumentText extends BaseEntity {
+
+
+
+}

+ 30 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/text/PersonText.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 30/03/2025, 10:20. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.text;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.people.Person;
+
+
+@Entity
+public class PersonText extends BaseEntity {
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "`person_id`")
+    private Person person;
+
+    public Person getPerson() {
+        return person;
+    }
+
+    public void setPerson(Person person) {
+        this.person = person;
+    }
+}

+ 30 - 0
src/main/java/scot/carricksoftware/grantswriter/domains/text/PlaceText.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 30/03/2025, 10:22. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.domains.text;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.places.Place;
+
+
+@Entity
+public class PlaceText extends BaseEntity {
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "`place_id`")
+    private Place place;
+
+    public Place getPlace() {
+        return place;
+    }
+
+    public void setPlace(Place place) {
+        this.place = place;
+    }
+}

+ 33 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/census/CensusBoundaryType.java

@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.census;
+
+public enum CensusBoundaryType {
+
+    BURGH("Burgh"),
+    CIVIL_PARISH("Civil Parish"),
+    PARISH_WARD("Parish Ward"),
+    @SuppressWarnings("SpellCheckingInspection") ECCLESIASTICAL_PARISH("Ecclesical Parish"),
+    @SuppressWarnings("SpellCheckingInspection") QUOAD_SACRA__PARISH ("Quoad Sacra Parish"),
+    SCHOOL_BOARD_DISTRICT ("School Board District"),
+    PARLIAMENTARY_BURGH  ("Parliamentary Burgh"),
+    PARLIAMENTARY_DIVISION("Parliamentary Division"),
+    ROYAL_BURGH  ("Royal Burgh"),
+    MUNICIPAL_BURGH("Municipal Burgh"),
+    POLICE_BURGH  ("Police Burgh"),
+    BURGH_WARD ("Burgh Ward"),
+    TOWN ("Town"),
+    VILLAGE_OR_HAMLET ("Village or Hamlet"),
+    ISLAND ("Island");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    CensusBoundaryType(String label) {
+        this.label = label;
+    }
+}

+ 28 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/census/CensusDate.java

@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.census;
+
+public enum CensusDate {
+
+    CENSUS_1861("07/04/1861"),
+    CENSUS_1871("02/04/1871"),
+    CENSUS_1881("03/04/1881"),
+    CENSUS_1891("05/04/1891"),
+    CENSUS_1901("31/03/1901"),
+    CENSUS_1911("02/04/1911"),
+    CENSUS_1921("19/06/1921"),
+    CENSUS_1931("26/04/1931"),
+    CENSUS_1939("02/09/1939");
+
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    CensusDate(String label) {
+        this.label = label;
+    }
+}

+ 22 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryCondition.java

@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.censusentry;
+
+public enum CensusEntryCondition {
+
+    @SuppressWarnings("unused") WIDOW("Widow"),
+    @SuppressWarnings("unused") WIDOWER("Widower"),
+    @SuppressWarnings("unused") MARRIED("Married"),
+    @SuppressWarnings("unused") SINGLE("Single");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    CensusEntryCondition(String label) {
+        this.label = label;
+    }
+}

+ 19 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryGaelic.java

@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.censusentry;
+
+public enum CensusEntryGaelic {
+    @SuppressWarnings("unused") GAELIC("Gaelic"),
+    GAELIC_AND_ENGLISH("Gaelic and English");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    CensusEntryGaelic(String label) {
+        this.label = label;
+    }
+}

+ 29 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryRelationship.java

@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.censusentry;
+
+public enum CensusEntryRelationship {
+    @SuppressWarnings("unused") HEAD("Head"),
+    @SuppressWarnings("unused") WIFE("Wife"),
+    @SuppressWarnings("unused") SON("Son"),
+    @SuppressWarnings("unused") DAUGHTER("Daughter"),
+    @SuppressWarnings("unused") BROTHER("Brother"),
+    @SuppressWarnings("unused") SISTER("Sister"),
+    @SuppressWarnings("unused") SON_IN_LAW("Son-in-law"),
+    @SuppressWarnings("unused") NIECE("Niece"),
+    @SuppressWarnings("unused") COUSIN("Cousin"),
+    @SuppressWarnings("unused") BOARDER("Boarder"),
+    @SuppressWarnings("unused") VISITOR("Visitor"),
+    @SuppressWarnings("unused") SERVANT("Servant");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    CensusEntryRelationship(String label) {
+        this.label = label;
+    }
+}

+ 22 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/censusentry/CensusEntryWorker.java

@@ -0,0 +1,22 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.censusentry;
+
+public enum CensusEntryWorker {
+    @SuppressWarnings("unused") WORKER("Worker"),
+    @SuppressWarnings("unused") EMPLOYER("Employer"),
+    @SuppressWarnings("unused") EMPLOYED("Employed"),
+    @SuppressWarnings("unused") NEITHER_EMPLOYED_OR_EMPLOYER("Neither Employed or Employer"),
+    OWN_ACCOUNT("Own Account");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    CensusEntryWorker(String label) {
+        this.label = label;
+    }
+}

+ 20 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/general/Sex.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.general;
+
+public enum Sex {
+
+    @SuppressWarnings("unused") MALE("Male"),
+    FEMALE ("Female");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    Sex(String label) {
+        this.label = label;
+    }
+}

+ 20 - 0
src/main/java/scot/carricksoftware/grantswriter/enums/general/YesNo.java

@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.enums.general;
+
+public enum YesNo {
+
+    @SuppressWarnings("unused") YES("Yes"),
+    NO ("No");
+
+    @SuppressWarnings("unused")
+    public final String label;
+
+    @SuppressWarnings("unused")
+    YesNo(String label) {
+        this.label = label;
+    }
+}

+ 14 - 0
src/main/java/scot/carricksoftware/grantswriter/images/Image.java

@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 18/03/2025, 01:50. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.images;
+
+import jakarta.persistence.Entity;
+import scot.carricksoftware.grantswriter.BaseEntity;
+
+@Entity
+public class Image extends BaseEntity {
+
+}

+ 30 - 0
src/main/java/scot/carricksoftware/grantswriter/images/PersonImage.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 18/03/2025, 01:50. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.images;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.people.Person;
+
+
+@Entity
+public class PersonImage extends BaseEntity {
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "person_id")
+    private Person person;
+
+    public Person getPerson() {
+        return person;
+    }
+
+    public void setPerson(Person person) {
+        this.person = person;
+    }
+}

+ 31 - 0
src/main/java/scot/carricksoftware/grantswriter/images/PlaceImage.java

@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 18/03/2025, 01:50. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.images;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import scot.carricksoftware.grantswriter.BaseEntity;
+import scot.carricksoftware.grantswriter.domains.places.Place;
+
+
+@Entity
+public class PlaceImage extends BaseEntity {
+
+
+    @SuppressWarnings("JpaDataSourceORMInspection")
+    @ManyToOne
+    @JoinColumn(name = "place_id")
+    private Place place;
+
+    public Place getPlace() {
+        return place;
+    }
+
+    public void setPlace(Place place) {
+        this.place = place;
+    }
+}

+ 30 - 0
src/test/java/scot/carricksoftware/grantswriter/data/TimelineDataAddTest.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.data;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import scot.carricksoftware.grantswriter.domains.census.Census;
+import scot.carricksoftware.grantswriter.domains.census.CensusEntry;
+
+
+class TimelineDataAddTest {
+
+    @SuppressWarnings("FieldCanBeLocal")
+    private TimelineData timelineData;
+
+    @BeforeEach
+    void setUp() {
+        timelineData = new TimelineDataImpl();
+    }
+
+   @Test
+    void addTest() {
+       CensusEntry censusEntry = new CensusEntry();
+       Census census = new Census();
+   }
+
+}

+ 1 - 1
src/test/java/scot/carricksoftware/grantswriter/data/TimelineDataTest.java → src/test/java/scot/carricksoftware/grantswriter/data/TimelineDataGetterAndSetterTest.java

@@ -17,7 +17,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static scot.carricksoftware.grantswriter.GenerateRandomNumberValues.GetRandomString;
 
-class TimelineDataTest {
+class TimelineDataGetterAndSetterTest {
 
     private TimelineData timelineData;