Procházet zdrojové kódy

WriterFiles::init
Closes #2, closes #3, closes #4

Andrew Grant před 4 měsíci
rodič
revize
db80e938f5

+ 1 - 0
src/main/java/scot/carricksoftware/grantswriter/controllers/FilesController.java

@@ -11,5 +11,6 @@ import org.springframework.ui.Model;
 
 public interface FilesController {
 
+    @SuppressWarnings("SameReturnValue")
     String getFiles(Model model);
 }

+ 6 - 0
src/main/java/scot/carricksoftware/grantswriter/controllers/FilesControllerImpl.java

@@ -15,6 +15,8 @@ import scot.carricksoftware.grantswriter.constants.MappingConstants;
 import scot.carricksoftware.grantswriter.constants.ViewConstants;
 import scot.carricksoftware.grantswriter.files.WriterFiles;
 
+import static java.util.Objects.isNull;
+
 @Controller
 public class FilesControllerImpl implements FilesController {
 
@@ -30,6 +32,10 @@ public class FilesControllerImpl implements FilesController {
     @Override
     public String getFiles(Model model) {
        logger.debug("FilesControllerImpl::getSelectionPage");
+       if (isNull(writerFiles.getLatexFileName()))
+       {
+          writerFiles.init();
+       }
        model.addAttribute(AttributeConstants.WRITER_FILES, writerFiles);
        return ViewConstants.FILES;
     }

+ 4 - 0
src/main/java/scot/carricksoftware/grantswriter/files/WriterFiles.java

@@ -10,9 +10,13 @@ public interface WriterFiles {
 
     String getLatexFileName();
 
+    @SuppressWarnings("unused")
     void setLatexFileName(String latexFileName);
 
     String getPdfFileName();
 
+    @SuppressWarnings("unused")
     void setPdfFileName(String pdfFileName);
+
+    void init();
 }

+ 14 - 0
src/main/java/scot/carricksoftware/grantswriter/files/WriterFilesImpl.java

@@ -5,12 +5,18 @@
 
 package scot.carricksoftware.grantswriter.files;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
 import org.springframework.stereotype.Component;
 
+import java.io.File;
+
 
 @Component
 public class WriterFilesImpl implements WriterFiles {
 
+    private static final Logger logger = LogManager.getLogger(WriterFilesImpl.class);
+
     private String latexFileName;
     private String pdfFileName;
 
@@ -34,4 +40,12 @@ public class WriterFilesImpl implements WriterFiles {
     public void setPdfFileName(String pdfFileName) {
         this.pdfFileName = pdfFileName;
     }
+
+    @Override
+    public void init() {
+        logger.debug("WriterFiles::init");
+        String root = System.getProperty("user.home");
+        setLatexFileName(root + File.separator + "carricksoftware" + File.separator + "grants.tex");
+        setPdfFileName(root + File.separator + "carricksoftware" + File.separator + "grants.pdf");
+    }
 }

+ 2 - 2
src/main/resources/templates/files.html

@@ -24,12 +24,12 @@ rounded-3 text-center p-4">
     <form th:object="${writerFiles}" th:action="@{/files}" method="post">
 
         <div class="form-group row justify-content-center">
-            <div class="col-xs-3" style="margin-right:20px;">
+            <div class="col" style="margin-right:20px;">
                 <label for="latexFileName">Latex File (input):</label>
                 <input class="form-control" id="latexFileName"
                        th:field="*{latexFileName}" type="text">
             </div>
-            <div class="col-xs-3" style="margin-right:20px;">
+            <div class="col" style="margin-right:20px;">
                 <label for="pdfFileName">Latex File (input):</label>
                 <input class="form-control" id="pdfFileName"
                        th:field="*{pdfFileName}" type="text">

+ 1 - 1
src/test/java/scot/carricksoftware/grantswriter/controllers/FilesControllerTest.java

@@ -32,7 +32,7 @@ class FilesControllerTest {
     }
 
     @Test
-    void filesReturnsTheCorrectPageTest(){
+    void filesReturnsTheCorrectPageTest() {
         assertEquals("files", controller.getFiles(modelMock));
     }
 }

+ 9 - 17
src/test/java/scot/carricksoftware/grantswriter/files/WriterFilesImplTest.java

@@ -10,6 +10,8 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.junit.jupiter.MockitoExtension;
 
+import java.io.File;
+
 import static org.junit.jupiter.api.Assertions.*;
 
 @ExtendWith(MockitoExtension.class)
@@ -17,33 +19,23 @@ class WriterFilesImplTest {
 
     private WriterFiles writerFiles;
 
-
     @BeforeEach
     void setUp() {
         writerFiles = new WriterFilesImpl();
     }
 
     @Test
-    void getLatexFileNameTest() {
+    void constructorTest() {
         assertNull(writerFiles.getLatexFileName());
-    }
-
-    @Test
-    void setLatexFileNameTest() {
-        String string = "test";
-        writerFiles.setLatexFileName(string);
-        assertEquals(string, writerFiles.getLatexFileName());
-    }
-
-    @Test
-    void getPdfFileNameTest() {
         assertNull(writerFiles.getPdfFileName());
     }
 
     @Test
-    void setPdfFileNameTest() {
-        String string = "test";
-        writerFiles.setPdfFileName(string);
-        assertEquals(string, writerFiles.getPdfFileName());
+    void initTest() {
+        writerFiles.init();
+        assertEquals(System.getProperty("user.home") + File.separator + "carricksoftware" + File.separator + "grants.tex",
+                writerFiles.getLatexFileName());
+        assertEquals(System.getProperty("user.home") + File.separator + "carricksoftware" + File.separator + "grants.pdf",
+                writerFiles.getPdfFileName());
     }
 }