Selaa lähdekoodia

AddWitnessDetails

Andrew Grant 1 kuukausi sitten
vanhempi
commit
334d58cccd

+ 16 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificate/AddWitnessDetails.java

@@ -0,0 +1,16 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate;
+
+import scot.carricksoftware.grantswriter.data.DMY;
+import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
+
+import java.util.List;
+import java.util.TreeMap;
+
+public interface AddWitnessDetails {
+    void addWitnessDetails(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate);
+}

+ 37 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificate/AddWitnessDetailsImpl.java

@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate;
+
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
+import scot.carricksoftware.grantswriter.data.DMY;
+import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.TreeMap;
+
+@Component
+public class AddWitnessDetailsImpl implements AddWitnessDetails {
+
+    private final StringToDMYConverter stringToDMYConverter;
+
+    public AddWitnessDetailsImpl(StringToDMYConverter stringToDMYConverter) {
+        this.stringToDMYConverter = stringToDMYConverter;
+    }
+
+    @Override
+    public void addWitnessDetails(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate) {
+        List<String> existingValues = timeLine.get(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()));
+        if (existingValues == null) {
+            existingValues = new ArrayList<>();
+        }
+
+        existingValues.add("Witnessed the marriage of " + marriageCertificate.getGroom().toString() + " and " + marriageCertificate.getBride().toString());
+
+        timeLine.put(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()), existingValues);
+    }
+}

+ 5 - 13
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificate/GatherMarriageCertificateFirstWitnessTimeLineDataImpl.java

@@ -5,7 +5,6 @@
 
 package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate;
 
-import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -14,7 +13,6 @@ import scot.carricksoftware.grantswriter.data.DMY;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.TreeMap;
 
@@ -25,13 +23,13 @@ public class GatherMarriageCertificateFirstWitnessTimeLineDataImpl implements Ga
 
     private static final Logger logger = LogManager.getLogger(GatherMarriageCertificateFirstWitnessTimeLineDataImpl.class);
 
-    private final StringToDMYConverter stringToDMYConverter;
+    private final AddWitnessDetails addWitnessDetails;
 
     @Autowired
     public GatherMarriageCertificateFirstWitnessTimeLineDataImpl(TimeLineData timelineData,
-                                                                 StringToDMYConverter stringToDMYConverter) {
+                                                                 AddWitnessDetails addWitnessDetails) {
         this.timelineData = timelineData;
-        this.stringToDMYConverter = stringToDMYConverter;
+        this.addWitnessDetails = addWitnessDetails;
     }
 
     @Override
@@ -50,15 +48,9 @@ public class GatherMarriageCertificateFirstWitnessTimeLineDataImpl implements Ga
 
     private void addWitnessed(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate) {
         logger.info("GatherMarriageCertificateFirstWitnessTimeLineDataImpl::AddWitnessed");
+        addWitnessDetails.addWitnessDetails(timeLine, marriageCertificate);
 
-        List<String> existingValues = timeLine.get(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()));
-        if (existingValues == null) {
-            existingValues = new ArrayList<>();
-        }
-
-        existingValues.add("Witnessed the marriage of " + marriageCertificate.getGroom().toString() + " and " + marriageCertificate.getBride().toString());
-
-        timeLine.put(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()), existingValues);
     }
 
+
 }

+ 4 - 15
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificate/GatherMarriageCertificateSecondWitnessTimeLineDataImpl.java

@@ -8,12 +8,10 @@ package scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
-import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
 import scot.carricksoftware.grantswriter.data.DMY;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.TreeMap;
 
@@ -24,11 +22,11 @@ public class GatherMarriageCertificateSecondWitnessTimeLineDataImpl implements G
 
     private static final Logger logger = LogManager.getLogger(GatherMarriageCertificateSecondWitnessTimeLineDataImpl.class);
 
-    private final StringToDMYConverter stringToDMYConverter;
+    private final AddWitnessDetails addWitnessDetails;
 
-    public GatherMarriageCertificateSecondWitnessTimeLineDataImpl(TimeLineData timelineData, StringToDMYConverter stringToDMYConverter) {
+    public GatherMarriageCertificateSecondWitnessTimeLineDataImpl(TimeLineData timelineData, AddWitnessDetails addWitnessDetails) {
         this.timelineData = timelineData;
-        this.stringToDMYConverter = stringToDMYConverter;
+        this.addWitnessDetails = addWitnessDetails;
     }
 
     @Override
@@ -47,16 +45,7 @@ public class GatherMarriageCertificateSecondWitnessTimeLineDataImpl implements G
 
     private void addWitnessed(TreeMap<DMY, List<String>> timeLine, MarriageCertificate marriageCertificate) {
         logger.info("GatherMarriageCertificateFirstWitnessTimeLineDataImpl::AddWitnessed");
-
-        List<String> existingValues = timeLine.get(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()));
-        if (existingValues == null) {
-            existingValues = new ArrayList<>();
-        }
-
-        existingValues.add("Witnessed the marriage of " + marriageCertificate.getGroom().toString() + " and " + marriageCertificate.getBride().toString());
-
-        timeLine.put(stringToDMYConverter.convert(marriageCertificate.getWhenMarried()), existingValues);
-
+        addWitnessDetails.addWitnessDetails(timeLine, marriageCertificate);
     }
 
 }

+ 3 - 8
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateFirstWitnessTimeLineDataRefsTest.java

@@ -10,11 +10,10 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
-import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
-import scot.carricksoftware.grantswriter.data.DMY;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 import scot.carricksoftware.grantswriter.domains.people.Person;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate.AddWitnessDetails;
 import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate.GatherMarriageCertificateFirstWitnessTimeLineData;
 import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate.GatherMarriageCertificateFirstWitnessTimeLineDataImpl;
 
@@ -24,10 +23,8 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.when;
 import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
-import static scot.carricksoftware.grantswriter.GenerateRandomDMYValues.GetRandomDMY;
 import static scot.carricksoftware.grantswriter.GenerateRandomPeopleValues.GetRandomPerson;
 
 @ExtendWith(MockitoExtension.class)
@@ -39,7 +36,7 @@ class GatherMarriageCertificateFirstWitnessTimeLineDataRefsTest {
     private TimeLineData timelineDataMock;
 
     @Mock
-    private StringToDMYConverter stringToDMYConverterMock;
+    private AddWitnessDetails addWitnessDetailsMock;
 
     private List<MarriageCertificate> marriageCertificates;
 
@@ -50,12 +47,10 @@ class GatherMarriageCertificateFirstWitnessTimeLineDataRefsTest {
     void setUp() {
         gatherMarriageCertificateFirstWitnessTimeLineData = new GatherMarriageCertificateFirstWitnessTimeLineDataImpl(
                 timelineDataMock,
-                stringToDMYConverterMock);
+                addWitnessDetailsMock);
         marriageCertificates = new ArrayList<>();
         bride = GetRandomPerson();
         groom = GetRandomPerson();
-        DMY dmy = GetRandomDMY();
-        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
     }
 
     @Test

+ 3 - 8
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/subsections/helpers/level2/marriagecertificates/GatherMarriageCertificateSecondWitnessTimeLineDataRefsTest.java

@@ -10,11 +10,10 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
-import scot.carricksoftware.grantswriter.converters.StringToDMYConverter;
-import scot.carricksoftware.grantswriter.data.DMY;
 import scot.carricksoftware.grantswriter.data.TimeLineData;
 import scot.carricksoftware.grantswriter.domains.certificates.marriagecertificate.MarriageCertificate;
 import scot.carricksoftware.grantswriter.domains.people.Person;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate.AddWitnessDetails;
 import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate.GatherMarriageCertificateSecondWitnessTimeLineData;
 import scot.carricksoftware.grantswriter.writer.latex.parts.people.subsections.helpers.level2.marriagecertificate.GatherMarriageCertificateSecondWitnessTimeLineDataImpl;
 
@@ -24,10 +23,8 @@ import java.util.SortedSet;
 import java.util.TreeSet;
 
 import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.when;
 import static scot.carricksoftware.grantswriter.GenerateCertificateRandomValues.GetRandomString;
-import static scot.carricksoftware.grantswriter.GenerateRandomDMYValues.GetRandomDMY;
 import static scot.carricksoftware.grantswriter.GenerateRandomPeopleValues.GetRandomPerson;
 
 @ExtendWith(MockitoExtension.class)
@@ -39,7 +36,7 @@ class GatherMarriageCertificateSecondWitnessTimeLineDataRefsTest {
     private TimeLineData timelineDataMock;
 
     @Mock
-    private StringToDMYConverter stringToDMYConverterMock;
+    private AddWitnessDetails addWitnessDetailsMock;
 
     private List<MarriageCertificate> marriageCertificates;
 
@@ -50,10 +47,8 @@ class GatherMarriageCertificateSecondWitnessTimeLineDataRefsTest {
     void setUp() {
         gatherMarriageCertificateSecondWitnessTimeLineData = new GatherMarriageCertificateSecondWitnessTimeLineDataImpl(
                 timelineDataMock,
-                stringToDMYConverterMock);
+                addWitnessDetailsMock);
         marriageCertificates = new ArrayList<>();
-        DMY dmy = GetRandomDMY();
-        when(stringToDMYConverterMock.convert(anyString())).thenReturn(dmy);
         bride = GetRandomPerson();
         groom = GetRandomPerson();
     }