diff --git a/src/main/java/Team5/SmartTowns/Data/DatabaseController.java b/src/main/java/Team5/SmartTowns/Data/DatabaseController.java index 0d38e955dd0a2e38e9585e5560d1cd4b6df83033..6c6b60ed7193d71db2d97022c9141c6b0951d608 100644 --- a/src/main/java/Team5/SmartTowns/Data/DatabaseController.java +++ b/src/main/java/Team5/SmartTowns/Data/DatabaseController.java @@ -7,17 +7,17 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.servlet.ModelAndView; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; import java.util.*; @Controller public class DatabaseController { - - @Autowired private locationRepository locationRepository; @Autowired private trailsRepository trailsRepository; - @GetMapping("/trailList") public ModelAndView trailList() { ModelAndView mav1 = new ModelAndView("towns/trailsData"); diff --git a/src/main/java/Team5/SmartTowns/Data/MockUser.java b/src/main/java/Team5/SmartTowns/Data/MockUser.java index 6a6ec7f6a5232c52c63b98d9603329087900de24..48748a17a4ac6fe230ee7f12119d5c71ab73839a 100644 --- a/src/main/java/Team5/SmartTowns/Data/MockUser.java +++ b/src/main/java/Team5/SmartTowns/Data/MockUser.java @@ -9,7 +9,6 @@ public class MockUser { private JdbcTemplate jdbc; private RowMapper<trail> trailMapper; - public List<trail> getAllTrails(){ String sql= "SELECT * FROM trails"; return jdbc.query(sql, trailMapper); diff --git a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java index 81c6f5b7e296aef4e31894bd4f3aaaec607fb1c4..f1c7b5fc264d29d3b0179b558d3df6b7e8bdc974 100644 --- a/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java +++ b/src/main/java/Team5/SmartTowns/Landmarks/Landmarks.java @@ -18,7 +18,7 @@ public class Landmarks { // Initialized object to getID from trail. //Predefined Landmark for Dragons Tale. - private static List<Landmarks> landmarksDragonstrail = List.of( + 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") ); diff --git a/src/main/java/Team5/SmartTowns/trails/TrailsController.java b/src/main/java/Team5/SmartTowns/trails/TrailsController.java index 020eaf18bd39d34b66b2cdde2737506c178dcd9b..004fdabd4e836fb7e4110f8d3f63bad76fb8b3d4 100644 --- a/src/main/java/Team5/SmartTowns/trails/TrailsController.java +++ b/src/main/java/Team5/SmartTowns/trails/TrailsController.java @@ -13,6 +13,8 @@ import java.util.Optional; import static Team5.SmartTowns.Landmarks.Landmarks.landmarksDragonstrail; +//import static Team5.SmartTowns.Landmarks.Landmarks.landmarksDragonstrail; + @Controller public class TrailsController { @GetMapping("/allTrails") @@ -46,14 +48,14 @@ public class TrailsController { // - @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. - - } - } +// @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/users/User.java b/src/main/java/Team5/SmartTowns/users/User.java index e5214802c00783e0e01698dd7a05b8995e1ad93e..1e13ad566cc794c429ee93bdcac0dd22acce5b5d 100644 --- a/src/main/java/Team5/SmartTowns/users/User.java +++ b/src/main/java/Team5/SmartTowns/users/User.java @@ -5,12 +5,13 @@ import Team5.SmartTowns.rewards.Sticker; import lombok.Data; import java.io.File; +import java.sql.Connection; +import java.sql.DriverManager; import java.util.HashMap; import java.util.Map; @Data public class User { - int id; String email; //Validation would be done by email, since they will have that String name; @@ -18,18 +19,17 @@ public class User { int dragonProgress; Map<Badge, Integer> badgeProgress = new HashMap<>(); // Demonstrates the progress towards a specific badge (0-100) Map<Sticker, Boolean> hasStickers = new HashMap<>(); // True if User has sticker (key) - Map<Integer, Boolean> dragonstaleLandmarkIDs = new HashMap<>(); // Storing the IDs of the landmarks associated with Dragonstale, as well as if the user has visited it before (boolean) + Map<Integer, Boolean> dragonstaleLandmarkIDs = new HashMap<>(); // Storing the IDs of the landmarks associated with Dragonstale, as well as if the user has visited it before (boolean) - public User(int id, String email, String name, int dragonProgress, HashMap<Integer, Boolean> dragonstaleLandmarkIDs) { + public User(int id, String email, String name, int dragonProgress) { this.id = id; this.email = email; this.name = name; this.dragonProgress = dragonProgress; - this.dragonstaleLandmarkIDs = dragonstaleLandmarkIDs; +// this.dragonstaleLandmarkIDs = dragonstaleLandmarkIDs; imgPath = findImagePath(); } - private String findImagePath(){ /* Finds the image in the Path folder, if image is not found assigns default image */ String imgPath = "images/users/" + id + ".jpg"; diff --git a/src/main/java/Team5/SmartTowns/users/UserRepository.java b/src/main/java/Team5/SmartTowns/users/UserRepository.java index bbdb7ecede2cc6174227c3b467063613506490ed..c6cca35048256beb897a69a9bf67a6087d836e28 100644 --- a/src/main/java/Team5/SmartTowns/users/UserRepository.java +++ b/src/main/java/Team5/SmartTowns/users/UserRepository.java @@ -8,6 +8,7 @@ public interface UserRepository { List<User> getAllUsers(); // Map<Long, Integer> getBadgeProgress(int id); Map<Long, Boolean> getStickers(int id); - Map<Integer, Boolean> getTest(int id); +// Map<Integer, Boolean> getTest(int id); +// Map<Long, Boolean> getDTCompletion(int id); User getUser(int id); } diff --git a/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java b/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java index 9bf388db153b578f297d0fcc32ef0dad27c9d973..93b0cf5de2a9c533be5bda7e17b24cd0585dec3c 100644 --- a/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java +++ b/src/main/java/Team5/SmartTowns/users/UserRepositoryJDBC.java @@ -5,7 +5,6 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; import org.springframework.stereotype.Repository; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -14,7 +13,6 @@ import java.util.Map; public class UserRepositoryJDBC implements UserRepository{ private JdbcTemplate jdbc; private RowMapper<User> userMapper; - private public UserRepositoryJDBC(JdbcTemplate aJdbc){ this.jdbc = aJdbc; @@ -26,8 +24,7 @@ public class UserRepositoryJDBC implements UserRepository{ rs.getInt("userID"), rs.getString("email"), rs.getString("name"), - rs.getInt("dragonProgress"), - rs.getObject("dragonstaleLandmarkIDs", getTest()) + rs.getInt("dragonProgress") ); } @@ -56,11 +53,17 @@ public class UserRepositoryJDBC implements UserRepository{ return progress; } - @Override - public Map<Integer, Boolean> getDTCompletion(int id){ - //Loop over multiple different key-value pairs to find the one that's needed. - String sql = "SELECT " - } +// @Override +// public Map<Long, Boolean> getDTCompletion(int id){ +// //Using prepared statement to prevent SQL injections +// String sql = "SELECT userid, qrCodeSCAN FROM testuser WHERE userID= ?"; +// List<Map<String, Object>> dtQuery = jdbc.queryForList(sql, id); +// Map<Long, Boolean> dtProgress = new HashMap<>(); +// for (Map<String, Object> result : dtQuery) { +// dtProgress.put((Long)result.get("stickerID"), (boolean)result.get("hasSticker")); +// } +// return dtProgress; +// } // @Override diff --git a/src/main/resources/data.sql b/src/main/resources/data.sql index 5ab7f183eefb987f9c2d0b0c16ebc359c411d750..40fefacad3c479dd900e3952793535612f2ed229 100644 --- a/src/main/resources/data.sql +++ b/src/main/resources/data.sql @@ -54,5 +54,4 @@ insert into badgeprogress (userID, badgeID, progress) value ('2', '2', '70'); delete from stickerprogress; insert into stickerprogress (userID, stickerID, hasSticker) value ('1', '1', true); insert into stickerprogress (userID, stickerID, hasSticker) value ('1', '3', true); -<<<<<<< HEAD -insert into stickerprogress (userID, stickerID, hasSticker) value ('2', '2', true); \ No newline at end of file +insert into stickerprogress (userID, stickerID, hasSticker) value ('2', '2', true); diff --git a/src/main/resources/schema.sql b/src/main/resources/schema.sql index 92b8d4e0377d6ceeb58aef53b35e946670b6bc62..44b983453ce1552774bb0a8529fffb3d18ce4276 100644 --- a/src/main/resources/schema.sql +++ b/src/main/resources/schema.sql @@ -23,7 +23,8 @@ create table if not exists users userID bigint auto_increment primary key, email varchar(128), name varchar(128), - dragonProgress int + dragonProgress int, + dragonsLandmarkIDs longtext ) engine=InnoDB; drop table if exists badges;