Andrew Grant 3 сар өмнө
parent
commit
595939f0a5
18 өөрчлөгдсөн 217 нэмэгдсэн , 8 устгасан
  1. 4 1
      src/main/java/scot/carricksoftware/grantswriter/constants/LatexConstants.java
  2. 0 2
      src/main/java/scot/carricksoftware/grantswriter/domains/people/Person.java
  3. 11 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexPartHeader.java
  4. 30 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexPartHeaderImpl.java
  5. 12 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexSectionHeader.java
  6. 14 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexSectionHeaderImpl.java
  7. 7 1
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/WritePartsImpl.java
  8. 1 1
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePart.java
  9. 10 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartHeader.java
  10. 24 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartHeaderImpl.java
  11. 3 1
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartImpl.java
  12. 1 0
      src/main/java/scot/carricksoftware/grantswriter/writer/latex/sections/PersonSectionImpl.java
  13. 1 1
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/LatexDocumentStartTest.java
  14. 32 0
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/LatexPartHeaderTest.java
  15. 26 0
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/LatexSectionHeaderTest.java
  16. 2 0
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/PeoplePartTest.java
  17. 6 1
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/WritePartsTest.java
  18. 33 0
      src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartHeaderTest.java

+ 4 - 1
src/main/java/scot/carricksoftware/grantswriter/constants/LatexConstants.java

@@ -16,7 +16,10 @@ public class LatexConstants {
 
     @SuppressWarnings("SpellCheckingInspection")
     public static final String DOCUMENT_CLASS = "\\documentclass[a4paper,11pt]{memoir}";
-    public static final String DOCUMENT_START = "\\start{document}";
+    public static final String DOCUMENT_START = "\\begin{document}";
     public static final String DOCUMENT_END = "\\end{document}";
 
+    public static final String PART_TERM = "\\part{";
+    public static final String TERM_END = "}";
+
 }

+ 0 - 2
src/main/java/scot/carricksoftware/grantswriter/domains/people/Person.java

@@ -18,11 +18,9 @@ public class Person extends BaseEntity {
     @Column(name = "`last_name`")
     String lastName;
 
-    @SuppressWarnings("JpaDataSourceORMInspection")
     @Column(name = "`recorded_year_of_birth`")
     String recordedYearOfBirth;
 
-    @SuppressWarnings("JpaDataSourceORMInspection")
     @Column(name = "`certified_year_of_birth`")
     String certifiedYearOfBirth;
 

+ 11 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexPartHeader.java

@@ -0,0 +1,11 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex;
+
+public interface LatexPartHeader {
+
+    void write(String title);
+}

+ 30 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexPartHeaderImpl.java

@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex;
+
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grantswriter.constants.LatexConstants;
+import scot.carricksoftware.grantswriter.writer.FileWriter;
+
+@Component
+public class LatexPartHeaderImpl implements LatexPartHeader {
+
+
+    private final FileWriter fileWriter;
+
+    public LatexPartHeaderImpl(FileWriter fileWriter) {
+        this.fileWriter = fileWriter;
+    }
+
+
+    @Override
+    public void write(String title) {
+        String sb = LatexConstants.PART_TERM +
+                title +
+                LatexConstants.TERM_END;
+        fileWriter.writeLine(sb);
+    }
+}

+ 12 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexSectionHeader.java

@@ -0,0 +1,12 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex;
+
+public interface LatexSectionHeader {
+
+    @SuppressWarnings({"EmptyMethod", "unused"})
+    void write(@SuppressWarnings("unused") String title);
+}

+ 14 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/LatexSectionHeaderImpl.java

@@ -0,0 +1,14 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex;
+
+public class LatexSectionHeaderImpl implements LatexSectionHeader {
+
+    @Override
+    public void write(String title) {
+
+    }
+}

+ 7 - 1
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/WritePartsImpl.java

@@ -8,6 +8,8 @@ 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 {
@@ -16,13 +18,17 @@ public class WritePartsImpl implements WriteParts {
 
     private final PeoplePart peoplePart;
 
-    public WritePartsImpl(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/PeoplePart.java → src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePart.java

@@ -3,7 +3,7 @@
  *
  */
 
-package scot.carricksoftware.grantswriter.writer.latex.parts;
+package scot.carricksoftware.grantswriter.writer.latex.parts.people;
 
 public interface PeoplePart {
 

+ 10 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartHeader.java

@@ -0,0 +1,10 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people;
+
+public interface PeoplePartHeader {
+    void write();
+}

+ 24 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartHeaderImpl.java

@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people;
+
+import org.springframework.stereotype.Component;
+import scot.carricksoftware.grantswriter.writer.latex.LatexPartHeader;
+
+@Component
+public class PeoplePartHeaderImpl implements PeoplePartHeader {
+
+    private final LatexPartHeader latexPartHeader;
+
+    public PeoplePartHeaderImpl(LatexPartHeader latexPartHeader) {
+        this.latexPartHeader = latexPartHeader;
+    }
+
+    @Override
+    public void write() {
+        latexPartHeader.write("People");
+    }
+}

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

@@ -3,7 +3,7 @@
  *
  */
 
-package scot.carricksoftware.grantswriter.writer.latex.parts;
+package scot.carricksoftware.grantswriter.writer.latex.parts.people;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
@@ -23,6 +23,7 @@ public class PeoplePartImpl implements PeoplePart {
 
     private final PersonSection personSection;
 
+
     public PeoplePartImpl(PersonService personService, PersonSection personSection) {
         this.personService = personService;
         this.personSection = personSection;
@@ -31,6 +32,7 @@ public class PeoplePartImpl implements PeoplePart {
     @Override
     public void write() {
         logger.info("PeoplePartsImpl.write()");
+
         List<Person> people = personService.findAll();
         for (Person person : people) {
             personSection.write(person);

+ 1 - 0
src/main/java/scot/carricksoftware/grantswriter/writer/latex/sections/PersonSectionImpl.java

@@ -10,6 +10,7 @@ import scot.carricksoftware.grantswriter.domains.people.Person;
 
 @Component
 public class PersonSectionImpl implements PersonSection {
+
     @Override
     public void write(Person person) {
 

+ 1 - 1
src/test/java/scot/carricksoftware/grantswriter/writer/latex/LatexDocumentStartTest.java

@@ -41,6 +41,6 @@ class LatexDocumentStartTest {
 
         //noinspection SpellCheckingInspection
         inorder.verify(fileWriterMock).writeLine("\\documentclass[a4paper,11pt]{memoir}");
-        inorder.verify(fileWriterMock).writeLine("\\start{document}");
+        inorder.verify(fileWriterMock).writeLine("\\begin{document}");
     }
 }

+ 32 - 0
src/test/java/scot/carricksoftware/grantswriter/writer/latex/LatexPartHeaderTest.java

@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mock;
+import scot.carricksoftware.grantswriter.writer.FileWriter;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+
+class LatexPartHeaderTest {
+
+    private LatexPartHeader header;
+
+    @Mock
+    private FileWriter fileWriterMock;
+
+    @BeforeEach
+    void setUp() {
+        header = new LatexPartHeaderImpl(fileWriterMock);
+    }
+
+    @Test
+    void ConstructorTest() {
+       assertNotNull(header);
+    }
+}

+ 26 - 0
src/test/java/scot/carricksoftware/grantswriter/writer/latex/LatexSectionHeaderTest.java

@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class LatexSectionHeaderTest {
+
+   private LatexSectionHeader header;
+
+    @BeforeEach
+    void setUp() {
+        header = new LatexSectionHeaderImpl();
+    }
+
+    @Test
+    void constructorTest() {
+        assertNotNull(header);
+    }
+}

+ 2 - 0
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/PeoplePartTest.java

@@ -12,6 +12,8 @@ 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.sections.PersonSection;
 
 import java.util.ArrayList;

+ 6 - 1
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/WritePartsTest.java

@@ -10,6 +10,8 @@ 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 static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.mockito.Mockito.verify;
@@ -22,9 +24,12 @@ class WritePartsTest {
     @Mock
     PeoplePart peoplePartMock;
 
+    @Mock
+    PeoplePartHeader peoplePartHeaderMock;
+
     @BeforeEach
     void setUp() {
-        writeParts = new WritePartsImpl(peoplePartMock);
+        writeParts = new WritePartsImpl(peoplePartMock, peoplePartHeaderMock);
     }
 
     @Test

+ 33 - 0
src/test/java/scot/carricksoftware/grantswriter/writer/latex/parts/people/PeoplePartHeaderTest.java

@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.writer.latex.parts.people;
+
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.Mock;
+import scot.carricksoftware.grantswriter.writer.latex.LatexPartHeader;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+class PeoplePartHeaderTest {
+
+    private PeoplePartHeader header;
+
+    @Mock
+    private LatexPartHeader latexPartHeaderMock;
+
+    @BeforeEach
+    void setUp() {
+        header = new PeoplePartHeaderImpl(latexPartHeaderMock);
+    }
+
+    @Test
+    void constructorTest() {
+        assertNotNull(header);
+    }
+
+}