Skip to content
Snippets Groups Projects
Commit 61db88ee authored by Rhys Evans's avatar Rhys Evans
Browse files

Commiting to update with main, attmpeted to troubleshoot IntelliJ merge issues with GC,RN

parents 6f558f5e 70891095
No related branches found
No related tags found
1 merge request!34Resolve "As a user, I would like a town specific page which shows all trails for that town so that I can easily see my progress"
Showing
with 309 additions and 109 deletions
......@@ -22,7 +22,6 @@ repositories {
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-jdbc'
......@@ -47,7 +46,6 @@ dependencies {
//Thanks for using https://jar-download.com
// https://mvnrepository.com/artifact/com.h2database/h2 // if breaks
testImplementation group: 'com.h2database', name: 'h2', version: '1.4.192'
}
......@@ -59,6 +57,3 @@ tasks.named('bootBuildImage') {
tasks.named('test') {
useJUnitPlatform()
}
File deleted
package Team5.SmartTowns.Data;
public class Calculator {
public int divide(int i, int i1) {
return i / i1;
}
public int add(int i, int i1){
return i+i1;
}
public int subtract(int i, int i1){
return i-i1;
}
public int multiply(int i, int i1){
return i*i1;
}
}
//Holds locations data repository (landmarks)
package Team5.SmartTowns.Data;
import java.util.List;
public interface LocationRepository {
List<Location> getAllLocation();
void addLocation(Location loc);
}
//package Team5.SmartTowns.Data;
//
//import org.springframework.beans.factory.annotation.Autowired;
//
//import java.util.List;
//
//public class Main {
// @Autowired
// private LocationRepository LocationRepository;
// List<Location> approvedNumber= LocationRepository.approvedLocations();
// public static void main(String[] args) {
// for (Location loc: approvedNumber){}
//
//
// }
//}
package Team5.SmartTowns.Data;
import Team5.SmartTowns.trails.Trail;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.util.List;
public class MockUser {
private JdbcTemplate jdbc;
private RowMapper<Trail> trailMapper;
public List<Trail> getAllTrails(){
String sql= "SELECT * FROM trails";
return jdbc.query(sql, trailMapper);
}
}
package Team5.SmartTowns.Data;
public class QRCodes {
}
//Holds trails data repository
package Team5.SmartTowns.Data;
import java.util.List;
public interface trailsRepository {
List<trail> getAllTrails();
}
\ No newline at end of file
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/DatabaseController.java
//package Team5.SmartTowns.Data;
//
//import Team5.SmartTowns.users.User;
......@@ -33,3 +34,53 @@
// return mav2;
// }
//}
=======
package Team5.SmartTowns.data;
import org.springframework.beans.factory.annotation.Autowired;
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");
List<Trail> trail = trailsRepository.getAllTrails();
mav1.addObject("trails", trail);
return mav1;
}
@GetMapping("locationList")
public ModelAndView locationList(){
ModelAndView mav2 = new ModelAndView("towns/locationData");
List<Location> Locations = locationRepository.getAllLocation();
mav2.addObject("location", Locations);
return mav2;
}
//
// public List<Location> approvedLocations(){
// List<Location> locations = locationRepository.getAllLocation();
// List<Location> locationApprovalList;
//// for (int i=0;i<locations.size();i++){
//// location
// for (Location loc :locations){
// if (loc.isLocationApproved()) {
// locationApprovalList.add(loc);
// }
// } return locationApprovalList;
// }
}
>>>>>>> main:src/main/java/Team5/SmartTowns/data/DatabaseController.java
//Holds variable data for the locations table (landmarks)
package Team5.SmartTowns.Data;
package Team5.SmartTowns.data;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -16,7 +16,15 @@ public class Location {
private String locationPlace;
private int locationTrailID;
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/Location.java
=======
private boolean locationApproved;
public Location() {
}
>>>>>>> main:src/main/java/Team5/SmartTowns/data/Location.java
@Override
public String toString() {
......@@ -26,6 +34,7 @@ public class Location {
locationDescription + '\'' +
locationPlace + '\'' +
locationTrailID +
locationApproved+
'}';
}
......@@ -49,10 +58,15 @@ public class Location {
return locationTrailID;
}
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/Location.java
public int testMe(){
int a=4;
return 4;
=======
public boolean isLocationApproved() {
return locationApproved;
>>>>>>> main:src/main/java/Team5/SmartTowns/data/Location.java
}
}
//Holds locations data repository (landmarks)
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepository.java
package Team5.SmartTowns.Data;
=======
package Team5.SmartTowns.data;
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepository.java
import java.util.List;
public interface LocationRepository {
List<Location> getAllLocation();
void addLocation(Location loc);
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepository.java
=======
List<Location> getApprovedLocations();
// List<Location> getApprovedLocations2(List<Location> list);
List<Location> getUnapprovedLocations();
// List<Location> approvedLocations();
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepository.java
}
//Implements the locations repository using JDBC
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepositoryJDBC.java
package Team5.SmartTowns.Data;
=======
package Team5.SmartTowns.data;
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepositoryJDBC.java
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepositoryJDBC.java
import javax.sql.DataSource;
=======
import java.util.ArrayList;
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepositoryJDBC.java
import java.util.List;
@Repository
public class LocationRepositoryJDBC implements LocationRepository {
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepositoryJDBC.java
private JdbcTemplate jdbc;
=======
private JdbcTemplate jdbc;
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepositoryJDBC.java
private RowMapper<Location> locationMapper;
public LocationRepositoryJDBC(JdbcTemplate aJdbc) {
this.jdbc = aJdbc;
setlocationMapper();
}
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepositoryJDBC.java
=======
// public LocationRepositoryJDBC() {
// JdbcTemplate ajdbc = new JdbcTemplate();
// this.jdbc =ajdbc;
// setlocationMapper();
//
// }
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepositoryJDBC.java
private void setlocationMapper(){
locationMapper = (rs, i) -> new Location(
......@@ -24,6 +48,7 @@ public class LocationRepositoryJDBC implements LocationRepository {
rs.getString("locationEmail"),
rs.getString("locationDescription"),
rs.getString("locationPlace"),
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepositoryJDBC.java
rs.getInt("locationTrailID")
);
}
......@@ -35,18 +60,42 @@ public class LocationRepositoryJDBC implements LocationRepository {
String sql= "SELECT * FROM locations";
return aJdbc.query(sql, locationMapper);
}
=======
rs.getInt("locationTrailID"),
rs.getBoolean("locationApproved")
);
}
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepositoryJDBC.java
public List<Location> getAllLocation(){
String sql= "SELECT * FROM locations";
return jdbc.query(sql, locationMapper);
}
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepositoryJDBC.java
@Override // intended implementation at current: user data from templates/Landmarks/LandmarkFormTh.html is added to the Location table
public void addLocation(Location loc) {
String sql = "insert into locations( locationName , locationEmail,locationDescription,locationPlace, locationTrailID) values (?,?,?,?,?)";
=======
// public LocationRepositoryJDBC() {
// JdbcTemplate ajdbc = new JdbcTemplate();
// this.jdbc =ajdbc;
// setlocationMapper();
//
// }
// public LocationRepositoryJDBC(JdbcTemplate jdbc, RowMapper<Location> locationMapper) {
// this.jdbc = jdbc;
// this.locationMapper = locationMapper;
// }
@Override // intended implementation at current: user data from templates/Landmarks/LandmarkFormTh.html is added to the Location table
public void addLocation(Location loc) {
String sql = "insert into locations( locationName , locationEmail,locationDescription,locationPlace, locationTrailID, locationApproved) values (?,?,?,?,?,?)";
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepositoryJDBC.java
jdbc.update(sql,loc.getLocationName(),loc.getLocationEmail(),loc.getLocationDescription(),loc.getLocationPlace(),loc.getLocationTrailID());
}
<<<<<<< HEAD:src/main/java/Team5/SmartTowns/Data/LocationRepositoryJDBC.java
public void setDataSource(DataSource dataSource) {
jdbc = new JdbcTemplate(dataSource);
......@@ -58,4 +107,48 @@ public class LocationRepositoryJDBC implements LocationRepository {
public void setJdbc(JdbcTemplate jdbc) {
this.jdbc = jdbc;
}
=======
@Override
public List<Location> getApprovedLocations(){
JdbcTemplate jdbc = new JdbcTemplate();
List<Location> locations = new LocationRepositoryJDBC(jdbc).getAllLocation();
List<Location> locationApprovalList= new ArrayList<Location>();
for (Location loc :locations){
if (loc.isLocationApproved()) {
locationApprovalList.add(loc);
}
} return locationApprovalList;
}
//
// @Override
// public List<Location> getApprovedLocations2(List<Location> list){
//
// List<Location> locationApprovalList= new ArrayList<Location>();
// for (Location loc :list){
// if (loc.isLocationApproved()) {
// locationApprovalList.add(loc);
// }
// } return locationApprovalList;
// }
//
@Override
public List<Location> getUnapprovedLocations(){
List<Location> locations = getAllLocation();
List<Location> locationUnapprovedList= new ArrayList<Location>();
for (Location loc :locations){
if (!loc.isLocationApproved()) {
locationUnapprovedList.add(loc);
}
} return locationUnapprovedList;
}
// public JdbcTemplate getJdbc() {
// return jdbc;
// }
>>>>>>> main:src/main/java/Team5/SmartTowns/data/LocationRepositoryJDBC.java
}
//Holds variable data for the trails table
package Team5.SmartTowns.Data;
package Team5.SmartTowns.data;
import lombok.AllArgsConstructor;
import lombok.Data;
@Data
@AllArgsConstructor
public class trail {
public class Trail {
private int trailsId;
private String name;
private Boolean tru;
}
//Implements the trails repository using JDBC
package Team5.SmartTowns.Data;
package Team5.SmartTowns.data;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
......@@ -8,20 +8,21 @@ import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public class trailsRepositoryJDBC implements trailsRepository{
public class TrailsRepositoryJDBC implements TrailsRepository {
private JdbcTemplate jdbc;
private RowMapper<trail> trailMapper;
public trailsRepositoryJDBC(JdbcTemplate aJdbc){
private RowMapper<Trail> trailMapper;
public TrailsRepositoryJDBC(JdbcTemplate aJdbc){
this.jdbc = aJdbc;
settrailsMapper();
}
private void settrailsMapper(){
trailMapper = (rs, i) -> new trail(
trailMapper = (rs, i) -> new Trail(
rs.getInt("trailID"),
rs.getString("name")
rs.getString("name"),
rs.getBoolean("tru")
);
}
public List<trail> getAllTrails(){
public List<Trail> getAllTrails(){
String sql= "SELECT * FROM trails";
return jdbc.query(sql, trailMapper);
}
......
package Team5.SmartTowns.Landmarks;
package Team5.SmartTowns.landmarks;
import Team5.SmartTowns.trails.Trail;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Data;
......@@ -18,7 +16,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")
);
......@@ -43,6 +41,4 @@ public class Landmarks {
this.landmarkName = landmarkName;
this.landmarkDescription = landmarkDescription;
this.landmarkLocation = landmarkLocation; }
}
package Team5.SmartTowns.Landmarks;
package Team5.SmartTowns.landmarks;
import Team5.SmartTowns.Data.Location;
import Team5.SmartTowns.Data.LocationRepository;
import Team5.SmartTowns.data.Location;
import Team5.SmartTowns.data.LocationRepository;
import jakarta.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
......@@ -37,7 +37,7 @@ public class LandmarksController {
} else{
// converts valid response using Location constructor into a submittable format to the sql table
Location loc= new Location(landmarks.getLandmarkName(), landmarks.getLandmarkEmail(), landmarks.getLandmarkDescription(), landmarks.getLandmarkLocation(), landmarks.getTrailID());
Location loc= new Location(landmarks.getLandmarkName(), landmarks.getLandmarkEmail(), landmarks.getLandmarkDescription(), landmarks.getLandmarkLocation(), landmarks.getTrailID(), false);
System.out.println(loc);
locationRepository.addLocation(loc); // adds valid landmark to locations table
ModelAndView modelAndView = new ModelAndView("redirect:/home");
......
......@@ -2,12 +2,14 @@ package Team5.SmartTowns.placeswithcoordinates;
import Team5.SmartTowns.Data.Location;
import Team5.SmartTowns.Data.LocationRepositoryJDBC;
import Team5.SmartTowns.data.Location;
import Team5.SmartTowns.data.LocationRepositoryJDBC;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.jdbc.core.JdbcTemplate;
import java.text.DecimalFormat;
import java.util.List;
//@Data
......@@ -91,10 +93,10 @@ public class LocationsCoordinates {
// return new LocationRepositoryJDBC(jdbcSuper).getApprovedLocations();
// }
// public List<Location> getFullUnapprovedLocations(JdbcTemplate aJdbc){
//// LocationsCoordinates jdbcSuper= new LocationsCoordinates(aJdbc);
// return new LocationRepositoryJDBC(aJdbc).getUnapprovedLocations();
// }
public List<Location> getFullUnapprovedLocations(JdbcTemplate aJdbc){
// LocationsCoordinates jdbcSuper= new LocationsCoordinates(aJdbc);
return new LocationRepositoryJDBC(aJdbc).getUnapprovedLocations();
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment