Browse Source

Link file to index page

Andrew Grant 4 months ago
parent
commit
1037db0a23

+ 1 - 2
src/main/java/scot/carricksoftware/grantswriter/constants/MappingConstants.java

@@ -14,8 +14,7 @@ public class MappingConstants {
         // to stop checkstyle complaining
     }
 
-
-    public static final String SPECIFY_OUTPUT = "/output";
+    public static final String FILES = "/files";
 
     public static final String CREATE_TEX = "/tex";
 

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

@@ -0,0 +1,13 @@
+/*
+ * Copyright (c) Andrew Grant of Carrick Software 21/03/2025, 00:08. All rights reserved.
+ *
+ */
+
+package scot.carricksoftware.grantswriter.controllers;
+
+
+public interface FilesController {
+
+    @SuppressWarnings({"unused", "SameReturnValue"})
+    String getFiles();
+}

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

@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.controllers;
+
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import scot.carricksoftware.grantswriter.constants.MappingConstants;
+import scot.carricksoftware.grantswriter.constants.ViewConstants;
+
+@Controller
+public class FilesControllerImpl implements FilesController {
+
+    private static final Logger logger = LogManager.getLogger(FilesControllerImpl.class);
+
+   @Override
+   @GetMapping(MappingConstants.FILES)
+    public String getFiles() {
+       logger.debug("FilesControllerImpl::getSelectionPage");
+       return ViewConstants.FILES;
+    }
+}

+ 0 - 3
src/main/java/scot/carricksoftware/grantswriter/controllers/IndexController.java

@@ -13,9 +13,6 @@ import scot.carricksoftware.grantswriter.constants.MappingConstants;
 
 public interface IndexController {
 
-    @SuppressWarnings("SameReturnValue")
-    @GetMapping(MappingConstants.SPECIFY_OUTPUT)
-    String specifyOutput(Model model);
 
     @SuppressWarnings("SameReturnValue")
     @GetMapping(MappingConstants.CREATE_TEX)

+ 0 - 7
src/main/java/scot/carricksoftware/grantswriter/controllers/IndexControllerImpl.java

@@ -19,13 +19,6 @@ public class IndexControllerImpl implements IndexController {
 
     private static final Logger logger = LogManager.getLogger(IndexControllerImpl.class);
 
-    @SuppressWarnings("SameReturnValue")
-    @GetMapping(MappingConstants.SPECIFY_OUTPUT)
-    @Override
-    public final String specifyOutput(final Model model) {
-        logger.debug("IndexControllerImpl::specifyOutput");
-        return ViewConstants.NOT_AVAILABLE;
-    }
 
     @SuppressWarnings("SameReturnValue")
     @GetMapping(MappingConstants.CREATE_TEX)

+ 1 - 37
src/main/resources/templates/files.html

@@ -18,44 +18,8 @@
 <div th:insert="~{fragments/layout::banner}"></div>
 
 <div class="mx-auto" style="width:50%;text-align:center;">
-    <h1 id="pageHeader">Writer Specify File</h1>
+    <h1 id="pageHeader">Writer Specify Files</h1>
     <div th:insert="~{fragments/layout::banner}"></div>
-
-    <div class="container border border-info
-rounded-3 text-center p-4">
-        <!--/*@thymesVar id="WriterFilesImpl" type="scot.carricksoftware.grantswriter.files.WriterFilesImpl"*/-->
-        <form th:object="${WriterFilesImpl}" th:action="@{/files}" method="post">
-            <div th:if="${#fields.hasErrors('*')}" class="alert alert-danger">
-                <p>Please Correct The Errors Below</p>
-            </div>
-
-            <div class="form-group row justify-content-center">
-                <div class="col-md-3">
-                    <label for="texFile">Tex File: </label>
-                    <input class="form-control" id="texFile"
-                           th:field="*{latexFileName}" type="text">
-                    <div th:if="${#fields.hasErrors('texFile')}">
-                        <ul class="text-danger">
-                            <li th:each="err : ${#fields.errors('texFile')}" th:text="${err}"></li>
-                        </ul>
-                    </div>
-                </div>
-            </div>
-            <div class="form-group row justify-content-center">
-                <div class="col-md-3">
-                    <label for="pdfFile">PDF File: </label>
-                    <input class="form-control" id="pdfFile"
-                           th:field="*{pdfFileName}" type="text">
-                    <div th:if="${#fields.hasErrors('pdfFile')}">
-                        <ul class="text-danger">
-                            <li th:each="err : ${#fields.errors('pdfFile')}" th:text="${err}"></li>
-                        </ul>
-                    </div>
-                </div>
-            </div>
-            <button type="submit" class="btn btn-primary">Commit</button>
-        </form>
-    </div>
 </div>
 </body>
 </html>

+ 1 - 1
src/main/resources/templates/index.html

@@ -24,7 +24,7 @@
         <tbody>
         <tr>
             <td>
-                <a class="btn btn-primary btn-lg btn-block" href="output">Specify Output</a>
+                <a class="btn btn-primary btn-lg btn-block" href="files">Specify Files</a>
             </td>
             <td>
                 <a class="btn btn-primary btn-lg btn-block" href="tex">Create Tex</a>

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

@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2025.  Andrew Grant Carrick Software. All rights reserved
+ *
+ */
+
+package scot.carricksoftware.grantswriter.controllers;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+@ExtendWith(MockitoExtension.class)
+class FilesControllerTest {
+
+    private FilesController controller;
+
+    @BeforeEach
+    void setUp() {
+        controller = new FilesControllerImpl();
+    }
+
+    @Test
+    void dummyTest(){
+        assertNotNull(controller);
+    }
+}

+ 3 - 4
src/test/java/scot/carricksoftware/grantswriter/controllers/IndexControllerTest.java

@@ -7,11 +7,14 @@ package scot.carricksoftware.grantswriter.controllers;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.springframework.ui.Model;
 
 import static org.junit.jupiter.api.Assertions.*;
 
+@ExtendWith(MockitoExtension.class)
 class IndexControllerTest {
 
     private IndexController controller;
@@ -24,10 +27,6 @@ class IndexControllerTest {
         controller = new IndexControllerImpl();
     }
 
-    @Test
-    void specifyOutput() {
-        assertEquals("not-available", controller.specifyOutput(modelMock));
-    }
 
     @Test
     void createTex() {