Bläddra i källkod

Structure document

Andrew Grant 3 månader sedan
förälder
incheckning
a5ddbdd4ba

+ 5 - 0
docs/Structure.txt

@@ -0,0 +1,5 @@
+TexController -> TexWriter -> PartsWriter -> PeoplePartWriter -> {PeoplePartHeader PersonSectionWriter}
+
+
+
+

+ 5 - 5
src/main/java/scot/carricksoftware/grantswriter/writer/TexWriterImpl.java

@@ -10,7 +10,7 @@ import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
 import scot.carricksoftware.grantswriter.writer.latex.LatexDocumentEnd;
 import scot.carricksoftware.grantswriter.writer.latex.LatexDocumentStart;
-import scot.carricksoftware.grantswriter.writer.latex.parts.WriteParts;
+import scot.carricksoftware.grantswriter.writer.latex.parts.PartsWriter;
 
 @Component
 public class TexWriterImpl implements TexWriter {
@@ -21,14 +21,14 @@ public class TexWriterImpl implements TexWriter {
 
     private final LatexDocumentStart docStart;
     private final LatexDocumentEnd docEnd;
-    private final WriteParts writeParts;
+    private final PartsWriter partsWriter;
 
 
-    public TexWriterImpl(FileWriter fileWriter, LatexDocumentStart docStart, LatexDocumentEnd docEnd, WriteParts writeParts) {
+    public TexWriterImpl(FileWriter fileWriter, LatexDocumentStart docStart, LatexDocumentEnd docEnd, PartsWriter partsWriter) {
         this.fileWriter = fileWriter;
         this.docStart = docStart;
         this.docEnd = docEnd;
-        this.writeParts = writeParts;
+        this.partsWriter = partsWriter;
     }
 
     @Override
@@ -36,7 +36,7 @@ public class TexWriterImpl implements TexWriter {
         logger.info("TexWriter::write");
         fileWriter.init(filename);
         docStart.write();
-        writeParts.write();
+        partsWriter.write();
         docEnd.write();
         fileWriter.close();
     }

+ 1 - 1
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/WriteParts.java → src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/PartsWriter.java

@@ -5,7 +5,7 @@
 
 package scot.carricksoftware.grantswriter.writer.latex.parts;
 
-public interface WriteParts {
+public interface PartsWriter {
 
     @SuppressWarnings("unused")
     void write();

+ 29 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/PartsWriterImpl.java

@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartWriter;
+
+@Component
+public class PartsWriterImpl implements PartsWriter {
+
+    private static final Logger logger = LogManager.getLogger(PartsWriterImpl.class);
+
+    private final PeoplePartWriter peoplePartWriter;
+
+    public PartsWriterImpl(PeoplePartWriter peoplePartWriter) {
+        this.peoplePartWriter = peoplePartWriter;
+    }
+
+    @Override
+    public void write() {
+        logger.info("WritePartsImpl.write()");
+        peoplePartWriter.write();
+    }
+}

+ 0 - 34
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/WritePartsImpl.java

@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
- *
- */
-
-package scot.carricksoftware.grantswriter.writer.latex.parts;
-
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.springframework.stereotype.Component;
-import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePart;
-import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartHeader;
-
-@Component
-public class WritePartsImpl implements WriteParts {
-
-    private static final Logger logger = LogManager.getLogger(WritePartsImpl.class);
-
-    private final PeoplePart peoplePart;
-
-    private final PeoplePartHeader peoplePartHeader;
-
-    public WritePartsImpl(PeoplePart peoplePart, PeoplePartHeader peoplePartHeader) {
-        this.peoplePart = peoplePart;
-        this.peoplePartHeader = peoplePartHeader;
-    }
-
-    @Override
-    public void write() {
-        logger.info("WritePartsImpl.write()");
-        peoplePartHeader.write();
-        peoplePart.write();
-    }
-}

+ 1 - 1
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePart.java → src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartWriter.java

@@ -5,7 +5,7 @@
 
 package scot.carricksoftware.grantswriter.writer.latex.parts.people;
 
-public interface PeoplePart {
+public interface PeoplePartWriter {
 
     void write();
 }

+ 8 - 4
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartImpl.java → src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartWriterImpl.java

@@ -15,17 +15,20 @@ import scot.carricksoftware.grantswriter.writer.latex.sections.PersonSection;
 import java.util.List;
 
 @Component
-public class PeoplePartImpl implements PeoplePart {
+public class PeoplePartWriterImpl implements PeoplePartWriter {
 
-    private static final Logger logger = LogManager.getLogger(PeoplePartImpl.class);
+    private static final Logger logger = LogManager.getLogger(PeoplePartWriterImpl.class);
 
     private final PersonService personService;
-
+    private final PeoplePartHeader peopleHeader;
     private final PersonSection personSection;
 
 
-    public PeoplePartImpl(PersonService personService, PersonSection personSection) {
+    public PeoplePartWriterImpl(PersonService personService,
+                                PeoplePartHeader peopleHeader,
+                                PersonSection personSection) {
         this.personService = personService;
+        this.peopleHeader = peopleHeader;
         this.personSection = personSection;
     }
 
@@ -33,6 +36,7 @@ public class PeoplePartImpl implements PeoplePart {
     public void write() {
         logger.info("PeoplePartsImpl.write()");
 
+        peopleHeader.write();
         List<Person> people = personService.findAll();
         for (Person person : people) {
             personSection.write(person);

+ 5 - 5
src/test/java/scot/carricksoftware/grantswriter/writer/TexWriterTest.java

@@ -13,7 +13,7 @@ import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 import scot.carricksoftware.grantswriter.writer.latex.LatexDocumentEnd;
 import scot.carricksoftware.grantswriter.writer.latex.LatexDocumentStart;
-import scot.carricksoftware.grantswriter.writer.latex.parts.WriteParts;
+import scot.carricksoftware.grantswriter.writer.latex.parts.PartsWriter;
 
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.inOrder;
@@ -34,21 +34,21 @@ class TexWriterTest {
     private LatexDocumentEnd docEndMock;
 
     @Mock
-    private WriteParts writePartsMock;
+    private PartsWriter partsWriterMock;
 
     @BeforeEach
     void setUp() {
-        texWriter = new TexWriterImpl(fileWriterMock, docStartMock, docEndMock, writePartsMock);
+        texWriter = new TexWriterImpl(fileWriterMock, docStartMock, docEndMock, partsWriterMock);
     }
 
     @Test
     void writeTest() throws Exception {
-        InOrder inorder = inOrder(fileWriterMock, docStartMock, docEndMock,writePartsMock,fileWriterMock);
+        InOrder inorder = inOrder(fileWriterMock, docStartMock, docEndMock, partsWriterMock,fileWriterMock);
         texWriter.write(GetRandomString());
 
         inorder.verify(fileWriterMock).init(anyString());
         inorder.verify(docStartMock).write();
-        inorder.verify(writePartsMock).write();
+        inorder.verify(partsWriterMock).write();
         inorder.verify(docEndMock).write();
         inorder.verify(fileWriterMock).close();
     }

+ 8 - 11
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/WritePartsTest.java → src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/PartsWriterTest.java

@@ -10,36 +10,33 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
 import org.springframework.test.context.junit.jupiter.SpringExtension;
-import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePart;
-import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartHeader;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartWriter;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.Mockito.verify;
 
 @ExtendWith(SpringExtension.class)
-class WritePartsTest {
+class PartsWriterTest {
 
-    private WriteParts writeParts;
+    private PartsWriter partsWriter;
 
     @Mock
-    PeoplePart peoplePartMock;
+    PeoplePartWriter peoplePartWriterMock;
 
-    @Mock
-    PeoplePartHeader peoplePartHeaderMock;
 
     @BeforeEach
     void setUp() {
-        writeParts = new WritePartsImpl(peoplePartMock, peoplePartHeaderMock);
+        partsWriter = new PartsWriterImpl(peoplePartWriterMock);
     }
 
     @Test
     void constructorTest(){
-        assertNotNull(writeParts);
+        assertNotNull(partsWriter);
     }
 
     @Test
     void writeTest(){
-        writeParts.write();
-        verify(peoplePartMock).write();
+        partsWriter.write();
+        verify(peoplePartWriterMock).write();
     }
 }

+ 10 - 6
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/PeoplePartTest.java → src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/PeoplePartWriterTest.java

@@ -12,8 +12,9 @@ import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 import scot.carricksoftware.grantswriter.domains.people.Person;
 import scot.carricksoftware.grantswriter.services.people.PersonService;
-import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePart;
-import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartImpl;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartHeader;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartWriter;
+import scot.carricksoftware.grantswriter.writer.latex.parts.people.PeoplePartWriterImpl;
 import scot.carricksoftware.grantswriter.writer.latex.sections.PersonSection;
 
 import java.util.ArrayList;
@@ -26,9 +27,9 @@ import static org.mockito.Mockito.when;
 import static scot.carricksoftware.grantswriter.GenerateRandomPeopleValues.GetRandomPerson;
 
 @ExtendWith(MockitoExtension.class)
-class PeoplePartTest {
+class PeoplePartWriterTest {
 
-    private PeoplePart peoplePart;
+    private PeoplePartWriter peoplePartWriter;
 
     @Mock
     private PersonService personServiceMock;
@@ -36,10 +37,13 @@ class PeoplePartTest {
     @Mock
     private PersonSection personSectionMock;
 
+    @Mock
+    private PeoplePartHeader peopleHeaderMock;
+
     @SuppressWarnings("EmptyMethod")
     @BeforeEach
     void setUp() {
-        peoplePart = new PeoplePartImpl(personServiceMock, personSectionMock);
+        peoplePartWriter = new PeoplePartWriterImpl(personServiceMock, peopleHeaderMock, personSectionMock);
     }
 
     @Test
@@ -53,7 +57,7 @@ class PeoplePartTest {
 
         when(personServiceMock.findAll()).thenReturn(people);
 
-        peoplePart.write();
+        peoplePartWriter.write();
         verify(personSectionMock, times(limit)).write(any());
     }
 }

+ 1 - 1
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartHeaderTest.java → src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartWriterHeaderTest.java

@@ -13,7 +13,7 @@ import scot.carricksoftware.grantswriter.writer.latex.LatexPartHeader;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 
-class PeoplePartHeaderTest {
+class PeoplePartWriterHeaderTest {
 
     private PeoplePartHeader header;