Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package Team5.SmartTowns.placeswithcoordinates;
import Team5.SmartTowns.Data.Location;
import Team5.SmartTowns.Data.LocationRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import java.util.ArrayList;
import java.util.List;
@Controller
public class PlacesController {
@Autowired
private PlacesCoordinatesRepository placeRepo;
@Autowired
private LocationRepository locationRepo;
@GetMapping("/checkpoints")
public ModelAndView getLocationPages(){
ModelAndView modelAndView = new ModelAndView("landmarks/locationPage.html");
List<Location> locations = locationRepo.getAllLocation();
// List<Location> approvedLocations = locationRepo.getApprovedLocations2(locations);
List<LocationsCoordinates> locCoords = placeRepo.getAllLocationCoords();
List<Integer> locationIDIndex = new ArrayList<Integer>();
List<Location> locationCoordsWorkaround = new ArrayList<Location>();
for (LocationsCoordinates coord: locCoords){
locationIDIndex.add(coord.getLocationID()-1);
locationCoordsWorkaround.add(locations.get(coord.getLocationID()-1));
}
modelAndView.addObject("location", locationCoordsWorkaround);
modelAndView.addObject("locationCoords", locCoords);
return modelAndView;
}
@RequestMapping(value="/location", method= RequestMethod.POST)
public String sendHtmlFragment(Model map) {
map.addAttribute("foo", "bar");
return "checkpoint/checkpoint";
}
@GetMapping("/checkpoints/{location}")
public ModelAndView getResultBySearchKey(@PathVariable String location) {
List<Location> locations = locationRepo.getAllLocation();
List<LocationsCoordinates> locCoords = placeRepo.getAllLocationCoords();
List<Integer> locationIDIndex = new ArrayList<Integer>();
List<Location> locationCoordsWorkaround = new ArrayList<Location>();
int locationID = 999;
int workAroundID=0;// otherwise cases errors e.g. null used. 999 unlikely to be used so safe until then
for (int i=0;i<locCoords.size();i++){ /// for loop iterating over coordinates table need to match coordinate index with lcoation index manually
locationIDIndex.add(locCoords.get(i).getLocationID()-1); // gets location ID and therefore location list index number
locationCoordsWorkaround.add(locations.get(locCoords.get(i).getLocationID()-1));
if ( (locations.get(locCoords.get(i).getLocationID() - 1).getLocationName().replace(' ', '-').trim().equals(location)) ){
locationID= i;
break;
} workAroundID++;
}System.out.println(locationCoordsWorkaround);
System.out.println("ag"+locationID);
ModelAndView modelAndView= new ModelAndView("fragments/locationPageFrags :: locationSection");
System.out.println("ag"+locationID);
modelAndView.addObject("locCoord", locCoords.get(locationID));
System.out.println("sd"+workAroundID);
modelAndView.addObject("location", locationCoordsWorkaround.get(locationID));
return modelAndView;
}
}