Skip to content
Snippets Groups Projects
LocationsCoordinatesRepositoryJDBC.java 1.95 KiB
Newer Older
package Team5.SmartTowns.data;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import java.util.List;

public class LocationsCoordinatesRepositoryJDBC extends LocationsCoordinatesRepository{


    private JdbcTemplate jdbc;
    private RowMapper<LocationsCoordinates> locationCoordMapper;

    public LocationsCoordinatesRepositoryJDBC(JdbcTemplate aJdbc) {
        this.jdbc = aJdbc;
        setlocationCoordsMapper();
    }
    private void setlocationCoordsMapper(){
        locationCoordMapper = (rs, i) -> new LocationsCoordinates(

                rs.getInt("locationID"),
                rs.getString("locationCoordsLong"),
                rs.getString("locationCoordsLat")

        );
    }
    public List<LocationsCoordinates> getAllLocation(){
        String sql= "SELECT * FROM locationCoordinates";
        return jdbc.query(sql, locationCoordMapper);
    }

    @Override
    public void addLocation(LocationsCoordinates locCoords) {
        String sql = "insert into locationCoordinates(locationID, locationCoordsLong,locationCoordsLat) values (?,?,?)";

        jdbc.update(sql,locCoords.getLocationID(), locCoords.getLocationCoordsLong(),locCoords.getLocationCoordsLat());

    }


    //	private static JdbcTemplate jdbc;
//	@BeforeAll
//	public static void before() {
//		location = new Location();
//		locationRepo = new locationRepositoryJDBC(jdbc);}
//	@BeforeAll
//	public static void before2() {
//		locationRepo = new locationRepositoryJDBC(jdbc); }
	@Autowired
	private locationRepository locationRepository;

    public void approveLocationAndAddCoords(String town, String longCoords, String latCoords){ // need list too
        List<Location> needApprovalList = new LocationsCoordinatesRepositoryJDBC.unapprovedLocations();
        // unapproved list
        // if matches name, approve
        // add long/lat coords
        //use to update table
    }
}