From 3c1e9ee962be1baecd0852ba272f6746fd8a4827 Mon Sep 17 00:00:00 2001
From: Connor <brockcc1@cardiff.ac.uk>
Date: Tue, 12 Dec 2023 01:07:40 +0000
Subject: [PATCH] Moved DragonsTale into its own package to as many methods
 used by this web section were scattered around various other classes.

---
 .../SmartTowns/dragonstale/DragonsTale.java   | 15 +++++++++
 .../dragonstale/DragonsTaleController.java    | 31 +++++++++++++++++++
 .../Team5/SmartTowns/landmarks/Landmarks.java | 11 -------
 .../SmartTowns/trails/TrailsController.java   | 21 -------------
 .../script.js => static/scripts/DTscript.js}  |  0
 .../{towns/trails => }/dragonstale/index.html |  3 +-
 6 files changed, 48 insertions(+), 33 deletions(-)
 create mode 100644 src/main/java/Team5/SmartTowns/dragonstale/DragonsTale.java
 create mode 100644 src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java
 rename src/main/resources/{templates/towns/trails/dragonstale/script.js => static/scripts/DTscript.js} (100%)
 rename src/main/resources/templates/{towns/trails => }/dragonstale/index.html (91%)

diff --git a/src/main/java/Team5/SmartTowns/dragonstale/DragonsTale.java b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTale.java
new file mode 100644
index 00000000..38843cd8
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTale.java
@@ -0,0 +1,15 @@
+package Team5.SmartTowns.dragonstale;
+
+import Team5.SmartTowns.landmarks.Landmarks;
+
+import java.util.List;
+
+public class DragonsTale {
+    public static List<Landmarks> landmarksDragonstrail = List.of(
+            new Landmarks( 1, "A scent of...Dragon", "The Dragon has been spotted near by, find the QR code to continue" , "Start your discovery, at the sweet shop."),
+            new Landmarks( 2, "They've been found!", "Don't let them escape, find the next QR code to continue!", "Location test")
+    );
+    public static List<Landmarks> getLandmarksDragonstrail() {
+        return landmarksDragonstrail;
+    }
+}
diff --git a/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java
new file mode 100644
index 00000000..bfec9821
--- /dev/null
+++ b/src/main/java/Team5/SmartTowns/dragonstale/DragonsTaleController.java
@@ -0,0 +1,31 @@
+package Team5.SmartTowns.dragonstale;
+
+import Team5.SmartTowns.landmarks.Landmarks;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.util.List;
+
+import static Team5.SmartTowns.dragonstale.DragonsTale.landmarksDragonstrail;
+
+public class DragonsTaleController {
+
+    @GetMapping("/dragonstale")
+    public ModelAndView getDragonsTale(){
+        List<Landmarks> landmarksList = landmarksDragonstrail;
+        ModelAndView modelAndView = new ModelAndView("/dragonstale/index");
+        modelAndView.addObject("landmarksList", landmarksList);
+        return modelAndView;
+    }
+
+    //
+//    @GetMapping("dragonstale/{qrCode}/{id}")
+//    public String qrCodeCheck(@PathVariable Optional<String> qrCode, @PathVariable Optional<Integer> id){
+//        if (qrCode.isPresent()){
+//
+//            //Check if ID is present, if do this, if not dfo that.
+//
+//        }
+//    }
+
+}
diff --git a/src/main/java/Team5/SmartTowns/landmarks/Landmarks.java b/src/main/java/Team5/SmartTowns/landmarks/Landmarks.java
index 6974c1e9..8860ccf1 100644
--- a/src/main/java/Team5/SmartTowns/landmarks/Landmarks.java
+++ b/src/main/java/Team5/SmartTowns/landmarks/Landmarks.java
@@ -12,14 +12,6 @@ import java.util.List;
 @AllArgsConstructor
 @NoArgsConstructor
 public class Landmarks {
-
-    // Initialized object to getID from trail.
-
-    //Predefined Landmark for Dragons Tale.
-    public static List<Landmarks> landmarksDragonstrail = List.of(
-            new Landmarks( 1, "A scent of...Dragon", "The Dragon has been spotted near by, find the QR code to continue" , "Start your discovery, at the sweet shop."),
-            new Landmarks( 2, "They've been found!", "Don't let them escape, find the next QR code to continue!", "Location test")
-    );
     private Integer trailID;
     private int landmarkID;
     @NotEmpty(message = "You must type in a username.")
@@ -31,9 +23,6 @@ public class Landmarks {
     private String landmarkLocation;
     private String landmarkPicture;
 
-    public static List<Landmarks> getLandmarksDragonstrail() {
-        return landmarksDragonstrail;
-    }
 
     // Constructor for List above.
     public Landmarks( int landmarkID, String landmarkName, String landmarkDescription, String landmarkLocation) {
diff --git a/src/main/java/Team5/SmartTowns/trails/TrailsController.java b/src/main/java/Team5/SmartTowns/trails/TrailsController.java
index c6472019..3b99af4f 100644
--- a/src/main/java/Team5/SmartTowns/trails/TrailsController.java
+++ b/src/main/java/Team5/SmartTowns/trails/TrailsController.java
@@ -11,8 +11,6 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
 
-import static Team5.SmartTowns.landmarks.Landmarks.landmarksDragonstrail;
-
 //import static Team5.SmartTowns.Landmarks.Landmarks.landmarksDragonstrail;
 
 @Controller
@@ -38,24 +36,5 @@ public class TrailsController {
         return mv;
     }
 
-    @GetMapping("/dragonstale")
-    public ModelAndView getDragonsTale(){
-        List<Landmarks> landmarksList = landmarksDragonstrail;
-        ModelAndView modelAndView = new ModelAndView("towns/trails/dragonstale/index");
-        modelAndView.addObject("landmarksList", landmarksList);
-        return modelAndView;
-    }
-
-
-    //
-//    @GetMapping("dragonstale/{qrCode}/{id}")
-//    public String qrCodeCheck(@PathVariable Optional<String> qrCode, @PathVariable Optional<Integer> id){
-//        if (qrCode.isPresent()){
-//
-//            //Check if ID is present, if do this, if not dfo that.
-//
-//        }
-//    }
-
 }
 
diff --git a/src/main/resources/templates/towns/trails/dragonstale/script.js b/src/main/resources/static/scripts/DTscript.js
similarity index 100%
rename from src/main/resources/templates/towns/trails/dragonstale/script.js
rename to src/main/resources/static/scripts/DTscript.js
diff --git a/src/main/resources/templates/towns/trails/dragonstale/index.html b/src/main/resources/templates/dragonstale/index.html
similarity index 91%
rename from src/main/resources/templates/towns/trails/dragonstale/index.html
rename to src/main/resources/templates/dragonstale/index.html
index 7cf5948e..f4bdde65 100644
--- a/src/main/resources/templates/towns/trails/dragonstale/index.html
+++ b/src/main/resources/templates/dragonstale/index.html
@@ -5,7 +5,7 @@
     <title>A Dragon's Tale</title>
     <link rel="stylesheet" th:href="@{/css/dragonstaless.css}">
     <link rel="stylesheet" th:href="@{/css/templatingstyle.css}">
-    <script src="./node_modules/html5-qrcode/html5-qrcode.min.js"></script>
+<!--    <script defer src="../../static/scripts/DTscript.js"></script>-->
 </head>
     <body>
         <header th:insert="fragments/Templating.html :: header"></header>
@@ -31,6 +31,7 @@
             <ul th:each="item : ${landmarksList}" id="tabBox">
                 <li>
                     <a id="tabIdCounter" href="#landmarkTabLink" th:text="${item.landmarkName}"> Landmark Tab</a>
+<!--                    <button id="qrcodescanner">Click here to scan a QR code for <span th:text="${item.landmarkName}">Landmark Name Here</span></button>-->
                 </li>
             </ul>
         </div>
-- 
GitLab